diff --git a/src/com/android/settings/users/UserSettings.java b/src/com/android/settings/users/UserSettings.java index 255b85fe0bf..3a43f269f49 100644 --- a/src/com/android/settings/users/UserSettings.java +++ b/src/com/android/settings/users/UserSettings.java @@ -503,7 +503,8 @@ public class UserSettings extends SettingsPreferenceFragment private void onAddSupervisedUserClicked() { final Intent intent = new Intent() .setAction(UserManager.ACTION_CREATE_SUPERVISED_USER) - .setPackage(mConfigSupervisedUserCreationPackage); + .setPackage(mConfigSupervisedUserCreationPackage) + .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // TODO(b/209659998): [to-be-removed] fallback activity for supervised user creation. if (getActivity().getPackageManager().resolveActivity(intent, 0) == null) { diff --git a/tests/robotests/src/com/android/settings/users/UserSettingsTest.java b/tests/robotests/src/com/android/settings/users/UserSettingsTest.java index 5c13e2f8de6..2c694ace881 100644 --- a/tests/robotests/src/com/android/settings/users/UserSettingsTest.java +++ b/tests/robotests/src/com/android/settings/users/UserSettingsTest.java @@ -664,6 +664,7 @@ public class UserSettingsTest { public void onPreferenceClick_addSupervisedUserClicked_startIntentWithAction() { final String intentPackage = "testPackage"; final String intentAction = UserManager.ACTION_CREATE_SUPERVISED_USER; + final int intentFlags = Intent.FLAG_ACTIVITY_NEW_TASK; final int metricsAction = SettingsEnums.ACTION_USER_SUPERVISED_ADD; try { setConfigSupervisedUserCreationPackage(intentPackage); @@ -676,6 +677,7 @@ public class UserSettingsTest { verify(mFragment).startActivity(captor.capture()); assertThat(captor.getValue().getPackage()).isEqualTo(intentPackage); assertThat(captor.getValue().getAction()).isEqualTo(intentAction); + assertThat(captor.getValue().getFlags() & intentFlags).isGreaterThan(0); verify(mMetricsFeatureProvider).action(any(), eq(metricsAction)); } finally {