diff options
| -rw-r--r-- | services/java/com/android/server/am/ActivityManagerService.java | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/services/java/com/android/server/am/ActivityManagerService.java b/services/java/com/android/server/am/ActivityManagerService.java index 2322ee17d115..a881bc4dd5aa 100644 --- a/services/java/com/android/server/am/ActivityManagerService.java +++ b/services/java/com/android/server/am/ActivityManagerService.java @@ -4385,12 +4385,15 @@ public final class ActivityManagerService extends ActivityManagerNative perm.modeFlags |= modeFlags; if (owner == null) { perm.globalModeFlags |= modeFlags; - } else if ((modeFlags&Intent.FLAG_GRANT_READ_URI_PERMISSION) != 0) { - perm.readOwners.add(owner); - owner.addReadPermission(perm); - } else if ((modeFlags&Intent.FLAG_GRANT_WRITE_URI_PERMISSION) != 0) { - perm.writeOwners.add(owner); - owner.addWritePermission(perm); + } else { + if ((modeFlags&Intent.FLAG_GRANT_READ_URI_PERMISSION) != 0) { + perm.readOwners.add(owner); + owner.addReadPermission(perm); + } + if ((modeFlags&Intent.FLAG_GRANT_WRITE_URI_PERMISSION) != 0) { + perm.writeOwners.add(owner); + owner.addWritePermission(perm); + } } } |