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

Commit 2fbdb1b4 authored by Automerger Merge Worker's avatar Automerger Merge Worker
Browse files

Merge "Treat MODE_FOREGROUND as ALLOWED for appop checks" into rvc-dev am: c670246e

Change-Id: I6d2cad665f2694bfb9d9ffd3f216805d8b3bca5c
parents 4aab9127 c670246e
Loading
Loading
Loading
Loading
+10 −7
Original line number Original line Diff line number Diff line
@@ -435,10 +435,11 @@ public final class PermissionChecker {
        final AppOpsManager appOpsManager = context.getSystemService(AppOpsManager.class);
        final AppOpsManager appOpsManager = context.getSystemService(AppOpsManager.class);
        final int opMode = (forDataDelivery)
        final int opMode = (forDataDelivery)
                ? appOpsManager.noteProxyOpNoThrow(op, packageName, uid, attributionTag, message)
                ? appOpsManager.noteProxyOpNoThrow(op, packageName, uid, attributionTag, message)
                : appOpsManager.unsafeCheckOpNoThrow(op, uid, packageName);
                : appOpsManager.unsafeCheckOpRawNoThrow(op, uid, packageName);


        switch (opMode) {
        switch (opMode) {
            case AppOpsManager.MODE_ALLOWED: {
            case AppOpsManager.MODE_ALLOWED:
            case AppOpsManager.MODE_FOREGROUND: {
                return PERMISSION_GRANTED;
                return PERMISSION_GRANTED;
            }
            }
            case AppOpsManager.MODE_DEFAULT: {
            case AppOpsManager.MODE_DEFAULT: {
@@ -467,11 +468,13 @@ public final class PermissionChecker {
        final AppOpsManager appOpsManager = context.getSystemService(AppOpsManager.class);
        final AppOpsManager appOpsManager = context.getSystemService(AppOpsManager.class);
        final int opMode = (forDataDelivery)
        final int opMode = (forDataDelivery)
                ? appOpsManager.noteProxyOpNoThrow(op, packageName, uid, attributionTag, message)
                ? appOpsManager.noteProxyOpNoThrow(op, packageName, uid, attributionTag, message)
                : appOpsManager.unsafeCheckOpNoThrow(op, uid, packageName);
                : appOpsManager.unsafeCheckOpRawNoThrow(op, uid, packageName);


        if (opMode == AppOpsManager.MODE_ALLOWED) {
        switch (opMode) {
            case AppOpsManager.MODE_ALLOWED:
            case AppOpsManager.MODE_FOREGROUND:
                return PERMISSION_GRANTED;
                return PERMISSION_GRANTED;
        } else {
            default:
                return PERMISSION_SOFT_DENIED;
                return PERMISSION_SOFT_DENIED;
        }
        }
    }
    }