Merge "Fix multi-user handling in PermissionPolicyService." into udc-dev am: f210b1bc34
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/21555343 Change-Id: I7b0cd2391ac62968bef0bc0126f6333acc15c96e Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -194,27 +194,38 @@ public final class PermissionPolicyService extends SystemService {
|
||||
|
||||
mPackageManagerInternal.getPackageList(new PackageListObserver() {
|
||||
@Override
|
||||
public void onPackageAdded(String packageName, int uid) {
|
||||
final int userId = UserHandle.getUserId(uid);
|
||||
if (isStarted(userId)) {
|
||||
synchronizePackagePermissionsAndAppOpsForUser(packageName, userId);
|
||||
public void onPackageAdded(String packageName, int appId) {
|
||||
final int[] userIds = LocalServices.getService(UserManagerInternal.class)
|
||||
.getUserIds();
|
||||
for (final int userId : userIds) {
|
||||
if (isStarted(userId)) {
|
||||
synchronizePackagePermissionsAndAppOpsForUser(packageName, userId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPackageChanged(String packageName, int uid) {
|
||||
final int userId = UserHandle.getUserId(uid);
|
||||
if (isStarted(userId)) {
|
||||
synchronizePackagePermissionsAndAppOpsForUser(packageName, userId);
|
||||
resetAppOpPermissionsIfNotRequestedForUid(uid);
|
||||
public void onPackageChanged(String packageName, int appId) {
|
||||
final int[] userIds = LocalServices.getService(UserManagerInternal.class)
|
||||
.getUserIds();
|
||||
for (final int userId : userIds) {
|
||||
if (isStarted(userId)) {
|
||||
synchronizePackagePermissionsAndAppOpsForUser(packageName, userId);
|
||||
final int uid = UserHandle.getUid(userId, appId);
|
||||
resetAppOpPermissionsIfNotRequestedForUid(uid);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPackageRemoved(String packageName, int uid) {
|
||||
final int userId = UserHandle.getUserId(uid);
|
||||
if (isStarted(userId)) {
|
||||
resetAppOpPermissionsIfNotRequestedForUid(uid);
|
||||
public void onPackageRemoved(String packageName, int appId) {
|
||||
final int[] userIds = LocalServices.getService(UserManagerInternal.class)
|
||||
.getUserIds();
|
||||
for (final int userId : userIds) {
|
||||
if (isStarted(userId)) {
|
||||
final int uid = UserHandle.getUid(userId, appId);
|
||||
resetAppOpPermissionsIfNotRequestedForUid(uid);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user