From d9281c887afca76f9f736eee911360b5ec01a1e0 Mon Sep 17 00:00:00 2001 From: Yasin Kilicdere Date: Thu, 13 Jan 2022 18:24:18 +0000 Subject: [PATCH] Make sure activity for adding a supervised user is opened full screen. Add supervised user activity only covers the right hand side of the screen in large screen devices. This CL makes sure it is always started from Settings with correct flags to be shown full-screen. Bug: 214401383 Bug: 205101183 Bug: 199868785 Test: croot && make RunSettingsRoboTests -j40 ROBOTEST_FILTER="com.android.settings.users.UserSettingsTest" Change-Id: If81e0cce91a5295eb2b93b12f68b70fd1240c953 --- src/com/android/settings/users/UserSettings.java | 3 ++- .../src/com/android/settings/users/UserSettingsTest.java | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) 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 {