Merge "Modify preference_list_fragment to support tabLayout"
diff --git a/res/layout/preference_list_fragment.xml b/res/layout/preference_list_fragment.xml
index 6dfc8a3..27c67fd 100644
--- a/res/layout/preference_list_fragment.xml
+++ b/res/layout/preference_list_fragment.xml
@@ -17,7 +17,9 @@
 */
 -->
 
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
     android:id="@+id/container_material"
     android:orientation="vertical"
     android:layout_width="match_parent"
@@ -49,44 +51,39 @@
         android:gravity="center_vertical"
         android:visibility="gone" />
 
-    <RelativeLayout android:id="@+id/button_bar"
-        android:layout_height="wrap_content"
+    <LinearLayout
+        android:theme="@style/Theme.MaterialComponents.DayNight"
+        android:id="@+id/tab_container"
+        android:clipToPadding="true"
+        android:clipChildren="true"
         android:layout_width="match_parent"
-        android:layout_weight="0"
+        android:layout_height="match_parent"
+        android:orientation="vertical"
         android:visibility="gone">
 
-        <Button android:id="@+id/back_button"
-            style="?android:attr/buttonBarButtonStyle"
-            android:layout_width="150dip"
+        <com.google.android.material.tabs.TabLayout
+            android:background="@android:color/transparent"
+            android:id="@+id/tabs"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:layout_margin="5dip"
-            android:layout_alignParentStart="true"
-            android:text="@*android:string/back_button_label" />
+            app:tabMaxWidth="0dp"
+            app:tabGravity="fill"
+            app:tabMode="fixed"
+            app:tabIndicatorColor="@*android:color/accent_device_default"
+            app:tabSelectedTextColor="@*android:color/accent_device_default"
+            app:tabTextColor="?android:attr/textColorSecondary"/>
+        <View
+            android:layout_width="match_parent"
+            android:layout_height="1dp"
+            android:background="?android:attr/listDivider"/>
 
-        <LinearLayout
-            android:orientation="horizontal"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_alignParentEnd="true">
+        <androidx.viewpager.widget.ViewPager
+            android:id="@+id/view_pager"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent">
 
-            <Button android:id="@+id/skip_button"
-                style="?android:attr/buttonBarButtonStyle"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_margin="5dip"
-                android:text="@*android:string/skip_button_label"
-                android:visibility="gone" />
-
-            <Button android:id="@+id/next_button"
-                style="?android:attr/buttonBarButtonStyle"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_margin="5dip"
-                android:text="@*android:string/next_button_label" />
-
-        </LinearLayout>
-
-    </RelativeLayout>
+        </androidx.viewpager.widget.ViewPager>
+    </LinearLayout>
 
 </LinearLayout>
 
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 242b690..451a297 100755
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -250,9 +250,6 @@
     <dimen name="admin_details_dialog_learn_more_button_padding">8dp</dimen>
     <dimen name="admin_details_dialog_learn_more_button_minWidth">88dp</dimen>
 
-    <!-- Button bar padding for unmount button. -->
-    <dimen name="unmount_button_padding">8dp</dimen>
-
     <!-- Display, Screen zoom -->
     <dimen name="conversation_message_list_padding">10dp</dimen>
     <dimen name="conversation_message_contact_icon_text_size">32sp</dimen>
diff --git a/src/com/android/settings/SettingsPreferenceFragment.java b/src/com/android/settings/SettingsPreferenceFragment.java
index 7875aa6..07ba28f 100644
--- a/src/com/android/settings/SettingsPreferenceFragment.java
+++ b/src/com/android/settings/SettingsPreferenceFragment.java
@@ -110,7 +110,6 @@
 
     @VisibleForTesting
     ViewGroup mPinnedHeaderFrameLayout;
-    private ViewGroup mButtonBar;
 
     private LayoutPreference mHeader;
 
