Loading api/current.txt +16 −16 Original line number Diff line number Diff line Loading @@ -4263,24 +4263,24 @@ package android.app { } public class AppOpsManager { method @Deprecated public int checkOp(String, int, String); method @Deprecated public int checkOpNoThrow(String, int, String); method public void checkPackage(int, String); method public void finishOp(String, int, String); method public int noteOp(String, int, String); method public int noteOpNoThrow(String, int, String); method public int noteProxyOp(String, String); method public int noteProxyOpNoThrow(String, String); method @Deprecated public int checkOp(@NonNull String, int, @NonNull String); method @Deprecated public int checkOpNoThrow(@NonNull String, int, @NonNull String); method public void checkPackage(int, @NonNull String); method public void finishOp(@NonNull String, int, @NonNull String); method public int noteOp(@NonNull String, int, @NonNull String); method public int noteOpNoThrow(@NonNull String, int, @NonNull String); method public int noteProxyOp(@NonNull String, @NonNull String); method public int noteProxyOpNoThrow(@NonNull String, @NonNull String); method public int noteProxyOpNoThrow(@NonNull String, @Nullable String, int); method public static String permissionToOp(String); method public int startOp(String, int, String); method public int startOpNoThrow(String, int, String); method public void startWatchingMode(String, String, android.app.AppOpsManager.OnOpChangedListener); method public void startWatchingMode(String, String, int, android.app.AppOpsManager.OnOpChangedListener); method public void stopWatchingMode(android.app.AppOpsManager.OnOpChangedListener); method public int unsafeCheckOp(String, int, String); method public int unsafeCheckOpNoThrow(String, int, String); method public int unsafeCheckOpRaw(@NonNull String, int, String); method public int startOp(@NonNull String, int, @NonNull String); method public int startOpNoThrow(@NonNull String, int, @NonNull String); method public void startWatchingMode(@NonNull String, @Nullable String, @NonNull android.app.AppOpsManager.OnOpChangedListener); method public void startWatchingMode(@NonNull String, @Nullable String, int, @NonNull android.app.AppOpsManager.OnOpChangedListener); method public void stopWatchingMode(@NonNull android.app.AppOpsManager.OnOpChangedListener); method public int unsafeCheckOp(@NonNull String, int, @NonNull String); method public int unsafeCheckOpNoThrow(@NonNull String, int, @NonNull String); method public int unsafeCheckOpRaw(@NonNull String, int, @NonNull String); method public int unsafeCheckOpRawNoThrow(@NonNull String, int, @NonNull String); field public static final int MODE_ALLOWED = 0; // 0x0 field public static final int MODE_DEFAULT = 3; // 0x3 api/system-current.txt +2 −2 Original line number Diff line number Diff line Loading @@ -313,7 +313,7 @@ package android.app { public class AppOpsManager { method @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public void getHistoricalOps(@NonNull android.app.AppOpsManager.HistoricalOpsRequest, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.AppOpsManager.HistoricalOps>); method public static String[] getOpStrs(); method @Deprecated @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public java.util.List<android.app.AppOpsManager.PackageOps> getOpsForPackage(int, String, int[]); method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public java.util.List<android.app.AppOpsManager.PackageOps> getOpsForPackage(int, @NonNull String, @Nullable int[]); method @NonNull @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public java.util.List<android.app.AppOpsManager.PackageOps> getOpsForPackage(int, @NonNull String, @Nullable java.lang.String...); method @NonNull @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public java.util.List<android.app.AppOpsManager.PackageOps> getPackagesForOps(@Nullable String[]); method public static int opToDefaultMode(@NonNull String); Loading Loading @@ -466,7 +466,7 @@ package android.app { public static final class AppOpsManager.PackageOps implements android.os.Parcelable { method public int describeContents(); method public java.util.List<android.app.AppOpsManager.OpEntry> getOps(); method @NonNull public java.util.List<android.app.AppOpsManager.OpEntry> getOps(); method @NonNull public String getPackageName(); method public int getUid(); method public void writeToParcel(android.os.Parcel, int); Loading api/test-current.txt +1 −1 Original line number Diff line number Diff line Loading @@ -144,7 +144,7 @@ package android.app { method @RequiresPermission("android.permission.MANAGE_APP_OPS_MODES") public void setUidMode(String, int, int); method public void startWatchingActive(@NonNull int[], @NonNull android.app.AppOpsManager.OnOpActiveChangedListener); method public void stopWatchingActive(@NonNull android.app.AppOpsManager.OnOpActiveChangedListener); method public static int strOpToOp(String); method public static int strOpToOp(@NonNull String); field public static final int HISTORICAL_MODE_DISABLED = 0; // 0x0 field public static final int HISTORICAL_MODE_ENABLED_ACTIVE = 1; // 0x1 field public static final int HISTORICAL_MODE_ENABLED_PASSIVE = 2; // 0x2 Loading core/java/android/app/AppOpsManager.java +22 −21 Original line number Diff line number Diff line Loading @@ -2214,7 +2214,7 @@ public class AppOpsManager { /** * @return The ops of the package. */ public List<OpEntry> getOps() { public @NonNull List<OpEntry> getOps() { return mEntries; } Loading Loading @@ -4371,7 +4371,8 @@ public class AppOpsManager { @Deprecated @SystemApi @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public List<PackageOps> getOpsForPackage(int uid, String packageName, int[] ops) { public @NonNull List<PackageOps> getOpsForPackage(int uid, @NonNull String packageName, @Nullable int[] ops) { try { return mService.getOpsForPackage(uid, packageName, ops); } catch (RemoteException e) { Loading Loading @@ -4639,8 +4640,8 @@ public class AppOpsManager { * @param packageName The name of the application to monitor. * @param callback Where to report changes. */ public void startWatchingMode(String op, String packageName, final OnOpChangedListener callback) { public void startWatchingMode(@NonNull String op, @Nullable String packageName, @NonNull final OnOpChangedListener callback) { startWatchingMode(strOpToOp(op), packageName, callback); } Loading @@ -4653,8 +4654,8 @@ public class AppOpsManager { * @param flags Option flags: any combination of {@link #WATCH_FOREGROUND_CHANGES} or 0. * @param callback Where to report changes. */ public void startWatchingMode(String op, String packageName, int flags, final OnOpChangedListener callback) { public void startWatchingMode(@NonNull String op, @Nullable String packageName, int flags, @NonNull final OnOpChangedListener callback) { startWatchingMode(strOpToOp(op), packageName, flags, callback); } Loading Loading @@ -4716,7 +4717,7 @@ public class AppOpsManager { * Stop monitoring that was previously started with {@link #startWatchingMode}. All * monitoring associated with this callback will be removed. */ public void stopWatchingMode(OnOpChangedListener callback) { public void stopWatchingMode(@NonNull OnOpChangedListener callback) { synchronized (mModeWatchers) { IAppOpsCallback cb = mModeWatchers.remove(callback); if (cb != null) { Loading Loading @@ -4875,7 +4876,7 @@ public class AppOpsManager { * {@hide} */ @TestApi public static int strOpToOp(String op) { public static int strOpToOp(@NonNull String op) { Integer val = sOpStrToOp.get(op); if (val == null) { throw new IllegalArgumentException("Unknown operation string: " + op); Loading Loading @@ -4910,7 +4911,7 @@ public class AppOpsManager { * causing the app to crash). * @throws SecurityException If the app has been configured to crash on this op. */ public int unsafeCheckOp(String op, int uid, String packageName) { public int unsafeCheckOp(@NonNull String op, int uid, @NonNull String packageName) { return checkOp(strOpToOp(op), uid, packageName); } Loading @@ -4918,7 +4919,7 @@ public class AppOpsManager { * @deprecated Renamed to {@link #unsafeCheckOp(String, int, String)}. */ @Deprecated public int checkOp(String op, int uid, String packageName) { public int checkOp(@NonNull String op, int uid, @NonNull String packageName) { return checkOp(strOpToOp(op), uid, packageName); } Loading @@ -4926,7 +4927,7 @@ public class AppOpsManager { * Like {@link #checkOp} but instead of throwing a {@link SecurityException} it * returns {@link #MODE_ERRORED}. */ public int unsafeCheckOpNoThrow(String op, int uid, String packageName) { public int unsafeCheckOpNoThrow(@NonNull String op, int uid, @NonNull String packageName) { return checkOpNoThrow(strOpToOp(op), uid, packageName); } Loading @@ -4934,7 +4935,7 @@ public class AppOpsManager { * @deprecated Renamed to {@link #unsafeCheckOpNoThrow(String, int, String)}. */ @Deprecated public int checkOpNoThrow(String op, int uid, String packageName) { public int checkOpNoThrow(@NonNull String op, int uid, @NonNull String packageName) { return checkOpNoThrow(strOpToOp(op), uid, packageName); } Loading @@ -4942,7 +4943,7 @@ public class AppOpsManager { * Like {@link #checkOp} but returns the <em>raw</em> mode associated with the op. * Does not throw a security exception, does not translate {@link #MODE_FOREGROUND}. */ public int unsafeCheckOpRaw(@NonNull String op, int uid, String packageName) { public int unsafeCheckOpRaw(@NonNull String op, int uid, @NonNull String packageName) { try { return mService.checkOperationRaw(strOpToOp(op), uid, packageName); } catch (RemoteException e) { Loading Loading @@ -4977,7 +4978,7 @@ public class AppOpsManager { * causing the app to crash). * @throws SecurityException If the app has been configured to crash on this op. */ public int noteOp(String op, int uid, String packageName) { public int noteOp(@NonNull String op, int uid, @NonNull String packageName) { return noteOp(strOpToOp(op), uid, packageName); } Loading @@ -4985,7 +4986,7 @@ public class AppOpsManager { * Like {@link #noteOp} but instead of throwing a {@link SecurityException} it * returns {@link #MODE_ERRORED}. */ public int noteOpNoThrow(String op, int uid, String packageName) { public int noteOpNoThrow(@NonNull String op, int uid, @NonNull String packageName) { return noteOpNoThrow(strOpToOp(op), uid, packageName); } Loading @@ -5004,7 +5005,7 @@ public class AppOpsManager { * causing the app to crash). * @throws SecurityException If the app has been configured to crash on this op. */ public int noteProxyOp(String op, String proxiedPackageName) { public int noteProxyOp(@NonNull String op, @NonNull String proxiedPackageName) { return noteProxyOp(strOpToOp(op), proxiedPackageName); } Loading @@ -5015,7 +5016,7 @@ public class AppOpsManager { * <p>This API requires the package with the {@code proxiedPackageName} to belongs to * {@link Binder#getCallingUid()}. */ public int noteProxyOpNoThrow(String op, String proxiedPackageName) { public int noteProxyOpNoThrow(@NonNull String op, @NonNull String proxiedPackageName) { return noteProxyOpNoThrow(strOpToOp(op), proxiedPackageName); } Loading Loading @@ -5051,7 +5052,7 @@ public class AppOpsManager { * causing the app to crash). * @throws SecurityException If the app has been configured to crash on this op. */ public int startOp(String op, int uid, String packageName) { public int startOp(@NonNull String op, int uid, @NonNull String packageName) { return startOp(strOpToOp(op), uid, packageName); } Loading @@ -5059,7 +5060,7 @@ public class AppOpsManager { * Like {@link #startOp} but instead of throwing a {@link SecurityException} it * returns {@link #MODE_ERRORED}. */ public int startOpNoThrow(String op, int uid, String packageName) { public int startOpNoThrow(@NonNull String op, int uid, @NonNull String packageName) { return startOpNoThrow(strOpToOp(op), uid, packageName); } Loading @@ -5069,7 +5070,7 @@ public class AppOpsManager { * or result; the parameters supplied here must be the exact same ones previously passed * in when starting the operation. */ public void finishOp(String op, int uid, String packageName) { public void finishOp(@NonNull String op, int uid, @NonNull String packageName) { finishOp(strOpToOp(op), uid, packageName); } Loading Loading @@ -5135,7 +5136,7 @@ public class AppOpsManager { * @throws SecurityException if the package name doesn't belong to the given * UID, or if ownership cannot be verified. */ public void checkPackage(int uid, String packageName) { public void checkPackage(int uid, @NonNull String packageName) { try { if (mService.checkPackage(uid, packageName) != MODE_ALLOWED) { throw new SecurityException( Loading Loading
api/current.txt +16 −16 Original line number Diff line number Diff line Loading @@ -4263,24 +4263,24 @@ package android.app { } public class AppOpsManager { method @Deprecated public int checkOp(String, int, String); method @Deprecated public int checkOpNoThrow(String, int, String); method public void checkPackage(int, String); method public void finishOp(String, int, String); method public int noteOp(String, int, String); method public int noteOpNoThrow(String, int, String); method public int noteProxyOp(String, String); method public int noteProxyOpNoThrow(String, String); method @Deprecated public int checkOp(@NonNull String, int, @NonNull String); method @Deprecated public int checkOpNoThrow(@NonNull String, int, @NonNull String); method public void checkPackage(int, @NonNull String); method public void finishOp(@NonNull String, int, @NonNull String); method public int noteOp(@NonNull String, int, @NonNull String); method public int noteOpNoThrow(@NonNull String, int, @NonNull String); method public int noteProxyOp(@NonNull String, @NonNull String); method public int noteProxyOpNoThrow(@NonNull String, @NonNull String); method public int noteProxyOpNoThrow(@NonNull String, @Nullable String, int); method public static String permissionToOp(String); method public int startOp(String, int, String); method public int startOpNoThrow(String, int, String); method public void startWatchingMode(String, String, android.app.AppOpsManager.OnOpChangedListener); method public void startWatchingMode(String, String, int, android.app.AppOpsManager.OnOpChangedListener); method public void stopWatchingMode(android.app.AppOpsManager.OnOpChangedListener); method public int unsafeCheckOp(String, int, String); method public int unsafeCheckOpNoThrow(String, int, String); method public int unsafeCheckOpRaw(@NonNull String, int, String); method public int startOp(@NonNull String, int, @NonNull String); method public int startOpNoThrow(@NonNull String, int, @NonNull String); method public void startWatchingMode(@NonNull String, @Nullable String, @NonNull android.app.AppOpsManager.OnOpChangedListener); method public void startWatchingMode(@NonNull String, @Nullable String, int, @NonNull android.app.AppOpsManager.OnOpChangedListener); method public void stopWatchingMode(@NonNull android.app.AppOpsManager.OnOpChangedListener); method public int unsafeCheckOp(@NonNull String, int, @NonNull String); method public int unsafeCheckOpNoThrow(@NonNull String, int, @NonNull String); method public int unsafeCheckOpRaw(@NonNull String, int, @NonNull String); method public int unsafeCheckOpRawNoThrow(@NonNull String, int, @NonNull String); field public static final int MODE_ALLOWED = 0; // 0x0 field public static final int MODE_DEFAULT = 3; // 0x3
api/system-current.txt +2 −2 Original line number Diff line number Diff line Loading @@ -313,7 +313,7 @@ package android.app { public class AppOpsManager { method @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public void getHistoricalOps(@NonNull android.app.AppOpsManager.HistoricalOpsRequest, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.AppOpsManager.HistoricalOps>); method public static String[] getOpStrs(); method @Deprecated @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public java.util.List<android.app.AppOpsManager.PackageOps> getOpsForPackage(int, String, int[]); method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public java.util.List<android.app.AppOpsManager.PackageOps> getOpsForPackage(int, @NonNull String, @Nullable int[]); method @NonNull @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public java.util.List<android.app.AppOpsManager.PackageOps> getOpsForPackage(int, @NonNull String, @Nullable java.lang.String...); method @NonNull @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public java.util.List<android.app.AppOpsManager.PackageOps> getPackagesForOps(@Nullable String[]); method public static int opToDefaultMode(@NonNull String); Loading Loading @@ -466,7 +466,7 @@ package android.app { public static final class AppOpsManager.PackageOps implements android.os.Parcelable { method public int describeContents(); method public java.util.List<android.app.AppOpsManager.OpEntry> getOps(); method @NonNull public java.util.List<android.app.AppOpsManager.OpEntry> getOps(); method @NonNull public String getPackageName(); method public int getUid(); method public void writeToParcel(android.os.Parcel, int); Loading
api/test-current.txt +1 −1 Original line number Diff line number Diff line Loading @@ -144,7 +144,7 @@ package android.app { method @RequiresPermission("android.permission.MANAGE_APP_OPS_MODES") public void setUidMode(String, int, int); method public void startWatchingActive(@NonNull int[], @NonNull android.app.AppOpsManager.OnOpActiveChangedListener); method public void stopWatchingActive(@NonNull android.app.AppOpsManager.OnOpActiveChangedListener); method public static int strOpToOp(String); method public static int strOpToOp(@NonNull String); field public static final int HISTORICAL_MODE_DISABLED = 0; // 0x0 field public static final int HISTORICAL_MODE_ENABLED_ACTIVE = 1; // 0x1 field public static final int HISTORICAL_MODE_ENABLED_PASSIVE = 2; // 0x2 Loading
core/java/android/app/AppOpsManager.java +22 −21 Original line number Diff line number Diff line Loading @@ -2214,7 +2214,7 @@ public class AppOpsManager { /** * @return The ops of the package. */ public List<OpEntry> getOps() { public @NonNull List<OpEntry> getOps() { return mEntries; } Loading Loading @@ -4371,7 +4371,8 @@ public class AppOpsManager { @Deprecated @SystemApi @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public List<PackageOps> getOpsForPackage(int uid, String packageName, int[] ops) { public @NonNull List<PackageOps> getOpsForPackage(int uid, @NonNull String packageName, @Nullable int[] ops) { try { return mService.getOpsForPackage(uid, packageName, ops); } catch (RemoteException e) { Loading Loading @@ -4639,8 +4640,8 @@ public class AppOpsManager { * @param packageName The name of the application to monitor. * @param callback Where to report changes. */ public void startWatchingMode(String op, String packageName, final OnOpChangedListener callback) { public void startWatchingMode(@NonNull String op, @Nullable String packageName, @NonNull final OnOpChangedListener callback) { startWatchingMode(strOpToOp(op), packageName, callback); } Loading @@ -4653,8 +4654,8 @@ public class AppOpsManager { * @param flags Option flags: any combination of {@link #WATCH_FOREGROUND_CHANGES} or 0. * @param callback Where to report changes. */ public void startWatchingMode(String op, String packageName, int flags, final OnOpChangedListener callback) { public void startWatchingMode(@NonNull String op, @Nullable String packageName, int flags, @NonNull final OnOpChangedListener callback) { startWatchingMode(strOpToOp(op), packageName, flags, callback); } Loading Loading @@ -4716,7 +4717,7 @@ public class AppOpsManager { * Stop monitoring that was previously started with {@link #startWatchingMode}. All * monitoring associated with this callback will be removed. */ public void stopWatchingMode(OnOpChangedListener callback) { public void stopWatchingMode(@NonNull OnOpChangedListener callback) { synchronized (mModeWatchers) { IAppOpsCallback cb = mModeWatchers.remove(callback); if (cb != null) { Loading Loading @@ -4875,7 +4876,7 @@ public class AppOpsManager { * {@hide} */ @TestApi public static int strOpToOp(String op) { public static int strOpToOp(@NonNull String op) { Integer val = sOpStrToOp.get(op); if (val == null) { throw new IllegalArgumentException("Unknown operation string: " + op); Loading Loading @@ -4910,7 +4911,7 @@ public class AppOpsManager { * causing the app to crash). * @throws SecurityException If the app has been configured to crash on this op. */ public int unsafeCheckOp(String op, int uid, String packageName) { public int unsafeCheckOp(@NonNull String op, int uid, @NonNull String packageName) { return checkOp(strOpToOp(op), uid, packageName); } Loading @@ -4918,7 +4919,7 @@ public class AppOpsManager { * @deprecated Renamed to {@link #unsafeCheckOp(String, int, String)}. */ @Deprecated public int checkOp(String op, int uid, String packageName) { public int checkOp(@NonNull String op, int uid, @NonNull String packageName) { return checkOp(strOpToOp(op), uid, packageName); } Loading @@ -4926,7 +4927,7 @@ public class AppOpsManager { * Like {@link #checkOp} but instead of throwing a {@link SecurityException} it * returns {@link #MODE_ERRORED}. */ public int unsafeCheckOpNoThrow(String op, int uid, String packageName) { public int unsafeCheckOpNoThrow(@NonNull String op, int uid, @NonNull String packageName) { return checkOpNoThrow(strOpToOp(op), uid, packageName); } Loading @@ -4934,7 +4935,7 @@ public class AppOpsManager { * @deprecated Renamed to {@link #unsafeCheckOpNoThrow(String, int, String)}. */ @Deprecated public int checkOpNoThrow(String op, int uid, String packageName) { public int checkOpNoThrow(@NonNull String op, int uid, @NonNull String packageName) { return checkOpNoThrow(strOpToOp(op), uid, packageName); } Loading @@ -4942,7 +4943,7 @@ public class AppOpsManager { * Like {@link #checkOp} but returns the <em>raw</em> mode associated with the op. * Does not throw a security exception, does not translate {@link #MODE_FOREGROUND}. */ public int unsafeCheckOpRaw(@NonNull String op, int uid, String packageName) { public int unsafeCheckOpRaw(@NonNull String op, int uid, @NonNull String packageName) { try { return mService.checkOperationRaw(strOpToOp(op), uid, packageName); } catch (RemoteException e) { Loading Loading @@ -4977,7 +4978,7 @@ public class AppOpsManager { * causing the app to crash). * @throws SecurityException If the app has been configured to crash on this op. */ public int noteOp(String op, int uid, String packageName) { public int noteOp(@NonNull String op, int uid, @NonNull String packageName) { return noteOp(strOpToOp(op), uid, packageName); } Loading @@ -4985,7 +4986,7 @@ public class AppOpsManager { * Like {@link #noteOp} but instead of throwing a {@link SecurityException} it * returns {@link #MODE_ERRORED}. */ public int noteOpNoThrow(String op, int uid, String packageName) { public int noteOpNoThrow(@NonNull String op, int uid, @NonNull String packageName) { return noteOpNoThrow(strOpToOp(op), uid, packageName); } Loading @@ -5004,7 +5005,7 @@ public class AppOpsManager { * causing the app to crash). * @throws SecurityException If the app has been configured to crash on this op. */ public int noteProxyOp(String op, String proxiedPackageName) { public int noteProxyOp(@NonNull String op, @NonNull String proxiedPackageName) { return noteProxyOp(strOpToOp(op), proxiedPackageName); } Loading @@ -5015,7 +5016,7 @@ public class AppOpsManager { * <p>This API requires the package with the {@code proxiedPackageName} to belongs to * {@link Binder#getCallingUid()}. */ public int noteProxyOpNoThrow(String op, String proxiedPackageName) { public int noteProxyOpNoThrow(@NonNull String op, @NonNull String proxiedPackageName) { return noteProxyOpNoThrow(strOpToOp(op), proxiedPackageName); } Loading Loading @@ -5051,7 +5052,7 @@ public class AppOpsManager { * causing the app to crash). * @throws SecurityException If the app has been configured to crash on this op. */ public int startOp(String op, int uid, String packageName) { public int startOp(@NonNull String op, int uid, @NonNull String packageName) { return startOp(strOpToOp(op), uid, packageName); } Loading @@ -5059,7 +5060,7 @@ public class AppOpsManager { * Like {@link #startOp} but instead of throwing a {@link SecurityException} it * returns {@link #MODE_ERRORED}. */ public int startOpNoThrow(String op, int uid, String packageName) { public int startOpNoThrow(@NonNull String op, int uid, @NonNull String packageName) { return startOpNoThrow(strOpToOp(op), uid, packageName); } Loading @@ -5069,7 +5070,7 @@ public class AppOpsManager { * or result; the parameters supplied here must be the exact same ones previously passed * in when starting the operation. */ public void finishOp(String op, int uid, String packageName) { public void finishOp(@NonNull String op, int uid, @NonNull String packageName) { finishOp(strOpToOp(op), uid, packageName); } Loading Loading @@ -5135,7 +5136,7 @@ public class AppOpsManager { * @throws SecurityException if the package name doesn't belong to the given * UID, or if ownership cannot be verified. */ public void checkPackage(int uid, String packageName) { public void checkPackage(int uid, @NonNull String packageName) { try { if (mService.checkPackage(uid, packageName) != MODE_ALLOWED) { throw new SecurityException( Loading