Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 830af174 authored by Jeff Sharkey's avatar Jeff Sharkey Committed by android-build-merger
Browse files

Merge "OP_GET_USAGE_STATS should be noted, not checked." into pi-dev

am: 64bbb201

Change-Id: I38f5aecdb94c8b886ca4eba5908ab1b4a9c1fb89
parents 86b73442 64bbb201
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -122,7 +122,7 @@ public final class DumpUtils {
        final String[] pkgs = context.getPackageManager().getPackagesForUid(uid);
        final String[] pkgs = context.getPackageManager().getPackagesForUid(uid);
        if (pkgs != null) {
        if (pkgs != null) {
            for (String pkg : pkgs) {
            for (String pkg : pkgs) {
                switch (appOps.checkOpNoThrow(AppOpsManager.OP_GET_USAGE_STATS, uid, pkg)) {
                switch (appOps.noteOpNoThrow(AppOpsManager.OP_GET_USAGE_STATS, uid, pkg)) {
                    case AppOpsManager.MODE_ALLOWED:
                    case AppOpsManager.MODE_ALLOWED:
                        if (DEBUG) Slog.v(TAG, "Found package " + pkg + " with "
                        if (DEBUG) Slog.v(TAG, "Found package " + pkg + " with "
                                + "android:get_usage_stats allowed");
                                + "android:get_usage_stats allowed");
+1 −1
Original line number Original line Diff line number Diff line
@@ -4718,7 +4718,7 @@ public class ActivityManagerService extends IActivityManager.Stub
    }
    }
    private boolean hasUsageStatsPermission(String callingPackage) {
    private boolean hasUsageStatsPermission(String callingPackage) {
        final int mode = mAppOpsService.checkOperation(AppOpsManager.OP_GET_USAGE_STATS,
        final int mode = mAppOpsService.noteOperation(AppOpsManager.OP_GET_USAGE_STATS,
                Binder.getCallingUid(), callingPackage);
                Binder.getCallingUid(), callingPackage);
        if (mode == AppOpsManager.MODE_DEFAULT) {
        if (mode == AppOpsManager.MODE_DEFAULT) {
            return checkCallingPermission(Manifest.permission.PACKAGE_USAGE_STATS)
            return checkCallingPermission(Manifest.permission.PACKAGE_USAGE_STATS)
+1 −1
Original line number Original line Diff line number Diff line
@@ -1904,7 +1904,7 @@ public final class DisplayManagerService extends SystemService {


            final int callingUid = Binder.getCallingUid();
            final int callingUid = Binder.getCallingUid();
            AppOpsManager appOpsManager = mContext.getSystemService(AppOpsManager.class);
            AppOpsManager appOpsManager = mContext.getSystemService(AppOpsManager.class);
            final int mode = appOpsManager.checkOp(AppOpsManager.OP_GET_USAGE_STATS,
            final int mode = appOpsManager.noteOp(AppOpsManager.OP_GET_USAGE_STATS,
                    callingUid, callingPackage);
                    callingUid, callingPackage);
            final boolean hasUsageStats;
            final boolean hasUsageStats;
            if (mode == AppOpsManager.MODE_DEFAULT) {
            if (mode == AppOpsManager.MODE_DEFAULT) {
+1 −1
Original line number Original line Diff line number Diff line
@@ -174,7 +174,7 @@ public final class NetworkStatsAccess {
            AppOpsManager appOps = (AppOpsManager) context.getSystemService(
            AppOpsManager appOps = (AppOpsManager) context.getSystemService(
                    Context.APP_OPS_SERVICE);
                    Context.APP_OPS_SERVICE);


            final int mode = appOps.checkOp(AppOpsManager.OP_GET_USAGE_STATS,
            final int mode = appOps.noteOp(AppOpsManager.OP_GET_USAGE_STATS,
                    callingUid, callingPackage);
                    callingUid, callingPackage);
            if (mode == AppOpsManager.MODE_DEFAULT) {
            if (mode == AppOpsManager.MODE_DEFAULT) {
                // The default behavior here is to check if PackageManager has given the app
                // The default behavior here is to check if PackageManager has given the app
+1 −1
Original line number Original line Diff line number Diff line
@@ -360,7 +360,7 @@ public class ActivityManagerServiceTest {
     */
     */
    @Test
    @Test
    public void testDispatchUids_dispatchNeededChanges() throws RemoteException {
    public void testDispatchUids_dispatchNeededChanges() throws RemoteException {
        when(mAppOpsService.checkOperation(AppOpsManager.OP_GET_USAGE_STATS, Process.myUid(), null))
        when(mAppOpsService.noteOperation(AppOpsManager.OP_GET_USAGE_STATS, Process.myUid(), null))
                .thenReturn(AppOpsManager.MODE_ALLOWED);
                .thenReturn(AppOpsManager.MODE_ALLOWED);


        final int[] changesToObserve = {
        final int[] changesToObserve = {
Loading