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
This commit is contained in:
Jackson Michael
2022-10-11 13:50:02 +00:00
parent 4318187037
commit 898421bd0c
4 changed files with 52 additions and 4 deletions

View File

@@ -6475,6 +6475,8 @@
<!-- Message of dialog shown when remove_guest_on_exit toggle is ON [CHAR LIMIT=NONE] -->
<string name="remove_guest_on_exit_dialog_message">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</string>
<!-- Search keywords for the "Delete Guest Activity" section in Multiple Users Screen. [CHAR LIMIT=NONE] -->
<string name="remove_guest_on_exit_keywords">delete, guest, activity, remove, data, visitor, erase</string>
<!-- Title of preference to enable guest calling[CHAR LIMIT=40] -->
<string name="enable_guest_calling">Allow guest to use phone</string>
<!-- Summary of preference to enable guest calling [CHAR LIMIT=NONE] -->
@@ -11456,8 +11458,12 @@
<string name="developer_options_main_switch_title">Use developer options</string>
<!-- Title for default print service main switch. [CHAR LIMIT=50] -->
<string name="default_print_service_main_switch_title">Use print service</string>
<!-- Title for multiple users main switch. [CHAR LIMIT=50] -->
<string name="multiple_users_main_switch_title">Allow multiple users</string>
<!-- Search keywords for the "Allow Multiple Users" section in Multiple Users Screen. [CHAR LIMIT=NONE] -->
<string name="multiple_users_main_switch_keywords">allow, multiple, user, permit, many</string>
<!-- Title for wireless debugging main switch. [CHAR LIMIT=50] -->
<string name="wireless_debugging_main_switch_title">Use wireless debugging</string>
<!-- Title for graphics driver main switch. [CHAR LIMIT=50] -->

View File

@@ -73,10 +73,11 @@
android:order="55"/>
<com.android.settingslib.RestrictedSwitchPreference
android:key="remove_guest_on_exit"
android:title="@string/remove_guest_on_exit"
android:summary="@string/remove_guest_on_exit_summary"
android:order="60"/>
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"/>
<com.android.settingslib.RestrictedSwitchPreference
android:key="enable_guest_calling"

View File

@@ -82,6 +82,7 @@ import com.android.settingslib.RestrictedLockUtilsInternal;
import com.android.settingslib.RestrictedPreference;
import com.android.settingslib.drawable.CircleFramedDrawable;
import com.android.settingslib.search.SearchIndexable;
import com.android.settingslib.search.SearchIndexableRaw;
import com.android.settingslib.users.EditUserInfoController;
import com.android.settingslib.users.UserCreatingDialog;
import com.android.settingslib.utils.ThreadUtils;
@@ -132,6 +133,7 @@ public class UserSettings extends SettingsPreferenceFragment
private static final String KEY_GUEST_EXIT = "guest_exit";
private static final String KEY_REMOVE_GUEST_ON_EXIT = "remove_guest_on_exit";
private static final String KEY_GUEST_USER_CATEGORY = "guest_user_category";
private static final String KEY_ALLOW_MULTIPLE_USERS = "allow_multiple_users";
private static final String SETTING_GUEST_HAS_LOGGED_IN = "systemui.guest_has_logged_in";
@@ -1717,6 +1719,27 @@ public class UserSettings extends SettingsPreferenceFragment
return userCaps.mEnabled;
}
@Override
public List<SearchIndexableRaw> getRawDataToIndex(Context context,
boolean enabled) {
final List<SearchIndexableRaw> 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<String> getNonIndexableKeysFromXml(Context context, int xmlResId,
boolean suppressAllPage) {

View File

@@ -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<String> keysResultList = new ArrayList<>();
List<SearchIndexableRaw> 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);