Merge "Clearing obsolete cloneUserId from CloneBackend." into udc-dev am: 4740720948
am: af793d86f2
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23262239 Change-Id: Id0c01cecf1b24afea3f07a7395217b656a91a512 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -58,6 +58,11 @@ public class AppStateClonedAppsBridge extends AppStateBaseBridge{
|
||||
mCloneProfileApps = mContext.getPackageManager()
|
||||
.getInstalledPackagesAsUser(GET_ACTIVITIES,
|
||||
mCloneUserId).stream().map(x -> x.packageName).toList();
|
||||
} else if (!mCloneProfileApps.isEmpty()) {
|
||||
// In case we remove clone profile (mCloneUserId becomes -1), the bridge state should
|
||||
// reflect the same by setting cloneProfileApps as empty, without building the entire
|
||||
// page.
|
||||
mCloneProfileApps = new ArrayList<>();
|
||||
}
|
||||
|
||||
final List<ApplicationsState.AppEntry> allApps = mAppSession.getAllApps();
|
||||
|
@@ -165,4 +165,13 @@ public class CloneBackend {
|
||||
public int getCloneUserId() {
|
||||
return mCloneUserId;
|
||||
}
|
||||
|
||||
/**
|
||||
* Resets {@link #mCloneUserId} to -1.
|
||||
* Typically called after the cloneUser is removed, so that the obsolete clonedUserId present
|
||||
* with the CloneBackend instance can be cleared.
|
||||
*/
|
||||
public void resetCloneUserId() {
|
||||
mCloneUserId = -1;
|
||||
}
|
||||
}
|
||||
|
@@ -923,10 +923,15 @@ public class ManageApplications extends InstrumentedFragment
|
||||
}
|
||||
IUserManager um = IUserManager.Stub.asInterface(
|
||||
ServiceManager.getService(Context.USER_SERVICE));
|
||||
CloneBackend cloneBackend = CloneBackend.getInstance(getContext());
|
||||
try {
|
||||
// Warning: This removes all the data, media & images present in cloned user.
|
||||
um.removeUser(clonedUserId);
|
||||
mApplications.rebuild();
|
||||
if (um.removeUser(clonedUserId)) {
|
||||
cloneBackend.resetCloneUserId();
|
||||
mApplications.rebuild();
|
||||
} else if (ManageApplications.DEBUG) {
|
||||
Log.e(TAG, "Failed to remove cloned user");
|
||||
}
|
||||
} catch (RemoteException e) {
|
||||
Log.e(TAG, "Failed to remove cloned apps", e);
|
||||
Toast.makeText(getContext(),
|
||||
|
Reference in New Issue
Block a user