Merge "Handle user removed for PackageMonitorCallbackHelper" into main

This commit is contained in:
Joanne Chung
2023-07-07 02:16:52 +00:00
committed by Android (Google) Code Review
2 changed files with 16 additions and 0 deletions

View File

@@ -4299,6 +4299,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService
mAppsFilter.onUserDeleted(snapshotComputer(), userId);
}
mInstantAppRegistry.onUserRemoved(userId);
mPackageMonitorCallbackHelper.onUserRemoved(userId);
}
/**

View File

@@ -68,6 +68,21 @@ class PackageMonitorCallbackHelper {
}
}
public void onUserRemoved(int userId) {
RemoteCallbackList<IRemoteCallback> callbacks;
synchronized (mLock) {
callbacks = mCallbacks;
}
int registerCount = callbacks.getRegisteredCallbackCount();
for (int i = 0; i < registerCount; i++) {
int registerUserId = (int) callbacks.getRegisteredCallbackCookie(i);
if (registerUserId == userId) {
IRemoteCallback callback = callbacks.getRegisteredCallbackItem(i);
unregisterPackageMonitorCallback(callback);
}
}
}
public void notifyPackageAddedForNewUsers(String packageName,
@AppIdInt int appId, @NonNull int[] userIds, @NonNull int[] instantUserIds,
int dataLoaderType) {