Apply top intro preference in Settings app (1/n)

Based on content in footer, we need to convert some footers
to top info prefernce.

Test: Run robo test and see the screens
Bug: 173087905
Change-Id: Ie62a503481f9d385f5468896fba8f607cb3437d3
diff --git a/src/com/android/settings/TetherSettings.java b/src/com/android/settings/TetherSettings.java
index 74a0897..c33f7db 100644
--- a/src/com/android/settings/TetherSettings.java
+++ b/src/com/android/settings/TetherSettings.java
@@ -78,7 +78,7 @@
     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 @@
         }
 
         setupTetherPreference();
-        setFooterPreferenceTitle();
+        setTopIntroPreferenceTitle();
 
         mDataSaverBackend.addListener(this);
 
@@ -231,14 +231,14 @@
     }
 
     @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 5595f39..3d449d9 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.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 @@
     @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 @@
 
     @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 14fe25e..a40044b 100644
--- a/src/com/android/settings/display/NightDisplayFooterPreferenceController.java
+++ b/src/com/android/settings/display/NightDisplayTopIntroPreferenceController.java
@@ -21,9 +21,13 @@
 
 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 03ed6ce..a8076c2 100644
--- a/src/com/android/settings/users/MultiUserFooterPreferenceController.java
+++ b/src/com/android/settings/users/MultiUserTopIntroPreferenceController.java
@@ -23,12 +23,16 @@
 
 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 d92418d..63ccb6b 100644
--- a/src/com/android/settings/users/UserSettings.java
+++ b/src/com/android/settings/users/UserSettings.java
@@ -110,7 +110,7 @@
     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 @@
     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 @@
         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 @@
         // 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));