Merge "Clear user fixed flag when changing notification permission" into tm-qpr-dev
This commit is contained in:
@@ -17,6 +17,7 @@
|
|||||||
package com.android.server.notification;
|
package com.android.server.notification;
|
||||||
|
|
||||||
import static android.content.pm.PackageManager.FLAG_PERMISSION_GRANTED_BY_DEFAULT;
|
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.FLAG_PERMISSION_USER_SET;
|
||||||
import static android.content.pm.PackageManager.GET_PERMISSIONS;
|
import static android.content.pm.PackageManager.GET_PERMISSIONS;
|
||||||
import static android.content.pm.PackageManager.PERMISSION_GRANTED;
|
import static android.content.pm.PackageManager.PERMISSION_GRANTED;
|
||||||
@@ -176,9 +177,8 @@ public final class PermissionHelper {
|
|||||||
mPermManager.revokeRuntimePermission(packageName, NOTIFICATION_PERMISSION,
|
mPermManager.revokeRuntimePermission(packageName, NOTIFICATION_PERMISSION,
|
||||||
userId, TAG);
|
userId, TAG);
|
||||||
}
|
}
|
||||||
int flagMask = userSet || !grant
|
int flagMask = FLAG_PERMISSION_USER_SET | FLAG_PERMISSION_USER_FIXED;
|
||||||
? FLAG_PERMISSION_USER_SET | FLAG_PERMISSION_GRANTED_BY_DEFAULT :
|
flagMask = userSet || !grant ? flagMask | FLAG_PERMISSION_GRANTED_BY_DEFAULT : flagMask;
|
||||||
FLAG_PERMISSION_USER_SET;
|
|
||||||
if (userSet) {
|
if (userSet) {
|
||||||
mPermManager.updatePermissionFlags(packageName, NOTIFICATION_PERMISSION,
|
mPermManager.updatePermissionFlags(packageName, NOTIFICATION_PERMISSION,
|
||||||
flagMask, FLAG_PERMISSION_USER_SET, true, userId);
|
flagMask, FLAG_PERMISSION_USER_SET, true, userId);
|
||||||
|
|||||||
@@ -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_GRANTED_BY_DEFAULT;
|
||||||
import static android.content.pm.PackageManager.FLAG_PERMISSION_POLICY_FIXED;
|
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_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.FLAG_PERMISSION_USER_SET;
|
||||||
import static android.content.pm.PackageManager.GET_PERMISSIONS;
|
import static android.content.pm.PackageManager.GET_PERMISSIONS;
|
||||||
import static android.content.pm.PackageManager.PERMISSION_DENIED;
|
import static android.content.pm.PackageManager.PERMISSION_DENIED;
|
||||||
@@ -74,6 +75,8 @@ public class PermissionHelperTest extends UiServiceTestCase {
|
|||||||
|
|
||||||
private PermissionHelper mPermissionHelper;
|
private PermissionHelper mPermissionHelper;
|
||||||
|
|
||||||
|
private static final int USER_FLAG_MASK = FLAG_PERMISSION_USER_SET | FLAG_PERMISSION_USER_FIXED;
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setUp() throws Exception {
|
public void setUp() throws Exception {
|
||||||
MockitoAnnotations.initMocks(this);
|
MockitoAnnotations.initMocks(this);
|
||||||
@@ -183,7 +186,7 @@ public class PermissionHelperTest extends UiServiceTestCase {
|
|||||||
verify(mPermManager).grantRuntimePermission(
|
verify(mPermManager).grantRuntimePermission(
|
||||||
"pkg", Manifest.permission.POST_NOTIFICATIONS, 10);
|
"pkg", Manifest.permission.POST_NOTIFICATIONS, 10);
|
||||||
verify(mPermManager).updatePermissionFlags("pkg", Manifest.permission.POST_NOTIFICATIONS,
|
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);
|
FLAG_PERMISSION_USER_SET, true, 10);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -202,7 +205,7 @@ public class PermissionHelperTest extends UiServiceTestCase {
|
|||||||
verify(mPermManager).grantRuntimePermission(
|
verify(mPermManager).grantRuntimePermission(
|
||||||
"pkg", Manifest.permission.POST_NOTIFICATIONS, 10);
|
"pkg", Manifest.permission.POST_NOTIFICATIONS, 10);
|
||||||
verify(mPermManager).updatePermissionFlags("pkg", Manifest.permission.POST_NOTIFICATIONS,
|
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);
|
FLAG_PERMISSION_USER_SET, true, 10);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -216,7 +219,7 @@ public class PermissionHelperTest extends UiServiceTestCase {
|
|||||||
verify(mPermManager).revokeRuntimePermission(
|
verify(mPermManager).revokeRuntimePermission(
|
||||||
eq("pkg"), eq(Manifest.permission.POST_NOTIFICATIONS), eq(10), anyString());
|
eq("pkg"), eq(Manifest.permission.POST_NOTIFICATIONS), eq(10), anyString());
|
||||||
verify(mPermManager).updatePermissionFlags("pkg", Manifest.permission.POST_NOTIFICATIONS,
|
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);
|
FLAG_PERMISSION_USER_SET, true, 10);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -230,7 +233,7 @@ public class PermissionHelperTest extends UiServiceTestCase {
|
|||||||
verify(mPermManager).grantRuntimePermission(
|
verify(mPermManager).grantRuntimePermission(
|
||||||
"pkg", Manifest.permission.POST_NOTIFICATIONS, 10);
|
"pkg", Manifest.permission.POST_NOTIFICATIONS, 10);
|
||||||
verify(mPermManager).updatePermissionFlags("pkg", Manifest.permission.POST_NOTIFICATIONS,
|
verify(mPermManager).updatePermissionFlags("pkg", Manifest.permission.POST_NOTIFICATIONS,
|
||||||
FLAG_PERMISSION_USER_SET, 0, true, 10);
|
USER_FLAG_MASK, 0, true, 10);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -243,7 +246,7 @@ public class PermissionHelperTest extends UiServiceTestCase {
|
|||||||
verify(mPermManager).revokeRuntimePermission(
|
verify(mPermManager).revokeRuntimePermission(
|
||||||
eq("pkg"), eq(Manifest.permission.POST_NOTIFICATIONS), eq(10), anyString());
|
eq("pkg"), eq(Manifest.permission.POST_NOTIFICATIONS), eq(10), anyString());
|
||||||
verify(mPermManager).updatePermissionFlags("pkg", Manifest.permission.POST_NOTIFICATIONS,
|
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);
|
true, 10);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user