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

Commit 1f93c20d authored by Nate Myren's avatar Nate Myren Committed by Automerger Merge Worker
Browse files

Merge "Clear user fixed flag when changing notification permission" into...

Merge "Clear user fixed flag when changing notification permission" into tm-qpr-dev am: b1d41af4 am: dcb74f41

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19267462



Change-Id: I1a3fbe56fb53e6a5a5ee76087737cacba8dbcca9
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents f04cf8a9 dcb74f41
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package com.android.server.notification;

import static android.content.pm.PackageManager.FLAG_PERMISSION_GRANTED_BY_DEFAULT;
import static android.content.pm.PackageManager.FLAG_PERMISSION_USER_FIXED;
import static android.content.pm.PackageManager.FLAG_PERMISSION_USER_SET;
import static android.content.pm.PackageManager.GET_PERMISSIONS;
import static android.content.pm.PackageManager.PERMISSION_GRANTED;
@@ -176,9 +177,8 @@ public final class PermissionHelper {
                mPermManager.revokeRuntimePermission(packageName, NOTIFICATION_PERMISSION,
                        userId, TAG);
            }
            int flagMask = userSet || !grant
                    ? FLAG_PERMISSION_USER_SET | FLAG_PERMISSION_GRANTED_BY_DEFAULT :
                    FLAG_PERMISSION_USER_SET;
            int flagMask = FLAG_PERMISSION_USER_SET | FLAG_PERMISSION_USER_FIXED;
            flagMask = userSet || !grant ? flagMask | FLAG_PERMISSION_GRANTED_BY_DEFAULT : flagMask;
            if (userSet) {
                mPermManager.updatePermissionFlags(packageName, NOTIFICATION_PERMISSION,
                        flagMask, FLAG_PERMISSION_USER_SET, true, userId);
+8 −5
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.server.notification;
import static android.content.pm.PackageManager.FLAG_PERMISSION_GRANTED_BY_DEFAULT;
import static android.content.pm.PackageManager.FLAG_PERMISSION_POLICY_FIXED;
import static android.content.pm.PackageManager.FLAG_PERMISSION_SYSTEM_FIXED;
import static android.content.pm.PackageManager.FLAG_PERMISSION_USER_FIXED;
import static android.content.pm.PackageManager.FLAG_PERMISSION_USER_SET;
import static android.content.pm.PackageManager.GET_PERMISSIONS;
import static android.content.pm.PackageManager.PERMISSION_DENIED;
@@ -74,6 +75,8 @@ public class PermissionHelperTest extends UiServiceTestCase {

    private PermissionHelper mPermissionHelper;

    private static final int USER_FLAG_MASK = FLAG_PERMISSION_USER_SET | FLAG_PERMISSION_USER_FIXED;

    @Before
    public void setUp() throws Exception {
        MockitoAnnotations.initMocks(this);
@@ -183,7 +186,7 @@ public class PermissionHelperTest extends UiServiceTestCase {
        verify(mPermManager).grantRuntimePermission(
                "pkg", Manifest.permission.POST_NOTIFICATIONS, 10);
        verify(mPermManager).updatePermissionFlags("pkg", Manifest.permission.POST_NOTIFICATIONS,
                FLAG_PERMISSION_USER_SET | FLAG_PERMISSION_GRANTED_BY_DEFAULT,
                USER_FLAG_MASK | FLAG_PERMISSION_GRANTED_BY_DEFAULT,
                FLAG_PERMISSION_USER_SET, true, 10);
    }

@@ -202,7 +205,7 @@ public class PermissionHelperTest extends UiServiceTestCase {
        verify(mPermManager).grantRuntimePermission(
                "pkg", Manifest.permission.POST_NOTIFICATIONS, 10);
        verify(mPermManager).updatePermissionFlags("pkg", Manifest.permission.POST_NOTIFICATIONS,
                FLAG_PERMISSION_USER_SET | FLAG_PERMISSION_GRANTED_BY_DEFAULT,
                USER_FLAG_MASK | FLAG_PERMISSION_GRANTED_BY_DEFAULT,
                FLAG_PERMISSION_USER_SET, true, 10);
    }

@@ -216,7 +219,7 @@ public class PermissionHelperTest extends UiServiceTestCase {
        verify(mPermManager).revokeRuntimePermission(
                eq("pkg"), eq(Manifest.permission.POST_NOTIFICATIONS), eq(10), anyString());
        verify(mPermManager).updatePermissionFlags("pkg", Manifest.permission.POST_NOTIFICATIONS,
                FLAG_PERMISSION_USER_SET | FLAG_PERMISSION_GRANTED_BY_DEFAULT,
                USER_FLAG_MASK | FLAG_PERMISSION_GRANTED_BY_DEFAULT,
                FLAG_PERMISSION_USER_SET, true, 10);
    }

@@ -230,7 +233,7 @@ public class PermissionHelperTest extends UiServiceTestCase {
        verify(mPermManager).grantRuntimePermission(
                "pkg", Manifest.permission.POST_NOTIFICATIONS, 10);
        verify(mPermManager).updatePermissionFlags("pkg", Manifest.permission.POST_NOTIFICATIONS,
                FLAG_PERMISSION_USER_SET, 0, true, 10);
                USER_FLAG_MASK, 0, true, 10);
    }

    @Test
@@ -243,7 +246,7 @@ public class PermissionHelperTest extends UiServiceTestCase {
        verify(mPermManager).revokeRuntimePermission(
                eq("pkg"), eq(Manifest.permission.POST_NOTIFICATIONS), eq(10), anyString());
        verify(mPermManager).updatePermissionFlags("pkg", Manifest.permission.POST_NOTIFICATIONS,
                FLAG_PERMISSION_USER_SET | FLAG_PERMISSION_GRANTED_BY_DEFAULT, 0,
                USER_FLAG_MASK | FLAG_PERMISSION_GRANTED_BY_DEFAULT, 0,
                true, 10);
    }