From 898421bd0ca68df6273215e49c921409ab1ad3dc Mon Sep 17 00:00:00 2001 From: Jackson Michael Date: Tue, 11 Oct 2022 13:50:02 +0000 Subject: [PATCH] Adding the sections "Allow multiple users" and "Delete guest activity" on the search result Also added new keywords strings for the both items. Bug: 245261104 Test: Manual test and unit test Change-Id: I3ddc1204c6dbdcd6a82ffaa55f4ca7f4bcb3783d --- res/values/strings.xml | 6 +++++ res/xml/user_settings.xml | 9 ++++---- .../android/settings/users/UserSettings.java | 23 +++++++++++++++++++ .../settings/users/UserSettingsTest.java | 18 +++++++++++++++ 4 files changed, 52 insertions(+), 4 deletions(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index d799055cbea..25f5a131aa9 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -6475,6 +6475,8 @@ Apps and data from this guest session will be deleted now, and all future guest activity will be deleted each time you exit guest mode + + delete, guest, activity, remove, data, visitor, erase Allow guest to use phone @@ -11456,8 +11458,12 @@ Use developer options Use print service + Allow multiple users + + allow, multiple, user, permit, many + Use wireless debugging diff --git a/res/xml/user_settings.xml b/res/xml/user_settings.xml index 8a5a4ef0552..151eab8a43f 100644 --- a/res/xml/user_settings.xml +++ b/res/xml/user_settings.xml @@ -73,10 +73,11 @@ android:order="55"/> + android:key="remove_guest_on_exit" + android:title="@string/remove_guest_on_exit" + android:summary="@string/remove_guest_on_exit_summary" + android:order="60" + settings:keywords="@string/remove_guest_on_exit_keywords"/> getRawDataToIndex(Context context, + boolean enabled) { + final List rawData = new ArrayList<>(); + + SearchIndexableRaw allowMultipleUsersResult = new SearchIndexableRaw(context); + + allowMultipleUsersResult.key = KEY_ALLOW_MULTIPLE_USERS; + allowMultipleUsersResult.title = + context.getString(R.string.multiple_users_main_switch_title); + allowMultipleUsersResult.keywords = + context.getString(R.string.multiple_users_main_switch_keywords); + allowMultipleUsersResult.screenTitle = + context.getString(R.string.user_settings_title); + allowMultipleUsersResult.className = + MultiUserSwitchBarController.class.getName(); + + rawData.add(allowMultipleUsersResult); + return rawData; + } + @Override public List getNonIndexableKeysFromXml(Context context, int xmlResId, boolean suppressAllPage) { diff --git a/tests/robotests/src/com/android/settings/users/UserSettingsTest.java b/tests/robotests/src/com/android/settings/users/UserSettingsTest.java index 62a8a75a621..ddbcea1a741 100644 --- a/tests/robotests/src/com/android/settings/users/UserSettingsTest.java +++ b/tests/robotests/src/com/android/settings/users/UserSettingsTest.java @@ -69,6 +69,7 @@ import com.android.settings.testutils.shadow.ShadowUserManager; import com.android.settingslib.RestrictedLockUtils; import com.android.settingslib.RestrictedPreference; import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; +import com.android.settingslib.search.SearchIndexableRaw; import org.junit.After; import org.junit.Before; @@ -85,6 +86,7 @@ import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowIntent; import org.robolectric.util.ReflectionHelpers; +import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -98,6 +100,7 @@ import java.util.List; public class UserSettingsTest { private static final String KEY_USER_GUEST = "user_guest"; + private static final String KEY_ALLOW_MULTIPLE_USERS = "allow_multiple_users"; private static final int ACTIVE_USER_ID = 0; private static final int INACTIVE_ADMIN_USER_ID = 1; private static final int INACTIVE_SECONDARY_USER_ID = 14; @@ -203,6 +206,21 @@ public class UserSettingsTest { assertThat(UserSettings.assignDefaultPhoto(null, ACTIVE_USER_ID)).isFalse(); } + @Test + public void testGetRawDataToIndex_returnAllIndexablePreferences() { + String[] expectedKeys = {KEY_ALLOW_MULTIPLE_USERS}; + List keysResultList = new ArrayList<>(); + + List rawData = + UserSettings.SEARCH_INDEX_DATA_PROVIDER.getRawDataToIndex(mContext, true); + + for (SearchIndexableRaw rawDataItem : rawData) { + keysResultList.add(rawDataItem.key); + } + + assertThat(keysResultList).containsExactly(expectedKeys); + } + @Test public void testAssignDefaultPhoto_hasDefaultUserIconSize() { doReturn(mUserManager).when(mContext).getSystemService(Context.USER_SERVICE);