Loading services/core/java/com/android/server/notification/PermissionHelper.java +3 −3 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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); Loading services/tests/uiservicestests/src/com/android/server/notification/PermissionHelperTest.java +8 −5 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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); Loading Loading @@ -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); } Loading @@ -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); } Loading @@ -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); } Loading @@ -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 Loading @@ -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); } Loading Loading
services/core/java/com/android/server/notification/PermissionHelper.java +3 −3 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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); Loading
services/tests/uiservicestests/src/com/android/server/notification/PermissionHelperTest.java +8 −5 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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); Loading Loading @@ -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); } Loading @@ -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); } Loading @@ -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); } Loading @@ -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 Loading @@ -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); } Loading