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
This commit is contained in:
@@ -104,7 +104,7 @@ public class CloneBackend {
|
|||||||
new HashSet<>());
|
new HashSet<>());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
if (ManageApplications.DEBUG) {
|
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;
|
return ERROR_CREATING_CLONE_USER;
|
||||||
}
|
}
|
||||||
@@ -125,7 +125,7 @@ public class CloneBackend {
|
|||||||
if (newlyCreated) {
|
if (newlyCreated) {
|
||||||
IActivityManager am = ActivityManagerNative.getDefault();
|
IActivityManager am = ActivityManagerNative.getDefault();
|
||||||
try {
|
try {
|
||||||
am.startUserInBackground(mCloneUserId);
|
am.startProfile(mCloneUserId);
|
||||||
} catch (RemoteException e) {
|
} catch (RemoteException e) {
|
||||||
if (ManageApplications.DEBUG) {
|
if (ManageApplications.DEBUG) {
|
||||||
Log.e(TAG, "Error starting clone user " + e.getMessage());
|
Log.e(TAG, "Error starting clone user " + e.getMessage());
|
||||||
|
Reference in New Issue
Block a user