diff options
Diffstat (limited to 'services/java')
-rw-r--r-- | services/java/com/android/server/am/ActivityManagerService.java | 23 | ||||
-rw-r--r-- | services/java/com/android/server/am/UriPermission.java | 6 |
2 files changed, 9 insertions, 20 deletions
diff --git a/services/java/com/android/server/am/ActivityManagerService.java b/services/java/com/android/server/am/ActivityManagerService.java index 3c11933..babe0e6 100644 --- a/services/java/com/android/server/am/ActivityManagerService.java +++ b/services/java/com/android/server/am/ActivityManagerService.java @@ -41,6 +41,7 @@ import com.android.internal.os.TransferPipe; import com.android.internal.util.FastPrintWriter; import com.android.internal.util.FastXmlSerializer; import com.android.internal.util.MemInfoReader; +import com.android.internal.util.Preconditions; import com.android.server.AppOpsService; import com.android.server.AttributeCache; import com.android.server.IntentResolver; @@ -6062,12 +6063,8 @@ public final class ActivityManagerService extends ActivityManagerNative } // Persistable only supported through Intents - modeFlags &= (Intent.FLAG_GRANT_READ_URI_PERMISSION - | Intent.FLAG_GRANT_WRITE_URI_PERMISSION); - if (modeFlags == 0) { - throw new IllegalArgumentException("Mode flags must be " - + "FLAG_GRANT_READ_URI_PERMISSION and/or FLAG_GRANT_WRITE_URI_PERMISSION"); - } + Preconditions.checkFlagsArgument(modeFlags, + Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION); grantUriPermissionLocked(r.uid, targetPkg, uri, modeFlags, null); @@ -6408,11 +6405,8 @@ public final class ActivityManagerService extends ActivityManagerNative public void takePersistableUriPermission(Uri uri, int modeFlags) { enforceNotIsolatedCaller("takePersistableUriPermission"); - modeFlags &= (Intent.FLAG_GRANT_READ_URI_PERMISSION - | Intent.FLAG_GRANT_WRITE_URI_PERMISSION); - if (modeFlags == 0) { - return; - } + Preconditions.checkFlagsArgument(modeFlags, + Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION); synchronized (this) { final int callingUid = Binder.getCallingUid(); @@ -6436,11 +6430,8 @@ public final class ActivityManagerService extends ActivityManagerNative public void releasePersistableUriPermission(Uri uri, int modeFlags) { enforceNotIsolatedCaller("releasePersistableUriPermission"); - modeFlags &= (Intent.FLAG_GRANT_READ_URI_PERMISSION - | Intent.FLAG_GRANT_WRITE_URI_PERMISSION); - if (modeFlags == 0) { - return; - } + Preconditions.checkFlagsArgument(modeFlags, + Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION); synchronized (this) { final int callingUid = Binder.getCallingUid(); diff --git a/services/java/com/android/server/am/UriPermission.java b/services/java/com/android/server/am/UriPermission.java index 7057c24..5868c08 100644 --- a/services/java/com/android/server/am/UriPermission.java +++ b/services/java/com/android/server/am/UriPermission.java @@ -22,6 +22,7 @@ import android.os.UserHandle; import android.util.Log; import android.util.Slog; +import com.android.internal.util.Preconditions; import com.google.android.collect.Sets; import java.io.PrintWriter; @@ -131,10 +132,7 @@ final class UriPermission { * @return if mode changes should trigger persisting. */ boolean takePersistableModes(int modeFlags) { - if ((~persistableModeFlags & modeFlags) != 0) { - Slog.w(TAG, "Trying to take 0x" + Integer.toHexString(modeFlags) + " but only 0x" - + Integer.toHexString(persistableModeFlags) + " are available"); - } + Preconditions.checkFlagsArgument(modeFlags, persistableModeFlags); final int before = persistedModeFlags; persistedModeFlags |= (persistableModeFlags & modeFlags); |