@@ -141,7 +140,6 @@
             Bundle savedInstanceState) {
         final View root = super.onCreateView(inflater, container, savedInstanceState);
         mPinnedHeaderFrameLayout = root.findViewById(R.id.pinned_header);
-        mButtonBar = root.findViewById(R.id.button_bar);
         return root;
     }
 
@@ -165,10 +163,6 @@
         }
     }
 
-    public ViewGroup getButtonBar() {
-        return mButtonBar;
-    }
-
     public View setPinnedHeaderView(int layoutResId) {
         final LayoutInflater inflater = getActivity().getLayoutInflater();
         final View pinnedHeader =
diff --git a/src/com/android/settings/dashboard/profileselector/ProfileSelectFragment.java b/src/com/android/settings/dashboard/profileselector/ProfileSelectFragment.java
index 323e3cd..b7a1301 100644
--- a/src/com/android/settings/dashboard/profileselector/ProfileSelectFragment.java
+++ b/src/com/android/settings/dashboard/profileselector/ProfileSelectFragment.java
@@ -36,7 +36,7 @@
 import java.lang.annotation.RetentionPolicy;
 
 /**
- * Base fragment class for per profile settings.
+ * Base fragment class for profile settings.
  */
 public abstract class ProfileSelectFragment extends InstrumentedFragment {
 
diff --git a/src/com/android/settings/deviceinfo/PublicVolumeSettings.java b/src/com/android/settings/deviceinfo/PublicVolumeSettings.java
index fc74ab8..b4724ae 100644
--- a/src/com/android/settings/deviceinfo/PublicVolumeSettings.java
+++ b/src/com/android/settings/deviceinfo/PublicVolumeSettings.java
@@ -19,7 +19,6 @@
 import android.app.ActivityManager;
 import android.app.settings.SettingsEnums;
 import android.content.Context;
-import android.content.res.Resources;
 import android.net.Uri;
 import android.os.Bundle;
 import android.os.UserManager;
@@ -31,7 +30,6 @@
 import android.provider.DocumentsContract;
 import android.text.TextUtils;
 import android.text.format.Formatter;
-import android.text.format.Formatter.BytesResult;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.Button;
@@ -137,13 +135,8 @@
             return;
         }
 
-        final Resources resources = getResources();
-        final int padding = resources.getDimensionPixelSize(
-                R.dimen.unmount_button_padding);
-        final ViewGroup buttonBar = getButtonBar();
-        buttonBar.removeAllViews();
-        buttonBar.setPadding(padding, padding, padding, padding);
-        buttonBar.addView(mUnmount, new ViewGroup.LayoutParams(
+        final ViewGroup container = getActivity().findViewById(R.id.container_material);
+        container.addView(mUnmount, new ViewGroup.LayoutParams(
                 ViewGroup.LayoutParams.MATCH_PARENT,
                 ViewGroup.LayoutParams.WRAP_CONTENT));
     }
@@ -169,7 +162,8 @@
             final long freeBytes = file.getFreeSpace();
             final long usedBytes = totalBytes - freeBytes;
 
-            final BytesResult result = Formatter.formatBytes(getResources(), usedBytes, 0);
+            final Formatter.BytesResult result = Formatter.formatBytes(getResources(), usedBytes,
+                    0);
             mSummary.setTitle(TextUtils.expandTemplate(getText(R.string.storage_size_large),
                     result.value, result.units));
             mSummary.setSummary(getString(R.string.storage_volume_used,
@@ -180,8 +174,8 @@
         if (mVolume.getState() == VolumeInfo.STATE_UNMOUNTED) {
             addPreference(mMount);
         }
-        if (mVolume.isMountedReadable()) {
-            getButtonBar().setVisibility(View.VISIBLE);
+        if (!mVolume.isMountedReadable()) {
+            mUnmount.setVisibility(View.GONE);
         }
         addPreference(mFormatPublic);
         if (mDisk.isAdoptable() && mIsPermittedToAdopt) {