Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 898421bd authored by Jackson Michael's avatar Jackson Michael
Browse files

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
parent 43181870
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -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] -->
+5 −4
Original line number Diff line number Diff line
@@ -76,7 +76,8 @@
        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:order="60"
        settings:keywords="@string/remove_guest_on_exit_keywords"/>

    <com.android.settingslib.RestrictedSwitchPreference
        android:key="enable_guest_calling"
+23 −0
Original line number Diff line number Diff line
@@ -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) {
+18 −0
Original line number Diff line number Diff line
@@ -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);