diff --git a/res/xml/dark_mode_settings.xml b/res/xml/dark_mode_settings.xml index 0ebc0444043..e076b8981f0 100644 --- a/res/xml/dark_mode_settings.xml +++ b/res/xml/dark_mode_settings.xml @@ -27,6 +27,11 @@ settings:allowDividerBelow="true" settings:controller="com.android.settings.display.TwilightLocationPreferenceController"/> + + - - diff --git a/res/xml/graphics_driver_settings.xml b/res/xml/graphics_driver_settings.xml index a1fa78c608f..26c319361c9 100644 --- a/res/xml/graphics_driver_settings.xml +++ b/res/xml/graphics_driver_settings.xml @@ -20,12 +20,17 @@ xmlns:settings="http://schemas.android.com/apk/res-auto" android:title="@string/graphics_driver_dashboard_title"> + + - + settings:controller="com.android.settings.development.graphicsdriver.GraphicsDriverEnableForAllAppsPreferenceController" + settings:allowDividerAbove="true"/> - - - diff --git a/res/xml/night_display_settings.xml b/res/xml/night_display_settings.xml index 8b7e41ad8f1..9acccf6da5b 100644 --- a/res/xml/night_display_settings.xml +++ b/res/xml/night_display_settings.xml @@ -27,10 +27,16 @@ settings:controller="com.android.settings.display.TwilightLocationPreferenceController" settings:allowDividerBelow="true"/> + + - - diff --git a/res/xml/tether_prefs.xml b/res/xml/tether_prefs.xml index 9367a9bbf62..cca4e5f8fe0 100644 --- a/res/xml/tether_prefs.xml +++ b/res/xml/tether_prefs.xml @@ -19,12 +19,17 @@ xmlns:settings="http://schemas.android.com/apk/res-auto" android:title="@string/tether_settings_title_all"> + + + settings:allowDividerAbove="true" + settings:summaryLineCount="2"/> - - diff --git a/res/xml/user_settings.xml b/res/xml/user_settings.xml index 7726a18ea94..5cafa1a977e 100644 --- a/res/xml/user_settings.xml +++ b/res/xml/user_settings.xml @@ -20,6 +20,11 @@ android:key="user_settings_screen" android:title="@string/user_settings_title"> + + - - diff --git a/src/com/android/settings/TetherSettings.java b/src/com/android/settings/TetherSettings.java index 74a0897fc7a..c33f7db21b4 100644 --- a/src/com/android/settings/TetherSettings.java +++ b/src/com/android/settings/TetherSettings.java @@ -78,7 +78,7 @@ public class TetherSettings extends RestrictedSettingsFragment private static final String KEY_ENABLE_ETHERNET_TETHERING = "enable_ethernet_tethering"; private static final String KEY_DATA_SAVER_FOOTER = "disabled_on_data_saver"; @VisibleForTesting - static final String KEY_TETHER_PREFS_FOOTER = "tether_prefs_footer"; + static final String KEY_TETHER_PREFS_TOP_INTRO = "tether_prefs_top_intro"; private static final String TAG = "TetheringSettings"; @@ -155,7 +155,7 @@ public class TetherSettings extends RestrictedSettingsFragment } setupTetherPreference(); - setFooterPreferenceTitle(); + setTopIntroPreferenceTitle(); mDataSaverBackend.addListener(this); @@ -231,14 +231,14 @@ public class TetherSettings extends RestrictedSettingsFragment } @VisibleForTesting - void setFooterPreferenceTitle() { - final Preference footerPreference = findPreference(KEY_TETHER_PREFS_FOOTER); + void setTopIntroPreferenceTitle() { + final Preference topIntroPreference = findPreference(KEY_TETHER_PREFS_TOP_INTRO); final WifiManager wifiManager = (WifiManager) getContext().getSystemService(Context.WIFI_SERVICE); if (wifiManager.isStaApConcurrencySupported()) { - footerPreference.setTitle(R.string.tethering_footer_info_sta_ap_concurrency); + topIntroPreference.setTitle(R.string.tethering_footer_info_sta_ap_concurrency); } else { - footerPreference.setTitle(R.string.tethering_footer_info); + topIntroPreference.setTitle(R.string.tethering_footer_info); } } diff --git a/src/com/android/settings/development/graphicsdriver/GraphicsDriverFooterPreferenceController.java b/src/com/android/settings/development/graphicsdriver/GraphicsDriverTopIntroPreferenceController.java similarity index 85% rename from src/com/android/settings/development/graphicsdriver/GraphicsDriverFooterPreferenceController.java rename to src/com/android/settings/development/graphicsdriver/GraphicsDriverTopIntroPreferenceController.java index 5595f390fe7..3d449d9a523 100644 --- a/src/com/android/settings/development/graphicsdriver/GraphicsDriverFooterPreferenceController.java +++ b/src/com/android/settings/development/graphicsdriver/GraphicsDriverTopIntroPreferenceController.java @@ -33,12 +33,12 @@ import com.android.settings.core.BasePreferenceController; import com.android.settingslib.core.lifecycle.LifecycleObserver; import com.android.settingslib.core.lifecycle.events.OnStart; import com.android.settingslib.core.lifecycle.events.OnStop; -import com.android.settingslib.widget.FooterPreference; +import com.android.settingslib.widget.TopIntroPreference; /** - * Controller of footer preference for Graphics Driver Preferences dashboard. + * Controller of top info preference for Graphics Driver Preferences dashboard. */ -public class GraphicsDriverFooterPreferenceController extends BasePreferenceController +public class GraphicsDriverTopIntroPreferenceController extends BasePreferenceController implements GraphicsDriverContentObserver.OnGraphicsDriverContentChangedListener, LifecycleObserver, OnStart, OnStop { @@ -46,9 +46,9 @@ public class GraphicsDriverFooterPreferenceController extends BasePreferenceCont @VisibleForTesting GraphicsDriverContentObserver mGraphicsDriverContentObserver; - private FooterPreference mPreference; + private TopIntroPreference mPreference; - public GraphicsDriverFooterPreferenceController(Context context, String key) { + public GraphicsDriverTopIntroPreferenceController(Context context, String key) { super(context, key); mContentResolver = context.getContentResolver(); mGraphicsDriverContentObserver = @@ -83,8 +83,8 @@ public class GraphicsDriverFooterPreferenceController extends BasePreferenceCont @Override public void updateState(Preference preference) { - final FooterPreference footerPref = (FooterPreference) preference; - footerPref.setVisible(isAvailable()); + final TopIntroPreference topIntroPref = (TopIntroPreference) preference; + topIntroPref.setVisible(isAvailable()); } @Override diff --git a/src/com/android/settings/display/NightDisplayFooterPreferenceController.java b/src/com/android/settings/display/NightDisplayTopIntroPreferenceController.java similarity index 78% rename from src/com/android/settings/display/NightDisplayFooterPreferenceController.java rename to src/com/android/settings/display/NightDisplayTopIntroPreferenceController.java index 14fe25e7ae0..a40044b49c8 100644 --- a/src/com/android/settings/display/NightDisplayFooterPreferenceController.java +++ b/src/com/android/settings/display/NightDisplayTopIntroPreferenceController.java @@ -21,9 +21,13 @@ import android.hardware.display.ColorDisplayManager; import com.android.settings.core.BasePreferenceController; -public class NightDisplayFooterPreferenceController extends BasePreferenceController { +/** + * NightDisplayTopIntroPreferenceController can control the visibility of night display top info + * preference. + */ +public class NightDisplayTopIntroPreferenceController extends BasePreferenceController { - public NightDisplayFooterPreferenceController(Context context, String key) { + public NightDisplayTopIntroPreferenceController(Context context, String key) { super(context, key); } diff --git a/src/com/android/settings/users/MultiUserFooterPreferenceController.java b/src/com/android/settings/users/MultiUserTopIntroPreferenceController.java similarity index 83% rename from src/com/android/settings/users/MultiUserFooterPreferenceController.java rename to src/com/android/settings/users/MultiUserTopIntroPreferenceController.java index 03ed6ce45f0..a8076c29e22 100644 --- a/src/com/android/settings/users/MultiUserFooterPreferenceController.java +++ b/src/com/android/settings/users/MultiUserTopIntroPreferenceController.java @@ -23,12 +23,16 @@ import androidx.preference.Preference; import com.android.settings.core.BasePreferenceController; -public class MultiUserFooterPreferenceController extends BasePreferenceController { +/** + * MultiUserTopIntroPreferenceController can control the visibility of multi user top info + * preference. + */ +public class MultiUserTopIntroPreferenceController extends BasePreferenceController { @VisibleForTesting final UserCapabilities mUserCaps; - public MultiUserFooterPreferenceController(Context context, String key) { + public MultiUserTopIntroPreferenceController(Context context, String key) { super(context, key); mUserCaps = UserCapabilities.create(context); } diff --git a/src/com/android/settings/users/UserSettings.java b/src/com/android/settings/users/UserSettings.java index d92418ddc3e..63ccb6b87ae 100644 --- a/src/com/android/settings/users/UserSettings.java +++ b/src/com/android/settings/users/UserSettings.java @@ -110,7 +110,7 @@ public class UserSettings extends SettingsPreferenceFragment private static final String KEY_ADD_GUEST = "guest_add"; private static final String KEY_ADD_USER = "user_add"; private static final String KEY_ADD_USER_WHEN_LOCKED = "user_settings_add_users_when_locked"; - private static final String KEY_MULTIUSER_FOOTER = "multiuser_footer"; + private static final String KEY_MULTIUSER_TOP_INTRO = "multiuser_top_intro"; private static final int MENU_REMOVE_USER = Menu.FIRST; @@ -169,7 +169,7 @@ public class UserSettings extends SettingsPreferenceFragment private EditUserInfoController mEditUserInfoController = new EditUserInfoController(Utils.FILE_PROVIDER_AUTHORITY); private AddUserWhenLockedPreferenceController mAddUserWhenLockedPreferenceController; - private MultiUserFooterPreferenceController mMultiUserFooterPreferenceController; + private MultiUserTopIntroPreferenceController mMultiUserTopIntroPreferenceController; private UserCreatingDialog mUserCreatingDialog; private CharSequence mPendingUserName; @@ -240,12 +240,12 @@ public class UserSettings extends SettingsPreferenceFragment mAddUserWhenLockedPreferenceController = new AddUserWhenLockedPreferenceController( activity, KEY_ADD_USER_WHEN_LOCKED); - mMultiUserFooterPreferenceController = new MultiUserFooterPreferenceController(activity, - KEY_MULTIUSER_FOOTER); + mMultiUserTopIntroPreferenceController = new MultiUserTopIntroPreferenceController(activity, + KEY_MULTIUSER_TOP_INTRO); final PreferenceScreen screen = getPreferenceScreen(); mAddUserWhenLockedPreferenceController.displayPreference(screen); - mMultiUserFooterPreferenceController.displayPreference(screen); + mMultiUserTopIntroPreferenceController.displayPreference(screen); screen.findPreference(mAddUserWhenLockedPreferenceController.getPreferenceKey()) .setOnPreferenceChangeListener(mAddUserWhenLockedPreferenceController); @@ -936,14 +936,14 @@ public class UserSettings extends SettingsPreferenceFragment // Remove everything from mUserListCategory and add new users. mUserListCategory.removeAll(); - // If multi-user is disabled, just show footer and return. + // If multi-user is disabled, just show top info and return. final Preference addUserOnLockScreen = getPreferenceScreen().findPreference( mAddUserWhenLockedPreferenceController.getPreferenceKey()); mAddUserWhenLockedPreferenceController.updateState(addUserOnLockScreen); - final Preference multiUserFooterPrefence = getPreferenceScreen().findPreference( - mMultiUserFooterPreferenceController.getPreferenceKey()); - mMultiUserFooterPreferenceController.updateState(multiUserFooterPrefence); + final Preference multiUserTopIntroPrefence = getPreferenceScreen().findPreference( + mMultiUserTopIntroPreferenceController.getPreferenceKey()); + mMultiUserTopIntroPreferenceController.updateState(multiUserTopIntroPrefence); mUserListCategory.setVisible(mUserCaps.mUserSwitcherEnabled); updateAddGuest(context, users.stream().anyMatch(UserInfo::isGuest)); diff --git a/tests/robotests/src/com/android/settings/TetherSettingsTest.java b/tests/robotests/src/com/android/settings/TetherSettingsTest.java index be14eda9b99..f217e21da99 100644 --- a/tests/robotests/src/com/android/settings/TetherSettingsTest.java +++ b/tests/robotests/src/com/android/settings/TetherSettingsTest.java @@ -158,13 +158,13 @@ public class TetherSettingsTest { final TetherSettings spyTetherSettings = spy(new TetherSettings()); when(spyTetherSettings.getContext()).thenReturn(mContext); final Preference mockPreference = mock(Preference.class); - when(spyTetherSettings.findPreference(TetherSettings.KEY_TETHER_PREFS_FOOTER)) + when(spyTetherSettings.findPreference(TetherSettings.KEY_TETHER_PREFS_TOP_INTRO)) .thenReturn(mockPreference); final WifiManager mockWifiManager = mock(WifiManager.class); when(mContext.getSystemService(Context.WIFI_SERVICE)).thenReturn(mockWifiManager); when(mockWifiManager.isStaApConcurrencySupported()).thenReturn(true); - spyTetherSettings.setFooterPreferenceTitle(); + spyTetherSettings.setTopIntroPreferenceTitle(); verify(mockPreference, never()).setTitle(R.string.tethering_footer_info); verify(mockPreference).setTitle(R.string.tethering_footer_info_sta_ap_concurrency); diff --git a/tests/robotests/src/com/android/settings/development/graphicsdriver/GraphicsDriverFooterPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/graphicsdriver/GraphicsDriverTopIntroPreferenceControllerTest.java similarity index 93% rename from tests/robotests/src/com/android/settings/development/graphicsdriver/GraphicsDriverFooterPreferenceControllerTest.java rename to tests/robotests/src/com/android/settings/development/graphicsdriver/GraphicsDriverTopIntroPreferenceControllerTest.java index 1e4c4968c2b..28e5c5a4c05 100644 --- a/tests/robotests/src/com/android/settings/development/graphicsdriver/GraphicsDriverFooterPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/development/graphicsdriver/GraphicsDriverTopIntroPreferenceControllerTest.java @@ -34,7 +34,7 @@ import android.provider.Settings; import androidx.preference.PreferenceScreen; -import com.android.settingslib.widget.FooterPreference; +import com.android.settingslib.widget.TopIntroPreference; import org.junit.Before; import org.junit.Test; @@ -45,25 +45,25 @@ import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; @RunWith(RobolectricTestRunner.class) -public class GraphicsDriverFooterPreferenceControllerTest { +public class GraphicsDriverTopIntroPreferenceControllerTest { @Mock private PreferenceScreen mScreen; @Mock - private FooterPreference mPreference; + private TopIntroPreference mPreference; @Mock private GraphicsDriverContentObserver mGraphicsDriverContentObserver; private Context mContext; private ContentResolver mResolver; - private GraphicsDriverFooterPreferenceController mController; + private GraphicsDriverTopIntroPreferenceController mController; @Before public void setUp() { MockitoAnnotations.initMocks(this); mContext = RuntimeEnvironment.application; mResolver = mContext.getContentResolver(); - mController = spy(new GraphicsDriverFooterPreferenceController(mContext, "key")); + mController = spy(new GraphicsDriverTopIntroPreferenceController(mContext, "key")); when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference); } diff --git a/tests/robotests/src/com/android/settings/display/NightDisplayFooterPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/NightDisplayTopIntroPreferenceControllerTest.java similarity index 74% rename from tests/robotests/src/com/android/settings/display/NightDisplayFooterPreferenceControllerTest.java rename to tests/robotests/src/com/android/settings/display/NightDisplayTopIntroPreferenceControllerTest.java index efb26fab8b0..10f7f0b3490 100644 --- a/tests/robotests/src/com/android/settings/display/NightDisplayFooterPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/display/NightDisplayTopIntroPreferenceControllerTest.java @@ -1,15 +1,17 @@ /* * Copyright (C) 2018 The Android Open Source Project * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of the License at + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * - * Unless required by applicable law or agreed to in writing, software distributed under the - * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the specific language governing - * permissions and limitations under the License. + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ package com.android.settings.display; @@ -31,14 +33,14 @@ import org.robolectric.annotation.Config; @RunWith(RobolectricTestRunner.class) @Config(shadows = SettingsShadowResources.class) -public class NightDisplayFooterPreferenceControllerTest { +public class NightDisplayTopIntroPreferenceControllerTest { - private NightDisplayFooterPreferenceController mController; + private NightDisplayTopIntroPreferenceController mController; @Before public void setUp() { mController = - new NightDisplayFooterPreferenceController(RuntimeEnvironment.application, "key"); + new NightDisplayTopIntroPreferenceController(RuntimeEnvironment.application, "key"); } @After diff --git a/tests/robotests/src/com/android/settings/users/MultiUserFooterPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/users/MultiUserTopIntroPreferenceControllerTest.java similarity index 90% rename from tests/robotests/src/com/android/settings/users/MultiUserFooterPreferenceControllerTest.java rename to tests/robotests/src/com/android/settings/users/MultiUserTopIntroPreferenceControllerTest.java index 69825b4d713..bc0b0604847 100644 --- a/tests/robotests/src/com/android/settings/users/MultiUserFooterPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/users/MultiUserTopIntroPreferenceControllerTest.java @@ -32,15 +32,15 @@ import org.robolectric.RuntimeEnvironment; @RunWith(RobolectricTestRunner.class) @Ignore -public class MultiUserFooterPreferenceControllerTest { +public class MultiUserTopIntroPreferenceControllerTest { private Context mContext; - private MultiUserFooterPreferenceController mController; + private MultiUserTopIntroPreferenceController mController; @Before public void setUp() { mContext = RuntimeEnvironment.application; - mController = new MultiUserFooterPreferenceController(mContext, "footer"); + mController = new MultiUserTopIntroPreferenceController(mContext, "top_info"); } @Test diff --git a/tests/robotests/src/com/android/settings/users/UserSettingsTest.java b/tests/robotests/src/com/android/settings/users/UserSettingsTest.java index ec2fdc63924..3494c6305ad 100644 --- a/tests/robotests/src/com/android/settings/users/UserSettingsTest.java +++ b/tests/robotests/src/com/android/settings/users/UserSettingsTest.java @@ -128,8 +128,8 @@ public class UserSettingsTest { mFragment = spy(new UserSettings()); ReflectionHelpers.setField(mFragment, "mAddUserWhenLockedPreferenceController", mock(AddUserWhenLockedPreferenceController.class)); - ReflectionHelpers.setField(mFragment, "mMultiUserFooterPreferenceController", - mock(MultiUserFooterPreferenceController.class)); + ReflectionHelpers.setField(mFragment, "mMultiUserTopIntroPreferenceController", + mock(MultiUserTopIntroPreferenceController.class)); ReflectionHelpers.setField(mFragment, "mUserManager", mUserManager); ReflectionHelpers.setField(mFragment, "mUserCaps", mUserCapabilities); ReflectionHelpers.setField(mFragment, "mDefaultIconDrawable", mDefaultIconDrawable);