Merge "Ensure GRANTED_BY_DEFAULT properly cleared in NMS" into tm-qpr-dev
This commit is contained in:
@@ -16,6 +16,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_SET;
|
||||
import static android.content.pm.PackageManager.GET_PERMISSIONS;
|
||||
import static android.content.pm.PackageManager.PERMISSION_GRANTED;
|
||||
@@ -175,12 +176,15 @@ 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;
|
||||
if (userSet) {
|
||||
mPermManager.updatePermissionFlags(packageName, NOTIFICATION_PERMISSION,
|
||||
FLAG_PERMISSION_USER_SET, FLAG_PERMISSION_USER_SET, true, userId);
|
||||
flagMask, FLAG_PERMISSION_USER_SET, true, userId);
|
||||
} else {
|
||||
mPermManager.updatePermissionFlags(packageName, NOTIFICATION_PERMISSION,
|
||||
0, FLAG_PERMISSION_USER_SET, true, userId);
|
||||
flagMask, 0, true, userId);
|
||||
}
|
||||
} catch (RemoteException e) {
|
||||
Slog.e(TAG, "Could not reach system server", e);
|
||||
|
||||
@@ -183,7 +183,8 @@ 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_USER_SET, true, 10);
|
||||
FLAG_PERMISSION_USER_SET | FLAG_PERMISSION_GRANTED_BY_DEFAULT,
|
||||
FLAG_PERMISSION_USER_SET, true, 10);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -201,7 +202,8 @@ 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_USER_SET, true, 10);
|
||||
FLAG_PERMISSION_USER_SET | FLAG_PERMISSION_GRANTED_BY_DEFAULT,
|
||||
FLAG_PERMISSION_USER_SET, true, 10);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -214,7 +216,8 @@ 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_USER_SET, true, 10);
|
||||
FLAG_PERMISSION_USER_SET | FLAG_PERMISSION_GRANTED_BY_DEFAULT,
|
||||
FLAG_PERMISSION_USER_SET, true, 10);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -227,7 +230,7 @@ public class PermissionHelperTest extends UiServiceTestCase {
|
||||
verify(mPermManager).grantRuntimePermission(
|
||||
"pkg", Manifest.permission.POST_NOTIFICATIONS, 10);
|
||||
verify(mPermManager).updatePermissionFlags("pkg", Manifest.permission.POST_NOTIFICATIONS,
|
||||
0, FLAG_PERMISSION_USER_SET, true, 10);
|
||||
FLAG_PERMISSION_USER_SET, 0, true, 10);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -240,7 +243,8 @@ 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,
|
||||
0, FLAG_PERMISSION_USER_SET, true, 10);
|
||||
FLAG_PERMISSION_USER_SET | FLAG_PERMISSION_GRANTED_BY_DEFAULT, 0,
|
||||
true, 10);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user