Fix user starts by using startProfile
We used ActivityManager.startUserInBackground earlier to start the clone
user. As per the changes done recently (b/267800984),
UserVisibilityMediator now marks all the profiles/users started usign
startUserInBackground as startedInvisible. This results in the apps not
being able to launch on clone profile without a device restart. To fix
this, in this change we move to using ActivityManager.startProfile to
start the clone-user.
Test: Tested on device by creating clone profile through settings app
Bug: 268011720
Change-Id: I4a594cd4d10cfbd7459b04baa45719885decf87e
diff --git a/src/com/android/settings/applications/manageapplications/CloneBackend.java b/src/com/android/settings/applications/manageapplications/CloneBackend.java
index 588d834..568631e 100644
--- a/src/com/android/settings/applications/manageapplications/CloneBackend.java
+++ b/src/com/android/settings/applications/manageapplications/CloneBackend.java
@@ -104,7 +104,7 @@
new HashSet<>());
} catch (Exception e) {
if (ManageApplications.DEBUG) {
- Log.e("ankita", "Error occurred creating clone user" + e.getMessage());
+ Log.e(TAG, "Error occurred creating clone user" + e.getMessage());
}
return ERROR_CREATING_CLONE_USER;
}
@@ -125,7 +125,7 @@
if (newlyCreated) {
IActivityManager am = ActivityManagerNative.getDefault();
try {
- am.startUserInBackground(mCloneUserId);
+ am.startProfile(mCloneUserId);
} catch (RemoteException e) {
if (ManageApplications.DEBUG) {
Log.e(TAG, "Error starting clone user " + e.getMessage());