diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 3c635eb..b666881 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -824,22 +824,6 @@
             <meta-data android:name="com.android.settings.icon_tintable" android:value="true" />
         </activity>
 
-        <activity android:name=".support.NewDeviceIntroSuggestionActivity"
-                  android:label="@string/new_device_suggestion_title"
-                  android:icon="@drawable/ic_new_device_suggestion_24dp"
-                  android:theme="@android:style/Theme.NoDisplay">
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-                <category android:name="com.android.settings.suggested.category.FIRST_IMPRESSION" />
-            </intent-filter>
-            <meta-data android:name="com.android.settings.dismiss"
-                       android:value="0,4" />
-            <meta-data android:name="com.android.settings.title"
-                       android:resource="@string/new_device_suggestion_title" />
-            <meta-data android:name="com.android.settings.summary"
-                       android:resource="@string/new_device_suggestion_summary" />
-        </activity>
-
         <activity
             android:name="Settings$ZenModeScheduleRuleSettingsActivity"
             android:exported="true"
@@ -1570,6 +1554,8 @@
             android:theme="@style/GlifTheme.Light"/>
 
         <activity android:name=".biometrics.face.FaceEnrollIntroduction" android:exported="false" />
+        <activity android:name=".biometrics.face.FaceEnrollEnrolling" android:exported="false" />
+        <activity android:name=".biometrics.face.FaceEnrollFinish" android:exported="false" />
 
         <activity android:name=".biometrics.fingerprint.FingerprintSettings" android:exported="false"/>
         <activity android:name=".biometrics.fingerprint.FingerprintEnrollFindSensor" android:exported="false"/>
@@ -2421,7 +2407,7 @@
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
-                       android:value="com.android.settings.applications.VrListenerSettings" />
+                       android:value="com.android.settings.applications.specialaccess.vrlistener.VrListenerSettings" />
         </activity>
 
         <activity
@@ -2438,7 +2424,7 @@
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
-                android:value="com.android.settings.applications.appinfo.PictureInPictureSettings" />
+                android:value="com.android.settings.applications.specialaccess.pictureinpicture.PictureInPictureSettings" />
         </activity>
 
         <activity
@@ -2452,7 +2438,7 @@
                 <data android:scheme="package" />
             </intent-filter>
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
-                android:value="com.android.settings.applications.appinfo.PictureInPictureDetails" />
+                android:value="com.android.settings.applications.specialaccess.pictureinpicture.PictureInPictureDetails" />
         </activity>
 
         <activity
diff --git a/proguard.flags b/proguard.flags
index 7592370..298058d 100644
--- a/proguard.flags
+++ b/proguard.flags
@@ -6,7 +6,7 @@
 -keepattributes Exceptions
 
 # Keep all Fragments in this package, which are used by reflection.
--keep public class com.android.settings.** extends android.app.Fragment
+-keep public class com.android.settings.** extends androidx.fragment.app.Fragment
 
 # Keep all preference controllers needed by slice and DashboardFragment.
 -keep class * extends com.android.settings.core.BasePreferenceController {
diff --git a/res/drawable-hdpi/appwidget_item_bg_normal.9.png b/res/drawable-hdpi/appwidget_item_bg_normal.9.png
deleted file mode 100644
index 8dd4479..0000000
--- a/res/drawable-hdpi/appwidget_item_bg_normal.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/appwidget_item_bg_pressed.9.png b/res/drawable-hdpi/appwidget_item_bg_pressed.9.png
deleted file mode 100644
index fb64dfc..0000000
--- a/res/drawable-hdpi/appwidget_item_bg_pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/bg_header_horizontal_tile.png b/res/drawable-hdpi/bg_header_horizontal_tile.png
deleted file mode 100644
index 4270099..0000000
--- a/res/drawable-hdpi/bg_header_horizontal_tile.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/bg_internal_storage_header.png b/res/drawable-hdpi/bg_internal_storage_header.png
deleted file mode 100644
index 1c297d9..0000000
--- a/res/drawable-hdpi/bg_internal_storage_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/bg_portable_storage_header.png b/res/drawable-hdpi/bg_portable_storage_header.png
deleted file mode 100644
index 42fe2c1..0000000
--- a/res/drawable-hdpi/bg_portable_storage_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/bg_setup_header.png b/res/drawable-hdpi/bg_setup_header.png
deleted file mode 100644
index 0d30849..0000000
--- a/res/drawable-hdpi/bg_setup_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/bg_tile_teal.png b/res/drawable-hdpi/bg_tile_teal.png
deleted file mode 100644
index 26538ec..0000000
--- a/res/drawable-hdpi/bg_tile_teal.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_sync_grey.png b/res/drawable-hdpi/ic_sync_grey.png
deleted file mode 100644
index 3e9995a..0000000
--- a/res/drawable-hdpi/ic_sync_grey.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_sync_red.png b/res/drawable-hdpi/ic_sync_red.png
deleted file mode 100644
index 5abb707..0000000
--- a/res/drawable-hdpi/ic_sync_red.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_tab_selected_all.png b/res/drawable-hdpi/ic_tab_selected_all.png
deleted file mode 100644
index c168869..0000000
--- a/res/drawable-hdpi/ic_tab_selected_all.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_tab_selected_download.png b/res/drawable-hdpi/ic_tab_selected_download.png
deleted file mode 100644
index dd3f5f9..0000000
--- a/res/drawable-hdpi/ic_tab_selected_download.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_tab_selected_running.png b/res/drawable-hdpi/ic_tab_selected_running.png
deleted file mode 100644
index 17b71b4..0000000
--- a/res/drawable-hdpi/ic_tab_selected_running.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_tab_selected_sdcard.png b/res/drawable-hdpi/ic_tab_selected_sdcard.png
deleted file mode 100644
index 752c35d..0000000
--- a/res/drawable-hdpi/ic_tab_selected_sdcard.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_tab_unselected_all.png b/res/drawable-hdpi/ic_tab_unselected_all.png
deleted file mode 100644
index c168869..0000000
--- a/res/drawable-hdpi/ic_tab_unselected_all.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_tab_unselected_download.png b/res/drawable-hdpi/ic_tab_unselected_download.png
deleted file mode 100644
index 1e71efb..0000000
--- a/res/drawable-hdpi/ic_tab_unselected_download.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_tab_unselected_running.png b/res/drawable-hdpi/ic_tab_unselected_running.png
deleted file mode 100644
index a73d078..0000000
--- a/res/drawable-hdpi/ic_tab_unselected_running.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_tab_unselected_sdcard.png b/res/drawable-hdpi/ic_tab_unselected_sdcard.png
deleted file mode 100644
index 752c35d..0000000
--- a/res/drawable-hdpi/ic_tab_unselected_sdcard.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/illustration_horizontal.jpg b/res/drawable-hdpi/illustration_horizontal.jpg
deleted file mode 100644
index 428b2f4..0000000
--- a/res/drawable-hdpi/illustration_horizontal.jpg
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/illustration_tile.jpg b/res/drawable-hdpi/illustration_tile.jpg
deleted file mode 100644
index 9931a23..0000000
--- a/res/drawable-hdpi/illustration_tile.jpg
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/nfc_payment_empty_state.png b/res/drawable-hdpi/nfc_payment_empty_state.png
deleted file mode 100644
index 7d20bc8..0000000
--- a/res/drawable-hdpi/nfc_payment_empty_state.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/spinner_default_holo_dark_am_no_underline.9.png b/res/drawable-hdpi/spinner_default_holo_dark_am_no_underline.9.png
deleted file mode 100644
index 267e7ba..0000000
--- a/res/drawable-hdpi/spinner_default_holo_dark_am_no_underline.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/ic_tab_selected_running.png b/res/drawable-ldrtl-hdpi/ic_tab_selected_running.png
deleted file mode 100644
index 1cb9c8d..0000000
--- a/res/drawable-ldrtl-hdpi/ic_tab_selected_running.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/ic_tab_unselected_running.png b/res/drawable-ldrtl-hdpi/ic_tab_unselected_running.png
deleted file mode 100644
index 1cb9c8d..0000000
--- a/res/drawable-ldrtl-hdpi/ic_tab_unselected_running.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/ic_tab_selected_running.png b/res/drawable-ldrtl-mdpi/ic_tab_selected_running.png
deleted file mode 100644
index 740e709..0000000
--- a/res/drawable-ldrtl-mdpi/ic_tab_selected_running.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/ic_tab_unselected_running.png b/res/drawable-ldrtl-mdpi/ic_tab_unselected_running.png
deleted file mode 100644
index 740e709..0000000
--- a/res/drawable-ldrtl-mdpi/ic_tab_unselected_running.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/ic_tab_selected_running.png b/res/drawable-ldrtl-xhdpi/ic_tab_selected_running.png
deleted file mode 100644
index fcd6ab1..0000000
--- a/res/drawable-ldrtl-xhdpi/ic_tab_selected_running.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/ic_tab_unselected_running.png b/res/drawable-ldrtl-xhdpi/ic_tab_unselected_running.png
deleted file mode 100644
index fcd6ab1..0000000
--- a/res/drawable-ldrtl-xhdpi/ic_tab_unselected_running.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/appwidget_item_bg_normal.9.png b/res/drawable-mdpi/appwidget_item_bg_normal.9.png
deleted file mode 100644
index 6af3493..0000000
--- a/res/drawable-mdpi/appwidget_item_bg_normal.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/appwidget_item_bg_pressed.9.png b/res/drawable-mdpi/appwidget_item_bg_pressed.9.png
deleted file mode 100644
index ebb7a99..0000000
--- a/res/drawable-mdpi/appwidget_item_bg_pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/bg_header_horizontal_tile.png b/res/drawable-mdpi/bg_header_horizontal_tile.png
deleted file mode 100644
index be8512d..0000000
--- a/res/drawable-mdpi/bg_header_horizontal_tile.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/bg_internal_storage_header.png b/res/drawable-mdpi/bg_internal_storage_header.png
deleted file mode 100644
index d93c6a2..0000000
--- a/res/drawable-mdpi/bg_internal_storage_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/bg_portable_storage_header.png b/res/drawable-mdpi/bg_portable_storage_header.png
deleted file mode 100644
index a39df23..0000000
--- a/res/drawable-mdpi/bg_portable_storage_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/bg_setup_header.png b/res/drawable-mdpi/bg_setup_header.png
deleted file mode 100644
index f07d3fa..0000000
--- a/res/drawable-mdpi/bg_setup_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/bg_tile_teal.png b/res/drawable-mdpi/bg_tile_teal.png
deleted file mode 100644
index 01abedb..0000000
--- a/res/drawable-mdpi/bg_tile_teal.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_sync_grey.png b/res/drawable-mdpi/ic_sync_grey.png
deleted file mode 100644
index 8f168d4..0000000
--- a/res/drawable-mdpi/ic_sync_grey.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_sync_red.png b/res/drawable-mdpi/ic_sync_red.png
deleted file mode 100644
index 5e38136..0000000
--- a/res/drawable-mdpi/ic_sync_red.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_tab_selected_all.png b/res/drawable-mdpi/ic_tab_selected_all.png
deleted file mode 100644
index 3cc0dde..0000000
--- a/res/drawable-mdpi/ic_tab_selected_all.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_tab_selected_download.png b/res/drawable-mdpi/ic_tab_selected_download.png
deleted file mode 100644
index a9d71ae..0000000
--- a/res/drawable-mdpi/ic_tab_selected_download.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_tab_selected_running.png b/res/drawable-mdpi/ic_tab_selected_running.png
deleted file mode 100644
index 714c5a4..0000000
--- a/res/drawable-mdpi/ic_tab_selected_running.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_tab_selected_sdcard.png b/res/drawable-mdpi/ic_tab_selected_sdcard.png
deleted file mode 100644
index 731aad5..0000000
--- a/res/drawable-mdpi/ic_tab_selected_sdcard.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_tab_unselected_all.png b/res/drawable-mdpi/ic_tab_unselected_all.png
deleted file mode 100644
index 3cc0dde..0000000
--- a/res/drawable-mdpi/ic_tab_unselected_all.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_tab_unselected_download.png b/res/drawable-mdpi/ic_tab_unselected_download.png
deleted file mode 100644
index 59930fe..0000000
--- a/res/drawable-mdpi/ic_tab_unselected_download.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_tab_unselected_running.png b/res/drawable-mdpi/ic_tab_unselected_running.png
deleted file mode 100644
index b76a1d3..0000000
--- a/res/drawable-mdpi/ic_tab_unselected_running.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_tab_unselected_sdcard.png b/res/drawable-mdpi/ic_tab_unselected_sdcard.png
deleted file mode 100644
index 731aad5..0000000
--- a/res/drawable-mdpi/ic_tab_unselected_sdcard.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/illustration_horizontal.jpg b/res/drawable-mdpi/illustration_horizontal.jpg
deleted file mode 100644
index 52e7993..0000000
--- a/res/drawable-mdpi/illustration_horizontal.jpg
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/illustration_tile.jpg b/res/drawable-mdpi/illustration_tile.jpg
deleted file mode 100644
index 7923fb4..0000000
--- a/res/drawable-mdpi/illustration_tile.jpg
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/nfc_payment_empty_state.png b/res/drawable-mdpi/nfc_payment_empty_state.png
deleted file mode 100644
index 67ea0b7..0000000
--- a/res/drawable-mdpi/nfc_payment_empty_state.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/spinner_default_holo_dark_am_no_underline.9.png b/res/drawable-mdpi/spinner_default_holo_dark_am_no_underline.9.png
deleted file mode 100644
index db51f6b..0000000
--- a/res/drawable-mdpi/spinner_default_holo_dark_am_no_underline.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-hdpi/bg_internal_storage_header.png b/res/drawable-sw600dp-hdpi/bg_internal_storage_header.png
deleted file mode 100644
index 5102e54..0000000
--- a/res/drawable-sw600dp-hdpi/bg_internal_storage_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-hdpi/bg_portable_storage_header.png b/res/drawable-sw600dp-hdpi/bg_portable_storage_header.png
deleted file mode 100644
index 26fd248..0000000
--- a/res/drawable-sw600dp-hdpi/bg_portable_storage_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-hdpi/bg_setup_header.png b/res/drawable-sw600dp-hdpi/bg_setup_header.png
deleted file mode 100644
index 2178602..0000000
--- a/res/drawable-sw600dp-hdpi/bg_setup_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-mdpi/bg_internal_storage_header.png b/res/drawable-sw600dp-mdpi/bg_internal_storage_header.png
deleted file mode 100644
index b39c652..0000000
--- a/res/drawable-sw600dp-mdpi/bg_internal_storage_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-mdpi/bg_portable_storage_header.png b/res/drawable-sw600dp-mdpi/bg_portable_storage_header.png
deleted file mode 100644
index 1f5d10b..0000000
--- a/res/drawable-sw600dp-mdpi/bg_portable_storage_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-mdpi/bg_setup_header.png b/res/drawable-sw600dp-mdpi/bg_setup_header.png
deleted file mode 100644
index 157b8aa..0000000
--- a/res/drawable-sw600dp-mdpi/bg_setup_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-xhdpi/bg_internal_storage_header.png b/res/drawable-sw600dp-xhdpi/bg_internal_storage_header.png
deleted file mode 100644
index 38ea2a3..0000000
--- a/res/drawable-sw600dp-xhdpi/bg_internal_storage_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-xhdpi/bg_portable_storage_header.png b/res/drawable-sw600dp-xhdpi/bg_portable_storage_header.png
deleted file mode 100644
index 169ac25..0000000
--- a/res/drawable-sw600dp-xhdpi/bg_portable_storage_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-xhdpi/bg_setup_header.png b/res/drawable-sw600dp-xhdpi/bg_setup_header.png
deleted file mode 100644
index a4e1eb3..0000000
--- a/res/drawable-sw600dp-xhdpi/bg_setup_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-xxhdpi/bg_internal_storage_header.png b/res/drawable-sw600dp-xxhdpi/bg_internal_storage_header.png
deleted file mode 100644
index 8920af3..0000000
--- a/res/drawable-sw600dp-xxhdpi/bg_internal_storage_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-xxhdpi/bg_portable_storage_header.png b/res/drawable-sw600dp-xxhdpi/bg_portable_storage_header.png
deleted file mode 100644
index 9190f38..0000000
--- a/res/drawable-sw600dp-xxhdpi/bg_portable_storage_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-xxhdpi/bg_setup_header.png b/res/drawable-sw600dp-xxhdpi/bg_setup_header.png
deleted file mode 100644
index 6fce3df..0000000
--- a/res/drawable-sw600dp-xxhdpi/bg_setup_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-xxxhdpi/bg_internal_storage_header.png b/res/drawable-sw600dp-xxxhdpi/bg_internal_storage_header.png
deleted file mode 100644
index a99ed1c..0000000
--- a/res/drawable-sw600dp-xxxhdpi/bg_internal_storage_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-xxxhdpi/bg_portable_storage_header.png b/res/drawable-sw600dp-xxxhdpi/bg_portable_storage_header.png
deleted file mode 100644
index d979bfb..0000000
--- a/res/drawable-sw600dp-xxxhdpi/bg_portable_storage_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-xxxhdpi/bg_setup_header.png b/res/drawable-sw600dp-xxxhdpi/bg_setup_header.png
deleted file mode 100644
index 7276b4e..0000000
--- a/res/drawable-sw600dp-xxxhdpi/bg_setup_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/appwidget_item_bg_normal.9.png b/res/drawable-xhdpi/appwidget_item_bg_normal.9.png
deleted file mode 100644
index d752d5e..0000000
--- a/res/drawable-xhdpi/appwidget_item_bg_normal.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/appwidget_item_bg_pressed.9.png b/res/drawable-xhdpi/appwidget_item_bg_pressed.9.png
deleted file mode 100644
index e5941a6..0000000
--- a/res/drawable-xhdpi/appwidget_item_bg_pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/bg_header_horizontal_tile.png b/res/drawable-xhdpi/bg_header_horizontal_tile.png
deleted file mode 100644
index 3b36902..0000000
--- a/res/drawable-xhdpi/bg_header_horizontal_tile.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/bg_internal_storage_header.png b/res/drawable-xhdpi/bg_internal_storage_header.png
deleted file mode 100644
index f8b64e0..0000000
--- a/res/drawable-xhdpi/bg_internal_storage_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/bg_portable_storage_header.png b/res/drawable-xhdpi/bg_portable_storage_header.png
deleted file mode 100644
index 12c432d..0000000
--- a/res/drawable-xhdpi/bg_portable_storage_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/bg_setup_header.png b/res/drawable-xhdpi/bg_setup_header.png
deleted file mode 100644
index d7c4401..0000000
--- a/res/drawable-xhdpi/bg_setup_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/bg_tile_teal.png b/res/drawable-xhdpi/bg_tile_teal.png
deleted file mode 100644
index e6f2f06..0000000
--- a/res/drawable-xhdpi/bg_tile_teal.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_sync_grey.png b/res/drawable-xhdpi/ic_sync_grey.png
deleted file mode 100644
index 8a17f37..0000000
--- a/res/drawable-xhdpi/ic_sync_grey.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_sync_red.png b/res/drawable-xhdpi/ic_sync_red.png
deleted file mode 100644
index 92d02e1..0000000
--- a/res/drawable-xhdpi/ic_sync_red.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_tab_selected_all.png b/res/drawable-xhdpi/ic_tab_selected_all.png
deleted file mode 100644
index b59933b..0000000
--- a/res/drawable-xhdpi/ic_tab_selected_all.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_tab_selected_download.png b/res/drawable-xhdpi/ic_tab_selected_download.png
deleted file mode 100644
index 6c6d26b..0000000
--- a/res/drawable-xhdpi/ic_tab_selected_download.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_tab_selected_running.png b/res/drawable-xhdpi/ic_tab_selected_running.png
deleted file mode 100644
index 37084d2..0000000
--- a/res/drawable-xhdpi/ic_tab_selected_running.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_tab_selected_sdcard.png b/res/drawable-xhdpi/ic_tab_selected_sdcard.png
deleted file mode 100644
index 536326c..0000000
--- a/res/drawable-xhdpi/ic_tab_selected_sdcard.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_tab_unselected_all.png b/res/drawable-xhdpi/ic_tab_unselected_all.png
deleted file mode 100644
index b59933b..0000000
--- a/res/drawable-xhdpi/ic_tab_unselected_all.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_tab_unselected_download.png b/res/drawable-xhdpi/ic_tab_unselected_download.png
deleted file mode 100644
index e8084c2..0000000
--- a/res/drawable-xhdpi/ic_tab_unselected_download.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_tab_unselected_running.png b/res/drawable-xhdpi/ic_tab_unselected_running.png
deleted file mode 100644
index 8eda83f..0000000
--- a/res/drawable-xhdpi/ic_tab_unselected_running.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_tab_unselected_sdcard.png b/res/drawable-xhdpi/ic_tab_unselected_sdcard.png
deleted file mode 100644
index 536326c..0000000
--- a/res/drawable-xhdpi/ic_tab_unselected_sdcard.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/illustration_horizontal.jpg b/res/drawable-xhdpi/illustration_horizontal.jpg
deleted file mode 100644
index 2733f8e..0000000
--- a/res/drawable-xhdpi/illustration_horizontal.jpg
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/illustration_tile.jpg b/res/drawable-xhdpi/illustration_tile.jpg
deleted file mode 100644
index 57bccca..0000000
--- a/res/drawable-xhdpi/illustration_tile.jpg
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/nfc_payment_empty_state.png b/res/drawable-xhdpi/nfc_payment_empty_state.png
deleted file mode 100644
index 5291c22..0000000
--- a/res/drawable-xhdpi/nfc_payment_empty_state.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/spinner_default_holo_dark_am_no_underline.9.png b/res/drawable-xhdpi/spinner_default_holo_dark_am_no_underline.9.png
deleted file mode 100644
index 8d22ce2..0000000
--- a/res/drawable-xhdpi/spinner_default_holo_dark_am_no_underline.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/appwidget_item_bg_normal.9.png b/res/drawable-xxhdpi/appwidget_item_bg_normal.9.png
deleted file mode 100644
index 0d887c8..0000000
--- a/res/drawable-xxhdpi/appwidget_item_bg_normal.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/appwidget_item_bg_pressed.9.png b/res/drawable-xxhdpi/appwidget_item_bg_pressed.9.png
deleted file mode 100644
index d14eb23..0000000
--- a/res/drawable-xxhdpi/appwidget_item_bg_pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/bg_header_horizontal_tile.png b/res/drawable-xxhdpi/bg_header_horizontal_tile.png
deleted file mode 100644
index a879fe2..0000000
--- a/res/drawable-xxhdpi/bg_header_horizontal_tile.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/bg_internal_storage_header.png b/res/drawable-xxhdpi/bg_internal_storage_header.png
deleted file mode 100644
index 01fe761..0000000
--- a/res/drawable-xxhdpi/bg_internal_storage_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/bg_portable_storage_header.png b/res/drawable-xxhdpi/bg_portable_storage_header.png
deleted file mode 100644
index 4bacf7c..0000000
--- a/res/drawable-xxhdpi/bg_portable_storage_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/bg_setup_header.png b/res/drawable-xxhdpi/bg_setup_header.png
deleted file mode 100644
index 566cc5f..0000000
--- a/res/drawable-xxhdpi/bg_setup_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/bg_tile_teal.png b/res/drawable-xxhdpi/bg_tile_teal.png
deleted file mode 100644
index 29d268a..0000000
--- a/res/drawable-xxhdpi/bg_tile_teal.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_tab_selected_download.png b/res/drawable-xxhdpi/ic_tab_selected_download.png
deleted file mode 100644
index 3abb0f0..0000000
--- a/res/drawable-xxhdpi/ic_tab_selected_download.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_tab_selected_running.png b/res/drawable-xxhdpi/ic_tab_selected_running.png
deleted file mode 100644
index bfc9b5c..0000000
--- a/res/drawable-xxhdpi/ic_tab_selected_running.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_tab_unselected_download.png b/res/drawable-xxhdpi/ic_tab_unselected_download.png
deleted file mode 100644
index 7030f3e..0000000
--- a/res/drawable-xxhdpi/ic_tab_unselected_download.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/illustration_horizontal.jpg b/res/drawable-xxhdpi/illustration_horizontal.jpg
deleted file mode 100644
index aec8d0f..0000000
--- a/res/drawable-xxhdpi/illustration_horizontal.jpg
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/illustration_tile.jpg b/res/drawable-xxhdpi/illustration_tile.jpg
deleted file mode 100644
index 2ba33fa..0000000
--- a/res/drawable-xxhdpi/illustration_tile.jpg
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/nfc_payment_empty_state.png b/res/drawable-xxhdpi/nfc_payment_empty_state.png
deleted file mode 100644
index e23b0a7..0000000
--- a/res/drawable-xxhdpi/nfc_payment_empty_state.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/spinner_default_holo_dark_am_no_underline.9.png b/res/drawable-xxhdpi/spinner_default_holo_dark_am_no_underline.9.png
deleted file mode 100644
index 29fb50f..0000000
--- a/res/drawable-xxhdpi/spinner_default_holo_dark_am_no_underline.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/appwidget_item_bg_normal.9.png b/res/drawable-xxxhdpi/appwidget_item_bg_normal.9.png
deleted file mode 100644
index a656a67..0000000
--- a/res/drawable-xxxhdpi/appwidget_item_bg_normal.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/appwidget_item_bg_pressed.9.png b/res/drawable-xxxhdpi/appwidget_item_bg_pressed.9.png
deleted file mode 100644
index 58e64be..0000000
--- a/res/drawable-xxxhdpi/appwidget_item_bg_pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/bg_header_horizontal_tile.png b/res/drawable-xxxhdpi/bg_header_horizontal_tile.png
deleted file mode 100644
index f19306a..0000000
--- a/res/drawable-xxxhdpi/bg_header_horizontal_tile.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/bg_internal_storage_header.png b/res/drawable-xxxhdpi/bg_internal_storage_header.png
deleted file mode 100644
index eb9f268..0000000
--- a/res/drawable-xxxhdpi/bg_internal_storage_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/bg_portable_storage_header.png b/res/drawable-xxxhdpi/bg_portable_storage_header.png
deleted file mode 100644
index 311544a..0000000
--- a/res/drawable-xxxhdpi/bg_portable_storage_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/bg_setup_header.png b/res/drawable-xxxhdpi/bg_setup_header.png
deleted file mode 100644
index 0df665e..0000000
--- a/res/drawable-xxxhdpi/bg_setup_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/bg_tile_teal.png b/res/drawable-xxxhdpi/bg_tile_teal.png
deleted file mode 100644
index 3d1a97a..0000000
--- a/res/drawable-xxxhdpi/bg_tile_teal.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_tab_selected_download.png b/res/drawable-xxxhdpi/ic_tab_selected_download.png
deleted file mode 100644
index a024704..0000000
--- a/res/drawable-xxxhdpi/ic_tab_selected_download.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_tab_selected_running.png b/res/drawable-xxxhdpi/ic_tab_selected_running.png
deleted file mode 100644
index f7a329f..0000000
--- a/res/drawable-xxxhdpi/ic_tab_selected_running.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_tab_unselected_download.png b/res/drawable-xxxhdpi/ic_tab_unselected_download.png
deleted file mode 100644
index 1aa5f2e..0000000
--- a/res/drawable-xxxhdpi/ic_tab_unselected_download.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/nfc_payment_empty_state.png b/res/drawable-xxxhdpi/nfc_payment_empty_state.png
deleted file mode 100644
index 569bb07..0000000
--- a/res/drawable-xxxhdpi/nfc_payment_empty_state.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/appwidget_item_bg.xml b/res/drawable/appwidget_item_bg.xml
deleted file mode 100644
index b9de6d4..0000000
--- a/res/drawable/appwidget_item_bg.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2012 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
-
-          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.
--->
-
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-
-    <item android:state_pressed="true"
-          android:drawable="@drawable/appwidget_item_bg_pressed" />
-
-    <item android:drawable="@drawable/appwidget_item_bg_normal" />
-</selector>
diff --git a/res/drawable/ic_new_device_suggestion_24dp.xml b/res/drawable/ic_new_device_suggestion_24dp.xml
deleted file mode 100644
index b8fbb20..0000000
--- a/res/drawable/ic_new_device_suggestion_24dp.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<!--
-  Copyright (C) 2017 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
-
-       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.
-  -->
-
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-        android:autoMirrored="true"
-        android:width="24dp"
-        android:height="24dp"
-        android:viewportHeight="24.0"
-        android:viewportWidth="24.0"
-        android:tint="?android:attr/colorControlNormal">
-    <path android:fillColor="#FF000000"
-          android:pathData="M23,12l-2.44,-2.78 0.34,-3.68 -3.61,-0.82 -1.89,-3.18L12,3 8.6,1.54 6.71,4.72l-3.61,0.81 0.34,3.68L1,12l2.44,2.78 -0.34,3.69 3.61,0.82 1.89,3.18L12,21l3.4,1.46 1.89,-3.18 3.61,-0.82 -0.34,-3.68L23,12zM13,17h-2v-2h2v2zM13,13h-2L11,7h2v6z" />
-</vector>
diff --git a/res/layout/device_profiles_settings.xml b/res/layout/device_profiles_settings.xml
deleted file mode 100644
index 260fa05..0000000
--- a/res/layout/device_profiles_settings.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2015 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
-
-          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.
--->
-
-<ScrollView
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:paddingStart="25dp"
-    android:paddingEnd="25dp">
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:orientation="vertical">
-
-        <TextView
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:text="@string/bluetooth_preference_paired_dialog_name_label"
-            android:textAppearance="@android:style/TextAppearance.Material.Body1"
-            android:textColor="?android:attr/textColorSecondary"
-            android:textDirection="locale"
-            android:paddingTop="16dp"
-            style="@style/bt_item_label"/>
-
-        <EditText
-            android:id="@+id/name"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:inputType="textNoSuggestions"
-            android:maxLength="@integer/bluetooth_name_length"
-            android:singleLine="true"
-            android:paddingBottom="@dimen/bluetooth_dialog_padding"
-            android:textDirection="locale"
-            style="@style/bt_item_edit_content"/>
-
-        <TextView
-            android:id="@+id/profiles_label"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:paddingTop="16dp"
-            android:paddingBottom="4dp"
-            android:text="@string/bluetooth_device_advanced_profile_header_title"
-            android:textAppearance="@android:style/TextAppearance.Material.Body1"
-            android:textColor="?android:attr/textColorSecondary"/>
-
-
-        <LinearLayout
-            android:id="@+id/profiles_section"
-            android:orientation="vertical"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"/>
-
-    </LinearLayout>
-
-</ScrollView>
diff --git a/res/layout/face_enroll_enrolling.xml b/res/layout/face_enroll_enrolling.xml
new file mode 100644
index 0000000..6ced80f
--- /dev/null
+++ b/res/layout/face_enroll_enrolling.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ 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
+  ~
+  ~      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.
+  -->
+
+<com.android.setupwizardlib.GlifLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:id="@+id/setup_wizard_layout"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    style="?attr/face_layout_theme"
+    app:suwFooter="@layout/face_enroll_enrolling_footer">
+
+    <LinearLayout
+        style="@style/SuwContentFrame"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="vertical"
+        android:clipToPadding="false"
+        android:clipChildren="false">
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="0dp"
+            android:layout_weight="1"
+            android:gravity="center"
+            android:orientation="vertical">
+
+            <com.android.setupwizardlib.view.FillContentLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_weight="1">
+
+                <!-- TODO: replace this with actual content-->
+                <ImageView
+                    style="@style/SuwContentIllustration"
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    android:contentDescription="@null"
+                    android:src="@drawable/face_enroll_introduction" />
+
+            </com.android.setupwizardlib.view.FillContentLayout>
+
+            <TextView
+                style="@style/TextAppearance.FaceErrorText"
+                android:id="@+id/error_text"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center_horizontal|bottom"
+                android:accessibilityLiveRegion="polite"
+                android:gravity="center"
+                android:visibility="invisible"/>
+
+        </LinearLayout>
+
+    </LinearLayout>
+
+</com.android.setupwizardlib.GlifLayout>
\ No newline at end of file
diff --git a/res/layout/face_enroll_enrolling_footer.xml b/res/layout/face_enroll_enrolling_footer.xml
new file mode 100644
index 0000000..e3c5872
--- /dev/null
+++ b/res/layout/face_enroll_enrolling_footer.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ 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
+  ~
+  ~      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
+  -->
+
+<!-- TODO: Use aapt:attr when it is fixed (b/36809755) -->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    style="@style/SuwGlifButtonBar"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content">
+
+    <Button
+        style="@style/SuwGlifButton.Secondary"
+        android:id="@+id/skip_button"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="@string/security_settings_face_enroll_enrolling_skip" />
+
+</LinearLayout>
diff --git a/res/layout/face_enroll_finish.xml b/res/layout/face_enroll_finish.xml
new file mode 100644
index 0000000..9966497
--- /dev/null
+++ b/res/layout/face_enroll_finish.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ 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
+  ~
+  ~      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
+  -->
+
+<com.android.setupwizardlib.GlifLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:id="@+id/setup_wizard_layout"
+    style="?attr/face_layout_theme"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    app:suwFooter="@layout/face_enroll_finish_footer">
+
+    <LinearLayout
+        style="@style/SuwContentFrame"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="vertical"
+        android:clipToPadding="false"
+        android:clipChildren="false">
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="0dp"
+            android:layout_weight="1"
+            android:gravity="center"
+            android:orientation="vertical">
+
+            <com.android.setupwizardlib.view.FillContentLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_weight="1">
+
+                <ImageView
+                    style="@style/SuwContentIllustration"
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    android:contentDescription="@null"
+                    android:src="@drawable/face_enroll_introduction" />
+
+            </com.android.setupwizardlib.view.FillContentLayout>
+
+        </LinearLayout>
+
+    </LinearLayout>
+
+</com.android.setupwizardlib.GlifLayout>
diff --git a/res/layout/face_enroll_finish_footer.xml b/res/layout/face_enroll_finish_footer.xml
new file mode 100644
index 0000000..06d2639
--- /dev/null
+++ b/res/layout/face_enroll_finish_footer.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ 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
+  ~
+  ~      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
+  -->
+
+<!-- TODO: Use aapt:attr when it is fixed (b/36809755) -->
+<com.android.setupwizardlib.view.ButtonBarLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    style="@style/SuwGlifButtonBar.Stackable"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content">
+
+    <Space
+        android:layout_width="0dp"
+        android:layout_height="0dp"
+        android:layout_weight="1" />
+
+    <Button
+        style="@style/SuwGlifButton.Primary"
+        android:id="@+id/next_button"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="@string/security_settings_face_enroll_done" />
+
+</com.android.setupwizardlib.view.ButtonBarLayout>
diff --git a/res/layout/keyguard_appwidget_item.xml b/res/layout/keyguard_appwidget_item.xml
deleted file mode 100755
index de0c855..0000000
--- a/res/layout/keyguard_appwidget_item.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2012 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
-
-          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.
--->
-
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
-  android:layout_width="match_parent"
-  android:layout_height="wrap_content" >
-  <LinearLayout
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:orientation="horizontal"
-    android:background="@drawable/appwidget_item_bg"
-    android:layout_marginTop="2dip"
-    android:layout_marginBottom="2dip"
-    android:layout_marginLeft="2dip"
-    android:layout_marginRight="2dip"
-    android:paddingLeft="16dip"
-    android:paddingRight="16dip"
-    android:paddingTop="16dip"
-    android:paddingBottom="16dip" >
-      <ImageView
-       android:id="@+id/icon"
-       android:layout_width="@dimen/appwidget_preview_width"
-       android:layout_height="@dimen/appwidget_preview_height"
-       android:scaleType="center" />
-      <TextView
-       android:id="@+id/label"
-       style="@style/KeyguardAppWidgetItem"
-       android:layout_width="match_parent"
-       android:layout_height="match_parent"
-       android:paddingLeft="24dip"
-       android:paddingBottom="8dip"
-       android:gravity="left|bottom" />
-  </LinearLayout>
-</FrameLayout>
diff --git a/res/layout/keyguard_appwidget_picker_layout.xml b/res/layout/keyguard_appwidget_picker_layout.xml
deleted file mode 100644
index e533672..0000000
--- a/res/layout/keyguard_appwidget_picker_layout.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2012 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
-
-          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.
--->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-        android:id="@+id/layout_root"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:paddingLeft="@dimen/keyguard_appwidget_picker_margin_left"
-        android:paddingRight="@dimen/keyguard_appwidget_picker_margin_right"
-        android:paddingTop="2dip"
-        android:paddingBottom="2dip"
-        android:orientation="vertical" >
-  <GridView android:layout_width="match_parent"
-            android:layout_height="0dp"
-            android:layout_weight="1"
-            android:numColumns="@integer/keyguard_appwidget_picker_cols"
-            android:layout_gravity="center_horizontal"
-            android:listSelector="@android:color/transparent"
-            android:id="@+id/widget_list" />
-</LinearLayout>
diff --git a/res/layout/preference_category_no_title.xml b/res/layout/preference_category_no_title.xml
deleted file mode 100644
index d4704bd..0000000
--- a/res/layout/preference_category_no_title.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2017 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
-
-          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.
--->
-
-<!-- Based off frameworks/base/core/res/res/layout/preference_category_material.xml however
-     set height to 0. This will be used in preference category without title in order to remove
-     extra 32dp blank -->
-<TextView xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@android:id/title"
-    android:layout_width="match_parent"
-    android:layout_height="0dp"
-    android:textAppearance="@android:style/TextAppearance.Material.Body2"
-    android:textColor="?android:attr/colorAccent"
-    android:paddingStart="?android:attr/listPreferredItemPaddingStart"
-    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd" />
diff --git a/res/layout/search_bar.xml b/res/layout/search_bar.xml
index cbd461b..9e64db7 100644
--- a/res/layout/search_bar.xml
+++ b/res/layout/search_bar.xml
@@ -17,7 +17,7 @@
 
 <FrameLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/tools"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
     android:id="@+id/search_bar_container"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
diff --git a/res/values-af/arrays.xml b/res/values-af/arrays.xml
index e879e8e..9e22efa 100644
--- a/res/values-af/arrays.xml
+++ b/res/values-af/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Altyd aan"</item>
     <item msgid="6385301106124765323">"Altyd af"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index c490b6b..a9f65e2 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Toestel se Bluetooth-adres: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"Ontkoppel <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Uitsaai"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Dekativeer profiel?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Dit deaktiveer:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;From:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Onbenoemde Bluetooth-toestel"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Soek"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Soek tans…"</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Toestelinstellings"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Saamgebinde toestel"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Naam"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Internetverbinding"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Sleutelbord"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Kontakte en oproepgeskiedenis"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Deel foonboek?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> wil toegang tot jou kontakte en oproepgeskiedenis hê."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> wil met Bluetooth saambind. Wanneer gekoppel, sal dit toegang tot kontakte en oproepgeskiedenis hê."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Saamgebinde toestelle"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Beskikbare toestelle"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Geen toestelle beskikbaar nie"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Koppel"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Helderheid"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Verstel die helderheid van die skerm"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Aanpasbare helderheid"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Optimeer helderheidsvlak volgens beskikbare lig"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Af"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Voorkeurhelderheid is baie laag"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Voorkeurhelderheid is laag"</string>
@@ -4119,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Outovuldiens"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"outomaties, invul, outovul"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Maak seker dat jy hierdie program vertrou&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Outovul&gt;%1$s&lt;/xliff:g&gt; gebruik wat op jou skerm is om te bepaal wat outomaties ingevul kan word."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Kleurtema"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Verstek"</string>
     <string name="device_theme" msgid="4571803018917608588">"Toesteltema"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Outomaties (gebaseer op muurpapier)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Lig"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Donker"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Verstek"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Netwerknaam"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Vertoon netwerknaam in statusbalk"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Bergingbestuurder: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-am/arrays.xml b/res/values-am/arrays.xml
index 92a33d6..d3e6a0c 100644
--- a/res/values-am/arrays.xml
+++ b/res/values-am/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"ሁልጊዜ አብራ"</item>
     <item msgid="6385301106124765323">"ሁልጊዜ አጥፋ"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 04bff25..73b9845 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"የመሣሪያ የብሉቱዝ አድራሻ፦ <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"የ<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ግንኙነት ይቋረጥ?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"ማሰራጨት"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"መገለጫ ይቦዝን?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"ይህ:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;From:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt; ያቦዝናል"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"ስም አልባ የብሉቱዝ መሣሪያ"</string>
     <string name="progress_scanning" msgid="192587958424295789">"በመፈለግ ላይ"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"በመፈለግ ላይ…"</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"የመሣሪያ ቅንብሮች"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"የተጣመረ መሣሪያ"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"ስም"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"የበይንመረብ ግንኙነት"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"የቁልፍ ሰሌዳ"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"የእውቂያዎች እና የጥሪ ታሪክ"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"የስልክ ቁጥር መያዣ ይጋራ?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> የእርስዎን እውቂያዎች እና የጥሪ ታሪክ መድረስ ይፍለጋል።"</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ከብሉቱዝ ጋር መጣመር ይፈልጋል። ሲገናኝ የእርስዎ እውቂያዎች እና የጥሪ ታሪክ መዳረሻ ይኖረዋል።"</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"የተጣመሩ መሣሪያዎች"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"የሚገኙ መሣሪያዎች"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"ምንም መሣሪያዎች አይገኙም"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"አያይዝ"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"ብሩህነት"</string>
     <string name="brightness_summary" msgid="838917350127550703">"የማያ ብሩህነት አስተካክል"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"ተለማማጅ ብሩህነት"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"ለሚገኘው ብርሃን የብሩህነት ደረጃ አመቻች"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"ጠፍቷል"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"የተመረጠው ብሩህነት በጣም ዝቅተኛው ነው"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"የተመረጠው ብሩህነት ዝቅተኛው ነው"</string>
@@ -4119,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"የራስ-ሙላ አገልግሎት"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"ራስ-ሰር፣ ሙላ፣ ራስ-ሙላ"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;ይህን መተግበሪያ የሚያምኑት መሆንዎን ያረጋግጡ&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google ራስ-ሙላ&gt;%1$s&lt;/xliff:g&gt; ምን በራስ መሞላት እንደሚችል ለማወቅ በማያ ገጽዎ ላይ ያለውን ነገር ይጠቀማል።"</string>
-    <string name="color_theme" msgid="1535685696756738324">"የቀለም ገጽታዎች"</string>
-    <string name="default_theme" msgid="7085644992078579076">"ነባሪ"</string>
     <string name="device_theme" msgid="4571803018917608588">"የመሣሪያ ገጽታ"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"ራስ-ሰር (በግድግዳ ወረቀት ላይ በመመርኮዝ)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"ቀላል"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"ጨለማ"</string>
+    <string name="default_theme" msgid="7085644992078579076">"ነባሪ"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"የአውታረ መረብ ስም"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"የአውታረ መረብ ስም በሁኔታ አሞሌ ውስጥ አሳይ።"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"የማከማቻ አስተዳዳሪ፦ <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-ar/arrays.xml b/res/values-ar/arrays.xml
index 7361939..bcf8a5e 100644
--- a/res/values-ar/arrays.xml
+++ b/res/values-ar/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"التشغيل دائمًا"</item>
     <item msgid="6385301106124765323">"إيقاف دائمًا"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index c221ae4..1778df3 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -125,8 +125,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"عنوان البلوتوث للجهاز: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"هل تريد فصل <xliff:g id="DEVICE_NAME">%1$s</xliff:g>؟"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"البث"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"إيقاف الملف الشخصي؟"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"‏سيؤدي ذلك إلى إيقاف:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;من:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"جهاز بلوتوث بدون اسم"</string>
     <string name="progress_scanning" msgid="192587958424295789">"البحث"</string>
@@ -400,30 +398,18 @@
     <string name="security_status_title" msgid="5848766673665944640">"حالة الأمان"</string>
     <string name="security_dashboard_summary" msgid="6757421634477554939">"قفل الشاشة، بصمة الإصبع"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="8129641548372335540">"قفل الشاشة"</string>
-    <!-- no translation found for security_settings_face_preference_summary (1290187225482642821) -->
-    <skip />
-    <!-- no translation found for security_settings_face_preference_summary_none (5460349732790152186) -->
-    <skip />
-    <!-- no translation found for security_settings_face_preference_title (7074548721778680481) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_cancel (4277182322482408514) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_title (2694505011712885439) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_title_unlock_disabled (8180330567034286589) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_message (6150611993438981458) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_message_unlock_disabled (6300341727101929207) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_message_setup (5704661081718707858) -->
-    <skip />
-    <!-- no translation found for face_add_max (2342250989212694454) -->
-    <skip />
-    <!-- no translation found for face_intro_error_max (160022811747660581) -->
-    <skip />
-    <!-- no translation found for face_intro_error_unknown (6367721696446677261) -->
-    <skip />
+    <string name="security_settings_face_preference_summary" msgid="1290187225482642821">"تمت إضافة الوجه"</string>
+    <string name="security_settings_face_preference_summary_none" msgid="5460349732790152186">"انقر لإعداد المصادقة بالوجه"</string>
+    <string name="security_settings_face_preference_title" msgid="7074548721778680481">"المصادقة بالوجه"</string>
+    <string name="security_settings_face_enroll_introduction_cancel" msgid="4277182322482408514">"إلغاء"</string>
+    <string name="security_settings_face_enroll_introduction_title" msgid="2694505011712885439">"إلغاء القفل باستخدام وجهك"</string>
+    <string name="security_settings_face_enroll_introduction_title_unlock_disabled" msgid="8180330567034286589">"استخدام وجهك للمصادقة"</string>
+    <string name="security_settings_face_enroll_introduction_message" msgid="6150611993438981458">"استخدم وجهك لإلغاء قفل الهاتف أو السماح بعمليات الشراء أو تسجيل الدخول إلى التطبيقات."</string>
+    <string name="security_settings_face_enroll_introduction_message_unlock_disabled" msgid="6300341727101929207">"يستخدمك"</string>
+    <string name="security_settings_face_enroll_introduction_message_setup" msgid="5704661081718707858">"استخدم وجهك لإلغاء قفل الهاتف أو السماح بعمليات الشراء أو تسجيل الدخول إلى التطبيقات."</string>
+    <string name="face_add_max" msgid="2342250989212694454">"يمكنك إضافة ما يصل إلى <xliff:g id="COUNT">%d</xliff:g> بصمات الإصبع"</string>
+    <string name="face_intro_error_max" msgid="160022811747660581">"لقد أضفت الحد الأقصى لعدد الأوجه"</string>
+    <string name="face_intro_error_unknown" msgid="6367721696446677261">"لا يمكن إضافة مزيد من الأوجه"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"بصمة الإصبع"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"إدارة بصمات الإصبع"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"استخدام بصمة الإصبع في"</string>
@@ -539,14 +525,12 @@
     <string name="setup_lock_settings_picker_title" product="tablet" msgid="90329443364067215">"حماية جهازك اللوحي"</string>
     <string name="setup_lock_settings_picker_title" product="device" msgid="2399952075134938929">"حماية جهازك"</string>
     <string name="setup_lock_settings_picker_title" product="default" msgid="1572244299605153324">"حماية هاتفك"</string>
-    <!-- no translation found for lock_settings_picker_biometrics_added_security_message (1507307757032207572) -->
-    <skip />
+    <string name="lock_settings_picker_biometrics_added_security_message" msgid="1507307757032207572">"يجب ضبط قفل شاشة احتياطي لتعزيز الأمان."</string>
     <string name="setup_lock_settings_picker_message" product="tablet" msgid="8919671129189936210">"يمكنك منع الآخرين من استخدام هذا الجهاز اللوحي بدون إذنك من خلال تفعيل ميزات حماية الجهاز. اختر قفل الشاشة الذي تريد استخدامه."</string>
     <string name="setup_lock_settings_picker_message" product="device" msgid="3787276514406353777">"يمكنك منع الآخرين من استخدام هذا الجهاز بدون إذنك من خلال تفعيل ميزات حماية الجهاز. اختر قفل الشاشة الذي تريد استخدامه."</string>
     <string name="setup_lock_settings_picker_message" product="default" msgid="3692856437543730446">"يمكنك منع الآخرين من استخدام هذا الهاتف بدون إذنك من خلال تفعيل ميزات حماية الجهاز. اختر قفل الشاشة الذي تريد استخدامه."</string>
     <string name="lock_settings_picker_fingerprint_message" msgid="4755230324778371292">"اختيار الطريقة الاحتياطية لقفل الشاشة"</string>
-    <!-- no translation found for lock_settings_picker_face_message (197106534637556054) -->
-    <skip />
+    <string name="lock_settings_picker_face_message" msgid="197106534637556054">"اختيار الطريقة الاحتياطية لقفل الشاشة"</string>
     <string name="setup_lock_settings_options_button_label" msgid="8511153243629402929">"خيارات قفل الشاشة"</string>
     <string name="setup_lock_settings_options_dialog_title" msgid="5058207955455973917">"خيارات قفل الشاشة"</string>
     <string name="unlock_set_unlock_launch_picker_title" msgid="2084576942666016993">"قفل الشاشة"</string>
@@ -573,16 +557,11 @@
     <string name="fingerprint_unlock_set_unlock_password" msgid="7351131075806338634">"بصمة الإصبع وكلمة المرور"</string>
     <string name="fingerprint_unlock_skip_fingerprint" msgid="1441077909803666681">"المتابعة بدون بصمة الإصبع"</string>
     <string name="fingerprint_unlock_title" msgid="2826226740306003991">"يمكنك إلغاء قفل هاتفك باستخدام بصمة إصبعك. ولأغراض أمنية، يتطلب هذا الخيار استخدام قفل شاشة احتياطي."</string>
-    <!-- no translation found for face_unlock_set_unlock_pattern (8792301636367000123) -->
-    <skip />
-    <!-- no translation found for face_unlock_set_unlock_pin (1196620299595657479) -->
-    <skip />
-    <!-- no translation found for face_unlock_set_unlock_password (223117276773907474) -->
-    <skip />
-    <!-- no translation found for face_unlock_skip_face (6362883392838482791) -->
-    <skip />
-    <!-- no translation found for face_unlock_title (9042382084472444316) -->
-    <skip />
+    <string name="face_unlock_set_unlock_pattern" msgid="8792301636367000123">"مصادقة الوجه + نمط"</string>
+    <string name="face_unlock_set_unlock_pin" msgid="1196620299595657479">"مصادقة الوجه + رقم التعريف الشخصي"</string>
+    <string name="face_unlock_set_unlock_password" msgid="223117276773907474">"مصادقة الوجه + كلمة المرور"</string>
+    <string name="face_unlock_skip_face" msgid="6362883392838482791">"المتابعة بدون مصادقة الوجه"</string>
+    <string name="face_unlock_title" msgid="9042382084472444316">"يمكنك إلغاء قفل هاتفك باستخدام وجهك. ولأغراض أمنية، يتطلب هذا الخيار استخدام قفل شاشة احتياطي."</string>
     <string name="unlock_set_unlock_disabled_summary" msgid="2051593894736282302">"تم إيقافه بواسطة المشرف، أو سياسة التشفير، أو وحدة تخزين بيانات الاعتماد"</string>
     <string name="unlock_set_unlock_mode_off" msgid="5881952274566013651">"بدون"</string>
     <string name="unlock_set_unlock_mode_none" msgid="8467360084676871617">"مرر سريعًا"</string>
@@ -786,7 +765,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"جارٍ البحث…"</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"إعدادات الجهاز"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"الجهاز المقترن"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"الاسم"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"الاتصال بالإنترنت"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"لوحة المفاتيح"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"جهات الاتصال وسجل المكالمات"</string>
@@ -794,7 +772,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"هل تريد مشاركة دفتر الهاتف؟"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> يريد الدخول إلى جهات الاتصال التابعة لك وسجل مكالماتك."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"يريد <xliff:g id="DEVICE_NAME">%1$s</xliff:g> الاقتران بجهاز البلوتوث. عند الاتصال، سيتمكن من الدخول إلى جهات الاتصال التابعة لك وسجل مكالماتك."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"الأجهزة المقترنة"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"الأجهزة المتاحة"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"لا يتوفر أي جهاز"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"اتصال"</string>
@@ -1189,7 +1166,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"السطوع"</string>
     <string name="brightness_summary" msgid="838917350127550703">"ضبط سطوع الشاشة"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"السطوع التلقائي"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"تحسين مستوى السطوع حسب الإضاءة"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"تم الإيقاف"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"السطوع المفضل منخفض جدًا"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"السطوع المفضل منخفض"</string>
@@ -1350,7 +1328,7 @@
     <string name="status_operator" msgid="2274875196954742087">"الشبكة"</string>
     <string name="status_wifi_mac_address" msgid="2202206684020765378">"‏عنوان Mac لشبكة Wi-Fi"</string>
     <string name="status_bt_address" msgid="4195174192087439720">"عنوان البلوتوث"</string>
-    <string name="status_serial_number" msgid="2257111183374628137">"الرقم المسلسل"</string>
+    <string name="status_serial_number" msgid="2257111183374628137">"الرقم المتسلسل"</string>
     <string name="status_up_time" msgid="7294859476816760399">"وقت التشغيل"</string>
     <string name="status_awake_time" msgid="2393949909051183652">"وقت الوضع النشط"</string>
     <string name="internal_memory" msgid="9129595691484260784">"وحدة التخزين الداخلية"</string>
@@ -1708,12 +1686,9 @@
     <string name="lockpassword_password_set_toast" msgid="4875050283108629383">"تم تعيين كلمة المرور"</string>
     <string name="lockpassword_pin_set_toast" msgid="6011826444725291475">"‏تم تعيين رمز PIN"</string>
     <string name="lockpassword_pattern_set_toast" msgid="6867259621331406236">"تم تعيين النقش"</string>
-    <!-- no translation found for lockpassword_choose_your_password_header_for_face (7876621019688907534) -->
-    <skip />
-    <!-- no translation found for lockpassword_choose_your_pattern_header_for_face (8070525076987585344) -->
-    <skip />
-    <!-- no translation found for lockpassword_choose_your_pin_header_for_face (7304398683609714816) -->
-    <skip />
+    <string name="lockpassword_choose_your_password_header_for_face" msgid="7876621019688907534">"لاستخدام المصادقة بالوجه، اضبط كلمة المرور"</string>
+    <string name="lockpassword_choose_your_pattern_header_for_face" msgid="8070525076987585344">"لاستخدام المصادقة بالوجه، اضبط النمط"</string>
+    <string name="lockpassword_choose_your_pin_header_for_face" msgid="7304398683609714816">"لاستخدام المصادقة بالوجه، اضبط رقم التعريف الشخصي"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="2920960858283879113">"استخدم النقش الذي حددته على جهازك للمتابعة."</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="4062335874438910487">"أدخل رقم التعريف الشخصي للجهاز للمتابعة."</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="3976394862548354966">"أدخل كلمة مرور الجهاز للمتابعة."</string>
@@ -3208,8 +3183,7 @@
     <string name="keywords_systemui_theme" msgid="9112852512550404882">"مظهر مُعتِم"</string>
     <string name="keywords_device_feedback" msgid="564493721125966719">"خطأ"</string>
     <string name="keywords_ambient_display_screen" msgid="5874969496073249362">"العرض على الشاشة، عرض شاشة التأمين"</string>
-    <!-- no translation found for keywords_face_settings (7505388678116799329) -->
-    <skip />
+    <string name="keywords_face_settings" msgid="7505388678116799329">"وجه"</string>
     <string name="keywords_fingerprint_settings" msgid="239222512315619538">"بصمة الإصبع"</string>
     <string name="keywords_display_auto_brightness" msgid="4130320471533951796">"تعتيم الشاشة، شاشة تعمل باللمس، بطارية، سطوع ذكي، سطوع ديناميكي"</string>
     <string name="keywords_auto_rotate" msgid="5620879898668211494">"تدوير، قلب، دوران، عمودي، أفقي، اتجاه، رأسي، عرضي"</string>
@@ -3667,12 +3641,9 @@
     <string name="encryption_interstitial_message_pin_for_fingerprint" msgid="4550632760119547492">"بالإضافة إلى استخدام بصمة إصبعك لإلغاء قفل جهازك، يمكنك حماية هذا الجهاز أكثر من خلال طلب إدخال رقم التعريف الشخصي قبل تشغيله. وإلى أن يتم تشغيل الجهاز، لا يمكن تلقي مكالمات أو رسائل أو إشعارات، بما في ذلك التنبيهات.\n\nوهذا يساعد على حماية البيانات على الأجهزة المفقودة أو المسروقة. هل تريد طلب إدخال رقم التعريف الشخصي لبدء تشغيل الجهاز؟"</string>
     <string name="encryption_interstitial_message_pattern_for_fingerprint" msgid="932184823193006087">"بالإضافة إلى استخدام بصمة إصبعك لإلغاء قفل جهازك، يمكنك حماية هذا الجهاز أكثر من خلال طلب إدخال النقش قبل تشغيله. وإلى أن يتم تشغيل الجهاز، لا يمكن تلقي مكالمات أو رسائل أو إشعارات، بما في ذلك التنبيهات.\n\nوهذا يساعد على حماية البيانات على الأجهزة المفقودة أو المسروقة. هل تريد طلب إدخال النقش لبدء تشغيل الجهاز؟"</string>
     <string name="encryption_interstitial_message_password_for_fingerprint" msgid="5560954719370251702">"بالإضافة إلى استخدام بصمة إصبعك لإلغاء قفل الجهاز، يمكنك رفع مستوى حماية هذا الجهاز من خلال طلب إدخال كلمة المرور قبل بدء تشغيله. ويتعذر على الجهاز - إلى أن يتم تشغيله - استقبال المكالمات أو الرسائل أو الإشعارات بما في ذلك التنبيهات.\n\nيساعد هذا على حماية البيانات على الأجهزة المفقودة أو المسروقة. هل تريد طلب إدخال كلمة المرور لبدء تشغيل الجهاز؟"</string>
-    <!-- no translation found for encryption_interstitial_message_pin_for_face (2017438765366716760) -->
-    <skip />
-    <!-- no translation found for encryption_interstitial_message_pattern_for_face (3551827507967661552) -->
-    <skip />
-    <!-- no translation found for encryption_interstitial_message_password_for_face (3452793542112093614) -->
-    <skip />
+    <string name="encryption_interstitial_message_pin_for_face" msgid="2017438765366716760">"بالإضافة إلى استخدام وجهك لإلغاء قفل جهازك، يمكنك حماية هذا الجهاز أكثر من خلال طلب إدخال رقم التعريف الشخصي قبل تشغيله. وإلى أن يتم تشغيل الجهاز، لا يمكن تلقي مكالمات أو رسائل أو إشعارات، بما في ذلك التنبيهات.\n\nوهذا يساعد على حماية البيانات على الأجهزة المفقودة أو المسروقة. هل تريد طلب إدخال رقم التعريف الشخصي لبدء تشغيل الجهاز؟"</string>
+    <string name="encryption_interstitial_message_pattern_for_face" msgid="3551827507967661552">"بالإضافة إلى استخدام وجهك لإلغاء قفل جهازك، يمكنك حماية هذا الجهاز أكثر من خلال طلب إدخال النقش قبل تشغيله. وإلى أن يتم تشغيل الجهاز، لا يمكن تلقي مكالمات أو رسائل أو إشعارات، بما في ذلك التنبيهات.\n\nوهذا يساعد على حماية البيانات على الأجهزة المفقودة أو المسروقة. هل تريد طلب إدخال النقش لبدء تشغيل الجهاز؟"</string>
+    <string name="encryption_interstitial_message_password_for_face" msgid="3452793542112093614">"بالإضافة إلى استخدام وجهك لإلغاء قفل الجهاز، يمكنك رفع مستوى حماية هذا الجهاز من خلال طلب إدخال كلمة المرور قبل بدء تشغيله. ويتعذر على الجهاز - إلى أن يتم تشغيله - استقبال المكالمات أو الرسائل أو الإشعارات بما في ذلك التنبيهات.\n\nيساعد هذا على حماية البيانات على الأجهزة المفقودة أو المسروقة. هل تريد طلب إدخال كلمة المرور لبدء تشغيل الجهاز؟"</string>
     <string name="encryption_interstitial_yes" msgid="4439509435889513411">"نعم"</string>
     <string name="encryption_interstitial_no" msgid="8935031349097025137">"لا"</string>
     <string name="restricted_true_label" msgid="4761453839409220473">"مقيَّد"</string>
@@ -4437,12 +4408,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"خدمة الملء التلقائي"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"ملء، تعبئة، ملء تلقائي"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"‏&lt;b&gt;تأكّد من أنك تثق بهذا التطبيق&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; تستخدم البيانات المعروضة على الشاشة لتحديد ما يمكن ملؤه تلقائيًا."</string>
-    <string name="color_theme" msgid="1535685696756738324">"مظهر ملوَّن"</string>
-    <string name="default_theme" msgid="7085644992078579076">"تلقائي"</string>
     <string name="device_theme" msgid="4571803018917608588">"مظهر الجهاز"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"تلقائي (حسب لون الخلفية)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"مظهر فاتح"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"مظهر داكن"</string>
+    <string name="default_theme" msgid="7085644992078579076">"تلقائي"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"اسم الشبكة"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"عرض اسم الشبكة في شريط الحالة"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"إدارة سعة التخزين: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-as/arrays.xml b/res/values-as/arrays.xml
index 67ad606..77a3b94 100644
--- a/res/values-as/arrays.xml
+++ b/res/values-as/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"সদায় অন"</item>
     <item msgid="6385301106124765323">"সদায় অফ"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml
index c339b46..93b5a8f 100644
--- a/res/values-as/strings.xml
+++ b/res/values-as/strings.xml
@@ -120,8 +120,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"ডিভাইচৰ ব্লুটুথৰ ঠিকনা: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"সংযোগ বিচ্ছিন্ন কৰিবনে <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"সম্প্ৰচাৰণ"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"প্ৰ\'ফাইল অক্ষম কৰিবনে?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"এই ক্ৰিয়াএ:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt; ৰ পৰা &lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;: ক অক্ষম কৰে"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"নামবিহীন ব্লুটুথ ডিভাইচ"</string>
     <string name="progress_scanning" msgid="192587958424295789">"অনুসন্ধান কৰি থকা হৈছে"</string>
@@ -391,30 +389,18 @@
     <string name="security_status_title" msgid="5848766673665944640">"সুৰক্ষা স্থিতি"</string>
     <string name="security_dashboard_summary" msgid="6757421634477554939">"স্ক্ৰীণ লক, ফিংগাৰপ্ৰিণ্ট"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="8129641548372335540">"স্ক্ৰীণ লক"</string>
-    <!-- no translation found for security_settings_face_preference_summary (1290187225482642821) -->
-    <skip />
-    <!-- no translation found for security_settings_face_preference_summary_none (5460349732790152186) -->
-    <skip />
-    <!-- no translation found for security_settings_face_preference_title (7074548721778680481) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_cancel (4277182322482408514) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_title (2694505011712885439) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_title_unlock_disabled (8180330567034286589) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_message (6150611993438981458) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_message_unlock_disabled (6300341727101929207) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_message_setup (5704661081718707858) -->
-    <skip />
-    <!-- no translation found for face_add_max (2342250989212694454) -->
-    <skip />
-    <!-- no translation found for face_intro_error_max (160022811747660581) -->
-    <skip />
-    <!-- no translation found for face_intro_error_unknown (6367721696446677261) -->
-    <skip />
+    <string name="security_settings_face_preference_summary" msgid="1290187225482642821">"চেহেৰা যোগ কৰা হ\'ল"</string>
+    <string name="security_settings_face_preference_summary_none" msgid="5460349732790152186">"চেহেৰা প্ৰমাণীকৰণ ছেট আপ কৰিবলৈ টিপক"</string>
+    <string name="security_settings_face_preference_title" msgid="7074548721778680481">"চেহেৰা প্ৰমাণীকৰণ"</string>
+    <string name="security_settings_face_enroll_introduction_cancel" msgid="4277182322482408514">"বাতিল কৰক"</string>
+    <string name="security_settings_face_enroll_introduction_title" msgid="2694505011712885439">"নিজৰ চেহেৰাৰ জৰিয়তে আনলক কৰক"</string>
+    <string name="security_settings_face_enroll_introduction_title_unlock_disabled" msgid="8180330567034286589">"প্ৰমাণীকৰণ কৰিবলৈ নিজৰ চেহেৰা ব্য়ৱহাৰ কৰক"</string>
+    <string name="security_settings_face_enroll_introduction_message" msgid="6150611993438981458">"নিজৰ ফ’ন আনলক কৰা, ক্ৰয়সমূহক স্বীকৃতি দিয়া বা এপসমূহত ছাইন ইন কৰা কাৰ্যৰ বাবে নিজৰ চেহেৰা ব্য়ৱহাৰ কৰক।"</string>
+    <string name="security_settings_face_enroll_introduction_message_unlock_disabled" msgid="6300341727101929207">"নিজৰ প্ৰয়োগ কৰক"</string>
+    <string name="security_settings_face_enroll_introduction_message_setup" msgid="5704661081718707858">"নিজৰ ফ’ন আনলক কৰা, ক্ৰয়সমূহক স্বীকৃতি দিয়া বা এপসমূহত ছাইন ইন কৰা কাৰ্যৰ বাবে নিজৰ চেহেৰা ব্য়ৱহাৰ কৰক"</string>
+    <string name="face_add_max" msgid="2342250989212694454">"আপুনি <xliff:g id="COUNT">%d</xliff:g>লৈকে ফিংগাৰপ্ৰিণ্ট যোগ কৰিব পাৰে"</string>
+    <string name="face_intro_error_max" msgid="160022811747660581">"আপুনি অনুমোদিত সৰ্বাধিক সংখ্যক ফিংগাৰপ্ৰিণ্টবোৰ যোগ কৰিছে"</string>
+    <string name="face_intro_error_unknown" msgid="6367721696446677261">"আৰু বেছি চেহেৰা যোগ কৰিব নোৱাৰি"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"ফিংগাৰপ্ৰিণ্ট"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"ফিংগাৰপ্ৰিণ্টসমূহ পৰিচালনা কৰক"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"ফিংগাৰপ্ৰিণ্ট ব্যৱহাৰ কৰক"</string>
@@ -526,14 +512,12 @@
     <string name="setup_lock_settings_picker_title" product="tablet" msgid="90329443364067215">"টেবলেটো সুৰক্ষিত কৰক"</string>
     <string name="setup_lock_settings_picker_title" product="device" msgid="2399952075134938929">"ডিভাইচ সুৰক্ষিত কৰক"</string>
     <string name="setup_lock_settings_picker_title" product="default" msgid="1572244299605153324">"আপোনাৰ ফ\'নটো সুৰক্ষিত কৰক"</string>
-    <!-- no translation found for lock_settings_picker_biometrics_added_security_message (1507307757032207572) -->
-    <skip />
+    <string name="lock_settings_picker_biometrics_added_security_message" msgid="1507307757032207572">"অতিৰিক্ত সুৰক্ষাৰ বাবে বেক আপ স্ক্ৰীণ লক ছেট কৰক"</string>
     <string name="setup_lock_settings_picker_message" product="tablet" msgid="8919671129189936210">"ডিভাইচৰ সুৰক্ষা সুবিধাসমূহ সক্ৰিয় কৰি আপোনাৰ অনুমতি নোহোৱাকৈ আনে এই টেবলেটটো ব্যৱহাৰ কৰাৰ পৰা বাৰণ কৰক।"</string>
     <string name="setup_lock_settings_picker_message" product="device" msgid="3787276514406353777">"ডিভাইচৰ সুৰক্ষা সুবিধাসমূহ সক্ৰিয় কৰি আপোনাৰ অনুমতি নোহোৱাকৈ আনে এই টে\'বলেটটো ব্যৱহাৰ কৰিব নোৱাৰা কৰক। আপুনি ব্যৱহাৰ কৰিব বিচৰা স্ক্ৰীণ লকটো নিৰ্বাচন কৰক৷"</string>
     <string name="setup_lock_settings_picker_message" product="default" msgid="3692856437543730446">"ডিভাইচৰ সুৰক্ষা সুবিধাসমূহ সক্ৰিয় কৰি আপোনাৰ অনুমতি নোহোৱাকৈ আনক এই ফ\'নটো ব্যৱহাৰ কৰাৰ পৰা বাৰণ কৰক৷ আপুনি ব্যৱহাৰ কৰিবলৈ বিচৰা স্ক্ৰীণ লকটো নিৰ্বাচন কৰক৷"</string>
     <string name="lock_settings_picker_fingerprint_message" msgid="4755230324778371292">"আপোনাৰ বেকআপ স্ক্ৰীণ লক পদ্ধতি নিৰ্বাচন কৰক"</string>
-    <!-- no translation found for lock_settings_picker_face_message (197106534637556054) -->
-    <skip />
+    <string name="lock_settings_picker_face_message" msgid="197106534637556054">"আপোনাৰ বেক আপ স্ক্ৰীণ লক পদ্ধতি নিৰ্বাচন কৰক"</string>
     <string name="setup_lock_settings_options_button_label" msgid="8511153243629402929">"স্ক্ৰীণ লকৰ বিকল্পসমূহ"</string>
     <string name="setup_lock_settings_options_dialog_title" msgid="5058207955455973917">"স্ক্ৰীণ লকৰ বিকল্পসমূহ"</string>
     <string name="unlock_set_unlock_launch_picker_title" msgid="2084576942666016993">"স্ক্ৰীণ লক"</string>
@@ -560,16 +544,11 @@
     <string name="fingerprint_unlock_set_unlock_password" msgid="7351131075806338634">"ফিংগাৰপ্ৰিণ্ট + পাছৱৰ্ড"</string>
     <string name="fingerprint_unlock_skip_fingerprint" msgid="1441077909803666681">"ফিংগাৰপ্ৰিণ্টৰ অবিহনে অব্যাহত ৰাখক"</string>
     <string name="fingerprint_unlock_title" msgid="2826226740306003991">"আপুনি আপোনাৰ ফিংগাৰপ্ৰিণ্ট ব্যৱহাৰ কৰি আপোনাৰ ফ\'নৰ লক খুলিব পাৰে৷ নিৰাপত্তাৰ বাবে, এই বিকল্পটোক এটা বেকআপ স্ক্ৰীণ লকৰ প্ৰয়োজন।"</string>
-    <!-- no translation found for face_unlock_set_unlock_pattern (8792301636367000123) -->
-    <skip />
-    <!-- no translation found for face_unlock_set_unlock_pin (1196620299595657479) -->
-    <skip />
-    <!-- no translation found for face_unlock_set_unlock_password (223117276773907474) -->
-    <skip />
-    <!-- no translation found for face_unlock_skip_face (6362883392838482791) -->
-    <skip />
-    <!-- no translation found for face_unlock_title (9042382084472444316) -->
-    <skip />
+    <string name="face_unlock_set_unlock_pattern" msgid="8792301636367000123">"চেহেৰা প্ৰমাণীকৰণ + আৰ্হি"</string>
+    <string name="face_unlock_set_unlock_pin" msgid="1196620299595657479">"চেহেৰা প্ৰমাণীকৰণ + পিন"</string>
+    <string name="face_unlock_set_unlock_password" msgid="223117276773907474">"চেহেৰা প্ৰমাণীকৰণ + পাছৱৰ্ড"</string>
+    <string name="face_unlock_skip_face" msgid="6362883392838482791">"চেহেৰা প্ৰমাণীকৰণ অবিহনেই অব্য়াহত ৰাখক"</string>
+    <string name="face_unlock_title" msgid="9042382084472444316">"আপুনি নিজৰ চেহেৰা ব্যৱহাৰ কৰি আপোনাৰ ফ\'নৰ লক খুলিব পাৰে। সুৰক্ষাৰ বাবে, এই বিকল্পটোক বেক আপ স্ক্ৰীণ লকৰ প্ৰয়োজন।"</string>
     <string name="unlock_set_unlock_disabled_summary" msgid="2051593894736282302">"প্ৰশাসক, এনক্ৰিপশ্বন নীতি বা ক্ৰেডেনশ্বিয়েল সঞ্চয়াগাৰৰ দ্বাৰা অক্ষম কৰা হৈছে"</string>
     <string name="unlock_set_unlock_mode_off" msgid="5881952274566013651">"নাই"</string>
     <string name="unlock_set_unlock_mode_none" msgid="8467360084676871617">"ছোৱাইপ কৰক"</string>
@@ -725,7 +704,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"অনুসন্ধান চলি আছে…"</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"ডিভাইচৰ ছেটিংসমূহ"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"যোৰ পাতি থোৱা ডিভাইচসমূহ"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"নাম"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"ইণ্টাৰনেট সংযোগ"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"কীব\'ৰ্ড"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"সম্পৰ্কসূচী আৰু কলৰ ইতিহাস"</string>
@@ -733,7 +711,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"আপোনাৰ ফ\'নবুক শ্বেয়াৰ কৰিব খোজে নেকি?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>এ আপোনাৰ সম্পৰ্কসূচী আৰু কলৰ ইতিহাস চাব বিচাৰিছে।"</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>এ ব্লুটুথৰ সৈতে যোৰা লগাব বিচাৰিছে। সংযোগ স্থাপন হোৱাৰ পিছত ই আপোনাৰ সম্পৰ্কসমূহ আৰু কলৰ ইতিহাস চাব পাৰিব।"</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"যোৰ কৰি থোৱা ডিভাইচসমূহ"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"উপলব্ধ ডিভাইচসমূ্হ"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"কোনো ডিভাইচ নাই"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"সংযোগ কৰক"</string>
@@ -1124,7 +1101,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"উজ্জ্বলতা"</string>
     <string name="brightness_summary" msgid="838917350127550703">"স্ক্ৰীণৰ উজ্জ্বলতা খাপ খুৱাওক"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"অভিযোজিত উজ্জ্বলতা"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"পোহৰ অনুযায়ী উজ্জ্বলতা অপ্টিমাইজ কৰক"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"অফ হৈ আছে"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"আপুনি স্ক্ৰীণৰ বাবে বাছনি কৰা উজ্জ্বলতা অতি কম হৈছে"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"আপুনি স্ক্ৰীণৰ বাবে বাছনি কৰা উজ্জ্বলতাটো কম"</string>
@@ -1639,12 +1617,9 @@
     <string name="lockpassword_password_set_toast" msgid="4875050283108629383">"পাছৱৰ্ড ছেট কৰা হ\'ল"</string>
     <string name="lockpassword_pin_set_toast" msgid="6011826444725291475">"পিন ছেট কৰা হ\'ল"</string>
     <string name="lockpassword_pattern_set_toast" msgid="6867259621331406236">"আৰ্হি ছেট কৰা হ\'ল"</string>
-    <!-- no translation found for lockpassword_choose_your_password_header_for_face (7876621019688907534) -->
-    <skip />
-    <!-- no translation found for lockpassword_choose_your_pattern_header_for_face (8070525076987585344) -->
-    <skip />
-    <!-- no translation found for lockpassword_choose_your_pin_header_for_face (7304398683609714816) -->
-    <skip />
+    <string name="lockpassword_choose_your_password_header_for_face" msgid="7876621019688907534">"চেহেৰা প্ৰমাণীকৰণ ব্য়ৱহাৰ কৰিবলৈ পাছৱৰ্ড ছেট কৰক"</string>
+    <string name="lockpassword_choose_your_pattern_header_for_face" msgid="8070525076987585344">"চেহেৰা প্ৰমাণীকৰণ ব্য়ৱহাৰ কৰিবলৈ আৰ্হি ছেট কৰক"</string>
+    <string name="lockpassword_choose_your_pin_header_for_face" msgid="7304398683609714816">"চেহেৰা প্ৰমাণীকৰণ ব্য়ৱহাৰ কৰিবলৈ পিন ছেট কৰক"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="2920960858283879113">"অব্যাহত ৰাখিবলৈ আপোনাৰ ডিভাইচৰ আৰ্হিটো দিয়ক।"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="4062335874438910487">"অব্যাহত ৰাখিবলৈ আপোনাৰ ডিভাইচৰ পিন দিয়ক"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="3976394862548354966">"অব্যাহত ৰাখিবলৈ আপোনাৰ ডিভাইচৰ পাছৱৰ্ডটো দিয়ক"</string>
@@ -3055,8 +3030,7 @@
     <string name="keywords_systemui_theme" msgid="9112852512550404882">"গাঢ় ৰঙৰ থীম"</string>
     <string name="keywords_device_feedback" msgid="564493721125966719">"বাগ"</string>
     <string name="keywords_ambient_display_screen" msgid="5874969496073249362">"স্তিমিত ডিছপ্লে, বন্ধ স্ক্ৰীণৰ ডিছপ্লে"</string>
-    <!-- no translation found for keywords_face_settings (7505388678116799329) -->
-    <skip />
+    <string name="keywords_face_settings" msgid="7505388678116799329">"চেহেৰা"</string>
     <string name="keywords_fingerprint_settings" msgid="239222512315619538">"ফিংগাৰপ্ৰিণ্ট"</string>
     <string name="keywords_display_auto_brightness" msgid="4130320471533951796">"অনুজ্জ্বল স্ক্ৰীণ, টাচ্চস্ক্ৰীণ, বেটাৰি, স্মার্ট উজ্জ্বলতা, গতিশীল উজ্জ্বলতা"</string>
     <string name="keywords_auto_rotate" msgid="5620879898668211494">"ঘূৰোৱা, লুটিওৱা, ঘূৰ্ণন, প\'ৰ্ট্ৰেইট, লেণ্ডস্কেইপ, দিশ, উলম্ব, অনুভূমিক"</string>
@@ -3474,12 +3448,9 @@
     <string name="encryption_interstitial_message_pin_for_fingerprint" msgid="4550632760119547492">"আপোনাৰ ডিভাইচটো আনলক কৰিবলৈ ফিংগাৰপ্ৰিণ্ট ব্যৱহাৰ কৰাৰ উপৰি, আপুনি ডিভাইচটো আৰু অধিক সুৰক্ষিত কৰিবলৈ ইয়াক আপোনাৰ পিন দিলেহে ষ্টাৰ্ট আপ হোৱা কৰিব পাৰে। ডিভাইচটো ষ্টাৰ্ট হোৱাৰ আগতে ই এলাৰ্মৰ লগতে কল, বাৰ্তা বা জাননী আদি লাভ কৰিব নোৱাৰিব৷\n\nই ডিভাইচ হেৰালে বা চুৰি হ’লে ডেটাক সুৰক্ষা দিয়াত সহায় কৰে৷ আপোনাৰ ডিভাইচ ষ্টাৰ্ট হোৱাৰ সময়ত পিন দিয়াটো বাধ্যতামূলক কৰেনে?"</string>
     <string name="encryption_interstitial_message_pattern_for_fingerprint" msgid="932184823193006087">"আপোনাৰ ডিভাইচটো আনলক কৰিবলৈ ফিংগাৰপ্ৰিণ্ট ব্যৱহাৰ কৰাৰ উপৰি, আপুনি ডিভাইচটো আৰু অধিক সুৰক্ষিত কৰিবলৈ ইয়াক আপোনাৰ আৰ্হিটো দিলেহে ষ্টাৰ্ট আপ হোৱা কৰিব পাৰে। ডিভাইচটো ষ্টাৰ্ট হোৱাৰ আগতে ই এলাৰ্মৰ লগতে কল, বাৰ্তা বা জাননী আদি লাভ কৰিব নোৱাৰিব।\n\nইয়ে ডিভাইচ হেৰালে বা চুৰি হ\'লে ডেটা সুৰক্ষা দিয়াত সহায় কৰে। আপোনাৰ ডিভাইচ ষ্টাৰ্ট হোৱাৰ সময়ত আৰ্হি দিয়াটো বাধ্যতামূলক কৰেনে?"</string>
     <string name="encryption_interstitial_message_password_for_fingerprint" msgid="5560954719370251702">"আপোনাৰ ডিভাইচটো আনলক কৰিবলৈ ফিংগাৰপ্ৰিণ্ট ব্যৱহাৰ কৰাৰ উপৰি, আপুনি ডিভাইচটো আৰু অধিক সুৰক্ষিত কৰিবলৈ ইয়াক পাছৱৰ্ড দিলেহে ষ্টাৰ্ট আপ হোৱা কৰিব পাৰে। ডিভাইচটো ষ্টাৰ্ট হোৱাৰ আগতে ই এলাৰ্মৰ লগতে কল, বাৰ্তা বা জাননী আদি লাভ কৰিব নোৱাৰিব।\n\nইয়ে ডিভাইচ হেৰালে বা চুৰি হ\'লে ডেটা সুৰক্ষা দিয়াত সহায় কৰে। আপোনাৰ ডিভাইচ ষ্টাৰ্ট হোৱাৰ সময়ত পাছৱৰ্ড দিয়াটো দৰকাৰী কৰেনে?"</string>
-    <!-- no translation found for encryption_interstitial_message_pin_for_face (2017438765366716760) -->
-    <skip />
-    <!-- no translation found for encryption_interstitial_message_pattern_for_face (3551827507967661552) -->
-    <skip />
-    <!-- no translation found for encryption_interstitial_message_password_for_face (3452793542112093614) -->
-    <skip />
+    <string name="encryption_interstitial_message_pin_for_face" msgid="2017438765366716760">"আপোনাৰ ডিভাইচটো আনলক কৰিবলৈ আপোনাৰ চেহেৰা ব্যৱহাৰ কৰাৰ উপৰি, আপুনি ডিভাইচটো আৰু অধিক সুৰক্ষিত কৰিবলৈ ইয়াক পিন দিলেহে ষ্টাৰ্ট আপ হোৱা কৰিব পাৰে। ডিভাইচটো ষ্টাৰ্ট হোৱাৰ আগতে ই এলাৰ্মৰ লগতে কল, বাৰ্তা বা জাননী আদি লাভ কৰিব নোৱাৰিব।\n\nএই সুবিধায়ে ডিভাইচ হেৰালে বা চুৰি হ\'লে ডেটা সুৰক্ষিত কৰাত সহায় কৰে। আপোনাৰ ডিভাইচ ষ্টাৰ্ট হোৱাৰ সময়ত পিন দিয়াটো দৰকাৰী কৰেনে?"</string>
+    <string name="encryption_interstitial_message_pattern_for_face" msgid="3551827507967661552">"আপোনাৰ ডিভাইচটো আনলক কৰিবলৈ আপোনাৰ চেহেৰা ব্যৱহাৰ কৰাৰ উপৰি, আপুনি ডিভাইচটো আৰু অধিক সুৰক্ষিত কৰিবলৈ ইয়াক আৰ্হি দিলেহে ষ্টাৰ্ট আপ হোৱা কৰিব পাৰে। ডিভাইচটো ষ্টাৰ্ট হোৱাৰ আগতে ই এলাৰ্মৰ লগতে কল, বাৰ্তা বা জাননী আদি লাভ কৰিব নোৱাৰিব।\n\nএই সুবিধায়ে ডিভাইচ হেৰালে বা চুৰি হ\'লে ডেটা সুৰক্ষিত কৰাত সহায় কৰে। আপোনাৰ ডিভাইচ ষ্টাৰ্ট হোৱাৰ সময়ত আৰ্হি দিয়াটো দৰকাৰী কৰেনে?"</string>
+    <string name="encryption_interstitial_message_password_for_face" msgid="3452793542112093614">"আপোনাৰ ডিভাইচটো আনলক কৰিবলৈ আপোনাৰ চেহেৰা ব্যৱহাৰ কৰাৰ উপৰি, আপুনি ডিভাইচটো আৰু অধিক সুৰক্ষিত কৰিবলৈ ইয়াক পাছৱৰ্ড দিলেহে ষ্টাৰ্ট আপ হোৱা কৰিব পাৰে। ডিভাইচটো ষ্টাৰ্ট হোৱাৰ আগতে ই এলাৰ্মৰ লগতে কল, বাৰ্তা বা জাননী আদি লাভ কৰিব নোৱাৰিব।\n\nএই সুবিধায়ে ডিভাইচ হেৰালে বা চুৰি হ\'লে ডেটা সুৰক্ষিত কৰাত সহায় কৰে। আপোনাৰ ডিভাইচ ষ্টাৰ্ট হোৱাৰ সময়ত চেহেৰা দিয়াটো দৰকাৰী কৰেনে?"</string>
     <string name="encryption_interstitial_yes" msgid="4439509435889513411">"হয়"</string>
     <string name="encryption_interstitial_no" msgid="8935031349097025137">"নহয়"</string>
     <string name="restricted_true_label" msgid="4761453839409220473">"সীমিত"</string>
@@ -4147,12 +4118,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"স্বয়ংপূৰ্তি সেৱা"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"স্বয়ং, পূৰ কৰা, স্বয়ংপূৰ্তি"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;আপুনি এই এপটোক বিশ্বাস কৰাটো নিশ্চিত কৰক&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; এ স্বয়ংভৰ্তিৰ বাবে নিৰ্ধাৰণ কৰিবলৈ আপোনাৰ স্ক্ৰীণত দেখা দিয়া বস্তুবোৰ ব্য়ৱহাৰ কৰে।"</string>
-    <string name="color_theme" msgid="1535685696756738324">"ৰঙৰ থীম"</string>
-    <string name="default_theme" msgid="7085644992078579076">"ডিফ\'ল্ট"</string>
     <string name="device_theme" msgid="4571803018917608588">"ডিভাইচৰ থিম"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"স্বয়ংক্ৰিয় (ৱালপেপাৰৰ ওপৰত নিৰ্ভৰশীল)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"পাতল"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"গাঢ়"</string>
+    <string name="default_theme" msgid="7085644992078579076">"ডিফ\'ল্ট"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"নেটৱৰ্কৰ নাম"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"স্থিতি বাৰত নেটৱৰ্কৰ নাম দেখুৱাওক"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"সঞ্চয়াগাৰ পৰিচালক: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-az/arrays.xml b/res/values-az/arrays.xml
index f74ebee..30a2811 100644
--- a/res/values-az/arrays.xml
+++ b/res/values-az/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Həmişə aktiv"</item>
     <item msgid="6385301106124765323">"Həmişə deaktiv"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
index e1fb31d..877cbe8 100644
--- a/res/values-az/strings.xml
+++ b/res/values-az/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Cihazın Bluetooth ünvanı: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ayrılsın?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Yayım"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Profil deaktiv edilsin?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Bu &lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt; adlı cihazdan &lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt; profili deaktiv edəcək"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Adsız Bluetooth cihazı"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Axtarılır"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Axtarır…"</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Cihaz ayarları"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Cütlənmiş cihaz"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Ad"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"İnternet bağlantısı"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Klaviatura"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Kontaktlar və çağrı tarixçəsi"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Telefon kitabçası paylaşılsın?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> kontaktlarınıza və çağrı tarixçənizə giriş istəyir."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> Bluetooth vasitəsilə cütlənmək istəyir. Xəbəriniz olsun ki, qoşulandan sonra onun kontaktlarınıza və çağrı tarixçənizə girişi olacaq."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Cütlənmiş cihazlar"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Əlçatan cihazlar"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Heç bir cihaz əlçatan deyil"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Birləşin"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Parlaqlıq"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Ekran parlaqlığını tənzimləyin"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Adaptiv parlaqlıq"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Hazırkı işıq üçün parlaqlığı optimallaşdırın"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Deaktiv"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Tərcih edilmiş parlaqlıq çox aşağıdır"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Tərcih edilmiş parlaqlıq aşağıdır"</string>
@@ -4119,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Avtodoldurma xidməti"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"avtomatik, doldurmaq, avtomatik doldurmaq"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Bu tətbiqə etibar etdiyinizə əmin olun&lt;b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=tətbiq_adı nümunə=Google Avtodoldurma &gt;%%1$s&lt;/xliff:g&gt; nəyin avtomatik doldurula biləcəyini müəyyən etmək üçün ekrandakılardan istifadə edir."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Rəng teması"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Defolt"</string>
     <string name="device_theme" msgid="4571803018917608588">"Cihaz teması"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Avtomatik (divar kağızına əsasən)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"İşıq"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Tünd"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Defolt"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Şəbəkə adı"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Status panelində şəbəkə adı göstərilsin"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Yaddaş Meneceri: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-b+sr+Latn/arrays.xml b/res/values-b+sr+Latn/arrays.xml
index eb2961a..8ef8da0 100644
--- a/res/values-b+sr+Latn/arrays.xml
+++ b/res/values-b+sr+Latn/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Uvek uključeno"</item>
     <item msgid="6385301106124765323">"Uvek isključeno"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index 2ae39fa..0bf3c22 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -122,8 +122,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Bluetooth adresa uređaja: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"Želite li da prekinete vezu sa uređajem <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Emitovanje"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Želite li da onemogućite profil?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Ovim onemogućavate:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;Sa uređaja:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Neimenovani Bluetooth uređaj"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Pretražuje se"</string>
@@ -722,7 +720,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Pretražuje se…"</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Podešavanja uređaja"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Upareni uređaj"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Naziv"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Internet veza"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Tastatura"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Kontakti i istorija poziva"</string>
@@ -730,7 +727,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Želite li da delite telefonski imenik?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> želi da pristupa kontaktima i istoriji poziva."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> želi da se upari pomoću Bluetooth-a. Kada se poveže, imaće pristup kontaktima i istoriji poziva."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Upareni uređaji"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Dostupni uređaji"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Nije dostupan nijedan uređaj"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Poveži"</string>
@@ -1122,7 +1118,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Osvetljenost"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Prilagođavanje osvetljenosti ekrana"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Prilagodljiva osvetljenost"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Optimizuj nivo osvetljenosti prema dostupnom svetlu"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Isključeno"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Željena osvetljenost je veoma niska"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Željena osvetljenost je niska"</string>
@@ -4192,12 +4189,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Usluga automatskog popunjavanja"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"automatski, popunjavanje, automatsko popunjavanje"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Uverite se da je ova aplikacija pouzdana&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google automatsko popunjavanje&gt;%1$s&lt;/xliff:g&gt; koristi sadržaj ekrana za utvrđivanje podataka koji mogu automatski da se popune."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Tema sa bojom"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Podrazumevana"</string>
     <string name="device_theme" msgid="4571803018917608588">"Tema uređaja"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Automatska (na osnovu pozadine)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Svetla"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Tamna"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Podrazumevana"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Naziv mreže"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Prikazuje naziv mreže na statusnoj traci"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Menadžer memorijskog prostora: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-be/arrays.xml b/res/values-be/arrays.xml
index d0df53a..fe67c00 100644
--- a/res/values-be/arrays.xml
+++ b/res/values-be/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Заўсёды ўключана"</item>
     <item msgid="6385301106124765323">"Заўсёды выключана"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index 4a521a8..29ce0dd 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -123,8 +123,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Адрас Bluetooth прылады: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"Адлучыць <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Перадача даных"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Адключыць профіль?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Гэта адключыць профiль &lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;Ад:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Безназоўная прылада Bluetooth"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Пошук"</string>
@@ -406,7 +404,7 @@
     <string name="security_settings_face_enroll_introduction_message_unlock_disabled" msgid="6300341727101929207">"Выкарыстоўвайце"</string>
     <string name="security_settings_face_enroll_introduction_message_setup" msgid="5704661081718707858">"Выкарыстоўвайце функцыю распазнавання твару для разблакіроўкі тэлефона, аўтарызацыі купляў і ўваходу ў праграмы"</string>
     <string name="face_add_max" msgid="2342250989212694454">"Вы можаце дадаць да <xliff:g id="COUNT">%d</xliff:g> адбіткаў пальцаў"</string>
-    <string name="face_intro_error_max" msgid="160022811747660581">"Вы дадалі максімальную колькасць адбіткаў пальцаў"</string>
+    <string name="face_intro_error_max" msgid="160022811747660581">"Вы дадалі максімальную колькасць твараў"</string>
     <string name="face_intro_error_unknown" msgid="6367721696446677261">"Не ўдалося дадаць больш твараў"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Адбітак пальца"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Кірав. адбіт. пальцаў"</string>
@@ -737,7 +735,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Пошук..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Налады прылады"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Спалучаная прылада"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Імя"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Падлучэнне да Інтэрнэту"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Клавіятура"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Кантакты і гісторыя выклікаў"</string>
@@ -745,7 +742,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Падзяліцца тэлефоннай кнігай?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> спрабуе атрымаць доступ да вашых кантактаў і гісторыі выклікаў."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> спраб. спалуч. па Bluetooth. Падчас падл. у прыл. будзе доступ да вашых кантактаў і гіст. выклікаў."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Спалучаныя прылады"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Даступныя прылады"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Няма даступных прылад"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Злучыцца"</string>
@@ -1139,7 +1135,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Яркасць"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Выбраць яркасць экрану"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Адаптыўная яркасць"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Аптымізаваць узровень яркасці ў залежнасці ад асвятлення"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Адключана"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Упадабаная яркасць – вельмі нізкая"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Упадабаная яркасць – нізкая"</string>
@@ -4267,12 +4264,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Сэрвіс аўтазапаўнення"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"аўтаматычнае, запаўненне, аўтазапаўненне"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Упэўніцеся, што давяраеце гэтай праграме&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Аўтазапаўненне Google&gt;%1$s&lt;/xliff:g&gt; выкарыстоўвае тое, што знаходзіцца на вашым экране, каб вызначыць, што можна запоўніць аўтаматычна."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Каляровая тэма"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Стандартная"</string>
     <string name="device_theme" msgid="4571803018917608588">"Тэма прылады"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Аўтаматычна (на аснове колеру шпалер)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Светлая"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Цёмная"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Стандартная"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Імя сеткі"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Паказваць імя сеткі на панэлі стану"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Менеджар сховішча: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-bg/arrays.xml b/res/values-bg/arrays.xml
index 4a0e818..4584e66 100644
--- a/res/values-bg/arrays.xml
+++ b/res/values-bg/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Винаги включено"</item>
     <item msgid="6385301106124765323">"Винаги изключено"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index e5ca032f..8fc51fd 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Bluetooth адрес на устройството: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"Да се прекрати ли връзката с/ъс <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Излъчване"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Да се деактивира ли потребит. профил?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Това ще деактивира:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;От:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Устройство с Bluetooth без име"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Търси се"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Търси се..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Настройки на устройството"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Сдвоено устройство"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Име"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Връзка с интернет"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Клавиатура"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Контакти и история на обажданията"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Да се сподели ли телефонният указател?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> иска достъп до контактите и историята на обажданията ви."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> иска да се сдвои с Bluetooth. При свързване ще има достъп до контактите и историята на обажданията."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Сдвоени устройства"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Налични устройства"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Няма налични устройства"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Свързване"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Яркост"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Наглася яркостта на екрана"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Адаптивна яркост"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Оптимизиране на нивото на яркостта спрямо наличната светлина"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Изключено"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Предпочита се много ниска яркост"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Предпочита се ниска яркост"</string>
@@ -4119,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Услуга за автоматично попълване"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"автомативно, попълване, автоматично попълване"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Уверете се, че имате доверие на това приложение&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Функцията на Google за автоматично попълване&gt;%1$s&lt;/xliff:g&gt; използва това, което е на екрана ви, за да определи какво може да се попълни автоматично."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Цветова тема"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Стандартно"</string>
     <string name="device_theme" msgid="4571803018917608588">"Тема на устройството"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Автоматична (въз основа на тапета)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Светла"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Тъмна"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Стандартно"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Име на мрежата"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Показване на името на мрежата в лентата на състоянието"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Мениджър на хранилището: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-bn/arrays.xml b/res/values-bn/arrays.xml
index 44e5eb6..169627c 100644
--- a/res/values-bn/arrays.xml
+++ b/res/values-bn/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"সবসময় চালু"</item>
     <item msgid="6385301106124765323">"সবসময় বন্ধ"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index cf826f6..2f6adc9 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"ডিভাইসের ব্লুটুথ ঠিকানা: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> এর ডিসকানেক্ট করবেন?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"সম্প্রচার করা হচ্ছে"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"প্রোফাইল অক্ষম করবেন?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"এটি অক্ষম করবে:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;এর থেকে:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"নামবিহীন ব্লুটুথ ডিভাইস"</string>
     <string name="progress_scanning" msgid="192587958424295789">"সার্চ করা হচ্ছে"</string>
@@ -392,30 +390,18 @@
     <string name="security_status_title" msgid="5848766673665944640">"নিরাপত্তা স্থিতি"</string>
     <string name="security_dashboard_summary" msgid="6757421634477554939">"স্ক্রিন লক, আঙ্গুলের ছাপ"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="8129641548372335540">"স্ক্রিন লক"</string>
-    <!-- no translation found for security_settings_face_preference_summary (1290187225482642821) -->
-    <skip />
-    <!-- no translation found for security_settings_face_preference_summary_none (5460349732790152186) -->
-    <skip />
-    <!-- no translation found for security_settings_face_preference_title (7074548721778680481) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_cancel (4277182322482408514) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_title (2694505011712885439) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_title_unlock_disabled (8180330567034286589) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_message (6150611993438981458) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_message_unlock_disabled (6300341727101929207) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_message_setup (5704661081718707858) -->
-    <skip />
-    <!-- no translation found for face_add_max (2342250989212694454) -->
-    <skip />
-    <!-- no translation found for face_intro_error_max (160022811747660581) -->
-    <skip />
-    <!-- no translation found for face_intro_error_unknown (6367721696446677261) -->
-    <skip />
+    <string name="security_settings_face_preference_summary" msgid="1290187225482642821">"ফেস যোগ করা হয়েছে"</string>
+    <string name="security_settings_face_preference_summary_none" msgid="5460349732790152186">"ফেস যাচাইকরণ সেট-আপ করতে ট্যাপ করুন"</string>
+    <string name="security_settings_face_preference_title" msgid="7074548721778680481">"ফেস যাচাইকরণ"</string>
+    <string name="security_settings_face_enroll_introduction_cancel" msgid="4277182322482408514">"বাতিল করুন"</string>
+    <string name="security_settings_face_enroll_introduction_title" msgid="2694505011712885439">"আপনার ফেস দিয়ে আনলক করুন"</string>
+    <string name="security_settings_face_enroll_introduction_title_unlock_disabled" msgid="8180330567034286589">"যাচাইকরণ করতে আপনার ফেস ব্যবহার করুন"</string>
+    <string name="security_settings_face_enroll_introduction_message" msgid="6150611993438981458">"আপনার ফোন আনলক, কেনাকাটা অনুমোদন বা অ্যাপগুলিতে সাইন-ইন করতে আপনার ফেস ব্যবহার করুন।"</string>
+    <string name="security_settings_face_enroll_introduction_message_unlock_disabled" msgid="6300341727101929207">"আপনাকে ব্যবহার"</string>
+    <string name="security_settings_face_enroll_introduction_message_setup" msgid="5704661081718707858">"আপনার ফোন আনলক, কেনাকাটা অনুমোদন বা অ্যাপগুলিতে সাইন-ইন করতে আপনার ফেস ব্যবহার করুন"</string>
+    <string name="face_add_max" msgid="2342250989212694454">"আপনি <xliff:g id="COUNT">%d</xliff:g>টি পর্যন্ত আঙ্গুলের ছাপ যোগ করতে পারেন"</string>
+    <string name="face_intro_error_max" msgid="160022811747660581">"আপনি অনুমোদিত সর্বোচ্চ সংখ্যক ফেস যোগ করেছেন"</string>
+    <string name="face_intro_error_unknown" msgid="6367721696446677261">"এর বেশি ফেস যোগ করা যাবে না"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"আঙ্গুলের ছাপ"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"আঙ্গুলের ছাপগুলি পরিচালনা করুন"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"এর জন্য আঙ্গুলের ছাপ ব্যবহার করুন"</string>
@@ -527,14 +513,12 @@
     <string name="setup_lock_settings_picker_title" product="tablet" msgid="90329443364067215">"আপনার ট্যাবলেটটিকে নিরাপদ করুন"</string>
     <string name="setup_lock_settings_picker_title" product="device" msgid="2399952075134938929">"আপনার ডিভাইসটিকে নিরাপদ করুন"</string>
     <string name="setup_lock_settings_picker_title" product="default" msgid="1572244299605153324">"আপনার ফোন রক্ষা করুন"</string>
-    <!-- no translation found for lock_settings_picker_biometrics_added_security_message (1507307757032207572) -->
-    <skip />
+    <string name="lock_settings_picker_biometrics_added_security_message" msgid="1507307757032207572">"অতিরিক্ত নিরাপত্তার জন্য একটি ব্যাক-আপ স্ক্রিন লক সেট করুন"</string>
     <string name="setup_lock_settings_picker_message" product="tablet" msgid="8919671129189936210">"ডিভাইস সুরক্ষা বৈশিষ্ট্যগুলি সক্রিয় করার দ্বারা আপনার অনুমতি ছাড়া অন্যদের এই ট্যাবলেটটি ব্যবহার করা থেকে আটকান৷ আপনি ব্যবহার করতে চান এমন স্ক্রিন লক বেছে নিন৷"</string>
     <string name="setup_lock_settings_picker_message" product="device" msgid="3787276514406353777">"ডিভাইস সুরক্ষা বৈশিষ্ট্যগুলি সক্রিয় করার দ্বারা আপনার অনুমতি ছাড়া অন্যদের এই ডিভাইসটি ব্যবহার করা থেকে আটকান৷ আপনি ব্যবহার করতে চান এমন স্ক্রিন লক বেছে নিন৷"</string>
     <string name="setup_lock_settings_picker_message" product="default" msgid="3692856437543730446">"ডিভাইস সুরক্ষা বৈশিষ্ট্যগুলি সক্রিয় করার দ্বারা আপনার অনুমতি ছাড়া অন্যদের এই ফোনটি ব্যবহার করা থেকে আটকান৷ আপনি ব্যবহার করতে চান এমন স্ক্রিন লক বেছে নিন৷"</string>
     <string name="lock_settings_picker_fingerprint_message" msgid="4755230324778371292">"আপনার ব্যাকআপ স্ক্রিন লক পদ্ধতি বেছে নিন"</string>
-    <!-- no translation found for lock_settings_picker_face_message (197106534637556054) -->
-    <skip />
+    <string name="lock_settings_picker_face_message" msgid="197106534637556054">"আপনার ব্যাক-আপ স্ক্রিন লক পদ্ধতি বেছে নিন"</string>
     <string name="setup_lock_settings_options_button_label" msgid="8511153243629402929">"স্ক্রিন লক এর বিকল্প"</string>
     <string name="setup_lock_settings_options_dialog_title" msgid="5058207955455973917">"স্ক্রিন লক এর বিকল্পগুলি"</string>
     <string name="unlock_set_unlock_launch_picker_title" msgid="2084576942666016993">"স্ক্রিন লক"</string>
@@ -561,16 +545,11 @@
     <string name="fingerprint_unlock_set_unlock_password" msgid="7351131075806338634">"আঙ্গুলের ছাপ + পাসওয়ার্ড"</string>
     <string name="fingerprint_unlock_skip_fingerprint" msgid="1441077909803666681">"আঙ্গুলের ছাপ ছাড়াই চালিয়ে যান"</string>
     <string name="fingerprint_unlock_title" msgid="2826226740306003991">"আপনি আপনার আঙুলের ছাপ ব্যবহার করে আপনার ফোন আনলক করতে পারবেন। নিরাপত্তার জন্য, এই বিকল্পটির একটি ব্যাক-আপ স্ক্রিন লকের প্রয়োজন।"</string>
-    <!-- no translation found for face_unlock_set_unlock_pattern (8792301636367000123) -->
-    <skip />
-    <!-- no translation found for face_unlock_set_unlock_pin (1196620299595657479) -->
-    <skip />
-    <!-- no translation found for face_unlock_set_unlock_password (223117276773907474) -->
-    <skip />
-    <!-- no translation found for face_unlock_skip_face (6362883392838482791) -->
-    <skip />
-    <!-- no translation found for face_unlock_title (9042382084472444316) -->
-    <skip />
+    <string name="face_unlock_set_unlock_pattern" msgid="8792301636367000123">"ফেস যাচাইকরণ + প্যাটার্ন"</string>
+    <string name="face_unlock_set_unlock_pin" msgid="1196620299595657479">"ফেস যাচাইকরণ + পিন"</string>
+    <string name="face_unlock_set_unlock_password" msgid="223117276773907474">"ফেস যাচাইকরণ + পাসওয়ার্ড"</string>
+    <string name="face_unlock_skip_face" msgid="6362883392838482791">"ফেস যাচাইকরণ ছাড়াই চালিয়ে যান"</string>
+    <string name="face_unlock_title" msgid="9042382084472444316">"আপনার ফেস ব্যবহার করে আপনি ফোন আনলক করতে পারবেন। নিরাপত্তার খাতিরে, এই বিকল্পটির জন্য একটি ব্যাক-আপ স্ক্রিন লকের প্রয়োজন।"</string>
     <string name="unlock_set_unlock_disabled_summary" msgid="2051593894736282302">"প্রশাসক, এনক্রিপশন নীতি বা ক্রেডেনশিয়াল স্টোরেজ দ্বারা অক্ষম"</string>
     <string name="unlock_set_unlock_mode_off" msgid="5881952274566013651">"কোনো কিছুই নয়"</string>
     <string name="unlock_set_unlock_mode_none" msgid="8467360084676871617">"সোয়াইপ করুন"</string>
@@ -726,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"সার্চ করছে..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"ডিভাইস সেটিংস"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"চেনা ডিভাইস"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"নাম"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"ইন্টারনেট কানেকশন"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"কীবোর্ড"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"পরিচিতিগুলি এবং কলের ইতিহাস"</string>
@@ -734,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"ফোন বই শেয়ার করবেন?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> আপনার পরিচিতিগুলি ও পুরোনো কলের তালিকা অ্যাক্সেস করতে চায়।"</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> Bluetooth এর সাথে যুক্ত হতে চায়। কানেক্ট করা হলে, এটি আপনার পরিচিতিগুলি এবং কলের ইতিহাস অ্যাক্সেস করতে পারবে।"</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"চেনা ডিভাইসগুলি"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"উপলভ্য ডিভাইস"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"কোনো ডিভাইস উপলব্ধ নয়"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"কানেক্ট করুন"</string>
@@ -1125,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"উজ্জ্বলতা"</string>
     <string name="brightness_summary" msgid="838917350127550703">"স্ক্রীনের উজ্জ্বলতা সামঞ্জস্য করুন"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"অভিযোজিত উজ্জ্বলতা"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"উপলব্ধ আলোর পরিপ্রেক্ষিতে উজ্জ্বলতার স্তর মানানসই করুন"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"বন্ধ আছে"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"পছন্দের উজ্জ্বলতার মান খুব কম"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"পছন্দের উজ্জ্বলতার মান কম"</string>
@@ -1640,12 +1618,9 @@
     <string name="lockpassword_password_set_toast" msgid="4875050283108629383">"পাসওয়ার্ড সেট করা হয়েছে"</string>
     <string name="lockpassword_pin_set_toast" msgid="6011826444725291475">"পিন সেট করা হয়েছে"</string>
     <string name="lockpassword_pattern_set_toast" msgid="6867259621331406236">"প্যাটার্ন সেট করা হয়েছে"</string>
-    <!-- no translation found for lockpassword_choose_your_password_header_for_face (7876621019688907534) -->
-    <skip />
-    <!-- no translation found for lockpassword_choose_your_pattern_header_for_face (8070525076987585344) -->
-    <skip />
-    <!-- no translation found for lockpassword_choose_your_pin_header_for_face (7304398683609714816) -->
-    <skip />
+    <string name="lockpassword_choose_your_password_header_for_face" msgid="7876621019688907534">"ফেস যাচাইকরণ ব্যবহার করতে পাসওয়ার্ড সেট করুন"</string>
+    <string name="lockpassword_choose_your_pattern_header_for_face" msgid="8070525076987585344">"ফেস যাচাইকরণ ব্যবহার করতে প্যাটার্ন সেট করুন"</string>
+    <string name="lockpassword_choose_your_pin_header_for_face" msgid="7304398683609714816">"ফেস যাচাইকরণ ব্যবহার করতে পিন সেট করুন"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="2920960858283879113">"চালিয়ে যেতে আপনার ডিভাইসের প্যাটার্ন ব্যবহার করুন"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="4062335874438910487">"চালিয়ে যেতে আপনার ডিভাইসের পিন লিখুন"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="3976394862548354966">"চালিয়ে যেতে আপনার ডিভাইসের পাসওয়ার্ড লিখুন"</string>
@@ -3056,8 +3031,7 @@
     <string name="keywords_systemui_theme" msgid="9112852512550404882">"গাঢ় থিম"</string>
     <string name="keywords_device_feedback" msgid="564493721125966719">"বাগ"</string>
     <string name="keywords_ambient_display_screen" msgid="5874969496073249362">"অ্যাম্বিয়েন্ট ডিসপ্লে, লক স্ক্রিন ডিসপ্লে"</string>
-    <!-- no translation found for keywords_face_settings (7505388678116799329) -->
-    <skip />
+    <string name="keywords_face_settings" msgid="7505388678116799329">"ফেস"</string>
     <string name="keywords_fingerprint_settings" msgid="239222512315619538">"আঙ্গুলের ছাপ"</string>
     <string name="keywords_display_auto_brightness" msgid="4130320471533951796">"অনুজ্জ্বল স্ক্রিন, টাচস্ক্রিন, ব্যাটারি, স্মার্ট উজ্জ্বলতা, ডায়নামিক উজ্জ্বলতা"</string>
     <string name="keywords_auto_rotate" msgid="5620879898668211494">"ঘোরান, উল্টান, ঘূর্ণন, পোর্ট্রেট, ল্যান্ডস্কেপ, সজ্জা, উল্লম্ব, অনুভূমিক"</string>
@@ -3475,12 +3449,9 @@
     <string name="encryption_interstitial_message_pin_for_fingerprint" msgid="4550632760119547492">"আপনার ডিভাইস আনলক করার জন্য আপনার আঙ্গুলের ছাপ ব্যবহার করা ছাড়াও, এটি চালু হওয়ার আগে আপনার পিন চাওয়ার মাধ্যমে আপনি ডিভাইসটিকে আরও সুরক্ষিত করতে পারেন। ডিভাইসটি চালু না হওয়া পর্যন্ত সেটিতে কল, মেসেজ বা অ্যালার্মের কোনও বিজ্ঞপ্তি আসবে না।\n\nআপনার ডিভাইসটি হারিয়ে বা চুরি হয়ে গেলে এটি ডেটা সুরক্ষার ক্ষেত্রে সহায়তা করে। আপনার ডিভাইসটি চালু করার জন্য পিন দরকার?"</string>
     <string name="encryption_interstitial_message_pattern_for_fingerprint" msgid="932184823193006087">"আপনার ডিভাইস আনলক করার জন্য আপনার আঙ্গুলের ছাপ ব্যবহার করা ছাড়াও, এটি চালু হওয়ার আগে আপনার প্যাটার্ন চাওয়ার মাধ্যমে আপনি ডিভাইসটিকে আরও সুরক্ষিত করতে পারেন। ডিভাইসটি চালু না হওয়া পর্যন্ত সেটিতে কল, মেসেজ বা অ্যালার্মের কোনও বিজ্ঞপ্তি আসবে না।\n\nআপনার ডিভাইসটি হারিয়ে বা চুরি হয়ে গেলে এটি ডেটা সুরক্ষার ক্ষেত্রে সহায়তা করে। আপনার ডিভাইসটি চালু করার জন্য প্যাটার্ন দরকার?"</string>
     <string name="encryption_interstitial_message_password_for_fingerprint" msgid="5560954719370251702">"আপনার ডিভাইস আনলক করার জন্য আঙ্গুলের ছাপ ব্যবহার করা ছাড়াও ডিভাইসটি চালু হওয়ার সময় পাসওয়ার্ড দেওয়ার মাধ্যমে আপনি এটিকে আরো সুরক্ষিত রাখতে পারেন। ডিভাইসটি চালু না হওয়া পর্যন্ত এতে কল, মেসেজ বা অ্যালার্মের কোনও বিজ্ঞপ্তি আসবে না।\n\nএর ফলে ডিভাইসটি হারিয়ে বা চুরি হয়ে গেলেও আপনার ডেটা সুরক্ষিত থাকবে। চালু করার সময় পাসওয়ার্ড দেওয়ার ব্যবস্থা রাখতে চান?"</string>
-    <!-- no translation found for encryption_interstitial_message_pin_for_face (2017438765366716760) -->
-    <skip />
-    <!-- no translation found for encryption_interstitial_message_pattern_for_face (3551827507967661552) -->
-    <skip />
-    <!-- no translation found for encryption_interstitial_message_password_for_face (3452793542112093614) -->
-    <skip />
+    <string name="encryption_interstitial_message_pin_for_face" msgid="2017438765366716760">"আপনার ডিভাইস আনলক করার জন্য আপনার ফেস ব্যবহার করা ছাড়াও, এটি চালু হওয়ার আগে আপনার পিন চাওয়ার মাধ্যমে আপনি ডিভাইসটিকে আরও সুরক্ষিত করতে পারেন। ডিভাইসটি চালু না হওয়া পর্যন্ত সেটিতে কল, মেসেজ বা অ্যালার্মের কোনও বিজ্ঞপ্তি আসবে না।\n\nএর ফলে ডিভাইসটি হারিয়ে বা চুরি হয়ে গেলেও আপনার ডেটা সুরক্ষিত থাকবে। আপনার ডিভাইসটি চালু করার সময় পিন দেওয়ার ব্যবস্থা রাখতে চান?"</string>
+    <string name="encryption_interstitial_message_pattern_for_face" msgid="3551827507967661552">"আপনার ডিভাইস আনলক করার জন্য আপনার ফেস ব্যবহার করা ছাড়াও, এটি চালু হওয়ার আগে আপনার প্যাটার্ন চাওয়ার মাধ্যমে আপনি ডিভাইসটিকে আরও সুরক্ষিত করতে পারেন। ডিভাইসটি চালু না হওয়া পর্যন্ত সেটিতে কল, মেসেজ বা অ্যালার্মের কোনও বিজ্ঞপ্তি আসবে না।\n\nএর ফলে ডিভাইসটি হারিয়ে বা চুরি হয়ে গেলেও আপনার ডেটা সুরক্ষিত থাকবে। আপনার ডিভাইসটি চালু করার সময় প্যাটার্ন দেওয়ার ব্যবস্থা রাখতে চান?"</string>
+    <string name="encryption_interstitial_message_password_for_face" msgid="3452793542112093614">"আপনার ডিভাইস আনলক করার জন্য ফেস ব্যবহার করা ছাড়াও, ডিভাইসটি চালু হওয়ার সময় পাসওয়ার্ড দেওয়ার মাধ্যমে আপনি এটিকে আরও সুরক্ষিত রাখতে পারেন। ডিভাইসটি চালু না হওয়া পর্যন্ত এতে কল, মেসেজ বা অ্যালার্মের কোনও বিজ্ঞপ্তি আসবে না।\n\nএর ফলে ডিভাইসটি হারিয়ে বা চুরি হয়ে গেলেও আপনার ডেটা সুরক্ষিত থাকবে। আপনার ডিভাইসটি চালু করার সময় পাসওয়ার্ড দেওয়ার ব্যবস্থা রাখতে চান?"</string>
     <string name="encryption_interstitial_yes" msgid="4439509435889513411">"হ্যাঁ"</string>
     <string name="encryption_interstitial_no" msgid="8935031349097025137">"না"</string>
     <string name="restricted_true_label" msgid="4761453839409220473">"সীমাবদ্ধ"</string>
@@ -4145,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"আপনাআপনি পূরণ করার পরিষেবা"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"স্বতঃ, পূরণ, স্বতঃপূরণ"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;নিশ্চিত করুন যে এই অ্যাপটি বিশ্বাসযোগ্য&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; কোনও তথ্য নিজে থেকে পূরণ করা যাবে কি না, তা নির্ণয় করতে &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; অ্যাপটি আপনার স্ক্রিনে যা দেখা যাচ্ছে সেই অনুযায়ী সিদ্ধান্ত নেয়।"</string>
-    <string name="color_theme" msgid="1535685696756738324">"রঙীন থিম"</string>
-    <string name="default_theme" msgid="7085644992078579076">"ডিফল্ট"</string>
     <string name="device_theme" msgid="4571803018917608588">"ডিভাইসের থিম"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"অটোমেটিক (ওয়ালপেপারের উপর ভিত্তি করে)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"হালকা"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"গাঢ়"</string>
+    <string name="default_theme" msgid="7085644992078579076">"ডিফল্ট"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"নেটওয়ার্কের নাম"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"নেটওয়ার্কের নাম স্ট্যাটাস বারে দেখুন"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"স্টোরেজ ম্যানেজার: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-bs/arrays.xml b/res/values-bs/arrays.xml
index 8d1a051..92d6be3 100644
--- a/res/values-bs/arrays.xml
+++ b/res/values-bs/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Uvijek uključeno"</item>
     <item msgid="6385301106124765323">"Uvijek isključeno"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
index c4459ea..8cf4ed4 100644
--- a/res/values-bs/strings.xml
+++ b/res/values-bs/strings.xml
@@ -122,8 +122,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Bluetooth adresa uređaja: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"Želite li prekinuti vezu sa uređajem <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Emitovanje"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Onemogućiti profil?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Ovim će se onemogućiti profil:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;S uređaja:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Neimenovani Bluetooth uređaj"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Pretraživanje"</string>
@@ -395,7 +393,7 @@
     <string name="security_dashboard_summary" msgid="6757421634477554939">"Zaključavanje ekrana, otisak prsta"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="8129641548372335540">"Zaključavanje ekrana"</string>
     <string name="security_settings_face_preference_summary" msgid="1290187225482642821">"Lice je dodano"</string>
-    <string name="security_settings_face_preference_summary_none" msgid="5460349732790152186">"Dodir da postavite autentifikaciju licem"</string>
+    <string name="security_settings_face_preference_summary_none" msgid="5460349732790152186">"Dodirnite da postavite autentifikaciju licem"</string>
     <string name="security_settings_face_preference_title" msgid="7074548721778680481">"Autentifikacija licem"</string>
     <string name="security_settings_face_enroll_introduction_cancel" msgid="4277182322482408514">"Otkaži"</string>
     <string name="security_settings_face_enroll_introduction_title" msgid="2694505011712885439">"Otključajte pomoću lica"</string>
@@ -722,7 +720,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Pretraživanje…"</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Postavke uređaja"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Upareni uređaj"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Ime"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Internet veza"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Tastatura"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Kontakti i historija poziva"</string>
@@ -730,7 +727,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Podijeliti telefonski imenik?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> želi pristupiti vašim kontaktima i historiji poziva."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"Uređaj <xliff:g id="DEVICE_NAME">%1$s</xliff:g> želi uparivanje putem Bluetootha. Nakon povezivanja imat će pristup vašim kontaktima i historiji poziva."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Upareni uređaji"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Dostupni uređaji"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Nema dostupnih uređaja"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Poveži se"</string>
@@ -1122,7 +1118,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Osvjetljenje"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Prilagodite osvjetljenje ekrana"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Prilagodljiva osvijetljenost"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Optimiziranje nivoa osvjetljenja u odnosu na osvijetljenost okoline"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Isključeno"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Preferirani nivo osvjetljenja je veoma nizak"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Preferirani nivo osvjetljenja je nizak"</string>
@@ -4192,12 +4189,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Usluga automatskog popunjavanja"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"automatski, popunjavanje, automatsko popunjavanje"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Vodite računa da je to pouzdana aplikacija&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Automatsko popunjavanje&gt;%1$s&lt;/xliff:g&gt; koristi sadržaj na vašem ekranu da odredi šta se može automatski popuniti."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Boja teme"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Zadano"</string>
     <string name="device_theme" msgid="4571803018917608588">"Tema uređaja"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Automatski (na osnovu pozadinske slike)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Svijetlo"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Tamno"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Zadano"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Naziv mreže"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Prikaz naziva mreže na statusnoj traci"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Upravitelj pohranom: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-ca/arrays.xml b/res/values-ca/arrays.xml
index 62dcb0d..351e838 100644
--- a/res/values-ca/arrays.xml
+++ b/res/values-ca/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Sempre activat"</item>
     <item msgid="6385301106124765323">"Sempre desactivat"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 47a2752..58e0d91 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Adreça Bluetooth del dispositiu: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"Vols desconnectar el dispositiu <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Emissió"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Vols desactivar el perfil?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Aquesta acció desactivarà:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;De:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Dispositiu Bluetooth sense nom"</string>
     <string name="progress_scanning" msgid="192587958424295789">"S\'està cercant"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"S\'està cercant..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Configuració del dispositiu"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Dispositiu vinculat"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Nom"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Connexió a Internet"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Teclat"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Contactes i historial de trucades"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Vols compartir l\'agenda telefònica?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> vol accedir als teus contactes i a l\'historial de trucades."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"El dispositiu <xliff:g id="DEVICE_NAME">%1$s</xliff:g> es vol vincular amb el Bluetooth. Tindrà accés als teus contactes i a l\'historial de trucades."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Dispositius vinculats"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Dispositius disponibles"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"No hi ha cap dispositiu disponible."</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Connecta"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Brillantor"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Ajusta la brillantor de la pantalla"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Brillantor automàtica"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Optimitza el nivell de brillantor segons la llum disponible"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Desactivada"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"La brillantor preferida és molt baixa"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"La brillantor preferida és baixa"</string>
@@ -1740,8 +1737,8 @@
     <string name="show_running_services" msgid="5736278767975544570">"Serveis en execució"</string>
     <string name="show_background_processes" msgid="2009840211972293429">"Processos a la memòria cau"</string>
     <string name="default_emergency_app" msgid="1951760659640369980">"Aplicació en casos d\'emergència"</string>
-    <string name="reset_app_preferences" msgid="1321050641018356925">"Restableix preferències d\'aplicacions"</string>
-    <string name="reset_app_preferences_title" msgid="6093179367325336662">"Restablir preferències d\'aplicacions?"</string>
+    <string name="reset_app_preferences" msgid="1321050641018356925">"Restableix les preferències d\'aplicacions"</string>
+    <string name="reset_app_preferences_title" msgid="6093179367325336662">"Restablir les preferències d\'aplicacions?"</string>
     <string name="reset_app_preferences_desc" msgid="4822447731869201512">"Es restabliran les preferències de:\n\n "<li>"Aplicacions desactivades"</li>\n" "<li>"Notificacions d\'aplicacions desactivades"</li>\n" "<li>"Aplicacions predeterminades"</li>\n" "<li>"Restriccions de dades en segon pla d\'aplicacions"</li>\n" "<li>"Restriccions de permisos"</li>\n\n" No es perdran les dades de les aplicacions."</string>
     <string name="reset_app_preferences_button" msgid="2559089511841281242">"Restableix aplicacions"</string>
     <string name="manage_space_text" msgid="8852711522447794676">"Gestiona l\'espai"</string>
@@ -4119,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Servei Emplenament automàtic"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"automàtic, emplenament, emplenament automàtic"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Assegura\'t que confies en aquesta aplicació&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Emplenament automàtic de Google&gt;%1$s&lt;/xliff:g&gt; utilitza el contingut que es mostra a la pantalla per determinar què es pot emplenar automàticament."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Tema de color"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Predeterminat"</string>
     <string name="device_theme" msgid="4571803018917608588">"Tema del dispositiu"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Automàtic (segons el fons de pantalla)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Clar"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Fosc"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Predeterminat"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Nom de la xarxa"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Mostra el nom de la xarxa a la barra d\'estat"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Gestor d\'emmagatzematge: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-cs/arrays.xml b/res/values-cs/arrays.xml
index 39dcb89..b1b2771 100644
--- a/res/values-cs/arrays.xml
+++ b/res/values-cs/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Vždy zapnuto"</item>
     <item msgid="6385301106124765323">"Vždy vypnuto"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index d2c4e9f..f41f63a 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -123,8 +123,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Adresa Bluetooth zařízení: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"Odpojit zařízení <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Vysílání"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Deaktivovat profil?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Toto nastavení vypne profil:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;Zařízení:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Nepojmenované zařízení Bluetooth"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Hledání"</string>
@@ -737,7 +735,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Hledání…"</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Nastavení zařízení"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Spárované zařízení"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Název"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Připojení k internetu"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Klávesnice"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Kontakty a historie volání"</string>
@@ -745,7 +742,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Sdílet telefonní seznam?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"Zařízení <xliff:g id="DEVICE_NAME">%1$s</xliff:g> žádá o přístup k vašim kontaktům a historii volání."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"Zařízení <xliff:g id="DEVICE_NAME">%1$s</xliff:g> žádá o spárování s Bluetooth. Po spojení bude mít přístup ke kontaktům a historii volání."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Spárovaná zařízení"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Dostupná zařízení"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Nejsou dostupná žádná zařízení"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Připojit"</string>
@@ -1138,7 +1134,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Jas"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Nastavení jasu displeje"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Adaptivní jas"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Optimalizovat úroveň jasu podle okolního světla"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Vypnuto"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Je preferován velmi nízký jas"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Je preferován nízký jas"</string>
@@ -4265,12 +4262,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Služba automatického vyplňování"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"automatické vyplňování, vyplňování"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Zkontrolujte, zda se jedná o důvěryhodnou aplikaci&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Automatické doplňování Google&gt;%1$s&lt;/xliff:g&gt; určuje na základě obsahu obrazovky, co lze automaticky vyplnit."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Barevný motiv"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Výchozí"</string>
     <string name="device_theme" msgid="4571803018917608588">"Motiv zařízení"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Automatický (podle tapety)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Světlý"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Tmavý"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Výchozí"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Název sítě"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Zobrazovat název sítě na stavovém řádku"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Správce úložiště: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-da/arrays.xml b/res/values-da/arrays.xml
index 2212266..6d062c9 100644
--- a/res/values-da/arrays.xml
+++ b/res/values-da/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Altid aktiveret"</item>
     <item msgid="6385301106124765323">"Altid deaktiveret"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 1a44913..c7722cd 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -78,8 +78,8 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Demonter SD-kort"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Slet USB-lager"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"Formatér SD-kort"</string>
-    <string name="preview_pager_content_description" msgid="8926235999291761243">"Eksempelvisning"</string>
-    <string name="preview_page_indicator_content_description" msgid="4821343428913401264">"Eksempelvisning af skærm <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> af <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
+    <string name="preview_pager_content_description" msgid="8926235999291761243">"Forhåndsvisning"</string>
+    <string name="preview_page_indicator_content_description" msgid="4821343428913401264">"Forhåndsvisning af skærm <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> af <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
     <string name="font_size_summary" msgid="1690992332887488183">"Gør teksten på skærmen mindre eller større."</string>
     <string name="font_size_make_smaller_desc" msgid="7919995133365371569">"Formindsk"</string>
     <string name="font_size_make_larger_desc" msgid="4316986572233686061">"Forstør"</string>
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Enhedens Bluetooth-adresse: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"Vil du afbryde <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Dataudveksling"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Vil du deaktivere profilen?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Dette vil deaktivere:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;Fra:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Unavngiven Bluetooth-enhed"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Søger"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Søger..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Enhedsindstillinger"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Parret enhed"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Navn"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Internetforbindelse"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Tastatur"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Kontaktpersoner og opkaldshistorik"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Vil du dele telefonbogen?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> vil gerne have adgang til dine kontaktpersoner og din opkaldshistorik."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> vil parre via Bluetooth. Når den er tilsluttet, vil den have adgang til dine kontaktpersoner og din opkaldshistorik."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Parrede enheder"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Tilgængelige enheder"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Der er ingen tilgængelige enheder"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Forbind"</string>
@@ -1105,8 +1101,9 @@
     <string name="brightness" msgid="8480105032417444275">"Lysstyrke"</string>
     <string name="brightness_title" msgid="5746272622112982836">"Lysstyrke"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Juster skærmens lysstyrke"</string>
-    <string name="auto_brightness_title" msgid="6341042882350279391">"Tilpasset lysstyrke"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Optimer lysstyrken til det omgivende lys"</string>
+    <string name="auto_brightness_title" msgid="6341042882350279391">"Automatisk lysstyrke"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Fra"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Den foretrukne lysstyrke er meget lav"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Den foretrukne lysstyrke er lav"</string>
@@ -1123,7 +1120,7 @@
     <string name="auto_brightness_off_summary" msgid="7629228736838155268">"Undlad at justere i forhold til det omgivende lys"</string>
     <string name="auto_brightness_very_high_summary" msgid="4551003097086220709">"Øget batteriforbrug"</string>
     <string name="auto_brightness_disclaimer" msgid="871436423746343406">"Optimer lysstyrken til det omgivende lys. Når denne funktion er slået til, kan du stadig justere lysstyrken midlertidigt."</string>
-    <string name="auto_brightness_description" msgid="7310335517128283729">"Skærmens lysstyrke tilpasses automatisk på baggrund af dine omgivelser og dine aktiviteter. Du kan flytte skyderen manuelt for at hjælpe Tilpasset lysstyrke med at lære dine præferencer."</string>
+    <string name="auto_brightness_description" msgid="7310335517128283729">"Skærmens lysstyrke tilpasses automatisk på baggrund af dine omgivelser og dine aktiviteter. Du kan flytte skyderen manuelt for at hjælpe Automatisk lysstyrke med at lære dine præferencer."</string>
     <string name="night_display_title" msgid="2626451512200357686">"Nattelys"</string>
     <string name="night_display_text" msgid="1837277457033025056">"Med Nattelys er farvetonen på skærmen gul. Det gør din skærm mere behagelig at se på i svag belysning og kan gøre det nemmere at falde i søvn."</string>
     <string name="night_display_auto_mode_title" msgid="6574111412154833409">"Planlæg"</string>
@@ -2046,7 +2043,7 @@
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"Indstillinger"</string>
     <string name="accessibility_feature_state_on" msgid="2864292320042673806">"Til"</string>
     <string name="accessibility_feature_state_off" msgid="4172584906487070211">"Fra"</string>
-    <string name="captioning_preview_title" msgid="1234015253497016890">"Eksempelvisning"</string>
+    <string name="captioning_preview_title" msgid="1234015253497016890">"Forhåndsvisning"</string>
     <string name="captioning_standard_options_title" msgid="3284211791180335844">"Standardindstillinger"</string>
     <string name="captioning_locale" msgid="4559155661018823503">"Sprog"</string>
     <string name="captioning_text_size" msgid="6737002449104466028">"Tekststørrelse"</string>
@@ -3716,7 +3713,7 @@
     <string name="screen_zoom_short_summary" msgid="7291960817349834688">"Gør elementerne på skærmen større eller mindre"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"visningstæthed, zoom på skærmen, skala, skalering"</string>
     <string name="screen_zoom_summary" msgid="6445488991799015407">"Gør elementerne på skærmen mindre eller større. Visse apps på din skærm ændrer muligvis placering."</string>
-    <string name="screen_zoom_preview_title" msgid="4680671508172336572">"Eksempelvisning"</string>
+    <string name="screen_zoom_preview_title" msgid="4680671508172336572">"Forhåndsvisning"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Formindsk"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Forstør"</string>
     <string name="screen_zoom_conversation_icon_alex" msgid="8443032489384985820">"A"</string>
@@ -4119,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"AutoFyld-tjenesten"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"automatisk, udfyld, autofyld"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Sørg for, at du har tillid til denne app&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; anvender indholdet af din skærm til at fastslå, hvad der kan udfyldes automatisk."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Farvetema"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Standard"</string>
     <string name="device_theme" msgid="4571803018917608588">"Enhedstema"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Automatisk (baseret på baggrunden)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Lyst"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Mørkt"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Standard"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Netværksnavn"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Vis netværksnavn på statusbjælken"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Lagerstyring: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-de/arrays.xml b/res/values-de/arrays.xml
index a1d18ba..5a192ec 100644
--- a/res/values-de/arrays.xml
+++ b/res/values-de/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Immer an"</item>
     <item msgid="6385301106124765323">"Immer aus"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 3aee6f0..21809c9 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -120,8 +120,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Bluetooth-Adresse des Geräts: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"Verbindung mit <xliff:g id="DEVICE_NAME">%1$s</xliff:g> trennen?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Übertragung"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Profil deaktivieren?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Deaktiviert:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;Von:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Unbenanntes Bluetooth-Gerät"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Suche läuft"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Suche läuft..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Geräteeinstellungen"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Gekoppeltes Gerät"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Name"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Internetverbindung"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Tastatur"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Kontakte und Anrufliste"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Telefonbuch teilen?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> fordert Zugriff auf deine Kontakte und deine Anrufliste an."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> möchte eine Kopplung über Bluetooth herstellen und hat dann Zugriff auf deine Kontakte und deine Anrufliste."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Gekoppelte Geräte"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Verfügbare Geräte"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Keine Geräte verfügbar"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Verbinden"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Helligkeit"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Helligkeit des Bildschirms anpassen"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Automatische Helligkeit"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Helligkeit an Lichtverhältnisse anpassen"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Deaktiviert"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Bevorzugte Helligkeit ist sehr niedrig"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Bevorzugte Helligkeit ist niedrig"</string>
@@ -4119,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"AutoFill-Dienst"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"automatisch, ausfüllen, füllen, autofill"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Findest du diese App vertrauenswürdig?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; entscheidet anhand der Inhalte auf dem Display, welche Informationen automatisch ausgefüllt werden können."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Farbdesign"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Standard"</string>
     <string name="device_theme" msgid="4571803018917608588">"Gerätedesign"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Automatisch (je nach Hintergrund)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Hell"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Dunkel"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Standard"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Netzwerkname"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Netzwerkname in Statusleiste anzeigen"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Speichermanager: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-el/arrays.xml b/res/values-el/arrays.xml
index ab740b1..b4bbc56 100644
--- a/res/values-el/arrays.xml
+++ b/res/values-el/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Πάντα ενεργή"</item>
     <item msgid="6385301106124765323">"Πάντα ανενεργή"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 6860b5b..92642b9 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Διεύθυνση Bluetooth συσκευής: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"Να αποσυνδεθεί η συσκευή <xliff:g id="DEVICE_NAME">%1$s</xliff:g>;"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Μετάδοση"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Απενεργοπ. προφίλ;"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Αυτό θα απενεργοποιήσει το εξής:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;Από:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Συσκευή Bluetooth χωρίς όνομα"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Αναζήτηση"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Αναζήτηση..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Ρυθμίσεις συσκευής"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Συσκευή σε σύζευξη"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Όνομα"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Σύνδεση στο διαδίκτυο"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Πληκτρολόγιο"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Επαφές και ιστορικό κλήσεων"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Κοινή χρήση τηλεφωνικού καταλόγου;"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"Η συσκευή <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ζητά πρόσβαση στις επαφές και στο ιστορικό κλήσεών σας."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"Η συσκευή <xliff:g id="DEVICE_NAME">%1$s</xliff:g> επιθυμεί σύζευξη με το Bluetooth. Θα έχει πρόσβαση στις επαφές και το ιστορικό κλήσεων."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Συνδεδεμένες συσκευές"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Διαθέσιμες συσκευές"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Δεν υπάρχουν διαθέσιμες συσκευές"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Σύνδεση"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Φωτεινότητα"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Ρύθμιση της φωτεινότητας της οθόνης"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Προσαρμοστική φωτεινότητα"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Βελτιστοποίηση του επιπέδου φωτεινότητας για το διαθέσιμο φως"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Ανενεργή"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Η προτιμώμενη φωτεινότητα είναι πολύ χαμηλή"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Η προτιμώμενη φωτεινότητα είναι χαμηλή"</string>
@@ -4119,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Υπηρεσία αυτόμ. συμπλήρωσης"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"αυτόματη, συμπλήρωση, αυτόματη συμπλήρωση"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Βεβαιωθείτε ότι εμπιστεύεστε αυτήν την εφαρμογή&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; χρησιμοποιεί το περιεχόμενο της οθόνης σας για να διαπιστώσει τι μπορεί να συμπληρωθεί αυτόματα."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Θέμα χρωμάτων"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Προεπιλογή"</string>
     <string name="device_theme" msgid="4571803018917608588">"Θέμα συσκευής"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Αυτόματο (βάσει της ταπετσαρίας)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Φωτεινό"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Σκοτεινό"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Προεπιλογή"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Όνομα δικτύου"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Προβολή ονόματος δικτύου στη γραμμή κατάστασης"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Διαχείριση αποθηκευτικού χώρου: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-en-rAU/arrays.xml b/res/values-en-rAU/arrays.xml
index 950871d..e550a4f 100644
--- a/res/values-en-rAU/arrays.xml
+++ b/res/values-en-rAU/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Always on"</item>
     <item msgid="6385301106124765323">"Always off"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index eaf987f..ab4b28d 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Device\'s Bluetooth address: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"Disconnect <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Broadcasting"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Disable profile?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"This will disable:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;From:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Unnamed Bluetooth device"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Searching"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Searching…"</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Device settings"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Paired device"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Name"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Internet connection"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Keyboard"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Contacts and call history"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Share phone book?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> wants to access your contacts and call history."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> wants to pair with Bluetooth. When connected, it will have access to your contacts and call history."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Paired devices"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Available devices"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"No devices available"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Connect"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Brightness"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Adjust the brightness of the screen"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Adaptive brightness"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Optimise brightness level for available light"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Off"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Preferred brightness is very low"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Preferred brightness is low"</string>
@@ -4119,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Auto-fill service"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"auto, fill, auto-fill"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Make sure that you trust this app&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Auto-fill&gt;%1$s&lt;/xliff:g&gt; uses what\'s on your screen to determine what can be auto-filled."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Colour theme"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Default"</string>
     <string name="device_theme" msgid="4571803018917608588">"Device theme"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Automatic (based on wallpaper)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Light"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Dark"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Default"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Network name"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Display network name in status bar"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Storage Manager: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-en-rCA/arrays.xml b/res/values-en-rCA/arrays.xml
index 950871d..e550a4f 100644
--- a/res/values-en-rCA/arrays.xml
+++ b/res/values-en-rCA/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Always on"</item>
     <item msgid="6385301106124765323">"Always off"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml
index 235a548..d2ceec8 100644
--- a/res/values-en-rCA/strings.xml
+++ b/res/values-en-rCA/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Device\'s Bluetooth address: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"Disconnect <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Broadcasting"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Disable profile?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"This will disable:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;From:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Unnamed Bluetooth device"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Searching"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Searching…"</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Device settings"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Paired device"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Name"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Internet connection"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Keyboard"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Contacts and call history"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Share phone book?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> wants to access your contacts and call history."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> wants to pair with Bluetooth. When connected, it will have access to your contacts and call history."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Paired devices"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Available devices"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"No devices available"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Connect"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Brightness"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Adjust the brightness of the screen"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Adaptive brightness"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Optimise brightness level for available light"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Off"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Preferred brightness is very low"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Preferred brightness is low"</string>
@@ -4119,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Auto-fill service"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"auto, fill, auto-fill"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Make sure that you trust this app&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Auto-fill&gt;%1$s&lt;/xliff:g&gt; uses what\'s on your screen to determine what can be auto-filled."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Colour theme"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Default"</string>
     <string name="device_theme" msgid="4571803018917608588">"Device theme"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Automatic (based on wallpaper)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Light"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Dark"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Default"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Network name"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Display network name in status bar"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Storage Manager: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-en-rGB/arrays.xml b/res/values-en-rGB/arrays.xml
index 950871d..e550a4f 100644
--- a/res/values-en-rGB/arrays.xml
+++ b/res/values-en-rGB/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Always on"</item>
     <item msgid="6385301106124765323">"Always off"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index eaf987f..ab4b28d 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Device\'s Bluetooth address: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"Disconnect <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Broadcasting"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Disable profile?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"This will disable:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;From:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Unnamed Bluetooth device"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Searching"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Searching…"</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Device settings"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Paired device"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Name"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Internet connection"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Keyboard"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Contacts and call history"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Share phone book?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> wants to access your contacts and call history."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> wants to pair with Bluetooth. When connected, it will have access to your contacts and call history."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Paired devices"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Available devices"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"No devices available"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Connect"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Brightness"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Adjust the brightness of the screen"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Adaptive brightness"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Optimise brightness level for available light"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Off"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Preferred brightness is very low"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Preferred brightness is low"</string>
@@ -4119,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Auto-fill service"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"auto, fill, auto-fill"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Make sure that you trust this app&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Auto-fill&gt;%1$s&lt;/xliff:g&gt; uses what\'s on your screen to determine what can be auto-filled."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Colour theme"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Default"</string>
     <string name="device_theme" msgid="4571803018917608588">"Device theme"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Automatic (based on wallpaper)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Light"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Dark"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Default"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Network name"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Display network name in status bar"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Storage Manager: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-en-rIN/arrays.xml b/res/values-en-rIN/arrays.xml
index 950871d..e550a4f 100644
--- a/res/values-en-rIN/arrays.xml
+++ b/res/values-en-rIN/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Always on"</item>
     <item msgid="6385301106124765323">"Always off"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index eaf987f..ab4b28d 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Device\'s Bluetooth address: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"Disconnect <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Broadcasting"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Disable profile?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"This will disable:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;From:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Unnamed Bluetooth device"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Searching"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Searching…"</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Device settings"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Paired device"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Name"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Internet connection"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Keyboard"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Contacts and call history"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Share phone book?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> wants to access your contacts and call history."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> wants to pair with Bluetooth. When connected, it will have access to your contacts and call history."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Paired devices"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Available devices"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"No devices available"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Connect"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Brightness"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Adjust the brightness of the screen"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Adaptive brightness"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Optimise brightness level for available light"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Off"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Preferred brightness is very low"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Preferred brightness is low"</string>
@@ -4119,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Auto-fill service"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"auto, fill, auto-fill"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Make sure that you trust this app&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Auto-fill&gt;%1$s&lt;/xliff:g&gt; uses what\'s on your screen to determine what can be auto-filled."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Colour theme"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Default"</string>
     <string name="device_theme" msgid="4571803018917608588">"Device theme"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Automatic (based on wallpaper)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Light"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Dark"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Default"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Network name"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Display network name in status bar"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Storage Manager: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-en-rXC/arrays.xml b/res/values-en-rXC/arrays.xml
index cd44354..be33894 100644
--- a/res/values-en-rXC/arrays.xml
+++ b/res/values-en-rXC/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‏‏‏‏‎‎‎‎‎‏‏‏‏‎‏‎‏‎‎‎‎‏‎‏‎‏‏‏‎‏‏‎‎‏‏‏‏‎‏‎‏‎‎‏‎‎‎‎‏‏‏‏‎‏‏‎‏‎Always on‎‏‎‎‏‎"</item>
     <item msgid="6385301106124765323">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‎‏‎‎‏‏‏‎‏‎‎‏‎‎‏‎‏‏‎‎‎‎‏‏‎‎‏‏‏‎‏‏‎‎‏‏‏‏‎‎‏‏‎‏‏‏‎‎‎‏‎‎‎‏‎‏‏‎Always off‎‏‎‎‏‎"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-en-rXC/strings.xml b/res/values-en-rXC/strings.xml
index 5d9d521..a3d68d7 100644
--- a/res/values-en-rXC/strings.xml
+++ b/res/values-en-rXC/strings.xml
@@ -120,8 +120,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‏‏‎‎‎‏‎‎‎‏‎‏‎‏‏‎‎‎‏‎‏‎‎‏‏‎‎‎‏‏‏‏‏‏‎‏‎‏‎‏‏‏‏‏‏‎‎‏‏‏‏‎‏‏‎‏‎Device\'s Bluetooth address: ‎‏‎‎‏‏‎<xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‏‎‎‎‎‎‏‎‎‏‎‏‏‏‏‏‏‎‎‎‎‎‎‏‏‏‎‎‎‏‎‎‏‎‏‏‏‏‏‎‎‏‎‎‏‏‎‏‏‎‎‏‏‏‎‎‏‎‎Disconnect ‎‏‎‎‏‏‎<xliff:g id="DEVICE_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎?‎‏‎‎‏‎"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‎‏‏‎‏‏‏‎‏‎‏‏‏‎‏‎‏‎‎‏‎‎‎‏‎‎‏‎‎‏‎‏‏‎‏‏‎‏‎‎‎‎‎‏‎‎‎‏‎‎‏‎‏‏‏‏‏‏‎Broadcasting‎‏‎‎‏‎"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‎‎‎‎‏‏‏‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‎‏‎‎‎‎‏‎‎‎‏‎‎‎‎‎‏‏‏‎‏‏‎‎‎‏‏‎‏‎‏‏‏‎‏‎Disable profile?‎‏‎‎‏‎"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‎‎‎‏‏‎‎‎‎‎‎‎‏‏‎‏‏‏‎‎‎‏‎‏‎‎‏‏‏‏‏‎‎‏‏‎‎‎‎‏‎‏‏‎‏‏‎‎‎‎‏‏‏‎‎‎‎‎This will disable:&lt;br&gt;&lt;b&gt;‎‏‎‎‏‏‎<xliff:g id="PROFILE_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎&lt;/b&gt;&lt;br&gt;&lt;br&gt;From:&lt;br&gt;&lt;b&gt;‎‏‎‎‏‏‎<xliff:g id="DEVICE_NAME">%2$s</xliff:g>‎‏‎‎‏‏‏‎&lt;/b&gt;‎‏‎‎‏‎"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‏‎‏‏‏‎‎‎‎‏‏‎‎‏‎‎‎‏‏‎‎‏‏‎‎‎‏‎‎‎‎‎‏‎‎‎‎‎‏‏‎‏‏‏‎‎‎‏‏‏‎‎‎‎‏‏‏‎Unnamed Bluetooth device‎‏‎‎‏‎"</string>
     <string name="progress_scanning" msgid="192587958424295789">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‎‏‎‏‎‏‏‎‎‎‎‏‏‎‏‎‏‏‎‏‏‏‎‏‎‎‏‎‏‎‎‎‏‏‏‏‎‎‏‎‏‏‏‎‏‏‎‎‏‎‏‏‎‏‏‎‏‎Searching‎‏‎‎‏‎"</string>
@@ -706,7 +704,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‏‏‏‎‏‎‎‏‎‎‎‎‎‎‏‎‎‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‎‎‏‏‏‏‏‎‎‎‎‏‏‏‏‎‏‏‏‏‎Searching…‎‏‎‎‏‎"</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‎‏‎‎‏‏‎‎‏‎‎‎‏‎‎‎‏‏‎‎‎‎‎‎‏‏‏‏‏‏‎‏‏‏‎‏‎‏‏‎‏‏‏‏‎‏‏‏‏‎‎‎‏‎‎‏‎‎Device settings‎‏‎‎‏‎"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‏‎‎‏‎‏‎‏‎‏‏‎‎‎‏‏‏‎‎‎‎‏‏‎‏‏‏‏‎‎‏‏‎‎‏‎‎‎‏‎‏‎‎‎‏‏‎‎‏‏‎‏‎‎‏‎‎‎Paired device‎‏‎‎‏‎"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‏‎‎‏‎‎‎‎‏‎‎‏‎‏‎‎‎‏‏‎‎‏‎‎‎‎‎‏‏‏‎‎‏‏‎‏‎‏‎‎‏‏‏‎‎‎‏‎‎‎‎‎‎‏‎‏‎Name‎‏‎‎‏‎"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‏‎‏‎‏‏‎‏‏‎‎‏‎‎‏‎‎‏‎‏‎‏‎‏‎‎‎‎‎‎‏‏‏‏‎‏‏‏‎‎‎‏‎‎‎‏‏‎‏‏‎‎‏‏‏‏‎‎‎Internet connection‎‏‎‎‏‎"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‏‏‎‎‎‎‏‏‏‏‎‎‏‏‎‏‎‎‏‎‎‏‎‎‏‎‏‎‏‏‏‏‎‏‏‏‏‎‎‎‏‎‏‏‏‏‏‏‎‏‏‎‎‏‏‎‎‎Keyboard‎‏‎‎‏‎"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‏‏‎‎‎‎‎‏‏‎‏‏‏‎‎‏‏‏‏‏‏‏‏‎‏‎‏‏‎‏‏‏‎‏‏‏‎‎‏‏‎‏‎‏‏‎‎‎‏‎‎‎‏‏‎‏‎‎Contacts and call history‎‏‎‎‏‎"</string>
@@ -714,7 +711,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‎‎‏‎‏‏‏‎‎‏‎‎‎‎‎‎‎‎‎‏‏‏‏‏‎‎‎‎‎‏‏‎‏‏‏‎‏‏‎‎‎‎‏‏‏‎‏‎‎‎‏‎‏‏‎‏‎‎Share phone book?‎‏‎‎‏‎"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‎‏‏‎‎‎‎‏‎‎‏‏‏‎‎‏‎‎‏‏‏‏‎‏‎‏‎‏‎‏‏‎‎‏‎‏‏‎‏‏‎‏‎‎‎‏‎‏‏‎‏‎‏‎‏‎‎‎‎‏‎‎‏‏‎<xliff:g id="DEVICE_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎ wants to access your contacts and call history.‎‏‎‎‏‎"</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‏‎‏‎‎‏‎‎‎‏‏‎‏‏‏‎‏‎‏‏‏‎‏‎‎‏‎‎‏‎‎‏‏‎‏‎‎‏‎‏‏‎‎‎‏‎‏‎‏‎‎‏‏‎‏‏‎‎‎‏‎‎‏‏‎<xliff:g id="DEVICE_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎ wants to pair with Bluetooth. When connected, it will have access to your contacts and call history.‎‏‎‎‏‎"</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‏‎‏‎‏‏‎‎‎‏‎‏‏‎‏‎‏‎‏‎‏‎‎‎‎‎‎‏‏‎‏‏‎‎‏‎‎‎‎‎‎‎‏‏‎‎‎‎‏‎‎‎‏‏‏‎‎‎Paired devices‎‏‎‎‏‎"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‏‎‎‏‏‏‎‎‏‎‎‎‏‎‏‎‎‏‏‏‎‏‏‎‎‏‏‏‏‏‏‏‏‏‎‎‏‏‏‏‎‏‏‎‎‏‏‏‎‏‎‎‎‏‎‎‏‏‎Available devices‎‏‎‎‏‎"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‏‎‏‏‎‎‏‎‎‏‎‎‎‎‎‏‏‏‎‏‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‏‏‎‏‏‎‎‏‎‎‏‏‎‏‎‎‎‎‏‏‏‎No devices available‎‏‎‎‏‎"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‏‎‏‏‏‏‎‏‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‏‎‎‏‏‏‎‏‏‎‎‏‏‏‏‏‏‎‎‏‏‎‏‎‎‏‏‎‎‎‏‏‎‏‎Connect‎‏‎‎‏‎"</string>
@@ -1105,7 +1101,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‏‏‎‏‏‏‏‏‎‏‏‎‏‏‏‎‎‏‎‎‎‎‎‎‏‎‎‏‏‎‏‏‏‏‎‎‏‏‎‎‎‏‏‎‎‎‏‏‏‎‎‏‏‎‏‎‎‎Brightness‎‏‎‎‏‎"</string>
     <string name="brightness_summary" msgid="838917350127550703">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‏‏‎‏‎‎‏‎‎‎‏‏‎‏‏‏‎‏‏‏‎‎‎‏‎‏‎‎‏‏‎‏‎‎‏‎‎‎‎‏‏‏‏‎‎‎‎‎‎‏‏‏‎‏‏‏‏‎Adjust the brightness of the screen‎‏‎‎‏‎"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‏‎‎‎‏‏‏‎‎‏‏‏‏‎‏‏‏‏‎‎‎‎‎‎‎‎‎‏‏‏‏‎‏‎‏‎‏‏‎‏‏‏‏‏‎Adaptive brightness‎‏‎‎‏‎"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‎‏‏‏‏‎‏‏‏‎‏‏‏‏‎‏‎‎‏‏‎‎‏‏‎‏‏‏‏‎‏‎‎‎‎‏‏‏‎‏‏‏‎‏‎‎‏‏‎‏‎‏‏‏‏‏‏‎Optimize brightness level for available light‎‏‎‎‏‎"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‏‎‏‏‏‎‎‎‏‏‏‏‏‎‎‏‏‎‎‎‏‎‏‎‎‏‏‎‎‎‏‏‏‏‏‏‎‏‎‎‎‎‎‎‏‎‎‎‏‏‏‏‎‎‎‎‏‎‎Off‎‏‎‎‏‎"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‏‏‏‏‏‏‎‏‏‏‎‏‏‎‏‏‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‎‏‏‎‎‎‎‏‏‎‎‎‎‏‏‏‏‏‏‏‎‎‎‏‎‎‎Preferred brightness is very low‎‏‎‎‏‎"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‏‏‏‎‏‏‎‏‎‎‏‎‎‏‎‏‎‎‎‏‏‏‎‏‏‏‎‏‎‎‎‏‎‏‎‎‎‏‎‏‏‏‎‏‎‎‎‏‏‏‏‏‎‏‎‏‏‎Preferred brightness is low‎‏‎‎‏‎"</string>
@@ -4118,12 +4115,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‏‏‏‎‏‎‏‏‏‎‎‏‏‎‎‎‎‎‏‎‏‎‎‎‎‎‎‎‏‎‏‏‏‏‏‎‎‎‏‏‎‏‎‎‎‎‎‎‎‎‎‎‎‎‏‏‎‎Autofill service‎‏‎‎‏‎"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‏‏‏‏‎‎‎‏‎‎‎‏‎‏‎‏‎‎‎‎‏‏‎‏‎‏‎‎‎‏‎‏‎‎‏‎‎‏‎‏‎‎‎‎‏‎‏‎‎‏‎‏‎‎‏‏‎‎auto, fill, autofill‎‏‎‎‏‎"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‏‎‏‎‏‎‎‏‎‏‏‏‎‏‏‎‎‎‎‎‎‏‎‏‎‎‏‏‏‎‏‎‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‏‏‏‎‏‎‎‏‎‏‎‎&lt;b&gt;Make sure you trust this app&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; uses what\'s on your screen to determine what can be autofilled.‎‏‎‎‏‎"</string>
-    <string name="color_theme" msgid="1535685696756738324">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‏‎‏‎‎‏‏‏‏‏‏‎‏‏‎‏‎‎‎‎‎‎‎‎‏‎‎‏‏‏‎‎‏‏‏‎‏‎‏‎‏‎‏‏‎‏‎‎‏‎‎‎‏‎‏‎‎‎Color theme‎‏‎‎‏‎"</string>
-    <string name="default_theme" msgid="7085644992078579076">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‏‎‎‏‎‏‎‏‎‏‎‏‎‎‎‏‎‎‏‎‎‏‎‏‎‎‎‎‏‏‎‏‎‏‎‏‎‏‏‏‏‎‏‎‎‎‎‏‎‏‏‎‎‎‎‏‎‎‎Default‎‏‎‎‏‎"</string>
     <string name="device_theme" msgid="4571803018917608588">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‏‎‏‏‏‎‎‏‎‎‏‎‎‏‏‏‎‏‎‎‏‏‏‏‏‏‎‎‎‏‏‎‏‏‎‏‎‎‏‎‎‎‏‏‏‏‏‎‎‏‎‎‎‏‏‎‎‎Device theme‎‏‎‎‏‎"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‎‏‎‎‎‎‏‏‏‎‎‎‏‏‎‏‏‎‏‏‎‏‏‎‎‏‎‏‏‏‏‏‎‎‏‏‏‏‎‎‎‎‎‏‎‏‎‎‎‎‏‎‏‎‏‎‎‎Automatic (based on wallpaper)‎‏‎‎‏‎"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‎‎‏‎‏‏‎‏‏‎‏‎‎‏‏‎‏‏‏‏‏‎‎‏‏‎‎‏‎‏‏‎‏‎‏‏‎‎‏‎‎‏‏‏‎‎‎‎‏‏‏‏‎‎‎‏‎‎Light‎‏‎‎‏‎"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‏‏‎‏‏‎‏‏‏‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‎‎‎‎‎‎‏‎‎‎‎‎‏‎‏‎‏‎‎‎‎‏‏‏‎‏‎‎‎‎Dark‎‏‎‎‏‎"</string>
+    <string name="default_theme" msgid="7085644992078579076">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‏‎‎‏‎‏‎‏‎‏‎‏‎‎‎‏‎‎‏‎‎‏‎‏‎‎‎‎‏‏‎‏‎‏‎‏‎‏‏‏‏‎‏‎‎‎‎‏‎‏‏‎‎‎‎‏‎‎‎Default‎‏‎‎‏‎"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‏‎‎‏‎‏‏‎‎‎‏‏‎‏‎‏‎‎‎‎‏‎‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‎‏‎‏‏‎‏‎‏‏‎‎‏‏‎‎‎‏‏‏‎Network name‎‏‎‎‏‎"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‎‏‎‏‏‏‏‏‏‎‏‎‎‏‎‏‏‏‎‏‎‎‎‎‏‏‏‎‏‏‎‏‏‎‏‏‏‏‎‎‎‏‎‎‏‏‎‎‎‎‏‏‎‏‏‏‎‎Display network name in status bar‎‏‎‎‏‎"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‏‎‎‎‎‏‏‎‎‏‏‎‎‏‎‏‏‎‏‎‏‎‏‏‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‏‎‏‎‏‏‎‏‎‎‎‏‏‎‎‎Storage Manager: ‎‏‎‎‏‏‎<xliff:g id="STATUS">^1</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
diff --git a/res/values-es-rUS/arrays.xml b/res/values-es-rUS/arrays.xml
index 83c9c68..9d1de87 100644
--- a/res/values-es-rUS/arrays.xml
+++ b/res/values-es-rUS/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Siempre activado"</item>
     <item msgid="6385301106124765323">"Siempre desactivado"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 43f4697..e729809 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Dirección Bluetooth del dispositivo: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"¿Desconectar <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Transmisión"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"¿Inhabilitar perfil?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Esto inhabilitará &lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;De:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Dispositivo Bluetooth sin nombre"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Buscando"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Buscando..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Configuración de dispositivos"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Dispositivo sincronizado"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Nombre"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Conexión a Internet"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Teclado"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Contactos e historial de llamadas"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"¿Compartir libreta telefónica?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> quiere acceder a tus contactos y al historial de llamadas."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> quiere sincronizarse con Bluetooth. Al conectarse, podrá acceder a contactos e hist. de llamadas."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Dispositivos vinculados"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Dispositivos disponibles"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"No hay dispositivos disponibles."</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Conectar"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Brillo"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Ajustar el brillo de la pantalla"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Brillo automático"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Se optimiza el nivel de brillo según la luz disponible."</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Inhabilitado"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"El nivel de brillo preferido es muy bajo"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"El nivel de brillo preferido es bajo"</string>
@@ -4117,12 +4114,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Servicio autocompletar"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"auto, completar, autocompletar"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Asegúrate de que esta app sea confiable.&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; usa el contenido de tu pantalla para determinar qué se puede autocompletar."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Tema de color"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Predeterminado"</string>
     <string name="device_theme" msgid="4571803018917608588">"Tema del dispositivo"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Automático (según el fondo de pantalla)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Claro"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Oscuro"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Predeterminado"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Nombre de la red"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Mostrar el nombre de la red en la barra de estado"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Administrador de almacenamiento: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-es/arrays.xml b/res/values-es/arrays.xml
index 0f4862a..944eaa4 100644
--- a/res/values-es/arrays.xml
+++ b/res/values-es/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Siempre activado"</item>
     <item msgid="6385301106124765323">"Siempre desactivado"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index afc61fa..781fc83 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Dirección de Bluetooth del dispositivo: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"¿Desconectar <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Emisiones"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"¿Inhabilitar perfil?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Se inhabilitará&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;de&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;."</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Dispositivo Bluetooth sin nombre"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Buscando"</string>
@@ -393,14 +391,14 @@
     <string name="security_dashboard_summary" msgid="6757421634477554939">"Bloqueo de pantalla y huella digital"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="8129641548372335540">"Bloqueo de pantalla"</string>
     <string name="security_settings_face_preference_summary" msgid="1290187225482642821">"Cara añadida"</string>
-    <string name="security_settings_face_preference_summary_none" msgid="5460349732790152186">"Toca para configurar autenticac. facial"</string>
+    <string name="security_settings_face_preference_summary_none" msgid="5460349732790152186">"Toca para configurar la autentic. facial"</string>
     <string name="security_settings_face_preference_title" msgid="7074548721778680481">"Autenticación facial"</string>
     <string name="security_settings_face_enroll_introduction_cancel" msgid="4277182322482408514">"Cancelar"</string>
     <string name="security_settings_face_enroll_introduction_title" msgid="2694505011712885439">"Desbloquea con tu cara"</string>
     <string name="security_settings_face_enroll_introduction_title_unlock_disabled" msgid="8180330567034286589">"Usa tu cara para autenticarte"</string>
-    <string name="security_settings_face_enroll_introduction_message" msgid="6150611993438981458">"Usa tu cara para desbloquear tu teléfono, autorizar compras o iniciar sesión en aplicaciones."</string>
+    <string name="security_settings_face_enroll_introduction_message" msgid="6150611993438981458">"Usa tu cara para desbloquear el teléfono, autorizar compras o iniciar sesión en aplicaciones."</string>
     <string name="security_settings_face_enroll_introduction_message_unlock_disabled" msgid="6300341727101929207">"Usa tu cara"</string>
-    <string name="security_settings_face_enroll_introduction_message_setup" msgid="5704661081718707858">"Usa tu cara para desbloquear tu teléfono, autorizar compras o iniciar sesión en aplicaciones"</string>
+    <string name="security_settings_face_enroll_introduction_message_setup" msgid="5704661081718707858">"Usa tu cara para desbloquear el teléfono, autorizar compras o iniciar sesión en aplicaciones"</string>
     <string name="face_add_max" msgid="2342250989212694454">"Puedes añadir hasta <xliff:g id="COUNT">%d</xliff:g> huellas digitales"</string>
     <string name="face_intro_error_max" msgid="160022811747660581">"Has añadido el número máximo de caras"</string>
     <string name="face_intro_error_unknown" msgid="6367721696446677261">"No se pueden añadir más caras"</string>
@@ -547,9 +545,9 @@
     <string name="fingerprint_unlock_set_unlock_password" msgid="7351131075806338634">"Huella digital + contraseña"</string>
     <string name="fingerprint_unlock_skip_fingerprint" msgid="1441077909803666681">"Continuar sin huella digital"</string>
     <string name="fingerprint_unlock_title" msgid="2826226740306003991">"Puedes desbloquear el teléfono con tu huella digital. Por motivos de seguridad, para utilizar esta opción necesitas un método de bloqueo de pantalla alternativo."</string>
-    <string name="face_unlock_set_unlock_pattern" msgid="8792301636367000123">"Autenticación facial + Patrón"</string>
+    <string name="face_unlock_set_unlock_pattern" msgid="8792301636367000123">"Autenticación facial + patrón"</string>
     <string name="face_unlock_set_unlock_pin" msgid="1196620299595657479">"Autenticación facial + PIN"</string>
-    <string name="face_unlock_set_unlock_password" msgid="223117276773907474">"Autenticación facial + Contraseña"</string>
+    <string name="face_unlock_set_unlock_password" msgid="223117276773907474">"Autenticación facial + contraseña"</string>
     <string name="face_unlock_skip_face" msgid="6362883392838482791">"Continuar sin autenticación facial"</string>
     <string name="face_unlock_title" msgid="9042382084472444316">"Puedes desbloquear el teléfono con tu cara. Por motivos de seguridad, para utilizar esta opción necesitas un método de bloqueo de pantalla alternativo."</string>
     <string name="unlock_set_unlock_disabled_summary" msgid="2051593894736282302">"Inhabilitada por admin., política cifrado o almac. creden."</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Buscando…"</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Ajustes del dispositivo"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Dispositivo vinculado"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Nombre"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Conexión a Internet"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Teclado"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Contactos e historial de llamadas"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"¿Compartir agenda telefónica?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> quiere acceder a tus contactos y al historial de llamadas."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> quiere vincularse con Bluetooth. Al conectarse, podrá acceder a contactos e historial de llamadas."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Dispositivos vinculados"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Dispositivos disponibles"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"No hay dispositivos disponibles"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Conectar"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Brillo"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Ajustar el brillo de la pantalla"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Brillo automático"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Optimizar el nivel de brillo según la luz disponible"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Desactivado"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"El brillo preferido es muy bajo"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"El brillo preferido es bajo"</string>
@@ -3452,9 +3449,9 @@
     <string name="encryption_interstitial_message_pin_for_fingerprint" msgid="4550632760119547492">"Además de utilizar la huella digital para desbloquear el dispositivo, puedes protegerlo aún más si haces que solicite tu PIN antes de iniciarse. El dispositivo no puede recibir llamadas, mensajes ni notificaciones (incluidas alarmas) hasta que no se inicia.\n\nEsto es útil para proteger tus datos si pierdes el dispositivo o te lo roban. ¿Pedir PIN al iniciar el dispositivo?"</string>
     <string name="encryption_interstitial_message_pattern_for_fingerprint" msgid="932184823193006087">"Además de utilizar la huella digital para desbloquear el dispositivo, puedes protegerlo aún más si haces que solicite el patrón antes de iniciarse. El dispositivo no puede recibir llamadas, mensajes ni notificaciones (incluidas alarmas) hasta que no se inicia.\n\nEsto es útil para proteger tus datos si pierdes el dispositivo o te lo roban. ¿Quieres que se te pida el patrón al iniciar el dispositivo?"</string>
     <string name="encryption_interstitial_message_password_for_fingerprint" msgid="5560954719370251702">"Además de utilizar tu huella digital para desbloquear el dispositivo, puedes protegerlo aún más configurándolo para que solicite una contraseña antes de que se inicie. Hasta entonces, no podrás recibir llamadas, mensajes ni notificaciones, incluidas las alarmas.\n\nEsto permite proteger los datos en dispositivos perdidos o robados. ¿Quieres que el dispositivo pida la contraseña para iniciarse?"</string>
-    <string name="encryption_interstitial_message_pin_for_face" msgid="2017438765366716760">"Además de utilizar tu cara para desbloquear el dispositivo, puedes protegerlo aún más si haces que solicite el PIN antes de iniciarse. El dispositivo no puede recibir llamadas, mensajes ni notificaciones (incluidas alarmas) hasta que no se inicia.\n\nEsto es útil para proteger tus datos si pierdes el dispositivo o te lo roban. ¿Quieres que se te pida el patrón al iniciar el dispositivo?"</string>
-    <string name="encryption_interstitial_message_pattern_for_face" msgid="3551827507967661552">"Además de utilizar tu cara para desbloquear el dispositivo, puedes protegerlo aún más si haces que solicite el patrón antes de iniciarse. El dispositivo no puede recibir llamadas, mensajes ni notificaciones (incluidas alarmas) hasta que no se inicia.\n\nEsto es útil para proteger tus datos si pierdes el dispositivo o te lo roban. ¿Quieres que se te pida el patrón al iniciar el dispositivo?"</string>
-    <string name="encryption_interstitial_message_password_for_face" msgid="3452793542112093614">"Además de utilizar tu cara para desbloquear el dispositivo, puedes protegerlo aún más si haces que solicite una contraseña antes de iniciarse. El dispositivo no puede recibir llamadas, mensajes ni notificaciones (incluidas alarmas) hasta que no se inicia.\n\n}Esto es útil para proteger tus datos si pierdes el dispositivo o te lo roban. ¿Quieres que el dispositivo pida la contraseña para iniciarse?"</string>
+    <string name="encryption_interstitial_message_pin_for_face" msgid="2017438765366716760">"Además de utilizar tu cara para desbloquear el dispositivo, puedes protegerlo aún más si lo configuras para solicitar el PIN antes de iniciarse. El dispositivo no recibe llamadas, mensajes ni notificaciones (incluidas alarmas) hasta que se inicia.\n\nEsto es útil para proteger tus datos si pierdes el dispositivo o te lo roban. ¿Quieres que el dispositivo pida el PIN para iniciarse?"</string>
+    <string name="encryption_interstitial_message_pattern_for_face" msgid="3551827507967661552">"Además de utilizar tu cara para desbloquear el dispositivo, puedes protegerlo aún más si lo configuras para solicitar el patrón antes de iniciarse. El dispositivo no recibe llamadas, mensajes ni notificaciones (incluidas alarmas) hasta que se inicia.\n\nEsto es útil para proteger tus datos si pierdes el dispositivo o te lo roban. ¿Quieres que el dispositivo pida el patrón para iniciarse?"</string>
+    <string name="encryption_interstitial_message_password_for_face" msgid="3452793542112093614">"Además de utilizar tu cara para desbloquear el dispositivo, puedes protegerlo aún más si lo configuras para solicitar la contraseña antes de iniciarse. El dispositivo no recibe llamadas, mensajes ni notificaciones (incluidas alarmas) hasta que se inicia.\n\nEsto es útil para proteger tus datos si pierdes el dispositivo o te lo roban. ¿Quieres que el dispositivo pida la contraseña para iniciarse?"</string>
     <string name="encryption_interstitial_yes" msgid="4439509435889513411">"Sí"</string>
     <string name="encryption_interstitial_no" msgid="8935031349097025137">"No"</string>
     <string name="restricted_true_label" msgid="4761453839409220473">"Restringida"</string>
@@ -4119,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Servicio Autocompletar"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"automático, completar, autocompletar"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Asegúrate de que confías en esta aplicación&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Autocompletar de Google&gt;%1$s&lt;/xliff:g&gt; utiliza el contenido que se muestra en la pantalla para determinar el texto que se puede autocompletar."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Tema de color"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Predeterminado"</string>
     <string name="device_theme" msgid="4571803018917608588">"Tema del dispositivo"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Automático (según el fondo de pantalla)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Claro"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Oscuro"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Predeterminado"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Nombre de la red"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Mostrar el nombre de la red en la barra de estado"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Administrador de Almacenamiento: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-et/arrays.xml b/res/values-et/arrays.xml
index 0324b55..d55fd30 100644
--- a/res/values-et/arrays.xml
+++ b/res/values-et/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Alati sees"</item>
     <item msgid="6385301106124765323">"Alati väljas"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index 2579669..9a706e5 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Seadme Bluetoothi aadress: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"Kas katkestada ühendus seadmega <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Edastamine"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Kas profiil keelata?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"See keelab:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;seadmest:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Nimetu Bluetooth-seade"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Otsimine"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Otsimine ..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Seadme seaded"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Seotud seade"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Nimi"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Interneti-ühendus"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Klaviatuur"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Kontaktid ja kõneajalugu"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Kas jagada telefoniraamatut?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> soovib hankida juurdepääsu teie kontaktidele ja kõne ajaloole."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> tahab siduda Bluetoothiga. Kui ühendus on loodud, on sellel juurdepääs kontaktidele ja kõneajaloole."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Seotud seadmed"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Saadaval seadmed"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Ühtegi seadet pole saadaval"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Ühenda"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Heledus"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Reguleeri ekraani heledust"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Kohanduv heledus"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Heleduse optimeerimine valgustingimuste järgi"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Väljas"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Eelistatav heledus on väga tume"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Eelistatav heledus on tume"</string>
@@ -4119,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Automaattäite teenus"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"automaatne, täide, automaattäide"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Veenduge, et rakendus oleks usaldusväärne&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google\'i automaatne täitmine&gt;%1$s&lt;/xliff:g&gt; kasutab automaatse täitmise sisestuse määramiseks ekraanil kuvatut."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Värviteema"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Vaikeseade"</string>
     <string name="device_theme" msgid="4571803018917608588">"Seadme teema"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Automaatne (taustapildi põhjal)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Hele"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Tume"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Vaikeseade"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Võrgu nimi"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Võrgu nimi kuvatakse olekuribal"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Salvestusruumi haldur: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-eu/arrays.xml b/res/values-eu/arrays.xml
index 3d0a6b8..b25cf64 100644
--- a/res/values-eu/arrays.xml
+++ b/res/values-eu/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Beti aktibatuta"</item>
     <item msgid="6385301106124765323">"Beti desaktibatuta"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index 1d5fba7..9c6317e 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Gailuaren Bluetooth helbidea: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> deskonektatu nahi duzu?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Igorpena"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Profila desgaitu?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Hau desgaituko da:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;Hemendik:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Izenik gabeko Bluetooth gailua"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Bilatzen"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Bilatzen…"</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Gailuaren ezarpenak"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Parekatutako gailua"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Izena"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Interneteko konexioa"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Teklatua"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Kontaktuak eta deien historia"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Agenda partekatu nahi dituzu?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> gailuak zure kontaktuak eta deien historia atzitu nahi ditu."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> gailuak Bluetooth bidez parekatu nahi du. Konektatuta dagoenean, zure kontaktuak eta deien historia atzitu ahal izango ditu."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Parekatutako gailuak"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Gailu erabilgarriak"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Ez dago gailurik erabilgarri"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Konektatu"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Distira"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Doitu pantailaren distira"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Distira doigarria"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Optimizatu pantailaren distira inguruko argitasunaren arabera"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Desaktibatuta"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Oso txikia da distira-maila hobetsia"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Txikia da distira-maila hobetsia"</string>
@@ -1621,9 +1618,9 @@
     <string name="lockpassword_password_set_toast" msgid="4875050283108629383">"Pasahitza ezarri da."</string>
     <string name="lockpassword_pin_set_toast" msgid="6011826444725291475">"PINa ezarri da"</string>
     <string name="lockpassword_pattern_set_toast" msgid="6867259621331406236">"Eredua ezarri da."</string>
-    <string name="lockpassword_choose_your_password_header_for_face" msgid="7876621019688907534">"Ezarri aurpegi bidezko autentifikazioaren ordezkoa"</string>
-    <string name="lockpassword_choose_your_pattern_header_for_face" msgid="8070525076987585344">"Ezarri aurpegi bidezko autentifikazioaren ordezkoa"</string>
-    <string name="lockpassword_choose_your_pin_header_for_face" msgid="7304398683609714816">"Ezarri aurpegi bidezko autentifikazioaren ordezkoa"</string>
+    <string name="lockpassword_choose_your_password_header_for_face" msgid="7876621019688907534">"Ezarri aurpegi bidezko autentifikazioaren pasahitza"</string>
+    <string name="lockpassword_choose_your_pattern_header_for_face" msgid="8070525076987585344">"Ezarri aurpegi bidezko autentifikazioaren eredua"</string>
+    <string name="lockpassword_choose_your_pin_header_for_face" msgid="7304398683609714816">"Ezarri aurpegi bidezko autentifikazioaren PIN kodea"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="2920960858283879113">"Aurrera egiteko, marraztu gailuaren eredua"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="4062335874438910487">"Aurrera egiteko, idatzi gailuaren PIN kodea"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="3976394862548354966">"Aurrera egiteko, idatzi gailuaren pasahitza"</string>
@@ -3454,7 +3451,7 @@
     <string name="encryption_interstitial_message_password_for_fingerprint" msgid="5560954719370251702">"Gailua babestuago izan dezazun, desblokeatzeko hatz-marka erabiltzeaz gain, pasahitza eska dezakezu gailua abiarazterakoan. Abiarazi ezean, gailuak ezingo du jaso deirik, mezurik edo jakinarazpenik, eta alarmek ez dute joko.\n\nGaldutako edo lapurtutako gailuetan dauden datuak babesteko balio du neurri horrek. Pasahitza eskatzea nahi duzu gailua abiarazterakoan?"</string>
     <string name="encryption_interstitial_message_pin_for_face" msgid="2017438765366716760">"Aurpegia erabiltzeaz gain, gailua are gehiago babesteko, PIN kodea eska dezakezu gailua abiarazi ahal izateko. Abiarazi arte ezingo du jaso deirik, mezurik edo jakinarazpenik, eta alarmek ez dute joko.\n\nGaldutako edo lapurtutako gailuen datuak babesteko balio du neurri horrek. PIN kodea eskatu nahi duzu gailua abiarazi ahal izateko?"</string>
     <string name="encryption_interstitial_message_pattern_for_face" msgid="3551827507967661552">"Aurpegia erabiltzeaz gain, gailua are gehiago babesteko, eredua eska dezakezu gailua abiarazi ahal izateko. Abiarazi arte ezingo du jaso deirik, mezurik edo jakinarazpenik, eta alarmek ez dute joko.\n\nGaldutako edo lapurtutako gailuen datuak babesteko balio du neurri horrek. Eredua eskatu nahi duzu gailua abiarazi ahal izateko?"</string>
-    <string name="encryption_interstitial_message_password_for_face" msgid="3452793542112093614">"Gailua babestuago izan dezazun, desblokeatzeko zure aurpegia erabiltzeaz gain, pasahitza eska dezakezu gailua abiarazterakoan. Abiarazi ezean, gailuak ezingo du jaso deirik, mezurik edo jakinarazpenik, eta alarmek ez dute joko.\n\nGaldutako edo lapurtutako gailuetan dauden datuak babesteko balio du neurri horrek. Pasahitza eskatzea nahi duzu gailua abiarazterakoan?"</string>
+    <string name="encryption_interstitial_message_password_for_face" msgid="3452793542112093614">"Aurpegia erabiltzeaz gain, gailua are gehiago babesteko, pasahitza eska dezakezu gailua abiarazi ahal izateko. Abiarazi arte ezingo du jaso deirik, mezurik edo jakinarazpenik, eta alarmek ez dute joko.\n\nGaldutako edo lapurtutako gailuen datuak babesteko balio du neurri horrek. Pasahitza eskatu nahi duzu gailua abiarazi ahal izateko?"</string>
     <string name="encryption_interstitial_yes" msgid="4439509435889513411">"Bai"</string>
     <string name="encryption_interstitial_no" msgid="8935031349097025137">"Ez"</string>
     <string name="restricted_true_label" msgid="4761453839409220473">"Mugatua"</string>
@@ -4119,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Betetze automatikoaren zerbitzua"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"bete, automatikoki, betetze automatiko"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Ziurtatu aplikazioa fidagarria dela&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; eginbideak pantailan dagoena erabiltzen du automatikoki bete daitekeena zehazteko."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Kolore-gaia"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Lehenetsia"</string>
     <string name="device_theme" msgid="4571803018917608588">"Gailuaren gaia"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Automatikoa (horma-paperaren araberakoa)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Argia"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Iluna"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Lehenetsia"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Sarearen izena"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Erakutsi sarearen izena egoera-barran"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Memoria-kudeatzailea: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-fa/arrays.xml b/res/values-fa/arrays.xml
index c2b4075..f38a0fb 100644
--- a/res/values-fa/arrays.xml
+++ b/res/values-fa/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"همیشه روشن"</item>
     <item msgid="6385301106124765323">"همیشه خاموش"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index ec22fa0..b70ff07 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"نشانی بلوتوث دستگاه: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"ارتباط <xliff:g id="DEVICE_NAME">%1$s</xliff:g> قطع شود؟"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"پخش"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"غیر فعال کردن نمایه؟"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"‏این کار :&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;From:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt; را غیرفعال می‌کند"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"دستگاه بلوتوث بدون نام"</string>
     <string name="progress_scanning" msgid="192587958424295789">"در حال جستجو"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"در حال جستجو..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"تنظیمات دستگاه"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"دستگاه مرتبط‌شده"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"نام"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"اتصال به اینترنت"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"صفحه‌کلید"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"سابقه تماس و مخاطبین"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"دفترچه تلفن به اشتراک گذاشته شود؟"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> می‌خواهد به مخاطبین و سابقه تماس شما دسترسی داشته باشد."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> می‌خواهد با بلوتوث مرتبط‌سازی کند. وقتی وصل شود، به مخاطبین و سابقه تماستان دسترسی دارد."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"دستگاه‌های مرتبط شده"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"دستگاه‌های در دسترس"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"دستگاهی موجود نیست"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"اتصال"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"روشنایی"</string>
     <string name="brightness_summary" msgid="838917350127550703">"تنظیم روشنایی صفحه"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"روشنایی تطبیقی"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"بهینه‌سازی سطح روشنایی برای نور در دسترس"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"خاموش"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"میزان روشنایی ترجیحی بسیار کم است"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"میزان روشنایی ترجیحی کم است"</string>
@@ -2090,7 +2087,7 @@
     <string name="disable_service_message" msgid="2247101878627941561">"با ضربه زدن به تأیید، <xliff:g id="SERVICE">%1$s</xliff:g> متوقف خواهد شد."</string>
     <string name="accessibility_no_services_installed" msgid="7200948194639038807">"سرویسی نصب نشده است"</string>
     <string name="accessibility_no_service_selected" msgid="2840969718780083998">"سرویسی انتخاب نشده است"</string>
-    <string name="accessibility_service_default_description" msgid="1072730037861494125">"توضیحی ارائه نشده است."</string>
+    <string name="accessibility_service_default_description" msgid="1072730037861494125">"شرحی ارائه نشده است."</string>
     <string name="settings_button" msgid="3006713718908152930">"تنظیمات"</string>
     <string name="print_settings" msgid="4742428530112487843">"چاپ کردن"</string>
     <string name="print_settings_summary_no_service" msgid="6354322414246865875">"خاموش"</string>
@@ -4119,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"سرویس تکمیل خودکار"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"خودکار، پر کردن، تکمیل خودکار"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"‏&lt;b&gt;مطمئن شوید به این برنامه اطمینان دارید&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=تکمیل خودکار Google&gt;%1$s&lt;/xliff:g&gt; برای تعیین مواردی که می‌توانند به‌طور خودکار تکمیل شوند، از آنچه روی صفحه‌نمایش شما است استفاده می‌کند."</string>
-    <string name="color_theme" msgid="1535685696756738324">"طرح‌ زمینه‌ رنگی"</string>
-    <string name="default_theme" msgid="7085644992078579076">"پیش‌فرض"</string>
     <string name="device_theme" msgid="4571803018917608588">"طرح زمینه دستگاه"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"خودکار (براساس کاغذدیواری)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"روشن"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"تیره"</string>
+    <string name="default_theme" msgid="7085644992078579076">"پیش‌فرض"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"نام شبکه"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"نمایش نام شبکه در نوار وضعیت"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"مدیریت حافظه: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-fi/arrays.xml b/res/values-fi/arrays.xml
index 410a136..2f2f49d 100644
--- a/res/values-fi/arrays.xml
+++ b/res/values-fi/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Aina käytössä"</item>
     <item msgid="6385301106124765323">"Aina pois"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 4a3ebde..f0bac5a 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Laitteen Bluetooth-osoite: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"Katkaistaanko yhteys laitteeseen <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Lähetys"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Poistetaanko profiili?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Tämä poistaa profiilin&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;laitteesta&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Nimetön Bluetooth-laite"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Haetaan"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Haetaan..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Laiteasetukset"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Laitepari"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Nimi"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Internetyhteys"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Näppäimistö"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Yhteystiedot ja soittohistoria"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Jaetaanko puhelinluettelo?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> pyytää yhteystietojesi ja puheluhistoriasi käyttöoikeutta."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> pyytää lupaa muod. Bluetooth-laiteparin. Se käyttää yhteyden aikana yht.tietoja ja soittohistoriaa."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Laiteparit"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Saatavilla olevat laitteet"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Laitteita ei löydy"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Yhdistä"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Kirkkaus"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Säädä näytön kirkkautta"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Kirkkauden säätö"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Näytön kirkkaus määräytyy valoisuuden mukaan."</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Pois käytöstä"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Ensisijainen kirkkaustaso on Hyvin matala."</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Ensisijainen kirkkaustaso on Matala."</string>
@@ -4119,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Automaattinen täyttö ‑palvelu"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"automaattinen, täyttää, automaattinen täyttö"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Varmista, että luotat tähän sovellukseen&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; päättelee näytöllä olevien kohteiden perusteella, mitä voidaan täyttää automaattisesti."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Väriteema"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Oletus"</string>
     <string name="device_theme" msgid="4571803018917608588">"Laitteen teema"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Automaattinen (perustuu taustakuvaan)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Vaalea"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Tumma"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Oletus"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Verkon nimi"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Näytä verkon nimi tilapalkissa"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Tallennustilan hallinta: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-fr-rCA/arrays.xml b/res/values-fr-rCA/arrays.xml
index 84df659..8a1d323 100644
--- a/res/values-fr-rCA/arrays.xml
+++ b/res/values-fr-rCA/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Toujours activé"</item>
     <item msgid="6385301106124765323">"Toujours désactivé"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index b211caa..3ba5e0a 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Adresse Bluetooth de l\'appareil : <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"Déconnecter <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Diffusion"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Désactiver le profil?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Le profil :&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;va être désactivé sur :&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Appareil Bluetooth sans nom"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Recherche en cours…"</string>
@@ -399,7 +397,7 @@
     <string name="security_settings_face_enroll_introduction_title" msgid="2694505011712885439">"Déverrouiller avec votre visage"</string>
     <string name="security_settings_face_enroll_introduction_title_unlock_disabled" msgid="8180330567034286589">"Utiliser son visage pour s\'authentifier"</string>
     <string name="security_settings_face_enroll_introduction_message" msgid="6150611993438981458">"Utilisez votre visage pour déverrouiller votre téléphone, autoriser vos achats et vous connecter à des applications."</string>
-    <string name="security_settings_face_enroll_introduction_message_unlock_disabled" msgid="6300341727101929207">"Utiliser vous"</string>
+    <string name="security_settings_face_enroll_introduction_message_unlock_disabled" msgid="6300341727101929207">"Utiliser votre"</string>
     <string name="security_settings_face_enroll_introduction_message_setup" msgid="5704661081718707858">"Utilisez votre visage pour déverrouiller votre téléphone, autoriser vos achats et vous connecter à des applications"</string>
     <string name="face_add_max" msgid="2342250989212694454">"Vous pouvez ajouter jusqu\'à <xliff:g id="COUNT">%d</xliff:g> empreintes digitales"</string>
     <string name="face_intro_error_max" msgid="160022811747660581">"Vous avez ajouté le nombre maximal de visages"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Recherche…"</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Paramètres de l\'appareil"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Appareil associé"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Nom"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Connexion Internet"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Clavier"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Contacts et historique des appels"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Partager le répertoire de contacts?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> veut accéder à vos contacts et à votre historique d\'appels."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> demande une association par Bluetooth. Il aura alors accès aux contacts et à l\'histor. des appels."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Périphériques associés"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Appareils détectés"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Aucun appareil à proximité"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Connexion"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Luminosité"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Régler la luminosité de l\'écran"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Luminosité adaptative"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Optimiser le niveau de luminosité en fonction de l\'éclairage ambiant"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Désactivée"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"La luminosité préférée est très faible"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"La luminosité préférée est faible"</string>
@@ -3454,7 +3451,7 @@
     <string name="encryption_interstitial_message_password_for_fingerprint" msgid="5560954719370251702">"Vous pouvez ajouter un niveau de protection pour le déverrouillage de cet appareil en exigeant votre mot de passe avant que l\'appareil ne démarre, en plus de la lecture de votre empreinte digitale. L\'appareil ne peut pas recevoir d\'appel, de message, de notification, ni d\'alarme tant qu\'il n\'a pas démarré.\n\nCela permet de protéger les données de vos appareils en cas de perte ou de vol. Exiger un mot de passe pour démarrer l\'appareil?"</string>
     <string name="encryption_interstitial_message_pin_for_face" msgid="2017438765366716760">"Vous pouvez ajouter un niveau de protection pour le déverrouillage de cet appareil en exigeant votre NIP avant que l\'appareil ne démarre, en plus de la reconnaissance du visage. L\'appareil ne peut pas recevoir d\'appel, de message, de notification, ni d\'alarme tant qu\'il n\'a pas démarré.\n\nCela permet de protéger les données de vos appareils en cas de perte ou de vol. Exiger le NIP pour démarrer l\'appareil?"</string>
     <string name="encryption_interstitial_message_pattern_for_face" msgid="3551827507967661552">"Vous pouvez ajouter un niveau de protection pour le déverrouillage de cet appareil en exigeant votre schéma avant que l\'appareil ne démarre, en plus de la reconnaissance du visage. L\'appareil ne peut pas recevoir d\'appel, de message, de notification, ni d\'alarme tant qu\'il n\'a pas démarré.\n\nCela permet de protéger les données de vos appareils en cas de perte ou de vol. Exiger le schéma pour démarrer l\'appareil?"</string>
-    <string name="encryption_interstitial_message_password_for_face" msgid="3452793542112093614">"Vous pouvez ajouter un niveau de protection pour le déverrouillage de cet appareil en exigeant votre mot de passe avant que l\'appareil ne démarre, en plus de la reconnaissance du visage. L\'appareil ne peut pas recevoir d\'appel, de message, de notification, ni d\'alarme tant qu\'il n\'a pas démarré.\n\nCela permet de protéger les données de vos appareils en cas de perte ou de vol. Exiger un mot de passe pour démarrer l\'appareil?"</string>
+    <string name="encryption_interstitial_message_password_for_face" msgid="3452793542112093614">"Vous pouvez ajouter un niveau de protection pour le déverrouillage de cet appareil en exigeant votre mot de passe avant que l\'appareil ne démarre, en plus de la reconnaissance du visage. L\'appareil ne peut pas recevoir d\'appel, de message, de notification, ni d\'alarme tant qu\'il n\'a pas démarré.\n\nCela permet de protéger les données de vos appareils en cas de perte ou de vol. Exiger le mot de passe pour démarrer l\'appareil?"</string>
     <string name="encryption_interstitial_yes" msgid="4439509435889513411">"Oui"</string>
     <string name="encryption_interstitial_no" msgid="8935031349097025137">"Non"</string>
     <string name="restricted_true_label" msgid="4761453839409220473">"Restreinte"</string>
@@ -4119,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Service de remplissage auto"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"automatique, remplir, remplissage automatique"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Assurez-vous de faire confiance à cette application&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Remplissage automatique&gt;%1$s&lt;/xliff:g&gt; utilise les éléments affichés à l\'écran pour déterminer les champs qui peuvent bénéficier de l\'entrée automatique."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Thème de couleurs"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Par défaut"</string>
     <string name="device_theme" msgid="4571803018917608588">"Thème de l\'appareil"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Automatique (selon l\'image de fond d\'écran)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Clair"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Sombre"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Par défaut"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Nom du réseau"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Afficher le nom du réseau dans la barre d\'état"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Gestionnaire de stockage : <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-fr/arrays.xml b/res/values-fr/arrays.xml
index 6051d46..7af86ea 100644
--- a/res/values-fr/arrays.xml
+++ b/res/values-fr/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Toujours activé"</item>
     <item msgid="6385301106124765323">"Toujours désactivé"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index c62c2cb..1997599 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Adresse Bluetooth de l\'appareil : <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"Déconnecter l\'appareil \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\" ?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Diffusion"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Désactiver le profil ?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Le profil :&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;va être désactivé sur :&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Appareil Bluetooth sans nom"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Recherche en cours"</string>
@@ -515,12 +513,12 @@
     <string name="setup_lock_settings_picker_title" product="tablet" msgid="90329443364067215">"Protéger la tablette"</string>
     <string name="setup_lock_settings_picker_title" product="device" msgid="2399952075134938929">"Protéger l\'appareil"</string>
     <string name="setup_lock_settings_picker_title" product="default" msgid="1572244299605153324">"Protégez votre téléphone"</string>
-    <string name="lock_settings_picker_biometrics_added_security_message" msgid="1507307757032207572">"Pour plus de sécurité, définissez un mode de verrouillage de l\'écran supplémentaire"</string>
+    <string name="lock_settings_picker_biometrics_added_security_message" msgid="1507307757032207572">"Pour plus de sécurité, définissez un mode de verrouillage d\'écran secondaire"</string>
     <string name="setup_lock_settings_picker_message" product="tablet" msgid="8919671129189936210">"Activez les fonctionnalités de protection de l\'appareil pour empêcher d\'autres personnes d\'utiliser cette tablette sans votre autorisation. Choisissez la méthode de verrouillage de l\'écran à utiliser."</string>
     <string name="setup_lock_settings_picker_message" product="device" msgid="3787276514406353777">"Activez les fonctionnalités de protection de l\'appareil pour empêcher d\'autres personnes d\'utiliser cet appareil sans votre autorisation. Choisissez la méthode de verrouillage de l\'écran à utiliser."</string>
     <string name="setup_lock_settings_picker_message" product="default" msgid="3692856437543730446">"Activez les fonctionnalités de protection de l\'appareil pour empêcher d\'autres personnes d\'utiliser ce téléphone sans votre autorisation. Choisissez la méthode de verrouillage de l\'écran à utiliser."</string>
     <string name="lock_settings_picker_fingerprint_message" msgid="4755230324778371292">"Choisissez une méthode supplémentaire pour verrouiller l\'écran."</string>
-    <string name="lock_settings_picker_face_message" msgid="197106534637556054">"Choisissez une méthode supplémentaire pour verrouiller l\'écran"</string>
+    <string name="lock_settings_picker_face_message" msgid="197106534637556054">"Choisissez une méthode secondaire pour verrouiller l\'écran"</string>
     <string name="setup_lock_settings_options_button_label" msgid="8511153243629402929">"Options de verrouillage de l\'écran"</string>
     <string name="setup_lock_settings_options_dialog_title" msgid="5058207955455973917">"Options de verrouillage de l\'écran"</string>
     <string name="unlock_set_unlock_launch_picker_title" msgid="2084576942666016993">"Verrouillage de l\'écran"</string>
@@ -551,7 +549,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="1196620299595657479">"Authentification faciale plus code"</string>
     <string name="face_unlock_set_unlock_password" msgid="223117276773907474">"Authentification faciale plus mot de passe"</string>
     <string name="face_unlock_skip_face" msgid="6362883392838482791">"Continuer sans authentification faciale"</string>
-    <string name="face_unlock_title" msgid="9042382084472444316">"Vous pouvez déverrouiller votre téléphone à l\'aide de votre visage. Pour plus de sécurité, cette option doit être associée à un autre mode de verrouillage de l\'écran."</string>
+    <string name="face_unlock_title" msgid="9042382084472444316">"Vous pouvez déverrouiller votre téléphone à l\'aide de votre visage. Pour plus de sécurité, cette option doit être associée à un mode de verrouillage d\'écran secondaire."</string>
     <string name="unlock_set_unlock_disabled_summary" msgid="2051593894736282302">"Désactivé par l\'admin, règles chiffrement, stockage ID"</string>
     <string name="unlock_set_unlock_mode_off" msgid="5881952274566013651">"Aucun"</string>
     <string name="unlock_set_unlock_mode_none" msgid="8467360084676871617">"Balayer l\'écran"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Recherche..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Paramètres de l\'appareil"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Appareil associé"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Nom"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Connexion Internet"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Clavier"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Contacts et historique des appels"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Partager le répertoire ?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"\"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\" requiert l\'accès à vos contacts et à l\'historique de vos appels."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"\"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\" requiert l\'association avec le Bluetooth. Il aura alors accès aux contacts et à l\'hist. des appels."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Appareils associés"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Appareils disponibles"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Aucun appareil disponible."</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Se connecter"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Luminosité"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Régler la luminosité de l\'écran"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Adaptation de la luminosité"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Optimiser le niveau de luminosité en fonction de l\'éclairage ambiant"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Désactivée"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Niveau de luminosité préféré très faible"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Niveau de luminosité préféré faible"</string>
@@ -1621,9 +1618,9 @@
     <string name="lockpassword_password_set_toast" msgid="4875050283108629383">"Le mot de passe a été défini."</string>
     <string name="lockpassword_pin_set_toast" msgid="6011826444725291475">"Le code PIN a été défini."</string>
     <string name="lockpassword_pattern_set_toast" msgid="6867259621331406236">"Le schéma a été défini."</string>
-    <string name="lockpassword_choose_your_password_header_for_face" msgid="7876621019688907534">"Pour utiliser visage, définissez mot de p."</string>
-    <string name="lockpassword_choose_your_pattern_header_for_face" msgid="8070525076987585344">"Pour utiliser visage, définissez schéma"</string>
-    <string name="lockpassword_choose_your_pin_header_for_face" msgid="7304398683609714816">"Pour utiliser visage, définissez un code"</string>
+    <string name="lockpassword_choose_your_password_header_for_face" msgid="7876621019688907534">"Définissez méthode secondaire (mdp)"</string>
+    <string name="lockpassword_choose_your_pattern_header_for_face" msgid="8070525076987585344">"Définissez méthode secondaire (schéma)"</string>
+    <string name="lockpassword_choose_your_pin_header_for_face" msgid="7304398683609714816">"Définissez méthode secondaire (code)"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="2920960858283879113">"Utilisez le schéma de l\'appareil pour continuer."</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="4062335874438910487">"Saisissez le code de l\'appareil pour continuer."</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="3976394862548354966">"Saisissez le mot de passe de l\'appareil pour continuer."</string>
@@ -3452,9 +3449,9 @@
     <string name="encryption_interstitial_message_pin_for_fingerprint" msgid="4550632760119547492">"Outre la reconnaissance de votre empreinte digitale pour déverrouiller votre appareil, vous pouvez renforcer la sécurité en exigeant la saisie de votre code avant que l\'appareil ne démarre. De cette façon, il ne pourra pas recevoir d\'appels, de messages, de notifications, ni d\'alarmes tant qu\'il n\'aura pas démarré.\n\nCela permet de protéger les données de votre appareil en cas de perte ou de vol. Voulez-vous exiger la saisie de votre code avant le démarrage de votre appareil ?"</string>
     <string name="encryption_interstitial_message_pattern_for_fingerprint" msgid="932184823193006087">"Outre la reconnaissance de votre empreinte digitale pour déverrouiller votre appareil, vous pouvez renforcer la sécurité en exigeant la saisie de votre schéma avant que l\'appareil ne démarre. De cette façon, il ne pourra pas recevoir d\'appels, de messages, de notifications, ni d\'alarmes tant qu\'il n\'aura pas démarré.\n\nCela permet de protéger les données en cas de perte ou de vol de l\'appareil. Voulez-vous exiger la saisie de votre schéma avant le démarrage de votre appareil ?"</string>
     <string name="encryption_interstitial_message_password_for_fingerprint" msgid="5560954719370251702">"Vous pouvez ajouter un niveau de protection pour le déverrouillage de cet appareil en demandant la saisie de votre mot de passe avant que l\'appareil ne démarre, en plus de la lecture de votre empreinte digitale. L\'appareil ne peut pas recevoir d\'appel, de message, de notification ni d\'alarme tant qu\'il n\'a pas démarré.\n\nCela permet de protéger les données de vos appareils en cas de perte ou de vol. Voulez-vous exiger la saisie de votre mot de passe avant le démarrage de l\'appareil ?"</string>
-    <string name="encryption_interstitial_message_pin_for_face" msgid="2017438765366716760">"Vous pouvez ajouter un niveau de protection pour le déverrouillage de votre appareil en demandant la saisie de votre code avant que l\'appareil ne démarre, en plus de l\'authentification faciale. L\'appareil ne peut pas recevoir d\'appels, de messages, de notifications, ni d\'alarmes tant qu\'il n\'a pas démarré.\n\nCela permet de protéger les données de vos appareils en cas de perte ou de vol. Voulez-vous exiger la saisie du code avant le démarrage de votre appareil ?"</string>
-    <string name="encryption_interstitial_message_pattern_for_face" msgid="3551827507967661552">"Vous pouvez ajouter un niveau de protection pour le déverrouillage de votre appareil en demandant la saisie de votre schéma avant que l\'appareil ne démarre, en plus de l\'authentification faciale. L\'appareil ne peut pas recevoir d\'appels, de messages, de notifications, ni d\'alarmes tant qu\'il n\'a pas démarré.\n\nCela permet de protéger les données de vos appareils en cas de perte ou de vol. Voulez-vous exiger la saisie du schéma avant le démarrage de votre appareil ?"</string>
-    <string name="encryption_interstitial_message_password_for_face" msgid="3452793542112093614">"Vous pouvez ajouter un niveau de protection pour le déverrouillage de votre appareil en demandant la saisie de votre mot de passe avant que l\'appareil ne démarre, en plus de l\'authentification faciale. L\'appareil ne peut pas recevoir d\'appels, de messages, de notifications, ni d\'alarmes tant qu\'il n\'a pas démarré.\n\nCela permet de protéger les données de vos appareils en cas de perte ou de vol. Voulez-vous exiger la saisie du mot de passe avant le démarrage de votre appareil ?"</string>
+    <string name="encryption_interstitial_message_pin_for_face" msgid="2017438765366716760">"Vous pouvez renforcer la protection de votre appareil en exigeant la saisie de votre code avant qu\'il ne démarre, en plus de l\'authentification faciale pour le déverrouiller. L\'appareil ne peut alors pas recevoir d\'appels ni de messages, ni émettre de notifications, y compris des alarmes, tant qu\'il n\'a pas démarré.\n\nCela permet de protéger les données de vos appareils en cas de perte ou de vol. Voulez-vous exiger la saisie du code avant le démarrage de votre appareil ?"</string>
+    <string name="encryption_interstitial_message_pattern_for_face" msgid="3551827507967661552">"Vous pouvez renforcer la protection de votre appareil en exigeant la saisie de votre schéma avant qu\'il ne démarre, en plus de l\'authentification faciale pour le déverrouiller. L\'appareil ne peut alors pas recevoir d\'appels ni de messages, ni émettre de notifications, y compris des alarmes, tant qu\'il n\'a pas démarré.\n\nCela permet de protéger les données de vos appareils en cas de perte ou de vol. Voulez-vous exiger la saisie du schéma avant le démarrage de votre appareil ?"</string>
+    <string name="encryption_interstitial_message_password_for_face" msgid="3452793542112093614">"Vous pouvez renforcer la protection de votre appareil en exigeant la saisie de votre mot de passe avant qu\'il ne démarre, en plus de l\'authentification faciale pour le déverrouiller. L\'appareil ne peut alors pas recevoir d\'appels ni de messages, ni émettre de notifications, y compris des alarmes, tant qu\'il n\'a pas démarré.\n\nCela permet de protéger les données de vos appareils en cas de perte ou de vol. Voulez-vous exiger la saisie du mot de passe avant le démarrage de votre appareil ?"</string>
     <string name="encryption_interstitial_yes" msgid="4439509435889513411">"Oui"</string>
     <string name="encryption_interstitial_no" msgid="8935031349097025137">"Non"</string>
     <string name="restricted_true_label" msgid="4761453839409220473">"Limitée"</string>
@@ -4119,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Service de saisie automatique"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"automatique, saisie, saisie automatique"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Assurez-vous de faire confiance à cette application&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; utilise les éléments affichés à l\'écran pour déterminer les champs qui peuvent bénéficier de la saisie automatique."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Palette de couleurs"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Par défaut"</string>
     <string name="device_theme" msgid="4571803018917608588">"Thème de l\'appareil"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Automatique (en fonction du fond d\'écran)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Clair"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Foncé"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Par défaut"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Nom du réseau"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Afficher le nom du réseau dans la barre d\'état"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Gestionnaire d\'espace de stockage : <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-gl/arrays.xml b/res/values-gl/arrays.xml
index d9a2578..e256490 100644
--- a/res/values-gl/arrays.xml
+++ b/res/values-gl/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Sempre activado"</item>
     <item msgid="6385301106124765323">"Sempre desactivado"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
index b344da3..f3a4a96 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Enderezo Bluetooth do dispositivo: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"Queres desconectar <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Difusión"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Desactivar o perfil?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Esta acción desactivará:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;De:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Dispositivo Bluetooth sen nome"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Buscando"</string>
@@ -397,9 +395,9 @@
     <string name="security_settings_face_preference_title" msgid="7074548721778680481">"Autenticación facial"</string>
     <string name="security_settings_face_enroll_introduction_cancel" msgid="4277182322482408514">"Cancelar"</string>
     <string name="security_settings_face_enroll_introduction_title" msgid="2694505011712885439">"Desbloquear coa túa cara"</string>
-    <string name="security_settings_face_enroll_introduction_title_unlock_disabled" msgid="8180330567034286589">"Utilizar a túa cara para autenticarte"</string>
+    <string name="security_settings_face_enroll_introduction_title_unlock_disabled" msgid="8180330567034286589">"Utilizar a autenticación facial"</string>
     <string name="security_settings_face_enroll_introduction_message" msgid="6150611993438981458">"Utiliza a túa cara para desbloquear o teléfono, autorizar compras e iniciar sesión en aplicacións."</string>
-    <string name="security_settings_face_enroll_introduction_message_unlock_disabled" msgid="6300341727101929207">"Utilízate"</string>
+    <string name="security_settings_face_enroll_introduction_message_unlock_disabled" msgid="6300341727101929207">"Usa a túa cara para autenticarte"</string>
     <string name="security_settings_face_enroll_introduction_message_setup" msgid="5704661081718707858">"Utiliza a túa cara para desbloquear o teléfono, autorizar compras e iniciar sesión en aplicacións"</string>
     <string name="face_add_max" msgid="2342250989212694454">"Podes engadir ata <xliff:g id="COUNT">%d</xliff:g> impresións dixitais"</string>
     <string name="face_intro_error_max" msgid="160022811747660581">"Engadiches o número máximo de caras"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Buscando..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Configuración do dispositivo"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Dispositivo sincronizado"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Nome"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Conexión a Internet"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Teclado"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Contactos e historial de chamadas"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Compartir a axenda telefónica?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> quere acceder aos teus contactos e ao historial de chamadas."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> quere sincroniza con Bluetooth. Ao conectar, accederá aos contactos e ao historial de chamadas."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Dispositivos sincronizados"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Dispositivos dispoñibles"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Non hai dispositivos dispoñibles"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Conectar"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Brillo"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Axusta o brillo da pantalla"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Brillo automático"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Optimiza o nivel de brillo en función da luz dispoñible"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Desactivado"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"O brillo preferido é moi baixo"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"O brillo preferido é baixo"</string>
@@ -4120,12 +4117,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Servizo de autocompletar"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"automático, completar, autocompletar"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Asegúrate de que confías nesta aplicación&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Autocompletar de Google&gt;%1$s&lt;/xliff:g&gt; utiliza o contido da pantalla para determinar o que se pode completar."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Tema de cor"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Predeterminado"</string>
     <string name="device_theme" msgid="4571803018917608588">"Tema do dispositivo"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Automático (segundo o fondo de pantalla)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Claro"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Escuro"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Predeterminado"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Nome da rede"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Mostrar o nome da rede na barra de estado"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Xestor de almacenamento: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-gu/arrays.xml b/res/values-gu/arrays.xml
index 943e160..8215e74 100644
--- a/res/values-gu/arrays.xml
+++ b/res/values-gu/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"હંમેશા ચાલુ"</item>
     <item msgid="6385301106124765323">"હંમેશા બંધ"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index f0d0f33..5541b8d 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"ઉપકરણનું બ્લૂટૂથ ઍડ્રેસ: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ને ડિસ્કનેક્ટ કરીએ?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"બ્રૉડકાસ્ટ કરી રહ્યાં છે"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"પ્રોફાઇલ અક્ષમ કરીએ?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"આને અક્ષમ કરવામાં આવશે:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;દ્વારા:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"અનામાંકિત બ્લૂટૂથ ઉપકરણ"</string>
     <string name="progress_scanning" msgid="192587958424295789">"શોધી રહ્યું છે"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"શોધી રહ્યું છે..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"ઉપકરણ સેટિંગ્સ"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"જોડી કરેલ ઉપકરણ"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"નામ"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"ઇન્ટરનેટ કનેક્શન"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"કીબોર્ડ"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"સંપર્કો અને કૉલ ઇતિહાસ"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"ફોન પુસ્તિકા શેર કરીએ?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> તમારા સંપર્કો અને કૉલ ઇતિહાસને અ‍ૅક્સેસ કરવા માંગે છે."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>, બ્લૂટૂથ સાથે જોડી કરવા માંગે છે. જ્યારે કનેક્ટ થયેલ હોય, ત્યારે તેની પાસે તમારા સંપર્કો અને કૉલ ઇતિહાસની ઍક્સેસ હશે."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"જોડી કરેલા ઉપકરણો"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"ઉપલબ્ધ ઉપકરણો"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"કોઈ ઉપકરણો ઉપલબ્ધ નથી"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"કનેક્ટ કરો"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"તેજ"</string>
     <string name="brightness_summary" msgid="838917350127550703">"સ્ક્રીનનાં તેજને સમાયોજિત કરો"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"એડૅપ્ટિવ બ્રાઇટનેસ"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"ઉપલબ્ધ પ્રકાશ માટે બ્રાઇટનેસ સ્તરને ઓપ્ટિમાઇઝ કરો"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"બંધ"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"પસંદગીનું તેજ ખૂબ નિમ્ન છે"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"પસંદગીનું તેજ નિમ્ન છે"</string>
@@ -4119,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"સ્વતઃભરણ સેવા"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"સ્વતઃ, ભરો, સ્વતઃભરણ"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;ખાતરી કરો કે તમે આ ઍપ્લિકેશનનો વિશ્વાસ કરો છો&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google આપમેળે&gt;%1$s&lt;/xliff:g&gt; તમારી સ્ક્રીન પર શું છે તેનો ઉપયોગ એ નક્કી કરવા કરે છે કે આપમેળે શું દાખલ થશે."</string>
-    <string name="color_theme" msgid="1535685696756738324">"રંગ થીમ"</string>
-    <string name="default_theme" msgid="7085644992078579076">"ડિફૉલ્ટ"</string>
     <string name="device_theme" msgid="4571803018917608588">"ઉપકરણની થીમ"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"આપમેળે (વૉલપેપરના આધારે)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"આછું"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"ઘેરી"</string>
+    <string name="default_theme" msgid="7085644992078579076">"ડિફૉલ્ટ"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"નેટવર્કનું નામ"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"સ્ટેટસ બારમાં નેટવર્કનું નામ પ્રદર્શિત કરો"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"સ્ટોરેજ સંચાલક: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-hi/arrays.xml b/res/values-hi/arrays.xml
index bab9f89..4293a04 100644
--- a/res/values-hi/arrays.xml
+++ b/res/values-hi/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"हमेशा चालू"</item>
     <item msgid="6385301106124765323">"हमेशा बंद"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 20d7ad4..a384800 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"डिवाइस का ब्लूटूथ पता: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> को डिसकनेक्ट करें?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"प्रसारण"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"प्रोफ़ाइल अक्षम करें?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"इससे यह अक्षम हो जाएगी:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;इस पर:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"अनामित ब्लूटूथ डिवाइस"</string>
     <string name="progress_scanning" msgid="192587958424295789">"खोजना"</string>
@@ -726,7 +724,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"सर्च कर रहा है…"</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"डिवाइस सेटिंग"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"युग्मित डिवाइस"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"नाम"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"इंटरनेट कनेक्शन"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"कीबोर्ड"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"संपर्क और कॉल इतिहास"</string>
@@ -734,7 +731,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"फ़ोन बुक शेयर करें?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> आपके संपर्कों और कॉल इतिहास तक पहुंचना चाहता है."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> Bluetooth से जुड़ना चाहता है. कनेक्ट होने पर, वो आपके संपर्कों और कॉल इतिहास को देख सकेगा."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"जोड़े गए डिवाइस"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"उपलब्ध ब्लूटूथ डिवाइस"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"कोई डिवाइस उपलब्ध नहीं"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"जोड़ दें"</string>
@@ -1125,7 +1121,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"स्क्रीन की रोशनी"</string>
     <string name="brightness_summary" msgid="838917350127550703">"स्‍क्रीन की रोशनी एडजस्ट करें"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"रोशनी के हिसाब से स्क्रीन की चमक"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"मौजूदा रोशनी के हिसाब से स्क्रीन की चमक ऑप्टिमाइज़ करता है"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"बंद"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"पसंदीदा स्क्रीन रोशनी का लेवल बहुत कम है"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"पसंदीदा स्क्रीन रोशनी का लेवल कम है"</string>
@@ -4145,12 +4142,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"ऑटोमैटिक भरने की सेवा"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"ऑटो, भरना, ऑटोमैटिक भरना"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;सुनिश्चित करें कि आप इस ऐप्लिकेशन पर भरोसा करते हैं&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google ऑटोमैटिक भरना&gt;%1$s&lt;/xliff:g&gt; ऑटोमैटिक भरी जा सकने वाली चीज़ें निर्धारित करने के लिए आपकी स्क्रीन पर मौजूद चीज़ों का उपयोग करता है."</string>
-    <string name="color_theme" msgid="1535685696756738324">"रंग थीम"</string>
-    <string name="default_theme" msgid="7085644992078579076">"डिफ़ॉल्ट"</string>
     <string name="device_theme" msgid="4571803018917608588">"डिवाइस की थीम"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"अपने आप सेट होने वाली थीम (वॉलपेपर के हिसाब से)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"हल्के रंग की थीम"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"गहरे रंग की थीम"</string>
+    <string name="default_theme" msgid="7085644992078579076">"डिफ़ॉल्ट"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"नेटवर्क का नाम"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"स्टेटस बार में नेटवर्क का नाम दिखाएं"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"जगह प्रबंधक: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-hr/arrays.xml b/res/values-hr/arrays.xml
index 1d2a99c..1214ba5 100644
--- a/res/values-hr/arrays.xml
+++ b/res/values-hr/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Uvijek uključeno"</item>
     <item msgid="6385301106124765323">"Uvijek isključeno"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index acf8a65..667dd46 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -122,8 +122,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Bluetooth adresa uređaja: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"Želite li prekinuti vezu s uređajem <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Emitiranje"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Onemogućiti profil?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"To će onemogućiti:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;na uređaju:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Neimenovani Bluetooth uređaj"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Pretraživanje"</string>
@@ -722,7 +720,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Traženje..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Postavke uređaja"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Upareni uređaj"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Naziv"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Internetska veza"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Tipkovnica"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Kontakti i povijest poziva"</string>
@@ -730,7 +727,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Želite li dijeliti telefonski imenik?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"Uređaj <xliff:g id="DEVICE_NAME">%1$s</xliff:g> želi pristupiti vašim kontaktima i povijesti poziva."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> traži uparivanje s Bluetoothom. Kada se poveže, moći će pristupiti kontaktima i povijesti poziva."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Upareni uređaji"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Dostupni uređaji"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Nema dostupnih uređaja"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Poveži"</string>
@@ -1122,7 +1118,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Svjetlina"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Podesite svjetlinu zaslona"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Prilagodljiva svjetlina"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Optimiziranje jačine osvjetljenja u odnosu na osvijetljenost okoline"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Isključeno"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Željena je svjetlina vrlo niska"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Željena je svjetlina niska"</string>
@@ -4192,12 +4189,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Usluga automatskog popunjavanja"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"automatski, popunjavanje, automatsko popunjavanje"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Provjerite je li ova aplikacija pouzdana&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google automatsko popunjavanje&gt;%1$s&lt;/xliff:g&gt; upotrebljava sadržaj na zaslonu za procjenu onoga što se može automatski popuniti."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Tema u boji"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Zadano"</string>
     <string name="device_theme" msgid="4571803018917608588">"Tema uređaja"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Automatski (na temelju pozadine)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Svijetlo"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Tamno"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Zadano"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Naziv mreže"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Prikaz naziva mreže na traci statusa"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Upravitelj pohrane: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-hu/arrays.xml b/res/values-hu/arrays.xml
index 9cdb238..fe77ec7 100644
--- a/res/values-hu/arrays.xml
+++ b/res/values-hu/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Mindig bekapcsolva"</item>
     <item msgid="6385301106124765323">"Mindig kikapcsolva"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index a7ec62f..744798f 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Az eszköz Bluetooth-címe: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"Leválasztja a következőt: <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Sugárzás"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Profil tiltása?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Ezzel kikapcsolja a következőt:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;Ettől:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Névtelen Bluetooth eszköz"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Keresés"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Keresés..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Eszközbeállítások"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Párosított eszköz"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Név"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Internetkapcsolat"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Billentyűzet"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Névjegyek és híváslista"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Megosztja a telefonkönyvét?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"A(z) <xliff:g id="DEVICE_NAME">%1$s</xliff:g> szeretne hozzáférni az Ön névjegyeihez és híváslistájához."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"A(z) <xliff:g id="DEVICE_NAME">%1$s</xliff:g> párosítást kezdeményez Bluetooth-on. A kapcsolódás után hozzáférhet az Ön névjegyeihez és híváslistájához."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Párosított eszközök"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Rendelkezésre álló eszközök"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Nem áll rendelkezésre eszköz"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Kapcsolódás"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Fényerő"</string>
     <string name="brightness_summary" msgid="838917350127550703">"A képernyő fényerejének beállítása"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Alkalmazkodó fényerő"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Fényerőszint optimalizálása a környezeti fény alapján"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Kikapcsolva"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Előnyben részesített fényerő: nagyon alacsony"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Előnyben részesített fényerő: alacsony"</string>
@@ -4119,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Automatikus kitöltés"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"automatikus kitöltés, automatikus, kitöltés"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Győződjön meg arról, hogy az alkalmazás megbízható.&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; A(z) &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; az Ön képernyőjén szereplő információk alapján határozza meg, hogy mit lehet automatikusan kitölteni."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Színösszeállítás"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Alapértelmezett"</string>
     <string name="device_theme" msgid="4571803018917608588">"Eszköztéma"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Automatikus (a háttérkép alapján)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Világos"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Sötét"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Alapértelmezett"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Hálózat neve"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Hálózati név megjelenítése az állapotsorban"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Tárhelykezelő: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-hy/arrays.xml b/res/values-hy/arrays.xml
index aedb827..c53910f 100644
--- a/res/values-hy/arrays.xml
+++ b/res/values-hy/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Միշտ միացված է"</item>
     <item msgid="6385301106124765323">"Միշտ անջատած է"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index b60df04..97d8aed 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Սարքի Bluetooth հասցեն՝ <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"Անջատե՞լ <xliff:g id="DEVICE_NAME">%1$s</xliff:g>-ը:"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Հեռարձակում"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Կասեցնե՞լ պրոֆիլը:"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Սա կանջատի:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;-ը :&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;-ից"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Անանուն Bluetooth սարք"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Որոնում"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Որոնում..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Սարքի կարգավորումներ"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Զուգակցված սարք"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Անուն"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Ինտերնետ կապ"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Ստեղնաշար"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Կոնտակտներ և զանգերի պատմություն"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Համօգտագործե՞լ հեռախոսագիրքը:"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>-ը ուզում է մուտք գործել ձեր կոնտակտներ ու զանգերի պատմություն:"</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> սարքը ցանկանում է զուգավորվել Bluetooth-ով: Միանալու դեպքում այն մուտք կունենա դեպի ձեր կոնտակտները և զանգերի պատմությունը:"</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Զուգակցված սարքեր"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Հասանելի սարքեր"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Հասանելի սարքեր չկան"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Միանալ"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Պայծառություն"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Կարգաբերել էկրանի պայծառությունը"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Հարմարողական պայծառություն"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Փոխել պայծառությունն ըստ լուսավորվածության մակարդակի"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Անջատված է"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Նախընտրելի է շատ ցածր պայծառությունը"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Նախընտրելի է ցածր պայծառությունը"</string>
@@ -4119,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Ինքնալրացման ծառայություն"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"ավտոմատ, լրացնել, ինքնալրացում"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Համոզվեք, որ վստահում եք այս հավելվածին&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt;-ն օգտագործում է էկրանի բովանդակությունը՝ որոշելու, թե ինչը կարող է ինքնալրացվել:"</string>
-    <string name="color_theme" msgid="1535685696756738324">"Գունային թեմա"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Կանխադրված"</string>
     <string name="device_theme" msgid="4571803018917608588">"Սարքի թեման"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Ավտոմատ (ըստ պաստառի)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Բաց"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Մուգ"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Կանխադրված"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Ցանցի անունը"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Ցուցադրել ցանցի անունը կարգավիճակի գոտում"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Հիշողության կառավարիչ՝ <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-in/arrays.xml b/res/values-in/arrays.xml
index cfee812..8909468 100644
--- a/res/values-in/arrays.xml
+++ b/res/values-in/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Selalu aktif"</item>
     <item msgid="6385301106124765323">"Selalu nonaktif"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index f049cf4..115bbc7 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Alamat Bluetooth perangkat: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"Putuskan sambungan <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Penyiaran"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Nonaktifkan profil?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Ini akan menonaktifkan:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;Dari:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Perangkat Bluetooth tak bernama"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Menelusuri"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Menelusuri..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Setelan perangkat"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Perangkat yang disandingkan"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Nama"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Sambungan internet"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Keyboard"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Kontak dan histori panggilan"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Bagikan buku telepon?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ingin mengakses kontak dan histori panggilan Anda."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ingin menyandingkan dengan Bluetooth. Saat tersambung, perangkat dapat mengakses kontak &amp; histori panggilan Anda."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Perangkat disambungkan"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Perangkat yang tersedia"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Perangkat tak tersedia"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Sambungkan"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Kecerahan"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Sesuaikan kecerahan layar"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Kecerahan adaptif"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Optimalkan tingkat kecerahan untuk cahaya yang tersedia"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Nonaktif"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Kecerahan yang dipilih sangat rendah"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Kecerahan yang dipilih rendah"</string>
@@ -4119,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Layanan IsiOtomatis"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"otomatis, isi, isiotomatis"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Pastikan Anda memercayai aplikasi ini&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google IsiOtomatis&gt;%1$s&lt;/xliff:g&gt; menggunakan item yang ada di layar untuk menentukan item apa saja yang dapat diisi otomatis."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Tema warna"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Default"</string>
     <string name="device_theme" msgid="4571803018917608588">"Tema perangkat"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Otomatis (berdasarkan wallpaper)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Cerah"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Gelap"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Default"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Nama jaringan"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Tampilkan nama jaringan di status bar"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Pengelola Penyimpanan: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-is/arrays.xml b/res/values-is/arrays.xml
index e912ce9..9053794 100644
--- a/res/values-is/arrays.xml
+++ b/res/values-is/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Alltaf kveikt"</item>
     <item msgid="6385301106124765323">"Alltaf slökkt"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
index a9486ed..2a9f9d0 100644
--- a/res/values-is/strings.xml
+++ b/res/values-is/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Bluetooth-vistfang tækis: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"Viltu aftengja <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Útsending"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Gera snið óvirkt?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Þetta slekkur á:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;Frá:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Ónefnt Bluetooth-tæki"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Leitar"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Leitar…"</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Stillingar tækis"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Parað tæki"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Nafn"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Internettenging"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Lyklaborð"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Tengiliðir og símtalaferill"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Viltu deila símaskránni?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> vill fá aðgang að tengiliðunum þínum og símtalaferli."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> vill parast við Bluetooth. Eftir tengingu hefur það aðgang að tengiliðunum þínum og símtalaferli."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Pöruð tæki"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Tæki í boði"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Engin tæki í boði"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Tengja"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Birtustig"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Stilla birtustig skjásins"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Aðlögun birtustigs"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Stilla birtustig eftir umhverfisbirtu"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Slökkt"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Kjörin birta er mjög lítil"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Kjörin birta er lítil"</string>
@@ -4119,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Sjálfvirk útfyllingarþjónusta"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"sjálfvirk, útfylling, sjálfvirk útfylling"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Gakktu úr skugga um að þú treystir þessu forriti&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Sjálfvirk útfylling Google&gt;%1$s&lt;/xliff:g&gt; notar það sem er á skjánum til að ákvarða hvað er hægt að fylla sjálfkrafa út."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Litaþema"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Sjálfgefið"</string>
     <string name="device_theme" msgid="4571803018917608588">"Þema tækisins"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Sjálfvirkt (út frá veggfóðri)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Ljóst"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Dökkt"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Sjálfgefið"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Heiti nets"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Birta heiti netkerfis í stöðustiku"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Geymsluumsjón: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-it/arrays.xml b/res/values-it/arrays.xml
index 10b7d30..4859f4d 100644
--- a/res/values-it/arrays.xml
+++ b/res/values-it/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Sempre attiva"</item>
     <item msgid="6385301106124765323">"Sempre disattivata"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index ac822ae..435910c 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Indirizzo Bluetooth del dispositivo: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"Disconnetti <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Trasmissione"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Disattivare il profilo?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Verrà disattivato:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;Su:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Dispositivo Bluetooth senza nome"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Ricerca"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Ricerca..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Impostazioni dispositivo"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Dispositivo accoppiato"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Nome"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Connessione Internet"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Tastiera"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Contatti e cronologia chiamate"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Vuoi condividere la rubrica?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> desidera accedere ai tuoi contatti e alla tua cronologia chiamate."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> richiede accoppiamento con Bluetooth. Da connesso, potrà accedere a contatti e cronologia chiamate."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Dispositivi accoppiati"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Dispositivi disponibili"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Nessun dispositivo disponibile"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Connetti"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Luminosità"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Regola la luminosità dello schermo"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Luminosità adattiva"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Ottimizza il livello di luminosità per la luce disponibile"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Non attiva"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Luminosità preferita molto bassa"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Luminosità preferita bassa"</string>
@@ -4119,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Compilazione automatica"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"automatico, compilazione, compilazione automatica"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Verifica che questa app sia attendibile&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=La Compilazione Automatica di Google&gt;%1$s&lt;/xliff:g&gt; usa ciò che è presente nella schermata per stabilire quali contenuti possono essere compilati automaticamente."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Tema a colori"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Valore predefinito"</string>
     <string name="device_theme" msgid="4571803018917608588">"Tema del dispositivo"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Automatico (in base allo sfondo)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Chiaro"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Scuro"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Valore predefinito"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Nome della rete"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Nome della Rete Display nella bara di stato"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Gestione memoria: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-iw/arrays.xml b/res/values-iw/arrays.xml
index 8538331..32e23c8 100644
--- a/res/values-iw/arrays.xml
+++ b/res/values-iw/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"פועל תמיד"</item>
     <item msgid="6385301106124765323">"כבוי תמיד"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 30a005e..1a599c7 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -123,8 +123,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"‏כתובת המכשיר לחיבור דרך Bluetooth: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"האם לנתק את <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"שידור"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"להשבית פרופיל?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"‏פעולה זו תשבית את:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;מ:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"‏מכשיר Bluetooth ללא שם"</string>
     <string name="progress_scanning" msgid="192587958424295789">"מחפש"</string>
@@ -400,14 +398,14 @@
     <string name="security_settings_face_preference_summary_none" msgid="5460349732790152186">"יש להקיש כדי להגדיר אימות פנים"</string>
     <string name="security_settings_face_preference_title" msgid="7074548721778680481">"אימות פנים"</string>
     <string name="security_settings_face_enroll_introduction_cancel" msgid="4277182322482408514">"ביטול"</string>
-    <string name="security_settings_face_enroll_introduction_title" msgid="2694505011712885439">"ביטול נעילה באמצעות הפנים שלך"</string>
-    <string name="security_settings_face_enroll_introduction_title_unlock_disabled" msgid="8180330567034286589">"שימוש בפנים שלך כדי לאמת"</string>
-    <string name="security_settings_face_enroll_introduction_message" msgid="6150611993438981458">"ניתן להשתמש בפנים שלך כדי לבטל את נעילת הטלפון, לאשר רכישות או להיכנס אל אפליקציות."</string>
-    <string name="security_settings_face_enroll_introduction_message_unlock_disabled" msgid="6300341727101929207">"להשתמש בך"</string>
-    <string name="security_settings_face_enroll_introduction_message_setup" msgid="5704661081718707858">"ניתן להשתמש בפנים שלך כדי לבטל את נעילת הטלפון, לאשר רכישות או להיכנס אל אפליקציות"</string>
+    <string name="security_settings_face_enroll_introduction_title" msgid="2694505011712885439">"ביטול נעילה באמצעות אימות פנים"</string>
+    <string name="security_settings_face_enroll_introduction_title_unlock_disabled" msgid="8180330567034286589">"שימוש באימות פנים"</string>
+    <string name="security_settings_face_enroll_introduction_message" msgid="6150611993438981458">"ניתן להשתמש באימות פנים כדי לבטל את נעילת הטלפון, לאשר רכישות או להיכנס אל אפליקציות."</string>
+    <string name="security_settings_face_enroll_introduction_message_unlock_disabled" msgid="6300341727101929207">"להשתמש באימות פנים"</string>
+    <string name="security_settings_face_enroll_introduction_message_setup" msgid="5704661081718707858">"ניתן להשתמש באימות פנים כדי לבטל את נעילת הטלפון, לאשר רכישות או להיכנס אל אפליקציות"</string>
     <string name="face_add_max" msgid="2342250989212694454">"ניתן להוסיף עד <xliff:g id="COUNT">%d</xliff:g> טביעות אצבע"</string>
-    <string name="face_intro_error_max" msgid="160022811747660581">"הוספת את מספר הפנים המרבי"</string>
-    <string name="face_intro_error_unknown" msgid="6367721696446677261">"לא ניתן להוסיף עוד פנים"</string>
+    <string name="face_intro_error_max" msgid="160022811747660581">"הוספת את המספר המרבי של פנים לאימות"</string>
+    <string name="face_intro_error_unknown" msgid="6367721696446677261">"לא ניתן להוסיף עוד פנים לאימות"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"טביעת אצבע"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"נהל טביעות אצבע"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"השתמש בטביעות אצבע ל-"</string>
@@ -557,7 +555,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="1196620299595657479">"אימות פנים + קוד גישה"</string>
     <string name="face_unlock_set_unlock_password" msgid="223117276773907474">"אימות פנים + סיסמה"</string>
     <string name="face_unlock_skip_face" msgid="6362883392838482791">"המשך ללא אימות פנים"</string>
-    <string name="face_unlock_title" msgid="9042382084472444316">"ניתן לבטל את נעילת הטלפון באמצעות הפנים שלך. מטעמי אבטחה, אפשרות זו מחייבת נעילת מסך לגיבוי."</string>
+    <string name="face_unlock_title" msgid="9042382084472444316">"ניתן לבטל את נעילת הטלפון באמצעות אימות פנים. מטעמי אבטחה, אפשרות זו מחייבת נעילת מסך לגיבוי."</string>
     <string name="unlock_set_unlock_disabled_summary" msgid="2051593894736282302">"הושבת על ידי מדיניות ההצפנה של מנהל המכשיר, או אחסון פרטי כניסה"</string>
     <string name="unlock_set_unlock_mode_off" msgid="5881952274566013651">"ללא"</string>
     <string name="unlock_set_unlock_mode_none" msgid="8467360084676871617">"החלקה"</string>
@@ -737,7 +735,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"מחפש…"</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"הגדרות המכשיר"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"מכשיר מותאם"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"שם"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"חיבור אינטרנט"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"מקלדת"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"אנשי קשר והיסטוריית שיחות"</string>
@@ -745,7 +742,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"האם לשתף את ספר הטלפונים?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> רוצה לגשת אל אנשי הקשר והיסטוריית השיחות שלך."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"‏<xliff:g id="DEVICE_NAME">%1$s</xliff:g> רוצה לבצע התאמה עם Bluetooth. לאחר החיבור, תהיה לו גישה לאנשי הקשר ולהיסטוריית השיחות שלך."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"מכשירים מותאמים"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"מכשירים זמינים"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"אין מכשירים זמינים"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"התחברות"</string>
@@ -1138,7 +1134,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"בהירות"</string>
     <string name="brightness_summary" msgid="838917350127550703">"התאם את בהירות המסך"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"בהירות מותאמת"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"התאמת רמת הבהירות לפי התאורה הזמינה"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"כבויה"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"הבהירות המועדפת נמוכה מאוד"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"הבהירות המועדפת נמוכה"</string>
@@ -1655,9 +1652,9 @@
     <string name="lockpassword_password_set_toast" msgid="4875050283108629383">"הסיסמה הוגדרה"</string>
     <string name="lockpassword_pin_set_toast" msgid="6011826444725291475">"קוד גישה הוגדר"</string>
     <string name="lockpassword_pattern_set_toast" msgid="6867259621331406236">"הוגדר קו לביטול נעילה"</string>
-    <string name="lockpassword_choose_your_password_header_for_face" msgid="7876621019688907534">"כדי להשתמש באימות פנים, צריך להגדיר סיסמה"</string>
-    <string name="lockpassword_choose_your_pattern_header_for_face" msgid="8070525076987585344">"כדי להשתמש באימות פנים, צריך להגדיר קו ביטול נעילה"</string>
-    <string name="lockpassword_choose_your_pin_header_for_face" msgid="7304398683609714816">"כדי להשתמש באימות פנים, צריך להגדיר קוד גישה"</string>
+    <string name="lockpassword_choose_your_password_header_for_face" msgid="7876621019688907534">"הגדרת גיבוי לאימות פנים"</string>
+    <string name="lockpassword_choose_your_pattern_header_for_face" msgid="8070525076987585344">"הגדרת גיבוי לאימות פנים"</string>
+    <string name="lockpassword_choose_your_pin_header_for_face" msgid="7304398683609714816">"הגדרת גיבוי לאימות פנים"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="2920960858283879113">"השתמש בקו ביטול הנעילה של המכשיר כדי להמשיך"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="4062335874438910487">"הזן את קוד הגישה של המכשיר כדי להמשיך"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="3976394862548354966">"הזן את סיסמת המכשיר כדי להמשיך"</string>
@@ -3550,9 +3547,9 @@
     <string name="encryption_interstitial_message_pin_for_fingerprint" msgid="4550632760119547492">"בנוסף לשימוש בטביעת אצבע כדי לבטל את הנעילה של המכשיר, ניתן להגביר את ההגנה עליו על ידי דרישה להזנת קוד גישה לפני שהוא מופעל. עד שהמכשיר יופעל, הוא לא יוכל לקבל שיחות, הודעות או התראות, כולל התראות קוליות.\n\nהדבר יסייע להגן על נתונים במכשירים שאבדו או נגנבו. האם לדרוש הזנה של קוד גישה כדי להפעיל את המכשיר?"</string>
     <string name="encryption_interstitial_message_pattern_for_fingerprint" msgid="932184823193006087">"בנוסף לשימוש בטביעת אצבע כדי לבטל את הנעילה של המכשיר, ניתן להגביר את ההגנה עליו על ידי דרישה לסמן את קו ביטול הנעילה לפני שהוא מופעל. עד שהמכשיר יופעל, הוא לא יוכל לקבל שיחות, הודעות או התראות, כולל התראות קוליות.\n\nהדבר יסייע להגן על נתונים במכשירים שאבדו או נגנבו. האם לדרוש סימון של קו ביטול הנעילה כדי להפעיל את המכשיר?"</string>
     <string name="encryption_interstitial_message_password_for_fingerprint" msgid="5560954719370251702">"כדי לשפר את רמת האבטחה של המכשיר בנוסף לביטול הנעילה באמצעות טביעת אצבע, תוכל להגדיר את המכשיר כך שתידרש להזין סיסמה לפני הפעלתו. עד להפעלה של המכשיר, לא ניתן לקבל שיחות, הודעות או הודעות.\n\nכך, תוכל להגן על הנתונים אם המכשיר ייגנב או יאבד. לדרוש סיסמה להפעלת המכשיר?"</string>
-    <string name="encryption_interstitial_message_pin_for_face" msgid="2017438765366716760">"בנוסף לשימוש בפנים שלך לביטול הנעילה של המכשיר, ניתן לשפר את הגנת המכשיר על ידי דרישת קוד גישה לפני הפעלתו. עד להפעלה של המכשיר, לא ניתן לקבל שיחות, הודעות או התראות.\n\nכך, אפשר להגן על הנתונים אם המכשיר ייגנב או יאבד. לדרוש קוד גישה להפעלת המכשיר?"</string>
-    <string name="encryption_interstitial_message_pattern_for_face" msgid="3551827507967661552">"בנוסף לשימוש בפנים שלך לביטול הנעילה של המכשיר, ניתן לשפר את הגנת המכשיר על ידי דרישה של קו ביטול הנעילה לפני הפעלתו. עד להפעלה של המכשיר, לא ניתן לקבל שיחות, הודעות או התראות.\n\nכך, אפשר להגן על הנתונים אם המכשיר ייגנב או יאבד. לדרוש קו ביטול נעילה להפעלת המכשיר?"</string>
-    <string name="encryption_interstitial_message_password_for_face" msgid="3452793542112093614">"בנוסף לשימוש בפנים שלך לביטול הנעילה של המכשיר, ניתן לשפר את הגנת המכשיר על ידי דרישת סיסמה לפני הפעלתו. עד להפעלה של המכשיר, לא ניתן לקבל שיחות, הודעות או התראות.\n\nכך, אפשר להגן על הנתונים אם המכשיר ייגנב או יאבד. לדרוש סיסמה להפעלת המכשיר?"</string>
+    <string name="encryption_interstitial_message_pin_for_face" msgid="2017438765366716760">"בנוסף לביטול הנעילה של המכשיר באמצעות אימות פנים, ניתן לשפר את הגנת המכשיר על ידי דרישת קוד גישה לפני הפעלתו. כל עוד המכשיר לא יופעל, לא ניתן יהיה לקבל שיחות, הודעות או התראות.\n\nכך, אפשר להגן על הנתונים אם המכשיר ייגנב או יאבד. לדרוש קוד גישה להפעלת המכשיר?"</string>
+    <string name="encryption_interstitial_message_pattern_for_face" msgid="3551827507967661552">"בנוסף לביטול הנעילה של המכשיר באמצעות אימות פנים, ניתן לשפר את הגנת המכשיר על ידי דרישת קו ביטול נעילה לפני הפעלתו. כל עוד המכשיר לא יופעל, לא ניתן יהיה לקבל שיחות, הודעות או התראות.\n\nכך, אפשר להגן על הנתונים אם המכשיר ייגנב או יאבד. לדרוש קו ביטול נעילה להפעלת המכשיר?"</string>
+    <string name="encryption_interstitial_message_password_for_face" msgid="3452793542112093614">"בנוסף לביטול הנעילה של המכשיר באמצעות אימות פנים, ניתן לשפר את הגנת המכשיר על ידי דרישת סיסמה לפני הפעלתו. כל עוד המכשיר לא יופעל, לא ניתן יהיה לקבל שיחות, הודעות או התראות.\n\nכך, אפשר להגן על הנתונים אם המכשיר ייגנב או יאבד. לדרוש סיסמה להפעלת המכשיר?"</string>
     <string name="encryption_interstitial_yes" msgid="4439509435889513411">"כן"</string>
     <string name="encryption_interstitial_no" msgid="8935031349097025137">"לא"</string>
     <string name="restricted_true_label" msgid="4761453839409220473">"מוגבל"</string>
@@ -4267,12 +4264,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"שירות מילוי אוטומטי"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"‏אוטומטי, אוטומטית, מילוי, מילוי אוטומטי, autofill"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"‏&lt;b&gt;ודא שאתה סומך על האפליקציה הזו&lt;/b&gt;‏ ‏&lt;br/&gt; &lt;br/&gt;‏ ‏&lt;xliff:g id=app_name example=Google Autofill&gt;‏%1$s‏&lt;/xliff:g&gt; ניגשת למידע המופיע במסך כדי לזהות אילו שדות אפשר למלא באופן אוטומטי."</string>
-    <string name="color_theme" msgid="1535685696756738324">"עיצוב צבעים"</string>
-    <string name="default_theme" msgid="7085644992078579076">"ברירת מחדל"</string>
     <string name="device_theme" msgid="4571803018917608588">"עיצוב המכשיר"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"אוטומטי (מבוסס על טפט)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"בהיר"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"כהה"</string>
+    <string name="default_theme" msgid="7085644992078579076">"ברירת מחדל"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"שם הרשת"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"הצגת שם הרשת בשורת הסטטוס"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"מנהל אחסון: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-ja/arrays.xml b/res/values-ja/arrays.xml
index 12530e5..d75a8d5 100644
--- a/res/values-ja/arrays.xml
+++ b/res/values-ja/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"常に ON"</item>
     <item msgid="6385301106124765323">"常に OFF"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index c6bff22..15843e2 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"端末の Bluetooth アドレス: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>を切断しますか？"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"ブロードキャスト"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"プロファイルを無効にしますか？"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"次のプロファイルが無効になります:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;対象デバイス:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"名前のないBluetoothデバイス"</string>
     <string name="progress_scanning" msgid="192587958424295789">"検索中"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"検索中..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"デバイスの設定"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"ペア設定したデバイス"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"名前"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"インターネット接続"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"キーボード"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"連絡先と通話履歴"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"電話帳を共有する"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>が連絡先と通話履歴にアクセスしようとしています。"</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>がBluetoothとペア設定しようとしています。接続されると、連絡先や通話履歴にアクセスします。"</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"ペア設定したデバイス"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"使用可能なデバイス"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"利用可能なデバイスがありません"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"接続"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"明るさ"</string>
     <string name="brightness_summary" msgid="838917350127550703">"画面の明るさを調整する"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"明るさの自動調節"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"周囲に合わせて明るさを最適化する"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"OFF"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"優先する明るさは「非常に低い」です"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"優先する明るさは「低」です"</string>
@@ -4123,12 +4120,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"自動入力サービス"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"自動, 入力, 自動入力"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;このアプリが信頼できることを確認してください&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; は画面上の内容に基づいて、入力可能な情報を判別します。"</string>
-    <string name="color_theme" msgid="1535685696756738324">"色のテーマ"</string>
-    <string name="default_theme" msgid="7085644992078579076">"デフォルト"</string>
     <string name="device_theme" msgid="4571803018917608588">"端末のテーマ"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"自動（壁紙に基づく）"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"ライト"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"ダーク"</string>
+    <string name="default_theme" msgid="7085644992078579076">"デフォルト"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"ネットワーク名"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"ステータスバーにネットワーク名を表示する"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"ストレージ マネージャ: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-ka/arrays.xml b/res/values-ka/arrays.xml
index e117412..729eba9 100644
--- a/res/values-ka/arrays.xml
+++ b/res/values-ka/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"ყოველთვის ჩართული"</item>
     <item msgid="6385301106124765323">"ყოველთვის გამორთული"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
index 56fe439..9bef15c 100644
--- a/res/values-ka/strings.xml
+++ b/res/values-ka/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"მოწყობილობის Bluetooth-მისამართი: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"გაწყდეს კავშირი <xliff:g id="DEVICE_NAME">%1$s</xliff:g>-თან?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"მაუწყებლობა"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"გავაუქმოთ პროფილი?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"პროფილი &lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;-გამოირთვება მოწყობილობაზე&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"უსახელო Bluetooth მოწყობილობა"</string>
     <string name="progress_scanning" msgid="192587958424295789">"მიმდინარეობს ძიება"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"ძიება…"</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"მოწყობილობის პარამეტრები"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"დაწყვილებული მოწყობილობა"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"სახელი"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"ინტერნეტთან კავშირი"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"კლავიატურა"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"კონტაქტების და ზარების ისტორია"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"გსურთ სატელეფონო წიგნის გაზიარება?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>-ს სურს თქვენს კონტაქტებსა და ზარების ჟურნალთან დაკავშირება."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>-ს Bluetooth-თან დაწყვილების სეერვისის საცდელად მივდივარ. დაკავშირების შემდეგ, მას შეეძლებოდა თქვენ დედა მილიტია/ს, it will have access to your contacts and call history."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"დაწყვილებული მოწყობილობები"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"ხელმისაწვდომი მოწყობილობები"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"მოწყობილობები მიუწვდომელია"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"დაკავშირება"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"სიკაშკაშე"</string>
     <string name="brightness_summary" msgid="838917350127550703">"ეკრანის სინათლის შესწორება"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"მორგებადი სიკაშკაშე"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"სიკაშკაშის არსებულ სინათლეზე მორგება"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"გამორთული"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"სიკაშკაშის სასურველ დონედ დაყენებულია ძალიან დაბალი"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"სიკაშკაშის სასურველ დონედ დაყენებულია დაბალი"</string>
@@ -4119,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"ავტომატური შევსების სერვისი"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"ავტომატური, შევსება, ავტოშევსება"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;დარწმუნდით, რომ ენდობით ამ აპს&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google-ის ავტომატური შევსება&gt;%1$s&lt;/xliff:g&gt; იყენებს თქვენს ეკრანზე არსებულ კონტენტს, რათა გაარკვიოს, რა შეიძლება შეივსოს ავტომატურად."</string>
-    <string name="color_theme" msgid="1535685696756738324">"ფერთა თემა"</string>
-    <string name="default_theme" msgid="7085644992078579076">"ნაგულისხმევი"</string>
     <string name="device_theme" msgid="4571803018917608588">"მოწყობილობის თემა"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"ავტომატური (ფონის მიხედვით)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"ნათურა"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"მუქი"</string>
+    <string name="default_theme" msgid="7085644992078579076">"ნაგულისხმევი"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"ქსელის სახელი"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"ქსელის სახელის სტატუსის ზოლში ჩვენება"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"მეხსიერების მენეჯერი: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-kk/arrays.xml b/res/values-kk/arrays.xml
index 9a522c5..df61552 100644
--- a/res/values-kk/arrays.xml
+++ b/res/values-kk/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Үнемі қосулы"</item>
     <item msgid="6385301106124765323">"Үнемі өшірулі"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index dd51dc6..2de6b6c 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Құрылғының Bluetooth мекенжайы: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ажырату керек пе?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Хабар тарату"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Профайл істен шығарылсын ба?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Бұл келесі профайлды істен шығарады:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;From:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Атауы жоқ Bluetooth құрылғысы"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Іздеуде..."</string>
@@ -392,30 +390,18 @@
     <string name="security_status_title" msgid="5848766673665944640">"Қауіпсіздік күйі"</string>
     <string name="security_dashboard_summary" msgid="6757421634477554939">"Экранды құлыптау, саусақ ізі"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="8129641548372335540">"Экранды құлыптау"</string>
-    <!-- no translation found for security_settings_face_preference_summary (1290187225482642821) -->
-    <skip />
-    <!-- no translation found for security_settings_face_preference_summary_none (5460349732790152186) -->
-    <skip />
-    <!-- no translation found for security_settings_face_preference_title (7074548721778680481) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_cancel (4277182322482408514) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_title (2694505011712885439) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_title_unlock_disabled (8180330567034286589) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_message (6150611993438981458) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_message_unlock_disabled (6300341727101929207) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_message_setup (5704661081718707858) -->
-    <skip />
-    <!-- no translation found for face_add_max (2342250989212694454) -->
-    <skip />
-    <!-- no translation found for face_intro_error_max (160022811747660581) -->
-    <skip />
-    <!-- no translation found for face_intro_error_unknown (6367721696446677261) -->
-    <skip />
+    <string name="security_settings_face_preference_summary" msgid="1290187225482642821">"Бет енгізілді"</string>
+    <string name="security_settings_face_preference_summary_none" msgid="5460349732790152186">"Түртіп, бетті тану функциясын реттеңіз"</string>
+    <string name="security_settings_face_preference_title" msgid="7074548721778680481">"Бетті тану"</string>
+    <string name="security_settings_face_enroll_introduction_cancel" msgid="4277182322482408514">"Бас тарту"</string>
+    <string name="security_settings_face_enroll_introduction_title" msgid="2694505011712885439">"Құлыпты бет көрсетіп ашу"</string>
+    <string name="security_settings_face_enroll_introduction_title_unlock_disabled" msgid="8180330567034286589">"Бет арқылы тану мүмкіндігін пайдаланыңыз"</string>
+    <string name="security_settings_face_enroll_introduction_message" msgid="6150611993438981458">"Телефоныңыздың құлпын ашу, сатып алу транзакцияларына рұқсат беру немесе қолданбаларға кіру үшін бетті тану функциясын қолданыңыз."</string>
+    <string name="security_settings_face_enroll_introduction_message_unlock_disabled" msgid="6300341727101929207">"Бетіңізді қолданыңыз"</string>
+    <string name="security_settings_face_enroll_introduction_message_setup" msgid="5704661081718707858">"Телефоныңыздың құлпын ашу, сатып алу транзакцияларына рұқсат беру немесе қолданбаларға кіру үшін бетті тану функциясын қолданыңыз"</string>
+    <string name="face_add_max" msgid="2342250989212694454">"<xliff:g id="COUNT">%d</xliff:g> саусақ ізіне дейін енгізуге болады"</string>
+    <string name="face_intro_error_max" msgid="160022811747660581">"Беттерді енгізуге болатын мүмкіндіктердің барлығын қолданып қойдыңыз"</string>
+    <string name="face_intro_error_unknown" msgid="6367721696446677261">"Енді бет енгізу мүмкін емес"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Саусақ ізі"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Саусақ таңбасын бас-у"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Саусақ таңбасын пайд-у"</string>
@@ -527,14 +513,12 @@
     <string name="setup_lock_settings_picker_title" product="tablet" msgid="90329443364067215">"Планшетті қорғау"</string>
     <string name="setup_lock_settings_picker_title" product="device" msgid="2399952075134938929">"Құрылғыны қорғау"</string>
     <string name="setup_lock_settings_picker_title" product="default" msgid="1572244299605153324">"Телефонды қорғау"</string>
-    <!-- no translation found for lock_settings_picker_biometrics_added_security_message (1507307757032207572) -->
-    <skip />
+    <string name="lock_settings_picker_biometrics_added_security_message" msgid="1507307757032207572">"Қауіпсіздікті күшейту үшін қосымша экран құлпын орнатыңыз"</string>
     <string name="setup_lock_settings_picker_message" product="tablet" msgid="8919671129189936210">"құрылғы қорғау мүмкіндіктерін іске қосу арқылы сіздің рұқсатыңызсыз планшетті басқалардың пайдалануына жол бермеңіз. Пайдаланғыңыз келетін экран құлпын таңдаңыз."</string>
     <string name="setup_lock_settings_picker_message" product="device" msgid="3787276514406353777">"Құрылғыны қорғау мүмкіндіктерін белсендіру арқылы басқалардың осы құрылғыны рұқсатыңызсыз пайдалануын болдырмаңыз. Пайдаланғыңыз келетін экран бекітпесін таңдаңыз."</string>
     <string name="setup_lock_settings_picker_message" product="default" msgid="3692856437543730446">"Құрылғыны қорғау мүмкіндіктерін белсендіру арқылы басқалардың осы телефонды рұқсатыңызсыз пайдалануын болдырмаңыз. Пайдаланғыңыз келетін экран бекітпесін таңдаңыз."</string>
     <string name="lock_settings_picker_fingerprint_message" msgid="4755230324778371292">"Сақтық көшірме экранын құлыптау әдісін таңдаңыз"</string>
-    <!-- no translation found for lock_settings_picker_face_message (197106534637556054) -->
-    <skip />
+    <string name="lock_settings_picker_face_message" msgid="197106534637556054">"Қосымша экран құлпы әдісін таңдаңыз"</string>
     <string name="setup_lock_settings_options_button_label" msgid="8511153243629402929">"Экран құлпы опциялары"</string>
     <string name="setup_lock_settings_options_dialog_title" msgid="5058207955455973917">"Экран құлпы опциялары"</string>
     <string name="unlock_set_unlock_launch_picker_title" msgid="2084576942666016993">"Экран құлпы"</string>
@@ -561,16 +545,11 @@
     <string name="fingerprint_unlock_set_unlock_password" msgid="7351131075806338634">"Саусақ ізі + құпия сөз"</string>
     <string name="fingerprint_unlock_skip_fingerprint" msgid="1441077909803666681">"Саусақ ізін пайдаланбау"</string>
     <string name="fingerprint_unlock_title" msgid="2826226740306003991">"Телефон құлпын саусақ ізімен ашуға болады. Бұл опция қауіпсіздік мақсатында қосымша экран құлпын қажет етеді."</string>
-    <!-- no translation found for face_unlock_set_unlock_pattern (8792301636367000123) -->
-    <skip />
-    <!-- no translation found for face_unlock_set_unlock_pin (1196620299595657479) -->
-    <skip />
-    <!-- no translation found for face_unlock_set_unlock_password (223117276773907474) -->
-    <skip />
-    <!-- no translation found for face_unlock_skip_face (6362883392838482791) -->
-    <skip />
-    <!-- no translation found for face_unlock_title (9042382084472444316) -->
-    <skip />
+    <string name="face_unlock_set_unlock_pattern" msgid="8792301636367000123">"Бетті тану+ өрнек"</string>
+    <string name="face_unlock_set_unlock_pin" msgid="1196620299595657479">"Бетті тану + PIN коды"</string>
+    <string name="face_unlock_set_unlock_password" msgid="223117276773907474">"Бетті тану + құпия сөз"</string>
+    <string name="face_unlock_skip_face" msgid="6362883392838482791">"Бетті тану қадамын өткізіп жіберіңіз"</string>
+    <string name="face_unlock_title" msgid="9042382084472444316">"Телефонның құлпын бетті тану функциясымен ашуға болады. Қауіпсіздік мақсатында бұл опцияға қосымша экран құлпы керек болады."</string>
     <string name="unlock_set_unlock_disabled_summary" msgid="2051593894736282302">"Әкімші, шифрлау саясаты немесе тіркелкі деректерінің жады өшірген"</string>
     <string name="unlock_set_unlock_mode_off" msgid="5881952274566013651">"Ешқандай"</string>
     <string name="unlock_set_unlock_mode_none" msgid="8467360084676871617">"Экранды сырғыту"</string>
@@ -726,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Іздеуде..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Құрылғы параметрлері"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Жұпталған құрылғы"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Аты"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Интернет байланысы"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Пернетақта"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Контактілер және қоңыраулар тарихы"</string>
@@ -734,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Телефон кітапшасын бөлісу керек пе?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> контактілерге және қоңыраулар тарихына қатынасқысы келеді."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> Bluetooth көмегімен жұптағысы келеді. Қосылған кезде бұл құрылғыда контактілеріңізге және қоңыраулар тарихына қатынас болады."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Жұптасқан құрылғылар"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Қолжетімді құрылғылар"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Құрылғылар қол жетімді емес"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Жалғау"</string>
@@ -1125,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Жарықтығы"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Экранның жарықтығын реттеу"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Бейімделгіш жарықтық"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Ортадағы жарықтандыруға сәйкес жарықтық деңгейін оңтайландыру"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Өшірулі"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Өте төмен жарық деңгейі таңдалған"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Төмен жарық деңгейі таңдалған"</string>
@@ -1640,12 +1618,9 @@
     <string name="lockpassword_password_set_toast" msgid="4875050283108629383">"Құпия сөз тағайындалды"</string>
     <string name="lockpassword_pin_set_toast" msgid="6011826444725291475">"PIN тағайындалды"</string>
     <string name="lockpassword_pattern_set_toast" msgid="6867259621331406236">"Кескін реттелді"</string>
-    <!-- no translation found for lockpassword_choose_your_password_header_for_face (7876621019688907534) -->
-    <skip />
-    <!-- no translation found for lockpassword_choose_your_pattern_header_for_face (8070525076987585344) -->
-    <skip />
-    <!-- no translation found for lockpassword_choose_your_pin_header_for_face (7304398683609714816) -->
-    <skip />
+    <string name="lockpassword_choose_your_password_header_for_face" msgid="7876621019688907534">"Бетті тану функциясына құпия сөз қажет"</string>
+    <string name="lockpassword_choose_your_pattern_header_for_face" msgid="8070525076987585344">"Бетті тану функциясына өрнек қажет"</string>
+    <string name="lockpassword_choose_your_pin_header_for_face" msgid="7304398683609714816">"Бетті тану функциясына PIN коды қажет"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="2920960858283879113">"Жалғастыру үшін құрылғының құлып өрнегін пайдаланыңыз"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="4062335874438910487">"Жалғастыру үшін құрылғы PIN кодын енгізіңіз"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="3976394862548354966">"Жалғастыру үшін құрылғы құпия сөзін енгізіңіз"</string>
@@ -3056,8 +3031,7 @@
     <string name="keywords_systemui_theme" msgid="9112852512550404882">"күңгірт тақырып"</string>
     <string name="keywords_device_feedback" msgid="564493721125966719">"қате"</string>
     <string name="keywords_ambient_display_screen" msgid="5874969496073249362">"Қосулы экран, құлып экраны"</string>
-    <!-- no translation found for keywords_face_settings (7505388678116799329) -->
-    <skip />
+    <string name="keywords_face_settings" msgid="7505388678116799329">"бет"</string>
     <string name="keywords_fingerprint_settings" msgid="239222512315619538">"саусақ ізі"</string>
     <string name="keywords_display_auto_brightness" msgid="4130320471533951796">"күңгірт экран, сенсорлық экран, батарея, ақылды жарықтық, динамикалық жарықтық"</string>
     <string name="keywords_auto_rotate" msgid="5620879898668211494">"бұру, аудару, айналдыру, портреттік, альбомдық, бағыт, тік, көлденең"</string>
@@ -3475,12 +3449,9 @@
     <string name="encryption_interstitial_message_pin_for_fingerprint" msgid="4550632760119547492">"Құрылғы құлпын ашу үшін саусақ ізін пайдаланумен бірге, іске қосардың алдында PIN кодын талап ету арқылы оның қауіпсіздігін күшейтуге болады. Ол іске қосылмайынша, қоңырауларды, хабарларды немесе хабарландыруларды, соның ішінде дабылдарды қабылдай алмайды.\n\nБұл жоғалған немесе ұрланған құрылғылардағы деректерді қорғауға көмектеседі. Құрылғыны іске қосу үшін PIN кодын талап ету керек пе?"</string>
     <string name="encryption_interstitial_message_pattern_for_fingerprint" msgid="932184823193006087">"Құрылғы құлпын ашу үшін саусақ ізін пайдаланумен бірге, іске қосардың алдында өрнекті енгізуді талап ету арқылы оның қауіпсіздігін күшейтуге болады. Ол іске қосылмайынша, қоңырауларды, хабарларды немесе хабарландыруларды, соның ішінде дабылдарды қабылдай алмайды.\n\nБұл жоғалған немесе ұрланған құрылғылардағы деректерді қорғауға көмектеседі. Құрылғыны іске қосу үшін өрнекті талап ету керек пе?"</string>
     <string name="encryption_interstitial_message_password_for_fingerprint" msgid="5560954719370251702">"Құрылғы құлпын ашу үшін саусақ ізін пайдаланумен бірге, іске қосардың алдында құпия сөз талап ету арқылы оны қорғай аласыз. Құрылғы іске қосылмайынша, қоңырауларды, хабарларды немесе хабарландыруларды, соның ішінде дабылдарды қабылдай алмайды.\n\nБұл жоғалған немесе ұрланған құрылғылардағы деректерді қорғауға көмектеседі. Құрылғыны іске қосу үшін құпия сөз талап ету керек пе?"</string>
-    <!-- no translation found for encryption_interstitial_message_pin_for_face (2017438765366716760) -->
-    <skip />
-    <!-- no translation found for encryption_interstitial_message_pattern_for_face (3551827507967661552) -->
-    <skip />
-    <!-- no translation found for encryption_interstitial_message_password_for_face (3452793542112093614) -->
-    <skip />
+    <string name="encryption_interstitial_message_pin_for_face" msgid="2017438765366716760">"Құрылғының құлпын ашу үшін бетті тану функциясын қолданумен қатар, құрылғыны іске қосу алдында PIN кодын енгізу сұралатын етіп қауіпсіздік функциясын реттеуіңізге болады. Құрылғы іске қосылмайынша, ол қоңырауларды, хабарларды немесе хабарландыруларды (дабылдарды қоса) қабылдай алмайды.\n\nҚұрылғыларыңыз жоғалса немесе ұрланса, бұл функция деректеріңізді қорғауға көмектесетін болады. Құрылғыны іске қосқанда, PIN кодын енгізу сұралсын ба?"</string>
+    <string name="encryption_interstitial_message_pattern_for_face" msgid="3551827507967661552">"Құрылғының құлпын ашу үшін бетті тану функциясын қолданумен қатар, құрылғыны іске қосу алдында өрнек сызу сұралатын етіп қауіпсіздік функциясын реттеуіңізге болады. Құрылғы іске қосылмайынша, ол қоңырауларды, хабарларды немесе хабарландыруларды (дабылдарды қоса) қабылдай алмайды.\n\nҚұрылғыларыңыз жоғалса немесе ұрланса, бұл функция деректеріңізді қорғауға көмектесетін болады. Құрылғыны іске қосқанда, өрнекті сызу сұралсын ба?"</string>
+    <string name="encryption_interstitial_message_password_for_face" msgid="3452793542112093614">"Құрылғының құлпын ашу үшін бетті тану функциясын қолданумен қатар, құрылғыны іске қосу алдында құпия сөз сұралатын етіп қауіпсіздік функциясын реттеуіңізге болады. Құрылғы іске қосылмайынша, ол қоңырауларды, хабарларды немесе хабарландыруларды (дабылдарды қоса) қабылдай алмайды.\n\nҚұрылғыларыңыз жоғалса немесе ұрланса, бұл функция деректеріңізді қорғауға көмектесетін болады. Құрылғыны іске қосқанда, құпия сөз сұралсын ба?"</string>
     <string name="encryption_interstitial_yes" msgid="4439509435889513411">"Иә"</string>
     <string name="encryption_interstitial_no" msgid="8935031349097025137">"Жоқ"</string>
     <string name="restricted_true_label" msgid="4761453839409220473">"Шектелген"</string>
@@ -4145,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Автотолтыру қызметі"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"авто, толтыру, автотолтыру"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Осы қолданбаның қауіпсіз екеніне көз жеткізіңіз&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; экранда көрсетілгенді пайдаланып, нені автоматты түрде толтыруға болатынын анықтайды."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Түс тақырыбы"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Әдепкі"</string>
     <string name="device_theme" msgid="4571803018917608588">"Құрылғы тақырыбы"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Автоматты (тұсқағаз негізінде)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Жарық"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Қараңғы"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Әдепкі"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Желі атауы"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Күй жолағында желі атауын көрсету"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Жад менеджері: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-km/arrays.xml b/res/values-km/arrays.xml
index f5cfd77..537c3b3 100644
--- a/res/values-km/arrays.xml
+++ b/res/values-km/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"បើក​ជានិច្ច"</item>
     <item msgid="6385301106124765323">"បិទជានិច្ច"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
index d8ab611..cb2cc6f 100644
--- a/res/values-km/strings.xml
+++ b/res/values-km/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"អាសយដ្ឋាន​ប៊្លូធូស​របស់ឧបករណ៍៖ <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"ផ្ដាច់ <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"ការ​ផ្សាយ"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"បិទ​ប្រវត្តិរូប?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"វា​នឹង​បិទ៖&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;ពី៖&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"ឧបករណ៍​ប៊្លូធូស​គ្មាន​ឈ្មោះ"</string>
     <string name="progress_scanning" msgid="192587958424295789">"ស្វែងរក"</string>
@@ -392,18 +390,18 @@
     <string name="security_status_title" msgid="5848766673665944640">"ស្ថានភាព​សុវត្ថិភាព"</string>
     <string name="security_dashboard_summary" msgid="6757421634477554939">"ការចាក់សោអេក្រង់ ស្នាមម្រាមដៃ"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="8129641548372335540">"ការចាក់សោអេក្រង់"</string>
-    <string name="security_settings_face_preference_summary" msgid="1290187225482642821">"បាន​បញ្ចូល​ផ្ទៃមុខ"</string>
-    <string name="security_settings_face_preference_summary_none" msgid="5460349732790152186">"ចុច​ដើម្បី​រៀបចំ​ការ​ផ្ទៀងផ្ទាត់​ផ្ទៃមុខ"</string>
-    <string name="security_settings_face_preference_title" msgid="7074548721778680481">"ការ​ផ្ទៀងផ្ទាត់​ផ្ទៃមុខ"</string>
+    <string name="security_settings_face_preference_summary" msgid="1290187225482642821">"បាន​បញ្ចូល​មុខ"</string>
+    <string name="security_settings_face_preference_summary_none" msgid="5460349732790152186">"ចុច​ដើម្បី​រៀបចំ​ការ​ផ្ទៀងផ្ទាត់​មុខ"</string>
+    <string name="security_settings_face_preference_title" msgid="7074548721778680481">"ការ​ផ្ទៀងផ្ទាត់​មុខ"</string>
     <string name="security_settings_face_enroll_introduction_cancel" msgid="4277182322482408514">"បោះបង់"</string>
-    <string name="security_settings_face_enroll_introduction_title" msgid="2694505011712885439">"ដោះសោ​ដោយប្រើ​ផ្ទៃមុខ​របស់អ្នក"</string>
-    <string name="security_settings_face_enroll_introduction_title_unlock_disabled" msgid="8180330567034286589">"ប្រើ​ផ្ទៃមុខ​របស់អ្នកដើម្បីផ្ទៀងផ្ទាត់"</string>
-    <string name="security_settings_face_enroll_introduction_message" msgid="6150611993438981458">"ប្រើ​ផ្ទៃមុខ​របស់អ្នក ដើម្បី​ដោះសោ​ទូរសព្ទ អនុញ្ញាត​ការទិញ ឬ​ចូលកម្មវិធីជាដើម។"</string>
+    <string name="security_settings_face_enroll_introduction_title" msgid="2694505011712885439">"ដោះសោ​ដោយប្រើ​មុខ​របស់អ្នក"</string>
+    <string name="security_settings_face_enroll_introduction_title_unlock_disabled" msgid="8180330567034286589">"ប្រើ​មុខ​របស់អ្នកដើម្បីផ្ទៀងផ្ទាត់"</string>
+    <string name="security_settings_face_enroll_introduction_message" msgid="6150611993438981458">"ប្រើ​មុខ​របស់អ្នក ដើម្បី​ដោះសោ​ទូរសព្ទ អនុញ្ញាត​ការទិញ ឬ​ចូលកម្មវិធី។"</string>
     <string name="security_settings_face_enroll_introduction_message_unlock_disabled" msgid="6300341727101929207">"ប្រើ​អ្នក"</string>
-    <string name="security_settings_face_enroll_introduction_message_setup" msgid="5704661081718707858">"ប្រើ​ផ្ទៃមុខ​របស់អ្នក ដើម្បី​ដោះសោ​ទូរសព្ទ អនុញ្ញាត​ការទិញ ឬ​ចូលកម្មវិធីជាដើម"</string>
+    <string name="security_settings_face_enroll_introduction_message_setup" msgid="5704661081718707858">"ប្រើមុខ​របស់អ្នក ដើម្បី​ដោះសោ​ទូរសព្ទ អនុញ្ញាត​ការទិញ ឬ​ចូលកម្មវិធី"</string>
     <string name="face_add_max" msgid="2342250989212694454">"អ្នកអាចបញ្ចូលស្នាមម្រាមដៃរហូតដល់ <xliff:g id="COUNT">%d</xliff:g>"</string>
-    <string name="face_intro_error_max" msgid="160022811747660581">"អ្នក​បាន​បញ្ចូល​ផ្ទៃមុខ​ដល់​ចំនួន​អតិបរមា​ហើយ"</string>
-    <string name="face_intro_error_unknown" msgid="6367721696446677261">"មិន​អាច​បញ្ចូល​ផ្ទៃ​មុខ​បានទៀតទេ"</string>
+    <string name="face_intro_error_max" msgid="160022811747660581">"អ្នក​បាន​បញ្ចូល​មុខ​ដល់​ចំនួន​អតិបរមា​ហើយ"</string>
+    <string name="face_intro_error_unknown" msgid="6367721696446677261">"មិន​អាច​បញ្ចូល​​មុខ​បានទៀតទេ"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"ស្នាមម្រាមដៃ"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"គ្រប់គ្រងស្នាមម្រាមដៃ"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"ប្រើស្នាមម្រាមដៃសម្រាប់"</string>
@@ -547,11 +545,11 @@
     <string name="fingerprint_unlock_set_unlock_password" msgid="7351131075806338634">"ស្នាមម្រាមដៃ + ពាក្យសម្ងាត់"</string>
     <string name="fingerprint_unlock_skip_fingerprint" msgid="1441077909803666681">"បន្តដោយគ្មានស្នាមម្រាមដៃ"</string>
     <string name="fingerprint_unlock_title" msgid="2826226740306003991">"អ្នកអាចដោះសោទូរសព្ទរបស់អ្នកដោយប្រើស្នាមម្រាមដៃរបស់អ្នក។ ដើម្បីសុវត្ថិភាព ជម្រើសនេះតម្រូវឲ្យមានការចាក់សោអេក្រង់បម្រុងទុក។"</string>
-    <string name="face_unlock_set_unlock_pattern" msgid="8792301636367000123">"ការផ្ទៀងផ្ទាត់ផ្ទៃ​មុខ​ + លំនាំ"</string>
-    <string name="face_unlock_set_unlock_pin" msgid="1196620299595657479">"ការផ្ទៀងផ្ទាត់ផ្ទៃ​មុខ​ + កូដ PIN"</string>
-    <string name="face_unlock_set_unlock_password" msgid="223117276773907474">"ការផ្ទៀងផ្ទាត់ផ្ទៃ​មុខ​ + ពាក្យសម្ងាត់"</string>
-    <string name="face_unlock_skip_face" msgid="6362883392838482791">"បន្ដ​ដោយ​មិន​ចាំបាច់​ផ្ទៀងផ្ទាត់​ផ្ទៃមុខ"</string>
-    <string name="face_unlock_title" msgid="9042382084472444316">"អ្នកអាចដោះសោទូរសព្ទរបស់អ្នកដោយប្រើផ្ទៃ​មុខរបស់អ្នក។ ដើម្បីសុវត្ថិភាព ជម្រើសនេះតម្រូវឱ្យមានការចាក់សោអេក្រង់បម្រុងទុក។"</string>
+    <string name="face_unlock_set_unlock_pattern" msgid="8792301636367000123">"ការផ្ទៀងផ្ទាត់មុខ​ + លំនាំ"</string>
+    <string name="face_unlock_set_unlock_pin" msgid="1196620299595657479">"ការផ្ទៀងផ្ទាត់មុខ​ + កូដ PIN"</string>
+    <string name="face_unlock_set_unlock_password" msgid="223117276773907474">"ការផ្ទៀងផ្ទាត់មុខ​ + ពាក្យសម្ងាត់"</string>
+    <string name="face_unlock_skip_face" msgid="6362883392838482791">"បន្ដ​ដោយ​មិន​ចាំបាច់​ផ្ទៀងផ្ទាត់​មុខ"</string>
+    <string name="face_unlock_title" msgid="9042382084472444316">"អ្នកអាចដោះសោទូរសព្ទរបស់អ្នកដោយប្រើមុខរបស់អ្នក។ ដើម្បីសុវត្ថិភាព ជម្រើសនេះតម្រូវឱ្យមានការចាក់សោអេក្រង់បម្រុងទុក។"</string>
     <string name="unlock_set_unlock_disabled_summary" msgid="2051593894736282302">"បិទដោយអ្នកគ្រប់គ្រង គោលការណ៍​អ៊ិនគ្រីប ឬទំហំផ្ទុកព័ត៌មានសម្គាល់ខ្លួន"</string>
     <string name="unlock_set_unlock_mode_off" msgid="5881952274566013651">"គ្មាន"</string>
     <string name="unlock_set_unlock_mode_none" msgid="8467360084676871617">"អូស"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"កំពុង​រក..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"ការ​កំណត់​ឧបករណ៍"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"ឧបករណ៍​បាន​ផ្គូផ្គង"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"ឈ្មោះ"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"ការ​តភ្ជាប់​អ៊ីនធឺណិត"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"ក្ដារចុច"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"ទំនាក់ទំនង និង​ប្រវត្តិ​​ហៅ"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"ចែករំលែក​សៀវភៅ​ទូរស័ព្ទ?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ចង់​ចូល​ដំណើរ​ការ​ទំនាក់ទំនង​ និង​ប្រវត្តិ​ការ​ហៅ​របស់​អ្នក។"</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ចង់​ផ្គូផ្គង​ជាមួយ​ប៊្លូធូស។ នៅពេលបានតភ្ជាប់, វានឹងចូលទៅ​កាន់​ប្រវត្តិ​ហៅ និង​ទំនាក់ទំនងរបស់អ្នក។"</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"ឧបករណ៍​បាន​ផ្គូផ្គង"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"ឧបករណ៍​ដែល​អាច​ភ្ជាប់បាន"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"មិន​មាន​ឧបករណ៍​ដែល​អាច​ប្រើ​បាន"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"តភ្ជាប់"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"ពន្លឺ"</string>
     <string name="brightness_summary" msgid="838917350127550703">"កែ​ពន្លឺ​អេក្រង់"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"ពន្លឺ​​ដែល​ចេះសម្រប​ខ្លួន"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"កែសម្រួល​កម្រិត​ពន្លឺ​​តាម​ពន្លឺ​ដែល​មាន"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"បិទ"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"ពន្លឺដែលពេញចិត្តមានកម្រិតទាបណាស់"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"ពន្លឺដែលពេញចិត្តមានកម្រិតទាប"</string>
@@ -1621,9 +1618,9 @@
     <string name="lockpassword_password_set_toast" msgid="4875050283108629383">"បាន​កំណត់​ពាក្យ​សម្ងាត់"</string>
     <string name="lockpassword_pin_set_toast" msgid="6011826444725291475">"បាន​កំណត់​កូដ PIN"</string>
     <string name="lockpassword_pattern_set_toast" msgid="6867259621331406236">"បាន​កំណត់​លំនាំ"</string>
-    <string name="lockpassword_choose_your_password_header_for_face" msgid="7876621019688907534">"ដើម្បី​ប្រើ​ការផ្ទៀងផ្ទាត់​ផ្ទៃមុខ សូម​កំណត់​ពាក្យសម្ងាត់"</string>
-    <string name="lockpassword_choose_your_pattern_header_for_face" msgid="8070525076987585344">"ដើម្បី​ប្រើ​ការផ្ទៀងផ្ទាត់​ផ្ទៃមុខ សូម​កំណត់លំនាំ"</string>
-    <string name="lockpassword_choose_your_pin_header_for_face" msgid="7304398683609714816">"ដើម្បី​ប្រើ​ការផ្ទៀងផ្ទាត់​ផ្ទៃមុខ សូម​កំណត់កូដ PIN"</string>
+    <string name="lockpassword_choose_your_password_header_for_face" msgid="7876621019688907534">"ដើម្បី​ប្រើ​ការផ្ទៀងផ្ទាត់​មុខ សូម​កំណត់​ពាក្យសម្ងាត់"</string>
+    <string name="lockpassword_choose_your_pattern_header_for_face" msgid="8070525076987585344">"ដើម្បី​ប្រើ​ការផ្ទៀងផ្ទាត់​មុខ សូម​កំណត់លំនាំ"</string>
+    <string name="lockpassword_choose_your_pin_header_for_face" msgid="7304398683609714816">"ដើម្បី​ប្រើ​ការផ្ទៀងផ្ទាត់មុខ សូម​កំណត់កូដ PIN"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="2920960858283879113">"ប្រើលំនាំឧបករណ៍របស់អ្នកដើម្បីបន្ត"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="4062335874438910487">"បញ្ចូលកូដ PIN ឧបករណ៍របស់អ្នកដើម្បីបន្ត"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="3976394862548354966">"បញ្ចូលពាក្យសម្ងាត់ឧបករណ៍របស់អ្នកដើម្បីបន្ត"</string>
@@ -3034,7 +3031,7 @@
     <string name="keywords_systemui_theme" msgid="9112852512550404882">"​រចនាប័ទ្ម​ងងឹត"</string>
     <string name="keywords_device_feedback" msgid="564493721125966719">"បញ្ហា"</string>
     <string name="keywords_ambient_display_screen" msgid="5874969496073249362">"មុខងារ​អេក្រង់​សម្ងំ មុខងារ​អេក្រង់​ចាក់សោ"</string>
-    <string name="keywords_face_settings" msgid="7505388678116799329">"ផ្ទៃមុខ"</string>
+    <string name="keywords_face_settings" msgid="7505388678116799329">"មុខ"</string>
     <string name="keywords_fingerprint_settings" msgid="239222512315619538">"ស្នាមម្រាមដៃ"</string>
     <string name="keywords_display_auto_brightness" msgid="4130320471533951796">"អេក្រង់​ខ្សោយពន្លឺ អេក្រង់​ចុច ថ្ម ពន្លឺ​ឆ្លាតវៃ ពន្លឺ​ឌីណាមិក"</string>
     <string name="keywords_auto_rotate" msgid="5620879898668211494">"បង្វិល ត្រឡប់ រង្វិល បញ្ឈរ ផ្តេក ទិស បន្ទាត់ឈរ បន្ទាត់ដេក"</string>
@@ -3452,9 +3449,9 @@
     <string name="encryption_interstitial_message_pin_for_fingerprint" msgid="4550632760119547492">"ក្រៅពីប្រើម្រាមដៃរបស់អ្នកដើម្បីដោះសោឧបករណ៍របស់អ្នក អ្នក​អាច​ការពារឧបករណ៍នេះ​បន្ថែម ដោយ​កំណត់​ឲ្យ​ប្រើកូដ PIN មុន​ពេល​ដែល​វា​ចាប់ផ្តើម។ ប្រសិនបើ​ឧបករណ៍​មិនទាន់​ចាប់ផ្ដើមទេ វា​មិន​អាច​ទទួល​ការ​​ហៅទូរសព្ទ សារ ឬ​ការ​ជូនដំណឹង ក៏ដូចជា ម៉ោងរោទ៍​បានទេ។\n\nវាជួយការពារទិន្នន័យនៅលើឧបករណ៍​ដែល​បាត់ ឬ​ត្រូវគេលួច។ កំណត់​ឲ្យ​ប្រើកូដ PIN ដើម្បីចាប់ផ្តើមឧបករណ៍របស់អ្នក?"</string>
     <string name="encryption_interstitial_message_pattern_for_fingerprint" msgid="932184823193006087">"ក្រៅពីប្រើម្រាមដៃរបស់អ្នកដើម្បីដោះសោឧបករណ៍របស់អ្នក អ្នក​អាច​ការពារឧបករណ៍នេះ​បន្ថែម ដោយ​កំណត់​ឲ្យ​ប្រើ​លំនាំ​មុន​ពេល​ដែល​វា​ចាប់ផ្តើម។ ប្រសិនបើ​ឧបករណ៍​មិនទាន់​ចាប់ផ្ដើមទេ វា​មិន​អាច​ទទួល​ការ​​ហៅទូរសព្ទ សារ ឬ​ការ​ជូនដំណឹងក៏ដូចជា ម៉ោងរោទ៍​បានទេ។\n\nវាជួយការពារទិន្នន័យនៅលើឧបករណ៍​ដែល​បាត់ ឬ​ត្រូវគេលួច។ កំណត់​ឲ្យ​មាន​ប្រើលំនាំ​ដើម្បីចាប់ផ្តើមឧបករណ៍របស់អ្នក?"</string>
     <string name="encryption_interstitial_message_password_for_fingerprint" msgid="5560954719370251702">"ក្រៅពី​ប្រើម្រាមដៃ​របស់អ្នក​ដើម្បី​ដោះសោឧបករណ៍​របស់​អ្នក អ្នក​អាច​បន្ថែម​ការ​ការពារលើ​ឧបករណ៍នេះ ដោយ​កំណត់​ឲ្យ​ប្រើ​ពាក្យ​សម្ងាត់​មុន​ពេល​ដែល​វា​ចាប់ផ្តើម។ ប្រសិនបើ​ឧបករណ៍​មិនទាន់​ចាប់ផ្ដើមទេ វា​មិន​អាច​ទទួល​ការ​​ហៅទូរសព្ទ សារ ឬ​ការ​ជូនដំណឹងក៏ដូចជាម៉ោងរោទ៍​បានទេ។\n\nវា​ជួយ​ការពារ​ទិន្នន័យ​នៅ​លើ​ឧបករណ៍​ដែលបាត់ ឬ​ត្រូវគេ​លួច។ កំណត់​ឲ្យ​ប្រើ​ពាក្យសម្ងាត់​ដើម្បី​ចាប់ផ្តើម​ឧបករណ៍​របស់អ្នក?"</string>
-    <string name="encryption_interstitial_message_pin_for_face" msgid="2017438765366716760">"បន្ថែម​ពី​លើ​ការប្រើប្រាស់​ផ្ទៃមុខដើម្បីដោះសោឧបករណ៍​របស់​អ្នក អ្នក​អាច​​ការពារ​ឧបករណ៍នេះបន្ថែម ដោយតម្រូវ​ឱ្យ​​បញ្ចូលកូដ PIN ​មុន​ពេល​​ចាប់ផ្តើមឧបករណ៍។ ឧបករណ៍​មិន​អាច​ទទួល​ការ​​ហៅទូរសព្ទ សារ ឬ​ការ​ជូនដំណឹង រួម​ទាំង​ម៉ោងរោទ៍បានទេ ប្រសិនបើ​វា​មិនទាន់​ចាប់ផ្ដើម។\n\nសកម្មភាព​នេះ​ជួយ​ការពារ​ទិន្នន័យ​នៅ​លើ​ឧបករណ៍​ដែលបាត់ ឬ​ត្រូវគេ​លួច។ តម្រូវ​​ឱ្យ​​បញ្ចូលកូដ PIN ​ដើម្បីចាប់ផ្តើមឧបករណ៍របស់អ្នក?"</string>
-    <string name="encryption_interstitial_message_pattern_for_face" msgid="3551827507967661552">"បន្ថែម​ពី​លើ​ការប្រើប្រាស់​ផ្ទៃមុខដើម្បីដោះសោឧបករណ៍​របស់​អ្នក អ្នក​អាច​​ការពារ​ឧបករណ៍នេះបន្ថែម ដោយតម្រូវ​ឱ្យ​​បញ្ចូលលំនាំ ​មុន​ពេល​​ចាប់ផ្តើមឧបករណ៍។ ឧបករណ៍​មិន​អាច​ទទួល​ការ​​ហៅទូរសព្ទ សារ ឬ​ការ​ជូនដំណឹង រួម​ទាំង​ម៉ោងរោទ៍បានទេ ប្រសិនបើ​វា​មិនទាន់​ចាប់ផ្ដើម។\n\nសកម្មភាព​នេះ​ជួយ​ការពារ​ទិន្នន័យ​នៅ​លើ​ឧបករណ៍​ដែលបាត់ ឬ​ត្រូវគេ​លួច។ តម្រូវ​ឱ្យ​​បញ្ចូលលំនាំ ​ដើម្បី​​ចាប់ផ្តើមឧបករណ៍របស់អ្នក?"</string>
-    <string name="encryption_interstitial_message_password_for_face" msgid="3452793542112093614">"បន្ថែម​ពី​លើ​ការប្រើប្រាស់​ផ្ទៃមុខដើម្បីដោះសោឧបករណ៍​របស់​អ្នក អ្នក​អាច​​ការពារ​ឧបករណ៍នេះបន្ថែម ដោយតម្រូវ​ឱ្យ​​បញ្ចូលពាក្យ​សម្ងាត់ ​មុន​ពេល​​ចាប់ផ្តើមឧបករណ៍។ ឧបករណ៍​មិន​អាច​ទទួល​ការ​​ហៅទូរសព្ទ សារ ឬ​ការ​ជូនដំណឹង រួម​ទាំង​ម៉ោងរោទ៍បានទេ ប្រសិនបើ​វា​មិនទាន់​ចាប់ផ្ដើម។\n\nសកម្មភាព​នេះ​ជួយ​ការពារ​ទិន្នន័យ​នៅ​លើ​ឧបករណ៍​ដែលបាត់ ឬ​ត្រូវគេ​លួច។ តម្រូវ​ឱ្យ​​បញ្ចូលពាក្យ​សម្ងាត់ ដើម្បីចាប់ផ្តើមឧបករណ៍របស់អ្នក?"</string>
+    <string name="encryption_interstitial_message_pin_for_face" msgid="2017438765366716760">"បន្ថែម​ពី​លើ​ការប្រើប្រាស់​មុខរបស់​អ្នកដើម្បីដោះសោឧបករណ៍​របស់​អ្នក អ្នក​អាច​​ការពារ​ឧបករណ៍នេះបន្ថែម ដោយតម្រូវ​ឱ្យ​​បញ្ចូលកូដ PIN ​មុន​ពេល​​ចាប់ផ្តើមឧបករណ៍។ ឧបករណ៍​មិន​អាច​ទទួល​ការ​​ហៅទូរសព្ទ សារ ឬ​ការ​ជូនដំណឹង រួម​ទាំង​ម៉ោងរោទ៍បានទេ ប្រសិនបើ​វា​មិនទាន់​ចាប់ផ្ដើម។\n\nសកម្មភាព​នេះ​ជួយ​ការពារ​ទិន្នន័យ​នៅ​លើ​ឧបករណ៍​ដែលបាត់ ឬ​ត្រូវគេ​លួច។ តម្រូវ​​ឱ្យ​​បញ្ចូលកូដ PIN ​ដើម្បីចាប់ផ្តើមឧបករណ៍របស់អ្នកដែរទេ?"</string>
+    <string name="encryption_interstitial_message_pattern_for_face" msgid="3551827507967661552">"បន្ថែម​ពី​លើ​ការប្រើប្រាស់​មុខរបស់អ្នកដើម្បីដោះសោឧបករណ៍​របស់​អ្នក អ្នក​អាច​​ការពារ​ឧបករណ៍នេះបន្ថែម ដោយតម្រូវ​ឱ្យ​​បញ្ចូលលំនាំ ​មុន​ពេល​​ចាប់ផ្តើមឧបករណ៍។ ឧបករណ៍​មិន​អាច​ទទួល​ការ​​ហៅទូរសព្ទ សារ ឬ​ការ​ជូនដំណឹង រួម​ទាំង​ម៉ោងរោទ៍បានទេ ប្រសិនបើ​វា​មិនទាន់​ចាប់ផ្ដើម។\n\nសកម្មភាព​នេះ​ជួយ​ការពារ​ទិន្នន័យ​នៅ​លើ​ឧបករណ៍​ដែលបាត់ ឬ​ត្រូវគេ​លួច។ តម្រូវ​ឱ្យ​​បញ្ចូលលំនាំ ​ដើម្បី​​ចាប់ផ្តើមឧបករណ៍របស់អ្នកដែរទេ?"</string>
+    <string name="encryption_interstitial_message_password_for_face" msgid="3452793542112093614">"បន្ថែម​ពី​លើ​ការប្រើប្រាស់​មុខរបស់អ្នកដើម្បីដោះសោឧបករណ៍​របស់​អ្នក អ្នក​អាច​​ការពារ​ឧបករណ៍នេះបន្ថែម ដោយតម្រូវ​ឱ្យ​​បញ្ចូលពាក្យ​សម្ងាត់ ​មុន​ពេល​​ចាប់ផ្តើមឧបករណ៍។ ឧបករណ៍​មិន​អាច​ទទួល​ការ​​ហៅទូរសព្ទ សារ ឬ​ការ​ជូនដំណឹង រួម​ទាំង​ម៉ោងរោទ៍បានទេ ប្រសិនបើ​វា​មិនទាន់​ចាប់ផ្ដើម។\n\nសកម្មភាព​នេះ​ជួយ​ការពារ​ទិន្នន័យ​នៅ​លើ​ឧបករណ៍​ដែលបាត់ ឬ​ត្រូវគេ​លួច។ តម្រូវ​ឱ្យ​​បញ្ចូលពាក្យ​សម្ងាត់ ដើម្បីចាប់ផ្តើមឧបករណ៍របស់អ្នកដែរទេ?"</string>
     <string name="encryption_interstitial_yes" msgid="4439509435889513411">"បាទ/ចាស"</string>
     <string name="encryption_interstitial_no" msgid="8935031349097025137">"ទេ"</string>
     <string name="restricted_true_label" msgid="4761453839409220473">"បាន​ដាក់​កំហិត"</string>
@@ -4119,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"សេវាកម្មបំពេញដោយស្វ័យប្រវត្តិ"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"ស្វ័យ​ប្រវត្តិ បំពេញ បំពេញ​ស្វ័យ​ប្រវត្តិ"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;ត្រូវ​ប្រាកដថា​អ្នក​ជឿជាក់​លើ​កម្មវិធី​នេះ&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google បំពេញស្វ័យប្រវត្តិ&gt;%1$s&lt;/xliff:g&gt; ប្រើប្រាស់​អ្វី​ដែល​មាននៅ​លើ​អេក្រង់​របស់អ្នក ដើម្បី​កំណត់​អ្វីដែល​អាចបំពេញ​ដោយ​ស្វ័យប្រវត្តិ។"</string>
-    <string name="color_theme" msgid="1535685696756738324">"រចនាប័ទ្ម​ពណ៌"</string>
-    <string name="default_theme" msgid="7085644992078579076">"លំ​នាំ​ដើម"</string>
     <string name="device_theme" msgid="4571803018917608588">"រចនាប័ទ្ម​ឧបករណ៍"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"ស្វ័យប្រវត្តិ (ផ្អែកលើ​ផ្ទាំងរូបភាព)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"ភ្លឺ"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"ងងឹត"</string>
+    <string name="default_theme" msgid="7085644992078579076">"លំ​នាំ​ដើម"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"ឈ្មោះ​បណ្តាញ"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"បង្ហាញឈ្មោះបណ្ដាញនៅក្នុងរបារស្ថានភាព"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"កម្មវិធី​គ្រប់គ្រង​ទំហំផ្ទុក៖ <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-kn/arrays.xml b/res/values-kn/arrays.xml
index 60d4d0d..c8f5888 100644
--- a/res/values-kn/arrays.xml
+++ b/res/values-kn/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"ಯಾವಾಗಲೂ ಆನ್"</item>
     <item msgid="6385301106124765323">"ಯಾವಾಗಲೂ ಆಫ್"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index 0793a7f..4539dc4 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"ಸಾಧನದ ಬ್ಲೂಟೂತ್ ವಿಳಾಸ: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ಸಂಪರ್ಕ ಕಡಿತಗೊಳಿಸುವುದೇ?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"ಪ್ರಸಾರ ಮಾಡಲಾಗುತ್ತಿದೆ"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"ಪ್ರೊಫೈಲ್ ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸುವುದೇ?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"ಇದು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;ಇದರಿಂದ:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"ಹೆಸರಿಲ್ಲದ ಬ್ಲೂಟೂತ್‌‌ ಸಾಧನ"</string>
     <string name="progress_scanning" msgid="192587958424295789">"ಹುಡುಕಲಾಗುತ್ತಿದೆ"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"ಹುಡುಕಲಾಗುತ್ತಿದೆ..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"ಸಾಧನ ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"ಜೋಡಿ ಮಾಡಲಾಗಿರುವ ಸಾಧನ"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"ಹೆಸರು"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"ಇಂಟರ್ನೆಟ್ ಸಂಪರ್ಕ"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"ಕೀಬೋರ್ಡ್"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"ಸಂಪರ್ಕಗಳು ಮತ್ತು ಕರೆ ಇತಿಹಾಸ"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"ಫೋನ್ ಪುಸ್ತಕವನ್ನು ಹಂಚಿಕೊಳ್ಳುವುದೇ?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ನಿಮ್ಮ ಸಂಪರ್ಕಗಳು ಮತ್ತು ಕರೆಯ ಇತಿಹಾಸವನ್ನು ಪ್ರವೇಶಿಸಲು ಬಯಸುತ್ತದೆ."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"ಬ್ಲೂಟೂತ್ ಜೊತೆಗೆ ಜೋಡಿಸಲು <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ಬಯಸುತ್ತದೆ. ಸಂಪರ್ಕಗೊಳಿಸಿದಾಗ, ಅದು ನಿಮ್ಮ ಸಂಪರ್ಕಗಳು ಮತ್ತು ಕರೆ ಇತಿಹಾಸಕ್ಕೆ ಪ್ರವೇಶವನ್ನು ಪಡೆಯುತ್ತದೆ."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"ಜೋಡಿ ಮಾಡಲಾದ ಸಾಧನಗಳು"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"ಲಭ್ಯವಿರುವ ಸಾಧನಗಳು"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"ಯಾವುದೇ ಸಾಧನಗಳು ಲಭ್ಯವಿಲ್ಲ"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"ಸಂಪರ್ಕಿಸು"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"ಪ್ರಖರತೆ"</string>
     <string name="brightness_summary" msgid="838917350127550703">"ಪರದೆಯ ಪ್ರಖರತೆಯನ್ನು ಹೊಂದಿಸಿ"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"ಅಡಾಪ್ಟಿವ್‌ ಪ್ರಖರತೆ"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"ಲಭ್ಯವಿರುವ ಬೆಳಕಿನ ಪ್ರಖರತೆಯ ಮಟ್ಟವನ್ನು ಆಪ್ಟಿಮೈಸ್ ಮಾಡಿ"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"ಆಫ್"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"ಆದ್ಯತೆಯ ಹೊಳಪಿನ ಮಟ್ಟವನ್ನು ಅತಿ ಕಡಿಮೆ ಎಂದು ಹೊಂದಿಸಲಾಗಿದೆ"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"ಆದ್ಯತೆಯ ಹೊಳಪಿನ ಮಟ್ಟವನ್ನು ಕಡಿಮೆ ಎಂದು ಹೊಂದಿಸಲಾಗಿದೆ"</string>
@@ -4119,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"ಸ್ವಯಂತುಂಬುವಿಕೆ ಸೇವೆ"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"ಸ್ವಯಂ, ತುಂಬುವಿಕೆ, ಸ್ವಯಂತುಂಬುವಿಕೆ"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;ನಿಮಗೆ ಈ ಅಪ್ಲಿಕೇಶನ್ ಮೇಲೆ ವಿಶ್ವಾಸವಿರುವುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ &lt;/b&gt; &lt;br/&gt; &lt;br/&gt; ಯಾವ ಕ್ಷೇತ್ರಗಳನ್ನು ಸ್ವಯಂ-ಭರ್ತಿ ಮಾಡಬಹುದು ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸಲು &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; ನಿಮ್ಮ ಪರದೆಯಲ್ಲಿರುವ ಮಾಹಿತಿಯನ್ನು ಬಳಸಿಕೊಳ್ಳುತ್ತದೆ."</string>
-    <string name="color_theme" msgid="1535685696756738324">"ಬಣ್ಣ ಥೀಮ್‌"</string>
-    <string name="default_theme" msgid="7085644992078579076">"ಡಿಫಾಲ್ಟ್"</string>
     <string name="device_theme" msgid="4571803018917608588">"ಸಾಧನದ ಥೀಮ್‌"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"ಸ್ವಯಂಚಾಲಿತ (ವಾಲ್‌ಪೇಪರ್‌ ಅನ್ನು ಆಧರಿಸಿ)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"ಹಗುರ"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"ಕತ್ತಲೆ"</string>
+    <string name="default_theme" msgid="7085644992078579076">"ಡಿಫಾಲ್ಟ್"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"ನೆಟ್‌ವರ್ಕ್‌ ಹೆಸರು"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"ಸ್ಥಿತಿ ಬಾರ್‌ನಲ್ಲಿ ನೆಟ್‌ವರ್ಕ್‌ ಹೆಸರನ್ನು ಪ್ರದರ್ಶಿಸಿ"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"ಸಂಗ್ರಹಣಾ ನಿರ್ವಾಹಕ: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-ko/arrays.xml b/res/values-ko/arrays.xml
index b2f6bd2..9c063a1 100644
--- a/res/values-ko/arrays.xml
+++ b/res/values-ko/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"항상 사용"</item>
     <item msgid="6385301106124765323">"항상 사용 안함"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 446564b..86b671d 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"기기 블루투스 주소: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>을(를) 연결 해제하시겠습니까?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"브로드캐스팅"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"프로필을 사용 중지하시겠습니까?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"이렇게 하면 &lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;의 &lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;이(가) 사용 중지됩니다."</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"이름이 없는 블루투스 기기"</string>
     <string name="progress_scanning" msgid="192587958424295789">"검색 중"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"검색 중..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"기기 설정"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"페어링된 기기"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"이름"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"인터넷 연결"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"키보드"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"주소록과 통화 기록"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"전화번호부를 공유하시겠습니까?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>에서 연락처와 통화 기록에 액세스하려고 합니다."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>이(가) 블루투스를 통해 페어링하려고 합니다. 연결하면 기기가 주소록과 통화 기록에 액세스할 수 있습니다."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"페어링된 기기"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"사용할 수 있는 기기"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"사용 가능한 기기가 없습니다."</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"연결"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"밝기"</string>
     <string name="brightness_summary" msgid="838917350127550703">"화면 밝기 조정"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"밝기 자동 조절"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"빛의 양에 따라 밝기 수준 최적화"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"사용 안함"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"원하는 밝기 수준이 매우 낮음"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"원하는 밝기 수준이 낮음"</string>
@@ -4119,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"자동완성 서비스"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"자동, 완성, 자동완성"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;이 앱을 신뢰할 수 있는지 확인하세요.&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt;에서는 자동완성할 수 있는 항목을 결정하기 위해 화면의 내용을 사용합니다."</string>
-    <string name="color_theme" msgid="1535685696756738324">"색상 테마"</string>
-    <string name="default_theme" msgid="7085644992078579076">"기본값"</string>
     <string name="device_theme" msgid="4571803018917608588">"기기 테마"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"자동(배경화면에 따라)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"밝게"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"어둡게"</string>
+    <string name="default_theme" msgid="7085644992078579076">"기본값"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"네트워크 이름"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"상태 표시줄에 네트워크 이름 표시"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"저장용량 관리자: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-ky/arrays.xml b/res/values-ky/arrays.xml
index eb7d5dd..e73daaf 100644
--- a/res/values-ky/arrays.xml
+++ b/res/values-ky/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Ар дайым күйүк"</item>
     <item msgid="6385301106124765323">"Ар дайым өчүк"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index e5ce645..6ae3f85 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -120,8 +120,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Түзмөктүн Bluetooth дареги: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ажыратылсынбы?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Кеңири таратуу"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Профайлды өчүрөсүзбү?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;профили &lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt; түзмөгүнөн өчүрүлөт"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Аты жок Bluetooth-түзмөк"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Изделүүдө"</string>
@@ -395,14 +393,14 @@
     <string name="security_settings_face_preference_summary_none" msgid="5460349732790152186">"Жүздүн аныктыгын текшерүүнү жөндөө үчүн басыңыз"</string>
     <string name="security_settings_face_preference_title" msgid="7074548721778680481">"Жүздүн аныктыгын текшерүү"</string>
     <string name="security_settings_face_enroll_introduction_cancel" msgid="4277182322482408514">"Баш тартуу"</string>
-    <string name="security_settings_face_enroll_introduction_title" msgid="2694505011712885439">"Кулпуну жүзүңүздү көрсөтүп ачуу"</string>
-    <string name="security_settings_face_enroll_introduction_title_unlock_disabled" msgid="8180330567034286589">"Аныктыгыңызды текшерүү үчүн жүзүңүздү көрсөтүңүз"</string>
+    <string name="security_settings_face_enroll_introduction_title" msgid="2694505011712885439">"Жүзүңүз менен кулпуну ачуу"</string>
+    <string name="security_settings_face_enroll_introduction_title_unlock_disabled" msgid="8180330567034286589">"Жүзүңүз менен аныктыгыңызды текшертиңиз"</string>
     <string name="security_settings_face_enroll_introduction_message" msgid="6150611993438981458">"Телефонуңуздун кулпусун ачып, сатып алууга уруксат берип же колдонмолорго кирүү үчүн жүзүңүздү көрсөтүңүз."</string>
     <string name="security_settings_face_enroll_introduction_message_unlock_disabled" msgid="6300341727101929207">"Жүзүңүздү көрсөтүңүз"</string>
     <string name="security_settings_face_enroll_introduction_message_setup" msgid="5704661081718707858">"Телефонуңуздун кулпусун ачып, сатып алууга уруксат берип же колдонмолорго кирүү үчүн жүзүңүздү көрсөтүңүз."</string>
     <string name="face_add_max" msgid="2342250989212694454">"<xliff:g id="COUNT">%d</xliff:g> чейин манжа изин кошсоңуз болот"</string>
-    <string name="face_intro_error_max" msgid="160022811747660581">"Кошулган жүздү таанытуу аракеттеринин саны жогорку чегине жетти"</string>
-    <string name="face_intro_error_unknown" msgid="6367721696446677261">"Мындан башка жүздөрдү таанытуу аракеттерин аткарууга болбойт"</string>
+    <string name="face_intro_error_max" msgid="160022811747660581">"Кошулган жүздөрдүн саны жогорку чегине жетти"</string>
+    <string name="face_intro_error_unknown" msgid="6367721696446677261">"Дагы жүздөрдү кошуу мүмкүн эмес"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Манжа изи"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Манжа издерин башкаруу"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Манжа издерин колдонуу"</string>
@@ -706,7 +704,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Изделүүдө…"</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Түзмөктүн жөндөөлөрү"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Жупташкан түзмөк"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Аталышы"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Интернет туташуусу"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Баскычтоп"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Байланыштар жана чалуу таржымалы"</string>
@@ -714,7 +711,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Телефон китепчесин бөлүшөсүзбү?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> байланыштарыңыз менен чалуу таржымалыңызды колдонуу мүмкүнчүлүгүнө ээ болугусу келет"</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> Bluetooth менен жупташканы жатат. Туташканда, ал байланыштарыңыз менен чалуу таржымалыңызды көрө алат."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Жупташкан түзмөктөр"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Жеткиликтүү түзмөктөр"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Жеткиликтүү түзмөктөр жок"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Туташуу"</string>
@@ -1105,7 +1101,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Жарыктыгы"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Экрандын жарыктыгын тууралоо"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Ыңгайлаштырылуучу жарык"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Жарык деңгээли учурдагы жарыкка карап өзгөрөт"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Өчүк"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Өтө төмөн жарык деңгээли тандалды"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Төмөн жарык деңгээли тандалды"</string>
@@ -3451,9 +3448,9 @@
     <string name="encryption_interstitial_message_pin_for_fingerprint" msgid="4550632760119547492">"Түзмөгүңүздү коргоо үчүн аны манжа изи же PIN код менен кулпулап койсоңуз болот. Түзмөк кулпуланып турганда, чалуулар, билдирүүлөр же эскертмелер, ошондой эле ойготкучтар жеткиликсиз болот.\n\nБул чаралар жоголгон же уурдалган түзмөктөрдөгү дайындарды коргоого жардам берет. PIN кодду коёсузбу?"</string>
     <string name="encryption_interstitial_message_pattern_for_fingerprint" msgid="932184823193006087">"Түзмөгүңүздү коргоо үчүн аны манжа изи же графикалык ачкыч менен кулпулап койсоңуз болот. Түзмөк кулпуланып турганда, чалуулар, билдирүүлөр же эскертмелер, ошондой эле ойготкучтар жеткиликсиз болот.\n\nБул чаралар жоголгон же уурдалган түзмөктөрдөгү дайындарды коргоого жардам берет. Графикалык ачкычты коёсузбу?"</string>
     <string name="encryption_interstitial_message_password_for_fingerprint" msgid="5560954719370251702">"Түзмөгүңүздү коргоо үчүн аны манжа изи же сырсөз менен кулпулап койсоңуз болот. Түзмөк кулпуланып турганда, чалуулар, билдирүүлөр же эскертмелер, ошондой эле ойготкучтар жеткиликсиз болот.\n\nБул чаралар жоголгон же уурдалган түзмөктөрдөгү дайындарды коргоого жардам берет. Сырсөздү коёсузбу?"</string>
-    <string name="encryption_interstitial_message_pin_for_face" msgid="2017438765366716760">"Түзмөгүңүздү коргоо үчүн аны жүзүңүздү таануу аркылуу же PIN код менен кулпулап койсоңуз болот. Түзмөк кулпуланып турганда, чалуулар, билдирүүлөр же эскертмелер, ошондой эле ойготкучтар жеткиликсиз болот.\n\nБул чаралар жоголгон же уурдалган түзмөктөрдөгү дайындарды коргоого жардам берет. Түзмөгүңүздү иштетүү үчүн PIN код коёсузбу?"</string>
-    <string name="encryption_interstitial_message_pattern_for_face" msgid="3551827507967661552">"Түзмөгүңүздү коргоо үчүн аны жүзүңүздү таануу аркылуу же графикалык ачкыч менен кулпулап койсоңуз болот. Түзмөк кулпуланып турганда, чалуулар, билдирүүлөр же эскертмелер, ошондой эле ойготкучтар жеткиликсиз болот.\n\nБул чаралар жоголгон же уурдалган түзмөктөрдөгү дайындарды коргоого жардам берет. Түзмөгүңүздү иштетүү үчүн сырсөз коёсузбу?"</string>
-    <string name="encryption_interstitial_message_password_for_face" msgid="3452793542112093614">"Түзмөгүңүздү коргоо үчүн аны жүзүңүздү таануу аркылуу же сырсөз менен кулпулап койсоңуз болот. Түзмөк кулпуланып турганда, чалуулар, билдирүүлөр же эскертмелер, ошондой эле ойготкучтар жеткиликсиз болот.\n\nБул чаралар жоголгон же уурдалган түзмөктөрдөгү дайындарды коргоого жардам берет. Түзмөгүңүздү иштетүү үчүн сырсөз коёсузбу?"</string>
+    <string name="encryption_interstitial_message_pin_for_face" msgid="2017438765366716760">"Түзмөгүңүздү коргоо үчүн аны жүзүңүздү таануу функциясынан тышкары PIN код менен кулпулап койсоңуз болот. Түзмөк кулпуланып турганда чалуулар, билдирүүлөр же эскертмелер, ошондой эле ойготкучтар жеткиликсиз болот.\n\nБул чаралар жоголгон же уурдалган түзмөктөрдөгү дайындарды коргоого жардам берет. Түзмөгүңүздү иштетүү үчүн PIN код коёсузбу?"</string>
+    <string name="encryption_interstitial_message_pattern_for_face" msgid="3551827507967661552">"Түзмөгүңүздү коргоо үчүн аны жүзүңүздү таануу функциясынан тышкары графикалык ачкыч менен кулпулап койсоңуз болот. Түзмөк кулпуланып турганда чалуулар, билдирүүлөр же эскертмелер, ошондой эле ойготкучтар жеткиликсиз болот.\n\nБул чаралар жоголгон же уурдалган түзмөктөрдөгү дайындарды коргоого жардам берет. Түзмөгүңүздү иштетүү үчүн графикалык ачкыч коёсузбу?"</string>
+    <string name="encryption_interstitial_message_password_for_face" msgid="3452793542112093614">"Түзмөгүңүздү коргоо үчүн аны жүзүңүздү таануу функциясынан тышкары сырсөз менен кулпулап койсоңуз болот. Түзмөк кулпуланып турганда чалуулар, билдирүүлөр же эскертмелер, ошондой эле ойготкучтар жеткиликсиз болот.\n\nБул чаралар жоголгон же уурдалган түзмөктөрдөгү дайындарды коргоого жардам берет. Түзмөгүңүздү иштетүү үчүн сырсөз коёсузбу?"</string>
     <string name="encryption_interstitial_yes" msgid="4439509435889513411">"Ооба"</string>
     <string name="encryption_interstitial_no" msgid="8935031349097025137">"Жок"</string>
     <string name="restricted_true_label" msgid="4761453839409220473">"Чектелген"</string>
@@ -4118,12 +4115,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Автотолтуруу кызматы"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"авто, толтуруу, автотолтуруу"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Колдонмонун коопсуз экенин текшериңиз&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; экрандагы нерселерди талдап, автоматтык түрдө толтурула турган саптарды табат."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Өң темасы"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Демейки"</string>
     <string name="device_theme" msgid="4571803018917608588">"Түзмөктүн темасы"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Автоматтык (тушкагаздын негизинде)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Жарык"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Караңгы"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Демейки"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Тармактын аталышы"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Тармактын аталышы абал тилкесинде көрсөтүлсүн"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Сактагычты көзөмөлдөгүч: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-land/dimens.xml b/res/values-land/dimens.xml
index 9569ae4..37e71e2 100755
--- a/res/values-land/dimens.xml
+++ b/res/values-land/dimens.xml
@@ -17,11 +17,6 @@
 <resources>
     <dimen name="appwidget_width">421dip</dimen>
     <dimen name="appwidget_height">68dip</dimen>
-    <dimen name="appwidget_preview_width">120dip</dimen>
-    <dimen name="appwidget_preview_height">70dip</dimen>
-    <dimen name="keyguard_appwidget_picker_margin_left">2dip</dimen>
-    <dimen name="keyguard_appwidget_picker_margin_right">2dip</dimen>
-    <integer name="keyguard_appwidget_picker_cols">2</integer>
 
     <dimen name="captioning_preview_height">100dp</dimen>
 
diff --git a/res/values-land/styles.xml b/res/values-land/styles.xml
deleted file mode 100644
index 0903167..0000000
--- a/res/values-land/styles.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2012 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
-
-          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.
--->
-
-<resources>
-    <style name="KeyguardAppWidgetItem">
-        <item name="android:textSize">16sp</item>
-    </style>
-</resources>
diff --git a/res/values-lo/arrays.xml b/res/values-lo/arrays.xml
index a549aeb..991e6a5 100644
--- a/res/values-lo/arrays.xml
+++ b/res/values-lo/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"ເປີດຕະຫຼອດ"</item>
     <item msgid="6385301106124765323">"ປິດຕະຫຼອດ"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
index 614516e..5401ed5 100644
--- a/res/values-lo/strings.xml
+++ b/res/values-lo/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"ທີ່ຢູ່ Bluetooth ຂອງອຸປະກອນ: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"​ຕັດ​ການ​ເຊື່ອມ​ຕ​ໍ່ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ບໍ່?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"ການກະ​ຈາຍ​ສັນຍານ"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"ປິດການນຳໃຊ້ໂປຣໄຟລ໌?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"ນີ້ຈະເປັນການປິດການນຳໃຊ້:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;ຈາກ:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"ອຸປະກອນ Bluetooth ທີ່ບໍ່ມີຊື່"</string>
     <string name="progress_scanning" msgid="192587958424295789">"ກຳລັງຊອກຫາ..."</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"ກຳລັງຊອກຫາ..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"ການຕັ້ງຄ່າອຸປະກອນ"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"​ອຸ​ປະ​ກອນ​ທີ່​ຈັບ​ຄູ່​ແລ້ວ"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"ຊື່"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"​ການ​ເຊື່ອມ​ຕໍ່​ອິນ​ເຕີ​ເນັດ"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"​ແປ້ນ​ພິມ"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"ລາຍ​ຊື່​ຜູ່​ຕິດ​ຕໍ່ ແລະ​ປະ​ຫວັດ​ການ​ໂທ​"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"ແບ່ງ​ປັນ​ສະ​ມຸດ​ໂທ​ລະ​ສັບ​ບໍ?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ຕ້ອງ​ການ​ເຂົ້າ​ເຖິງ​ລາຍ​ຊື່​ຜູ່​ຕິດ​ຕໍ່​ ແລະ​ປະ​ຫວັດ​ການ​ໂທ​ຂອງ​ທ່ານ."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ຕ້ອງ​ການ​ຈັບ​ຄູ່​ກັບ Bluetooth. ເມື່ອ​ເຊື່ອມ​ຕໍ່​ແລ້ວ, ມັນ​ຈະ​ມີ​ສິດ​ເຂົ້າ​ເຖິງ​ລາຍ​ຊື່​ຜູ່​ຕິດ​ຕໍ່ ແລະ​ປະ​ຫວັດ​ການ​ໂທ​ຂອງ​ທ່ານ."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"ອຸປະກອນທີ່ຈັບຄູ່ກັນແລ້ວ"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"ອຸປະກອນທີ່ສາມາດໃຊ້ໄດ້"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"ບໍ່​ມີ​ອຸ​ປະ​ກອນ​ທີ່​ສາ​ມາດ​ໃຊ້​ໄດ້"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"ເຊື່ອມຕໍ່"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"ຄວາມສະຫວ່າງ"</string>
     <string name="brightness_summary" msgid="838917350127550703">"ປັບແຕ່ງຄວາມແຈ້ງຂອງໜ້າຈໍ"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"ປັບ​ຄວາມ​ແຈ້ງ​ອັດຕະໂນມັດ"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"ປັບແຕ່ງ​ລະດັບ​ຄວາມແຈ້ງ​ຂອງ​ໜ້າ​ຈໍ​ໃຫ້​ເໝາະ​ສົມ​ກັບ​ແສງໄຟ​ຈາກ​ພາຍ​ນອກ"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"ປິດ"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"ຄວາມສະຫວ່າງທີ່ຕ້ອງການແມ່ນຕ່ຳຫຼາຍ"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"ຄວາມສະຫວ່າງທີ່ຕ້ອງການແມ່ນຕ່ຳ"</string>
@@ -4119,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"ບໍລິການຕື່ມຂໍ້ມູນອັດຕະໂນມັດ"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"ອັດຕະໂນມັດ, ຕື່ມຂໍ້ມູນ, ຕື່ມຂໍ້ມູນອັດຕະໂນມັດ"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;ໃຫ້ກວດສອບວ່າທ່ານເຊື່ອແອັບນີ້&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; ຈະໃຊ້ສິ່ງທີ່ຢູ່ໃນໜ້າຈໍຂອງທ່ານເພື່ອກວດເບິ່ງວ່າຈະຕື່ມຂໍ້ມູນຫຍັງອັດຕະໂນມັດ."</string>
-    <string name="color_theme" msgid="1535685696756738324">"ສີສັນໜ້າຕາ"</string>
-    <string name="default_theme" msgid="7085644992078579076">"ຄ່າເລີ່ມຕົ້ນ"</string>
     <string name="device_theme" msgid="4571803018917608588">"ຮູບແບບສີສັນອຸປະກອນ"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"ອັດຕະໂນມັດ (ອີງໃສ່ຮູບພື້ນຫຼັງ)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"ແຈ້ງ"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"ມືດ"</string>
+    <string name="default_theme" msgid="7085644992078579076">"ຄ່າເລີ່ມຕົ້ນ"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"ຊື່ເຄືອຂ່າຍ"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"ສະແດງຊື່ເຄືອຂ່າຍຢູ່ແຖບສະຖານະ"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Storage Manager: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-lt/arrays.xml b/res/values-lt/arrays.xml
index 1c375e3..9a50007 100644
--- a/res/values-lt/arrays.xml
+++ b/res/values-lt/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Visada įjungtas"</item>
     <item msgid="6385301106124765323">"Visada išjungtas"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 45c8c3a..f65ed92 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -123,8 +123,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Įrenginio „Bluetooth“ adresas: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"Atjungti „<xliff:g id="DEVICE_NAME">%1$s</xliff:g>“?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Transliavimas"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Neleisti profilio?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Neleis:&lt;br&gt;&lt;b&gt;„<xliff:g id="PROFILE_NAME">%1$s</xliff:g>“&lt;/b&gt;&lt;br&gt;&lt;br&gt;iš:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"„Bluetooth“ įrenginys be pavadinimo"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Ieškoma"</string>
@@ -737,7 +735,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Ieškoma…"</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Įrenginių nustatymai"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Susietas įrenginys"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Pavadinimas"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Interneto ryšys"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Klaviatūra"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Kontaktai ir skambučių istorija"</string>
@@ -745,7 +742,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Bendrinti telefonų knygą?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"„<xliff:g id="DEVICE_NAME">%1$s</xliff:g>“ nori pasiekti jūsų kontaktus ir skambučių istoriją."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"Galite susieti „<xliff:g id="DEVICE_NAME">%1$s</xliff:g>“ per „Bluetooth“. Prijungtas įreng. galės pasiekti kontaktus ir skamb. istor."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Susieti įrenginiai"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Pasiekiami įrenginiai"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Nėra pasiekiamų įrenginių"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Prijungti"</string>
@@ -1138,7 +1134,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Šviesumas"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Reguliuoti ekrano šviesumą"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Prisitaikantis šviesumas"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Optimizuoti šviesumo lygį pagal esamą šviesą"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Išjungta"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Pageidaujamas šviesumas yra labai mažas"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Pageidaujamas šviesumas yra mažas"</string>
@@ -4265,12 +4262,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Automatinio pildymo paslauga"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"automatinis, pildymas, automatinis pildymas"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Įsitikinkite, kad pasitikite šia programa&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=„Google“ automatinis pildymas&gt;%1$s&lt;/xliff:g&gt; naudodamas informaciją ekrane nustato, ką gali užpildyti automatiškai."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Spalvų tema"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Numatytoji"</string>
     <string name="device_theme" msgid="4571803018917608588">"Įrenginio tema"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Automatinė (pagal ekrano foną)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Šviesi"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Tamsi"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Numatytoji"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Tinklo pavadinimas"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Rodyti tinklo pavadinimą būsenos juostoje"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Saugyklos tvarkytuvė: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-lv/arrays.xml b/res/values-lv/arrays.xml
index b839ccb..b9c5fe0 100644
--- a/res/values-lv/arrays.xml
+++ b/res/values-lv/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Vienmēr ieslēgts"</item>
     <item msgid="6385301106124765323">"Vienmēr izslēgts"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 9123ecc..ca39b71 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -122,8 +122,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Ierīces Bluetooth adrese: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"Vai atvienot <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Apraidīšana"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Vai atspējot profilu?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Tiks atspējots:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;No:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Nenosaukta Bluetooth ierīce"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Notiek meklēšana"</string>
@@ -722,7 +720,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Notiek meklēšana..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Ierīces iestatījumi"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Pārī savienota ierīce"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Nosaukums"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Interneta savienojums"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Tastatūra"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Kontaktpersonas un zvanu vēsture"</string>
@@ -730,7 +727,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Vai koplietot tālruņa katalogu?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"Ierīce <xliff:g id="DEVICE_NAME">%1$s</xliff:g> vēlas piekļūt jūsu kontaktpersonu datiem un zvanu vēsturei."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> gaida savienojumu pārī ar Bluetooth. Tādējādi ierīce piekļūs kontaktpersonām un zvanu vēsturei."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Pārī savienotās ierīces"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Pieejamās ierīces"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Nav pieejamu ierīču."</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Izveidot savienojumu"</string>
@@ -1122,7 +1118,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Spilgtums"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Noregulēt ekrāna spilgtumu"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Adaptīvs spilgtums"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Optimizēt spilgtuma līmeni atbilstoši pieejamajam apgaismojumam"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Izslēgts"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Vēlamais spilgtuma iestatījums: ļoti mazs"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Vēlamais spilgtuma iestatījums: mazs"</string>
@@ -4192,12 +4189,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Automātiskā aizpilde"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"automātiskā aizpilde"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Pārliecinieties, ka šī lietotne ir uzticama&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google automātiskā aizpilde&gt;%1$s&lt;/xliff:g&gt; izmanto ekrānā redzamo, lai noteiktu, kādu informāciju aizpildīt automātiski."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Krāsu motīvs"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Noklusējums"</string>
     <string name="device_theme" msgid="4571803018917608588">"Ierīces motīvs"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Automātisks (pamatojoties uz fona tapeti)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Gaišs"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Tumšs"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Noklusējums"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Tīkla nosaukums"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Statusa joslā rādīt tīkla nosaukumu"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Krātuves pārvaldnieks: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-mk/arrays.xml b/res/values-mk/arrays.xml
index 32b4312..9688caf 100644
--- a/res/values-mk/arrays.xml
+++ b/res/values-mk/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Секогаш вклучен"</item>
     <item msgid="6385301106124765323">"Секогаш исклучен"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
index 3a2a8c9..08d27b0 100644
--- a/res/values-mk/strings.xml
+++ b/res/values-mk/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Адреса на Bluetooth на уредот: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"Исклучи <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Емитување"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Оневозможи профил?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Ова ќе го оневозможи:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;од:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Неименуван уред со Bluetooth"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Пребарување"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Пребарување..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Поставки на уред"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Спарен уред"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Име"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Поврзување на интернет"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Тастатура"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Контакти и историја на повици"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Да се сподели телефонскиот именик?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> сака да пристапи кон вашите контакти и историјата на повици."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> сака да се спари со Bluetooth. Кога ќе се поврзе, ќе има пристап до вашите контакти и историјата на повици."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Спарени уреди"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Достапни уреди"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Нема достапни уреди"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Поврзи се"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Осветленост"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Приспособи ја осветленоста на екранот"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Приспособлива осветленост"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Оптимизирање ниво на осветленост според достапното светло"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Исклучена"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Претпочитаната осветленост е многу мала"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Претпочитаната осветленост е мала"</string>
@@ -4119,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Автоматско пополнување"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"автоматско, пополнување, автоматско пополнување"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Проверете дали е ова апликација на која ѝ верувате&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=„Автоматско пополнување на Google“&gt;%1$s&lt;/xliff:g&gt; го користи она што е на екранот за да утврди што може автоматски да се пополни."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Боја на тема"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Стандардно"</string>
     <string name="device_theme" msgid="4571803018917608588">"Тема на уредот"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Автоматска (според заднината)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Светла"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Темна"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Стандардно"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Име на мрежата"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Прикажи го името на мрежата во статусната лента"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"„Управник со меморија“: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-ml/arrays.xml b/res/values-ml/arrays.xml
index 67d3b50..60959b6 100644
--- a/res/values-ml/arrays.xml
+++ b/res/values-ml/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"എപ്പോഴും ഓണാക്കുക"</item>
     <item msgid="6385301106124765323">"എപ്പോഴും ഓഫാക്കുക"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
index b5de302..caec200 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"ഉപകരണത്തിന്റെ Bluetooth വിലാസം: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> വിച്ഛേദിക്കണോ?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"പ്രക്ഷേപണം ചെയ്യുന്നു"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"പ്രൊഫൈൽ പ്രവർത്തനരഹിതമാക്കണോ?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"ഇത് പ്രവർത്തനരഹിതമാകും:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;ഇതിൽ നിന്ന്:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"പേരുനൽകാത്ത ബ്ലൂടൂത്ത് ഉപകരണം"</string>
     <string name="progress_scanning" msgid="192587958424295789">"തിരയുന്നു"</string>
@@ -392,30 +390,18 @@
     <string name="security_status_title" msgid="5848766673665944640">"സുരക്ഷാ നില"</string>
     <string name="security_dashboard_summary" msgid="6757421634477554939">"സ്‌ക്രീൻ ലോക്കും ഫിംഗർപ്രിന്റും"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="8129641548372335540">"സ്ക്രീൻ ലോക്ക്"</string>
-    <!-- no translation found for security_settings_face_preference_summary (1290187225482642821) -->
-    <skip />
-    <!-- no translation found for security_settings_face_preference_summary_none (5460349732790152186) -->
-    <skip />
-    <!-- no translation found for security_settings_face_preference_title (7074548721778680481) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_cancel (4277182322482408514) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_title (2694505011712885439) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_title_unlock_disabled (8180330567034286589) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_message (6150611993438981458) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_message_unlock_disabled (6300341727101929207) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_message_setup (5704661081718707858) -->
-    <skip />
-    <!-- no translation found for face_add_max (2342250989212694454) -->
-    <skip />
-    <!-- no translation found for face_intro_error_max (160022811747660581) -->
-    <skip />
-    <!-- no translation found for face_intro_error_unknown (6367721696446677261) -->
-    <skip />
+    <string name="security_settings_face_preference_summary" msgid="1290187225482642821">"മുഖം ചേർത്തു"</string>
+    <string name="security_settings_face_preference_summary_none" msgid="5460349732790152186">"മുഖം പരിശോധിച്ചുറപ്പിക്കൽ സജ്ജീകരിക്കാൻ ടാപ്പ് ചെയ്യുക"</string>
+    <string name="security_settings_face_preference_title" msgid="7074548721778680481">"മുഖം പരിശോധിച്ചുറപ്പിക്കൽ"</string>
+    <string name="security_settings_face_enroll_introduction_cancel" msgid="4277182322482408514">"റദ്ദാക്കുക"</string>
+    <string name="security_settings_face_enroll_introduction_title" msgid="2694505011712885439">"നിങ്ങളുടെ മുഖം ഉപയോഗിച്ച് അൺലോക്ക് ചെയ്യൂ"</string>
+    <string name="security_settings_face_enroll_introduction_title_unlock_disabled" msgid="8180330567034286589">"പരിശോധിച്ചുറപ്പിക്കലിനായി നിങ്ങളുടെ മുഖം ഉപയോഗിക്കുക"</string>
+    <string name="security_settings_face_enroll_introduction_message" msgid="6150611993438981458">"ഫോൺ അൺലോക്ക് ചെയ്യാനോ വാങ്ങലുകൾ അംഗീകരിക്കാനോ ആപ്പുകളിലേക്ക് സൈൻ ഇൻ ചെയ്യാനോ നിങ്ങളുടെ മുഖം ഉപയോഗിക്കുക."</string>
+    <string name="security_settings_face_enroll_introduction_message_unlock_disabled" msgid="6300341727101929207">"നിങ്ങളെ ഉപയോഗിക്കുക"</string>
+    <string name="security_settings_face_enroll_introduction_message_setup" msgid="5704661081718707858">"ഫോൺ അൺലോക്ക് ചെയ്യാനോ വാങ്ങലുകൾ അംഗീകരിക്കാനോ ആപ്പുകളിലേക്ക് സൈൻ ഇൻ ചെയ്യാനോ നിങ്ങളുടെ മുഖം ഉപയോഗിക്കുക"</string>
+    <string name="face_add_max" msgid="2342250989212694454">"നിങ്ങൾക്ക് <xliff:g id="COUNT">%d</xliff:g> ഫിംഗർപ്രിൻറുകൾ വരെ ചേർക്കാനാവും"</string>
+    <string name="face_intro_error_max" msgid="160022811747660581">"നിങ്ങൾ പരമാവധി മുഖങ്ങൾ ചേർത്തിരിക്കുന്നു"</string>
+    <string name="face_intro_error_unknown" msgid="6367721696446677261">"കൂടുതൽ മുഖങ്ങൾ ചേർക്കാനാവില്ല"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"വിരലടയാളം"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"വിരലടയാളങ്ങൾ നിയന്ത്രിക്കുക"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"ഇതിനായി വിരലടയാളം ഉപയോഗിക്കുക"</string>
@@ -527,14 +513,12 @@
     <string name="setup_lock_settings_picker_title" product="tablet" msgid="90329443364067215">"ടാബ്‌ലെറ്റ് പരിരക്ഷിക്കുക"</string>
     <string name="setup_lock_settings_picker_title" product="device" msgid="2399952075134938929">"ഉപകരണം പരിരക്ഷിക്കുക"</string>
     <string name="setup_lock_settings_picker_title" product="default" msgid="1572244299605153324">"ഫോൺ പരിരക്ഷിക്കുക"</string>
-    <!-- no translation found for lock_settings_picker_biometrics_added_security_message (1507307757032207572) -->
-    <skip />
+    <string name="lock_settings_picker_biometrics_added_security_message" msgid="1507307757032207572">"അധിക സുരക്ഷയ്ക്കായി,ഒരു ബാക്കപ്പ് സ്‌ക്രീൻ ലോക്ക് സജ്ജീകരിക്കുക."</string>
     <string name="setup_lock_settings_picker_message" product="tablet" msgid="8919671129189936210">"ഉപകരണ പരിരക്ഷാ ഫീച്ചറുകൾ സജീവമാക്കുന്നതിലൂടെ നിങ്ങളുടെ അനുമതിയില്ലാതെ മറ്റുള്ളവർ ഈ ടാബ്‌ലെറ്റ് ഉപയോഗിക്കുന്നത് തടയുക. നിങ്ങൾ ഉപയോഗിക്കാൻ ആഗ്രഹിക്കുന്ന സ്ക്രീൻ ലോക്ക് തിരഞ്ഞെടുക്കുക."</string>
     <string name="setup_lock_settings_picker_message" product="device" msgid="3787276514406353777">"ഉപകരണ പരിരക്ഷാ ഫീച്ചറുകൾ സജീവമാക്കുന്നതിലൂടെ നിങ്ങളുടെ അനുമതിയില്ലാതെ മറ്റുള്ളവർ ഈ ഉപകരണം ഉപയോഗിക്കുന്നത് തടയുക. നിങ്ങൾ ഉപയോഗിക്കാൻ ആഗ്രഹിക്കുന്ന സ്ക്രീൻ ലോക്ക് തിരഞ്ഞെടുക്കുക."</string>
     <string name="setup_lock_settings_picker_message" product="default" msgid="3692856437543730446">"ഉപകരണ പരിരക്ഷാ ഫീച്ചറുകൾ സജീവമാക്കുന്നതിലൂടെ നിങ്ങളുടെ അനുമതിയില്ലാതെ മറ്റുള്ളവർ ഈ ഫോൺ ഉപയോഗിക്കുന്നത് തടയുക. നിങ്ങൾ ഉപയോഗിക്കാൻ ആഗ്രഹിക്കുന്ന സ്ക്രീൻ ലോക്ക് തിരഞ്ഞെടുക്കുക."</string>
     <string name="lock_settings_picker_fingerprint_message" msgid="4755230324778371292">"നിങ്ങളുടെ ബാക്കപ്പ് സ്ക്രീൻ ലോക്ക് രീതി തിരഞ്ഞെടുക്കുക"</string>
-    <!-- no translation found for lock_settings_picker_face_message (197106534637556054) -->
-    <skip />
+    <string name="lock_settings_picker_face_message" msgid="197106534637556054">"നിങ്ങളുടെ ബാക്കപ്പ് സ്‌ക്രീൻ ലോക്ക് രീതി തിരഞ്ഞെടുക്കുക"</string>
     <string name="setup_lock_settings_options_button_label" msgid="8511153243629402929">"സ്‌ക്രീൻ ലോക്ക് ഓപ്ഷനുകള്‍"</string>
     <string name="setup_lock_settings_options_dialog_title" msgid="5058207955455973917">"സ്‌ക്രീൻ ലോക്ക് ഓപ്ഷനുകള്‍"</string>
     <string name="unlock_set_unlock_launch_picker_title" msgid="2084576942666016993">"സ്ക്രീൻ ലോക്ക്"</string>
@@ -561,16 +545,11 @@
     <string name="fingerprint_unlock_set_unlock_password" msgid="7351131075806338634">"ഫിംഗർപ്രിന്റ് + പാസ്‌വേഡ്"</string>
     <string name="fingerprint_unlock_skip_fingerprint" msgid="1441077909803666681">"വിരലടയാളം ഇല്ലാതെ തുടരുക"</string>
     <string name="fingerprint_unlock_title" msgid="2826226740306003991">"നിങ്ങളുടെ വിരലടയാളം ഉപയോഗിച്ച് ഫോൺ അൺലോക്കുചെയ്യാവുന്നതാണ്. സുരക്ഷയ്ക്കായി, ഈ ഓപ്‌ഷനൊരു ബാക്കപ്പ് സ്ക്രീൻ ലോക്ക് ആവശ്യമാണ്."</string>
-    <!-- no translation found for face_unlock_set_unlock_pattern (8792301636367000123) -->
-    <skip />
-    <!-- no translation found for face_unlock_set_unlock_pin (1196620299595657479) -->
-    <skip />
-    <!-- no translation found for face_unlock_set_unlock_password (223117276773907474) -->
-    <skip />
-    <!-- no translation found for face_unlock_skip_face (6362883392838482791) -->
-    <skip />
-    <!-- no translation found for face_unlock_title (9042382084472444316) -->
-    <skip />
+    <string name="face_unlock_set_unlock_pattern" msgid="8792301636367000123">"മുഖം പരിശോധിച്ചുറപ്പിക്കൽ + പാറ്റേൺ"</string>
+    <string name="face_unlock_set_unlock_pin" msgid="1196620299595657479">"മുഖം പരിശോധിച്ചുറപ്പിക്കൽ + പിൻ"</string>
+    <string name="face_unlock_set_unlock_password" msgid="223117276773907474">"മുഖം പരിശോധിച്ചുറപ്പിക്കൽ + പാസ്‍വേഡ്"</string>
+    <string name="face_unlock_skip_face" msgid="6362883392838482791">"മുഖം പരിശോധിച്ചുറപ്പിക്കൽ ഇല്ലാതെ തുടരുക"</string>
+    <string name="face_unlock_title" msgid="9042382084472444316">"നിങ്ങളുടെ മുഖം ഉപയോഗിച്ച് ഫോൺ അൺലോക്ക് ചെയ്യാനാവും. സുരക്ഷയ്ക്കായി, ഈ ഓപ്‌ഷന് ഒരു ബാക്കപ്പ് സ്‌ക്രീൻ ലോക്ക് ആവശ്യമാണ്."</string>
     <string name="unlock_set_unlock_disabled_summary" msgid="2051593894736282302">"അഡ്‌മിനോ എൻക്രിപ്‌ഷൻ നയമോ ക്രെഡൻഷ്യൽ സ്റ്റോറേജോ പ്രവർത്തനരഹിതമാക്കി"</string>
     <string name="unlock_set_unlock_mode_off" msgid="5881952274566013651">"ഒന്നുമില്ല"</string>
     <string name="unlock_set_unlock_mode_none" msgid="8467360084676871617">"സ്വൈപ്പുചെയ്യുക"</string>
@@ -726,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"തിരയുന്നു..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"ഉപകരണ ക്രമീകരണങ്ങൾ"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"ജോടിയാക്കിയ ഉപകരണം"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"പേര്"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"ഇന്റർനെറ്റ് കണക്ഷൻ"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"കീബോഡ്"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"കോൺടാക്റ്റുകളും കോൾ ചരിത്രവും"</string>
@@ -734,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"ഫോൺ ബുക്ക് പങ്കിടണോ?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"നിങ്ങളുടെ കോൺടാക്‌റ്റുകളും കോൾ ചരിത്രവും ആക്‌സസ്സുചെയ്യാൻ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> താൽപ്പര്യപ്പെടുന്നു."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> എന്നത് ബ്ലൂടൂത്തുമായി ജോടിയാകാൻ താൽപ്പര്യപ്പെടുന്നു. കണക്‌റ്റുചെയ്‌തുകഴിഞ്ഞാൽ, അതിന് നിങ്ങളുടെ കോൺടാക്റ്റുകളിലേക്കും കോൾ ചരിത്രത്തിലേക്കും ആക്‌സസ്സ് ഉണ്ടാകും."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"ജോടിയാക്കിയ ഉപകരണങ്ങൾ"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"ലഭ്യമായ ഉപകരണങ്ങൾ"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"ഉപകരണങ്ങളൊന്നും ലഭ്യമല്ല"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"കണക്റ്റുചെയ്യുക"</string>
@@ -1125,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"തെളിച്ചം"</string>
     <string name="brightness_summary" msgid="838917350127550703">"സ്‌ക്രീനിന്റെ തെളിച്ചം ക്രമീകരിക്കുക"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"അനുയോജ്യമായ തെളിച്ചം"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"പ്രകാശ ലഭ്യതയനുസരിച്ച് തെളിച്ചം ക്രമീകരിക്കുക"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"ഓഫ്"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"തിരഞ്ഞെടുത്ത തെളിച്ചം വളരെ കുറവാണ്"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"തിരഞ്ഞെടുത്ത തെളിച്ചം കുറവാണ്"</string>
@@ -1640,12 +1618,9 @@
     <string name="lockpassword_password_set_toast" msgid="4875050283108629383">"പാസ്‌വേഡ് സജ്ജീകരിച്ചു"</string>
     <string name="lockpassword_pin_set_toast" msgid="6011826444725291475">"പിൻ സജ്ജീകരിച്ചു"</string>
     <string name="lockpassword_pattern_set_toast" msgid="6867259621331406236">"പാറ്റേൺ സജ്ജീകരിച്ചു"</string>
-    <!-- no translation found for lockpassword_choose_your_password_header_for_face (7876621019688907534) -->
-    <skip />
-    <!-- no translation found for lockpassword_choose_your_pattern_header_for_face (8070525076987585344) -->
-    <skip />
-    <!-- no translation found for lockpassword_choose_your_pin_header_for_face (7304398683609714816) -->
-    <skip />
+    <string name="lockpassword_choose_your_password_header_for_face" msgid="7876621019688907534">"മുഖം പരിശോധിച്ചുറപ്പിക്കൽ ഉപയോഗിക്കാൻ, പാസ്‌വേഡ് സജ്ജീകരിക്കുക"</string>
+    <string name="lockpassword_choose_your_pattern_header_for_face" msgid="8070525076987585344">"മുഖം പരിശോധിച്ചുറപ്പിക്കൽ ഉപയോഗിക്കാൻ, പാറ്റേൺ സജ്ജീകരിക്കുക"</string>
+    <string name="lockpassword_choose_your_pin_header_for_face" msgid="7304398683609714816">"മുഖം പരിശോധിച്ചുറപ്പിക്കൽ ഉപയോഗിക്കാൻ, പിൻ സജ്ജീകരിക്കുക"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="2920960858283879113">"തുടരാൻ നിങ്ങളുടെ ഉപകരണ പാറ്റേൺ ഉപയോഗിക്കുക"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="4062335874438910487">"തുടരാൻ ഉപകരണ പിൻ നൽകുക"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="3976394862548354966">"തുടരാൻ നിങ്ങളുടെ ഉപകരണ പാസ്‌വേഡ് നൽകുക"</string>
@@ -3056,8 +3031,7 @@
     <string name="keywords_systemui_theme" msgid="9112852512550404882">"ഇരുണ്ട തീം"</string>
     <string name="keywords_device_feedback" msgid="564493721125966719">"ബഗ്"</string>
     <string name="keywords_ambient_display_screen" msgid="5874969496073249362">"പാതിമയക്ക ഡിസ്‌പ്ലേ, ലോക്ക് സ്‌ക്രീൻ ഡിസ്‌പ്ലേ"</string>
-    <!-- no translation found for keywords_face_settings (7505388678116799329) -->
-    <skip />
+    <string name="keywords_face_settings" msgid="7505388678116799329">"മുഖം"</string>
     <string name="keywords_fingerprint_settings" msgid="239222512315619538">"ഫിംഗർപ്രിന്റ്"</string>
     <string name="keywords_display_auto_brightness" msgid="4130320471533951796">"സ്‌ക്രീൻ മങ്ങിക്കൽ, ടച്ച്‌സ്‌ക്രീൻ, ബാറ്ററി, സ്മാർട്ട് തെളിച്ചം, ചലനാത്മക തെളിച്ചം"</string>
     <string name="keywords_auto_rotate" msgid="5620879898668211494">"തിരിക്കുക, ഫ്ലിപ്പ്, തിരിക്കൽ, പോർ‌ട്രെയ്റ്റ്, ലാൻഡ്‌സ്കേപ്പ്, ഓറിയന്റേഷൻ, ലംബം, സമാന്തരം"</string>
@@ -3475,12 +3449,9 @@
     <string name="encryption_interstitial_message_pin_for_fingerprint" msgid="4550632760119547492">"ഉപകരണം അൺലോക്കുചെയ്യാൻ വിരലടയാളം ഉപയോഗിക്കുന്നതിന് പുറമെ, ഉപകരണം ആരംഭിക്കുന്നതിന് ‌മുമ്പ്, പിൻ ആവശ്യപ്പെടുന്ന തരത്തിൽ സജ്ജീകരിച്ചുകൊണ്ട് നിങ്ങൾക്ക് ഉപകരണത്തിന് അധിക പരിരക്ഷ നൽകാവുന്നതാണ്. ഉപകരണം ആരംഭിക്കുന്നതുവരെ, അലാറങ്ങൾ ഉൾപ്പെടെ കോളുകളോ സന്ദേശങ്ങളോ അറിയിപ്പുകളോ ഇതിന് സ്വീകരിക്കാനാകില്ല.\n\nനഷ്‌‌ടപ്പെട്ടതോ മോഷ്‌ടിക്കപ്പെടുകയോ ചെയ്‌ത ഉപകരണങ്ങളിലെ വിവരങ്ങൾ പരിരക്ഷിക്കാൻ ഇത് സഹായിക്കുന്നു. നിങ്ങളുടെ ഉപകരണം ആരംഭിക്കുന്നതിന് പിൻ ആവശ്യമാക്കണോ?"</string>
     <string name="encryption_interstitial_message_pattern_for_fingerprint" msgid="932184823193006087">"ഉപകരണം അൺലോക്കുചെയ്യാൻ വിരലടയാളം ഉപയോഗിക്കുന്നതിന് പുറമെ, ഉപകരണം ആരംഭിക്കുന്നതിന് ‌മുമ്പ്, പാറ്റേൺ ആവശ്യപ്പെടുന്ന തരത്തിൽ സജ്ജീകരിച്ചുകൊണ്ട് നിങ്ങൾക്ക് ഉപകരണത്തിന് അധിക പരിരക്ഷ നൽകാവുന്നതാണ്. ഉപകരണം ആരംഭിക്കുന്നതുവരെ, അലാറങ്ങൾ ഉൾപ്പെടെ കോളുകളോ സന്ദേശങ്ങളോ അറിയിപ്പുകളോ ഇതിന് സ്വീകരിക്കാനാകില്ല.\n\nനഷ്‌‌ടപ്പെടുകയോ മോഷ്‌ടിക്കപ്പെടുകയോ ചെയ്‌ത ഉപകരണങ്ങളിലെ വിവരങ്ങൾ പരിരക്ഷിക്കാൻ ഇത് സഹായിക്കുന്നു. നിങ്ങളുടെ ഉപകരണം ആരംഭിക്കുന്നതിന് പാറ്റേൺ ആവശ്യമാക്കണോ?"</string>
     <string name="encryption_interstitial_message_password_for_fingerprint" msgid="5560954719370251702">"ഉപകരണം അൺലോക്കുചെയ്യാൻ ഫിംഗർപ്രിന്റ് ഉപയോഗിക്കുന്നതിന് പുറമെ, ഉപകരണം ആരംഭിക്കുന്നതിന് ‌മുമ്പ്, പാറ്റേൺ ആവശ്യപ്പെടുന്ന തരത്തിൽ സജ്ജീകരിച്ചുകൊണ്ട് നിങ്ങൾക്ക് ഉപകരണത്തിന് അധിക പരിരക്ഷ നൽകാവുന്നതാണ്. ഉപകരണം ആരംഭിക്കുന്നതുവരെ, അലാറങ്ങൾ ഉൾപ്പെടെ കോളുകളോ സന്ദേശങ്ങളോ അറിയിപ്പുകളോ സ്വീകരിക്കാനാകില്ല.\n\nനഷ്‌‌ടപ്പെടുകയോ മോഷ്‌ടിക്കപ്പെടുകയോ ചെയ്‌ത ഉപകരണങ്ങളിലെ വിവരങ്ങൾ പരിരക്ഷിക്കാൻ ഇത് സഹായിക്കുന്നു. നിങ്ങളുടെ ഉപകരണം ആരംഭിക്കുന്നതിന് പാറ്റേൺ ആവശ്യമാക്കണോ?"</string>
-    <!-- no translation found for encryption_interstitial_message_pin_for_face (2017438765366716760) -->
-    <skip />
-    <!-- no translation found for encryption_interstitial_message_pattern_for_face (3551827507967661552) -->
-    <skip />
-    <!-- no translation found for encryption_interstitial_message_password_for_face (3452793542112093614) -->
-    <skip />
+    <string name="encryption_interstitial_message_pin_for_face" msgid="2017438765366716760">"ഉപകരണം അൺലോക്ക് ചെയ്യാൻ നിങ്ങളുടെ മുഖം ഉപയോഗിക്കുന്നതിന് പുറമേ, അത് ആരംഭിക്കുന്നതിന് മുമ്പ് നിങ്ങളുടെ പിൻ ആവശ്യപ്പെടുന്നതിലൂടെ ഈ ഉപകരണം കൂടുതൽ പരിരക്ഷിക്കാനാവും. ഉപകരണം ആരംഭിക്കുന്നതുവരെ, കോളുകളോ സന്ദേശങ്ങളോ അലാറങ്ങൾ ഉൾപ്പെടെയുള്ള അറിയിപ്പുകളോ ഇതിന് സ്വീകരിക്കാനാവില്ല.\n\nനഷ്‌ടപ്പെട്ട അല്ലെങ്കിൽ മോഷ്‌ടിക്കപ്പെട്ട ഉപകരണങ്ങളിലെ ഡാറ്റ പരിരക്ഷിക്കാൻ ഇത് സഹായിക്കുന്നു. നിങ്ങളുടെ ഉപകരണം ആരംഭിക്കാൻ പിൻ ആവശ്യമാക്കണോ?"</string>
+    <string name="encryption_interstitial_message_pattern_for_face" msgid="3551827507967661552">"ഉപകരണം അൺലോക്ക് ചെയ്യാൻ നിങ്ങളുടെ മുഖം ഉപയോഗിക്കുന്നതിന് പുറമേ, അത് ആരംഭിക്കുന്നതിന് മുമ്പ് നിങ്ങളുടെ പാറ്റേൺ ആവശ്യപ്പെടുന്നതിലൂടെ ഈ ഉപകരണം കൂടുതൽ പരിരക്ഷിക്കാനാവും. ഉപകരണം ആരംഭിക്കുന്നതുവരെ, കോളുകളോ സന്ദേശങ്ങളോ അലാറങ്ങൾ ഉൾപ്പെടെയുള്ള അറിയിപ്പുകളോ ഇതിന് സ്വീകരിക്കാനാവില്ല.\n\nനഷ്‌ടപ്പെട്ട അല്ലെങ്കിൽ മോഷ്‌ടിക്കപ്പെട്ട ഉപകരണങ്ങളിലെ ഡാറ്റ പരിരക്ഷിക്കാൻ ഇത് സഹായിക്കുന്നു. നിങ്ങളുടെ ഉപകരണം ആരംഭിക്കാൻ പാറ്റേൺ ആവശ്യമാക്കണോ?"</string>
+    <string name="encryption_interstitial_message_password_for_face" msgid="3452793542112093614">"ഉപകരണം അൺലോക്ക് ചെയ്യാൻ നിങ്ങളുടെ മുഖം ഉപയോഗിക്കുന്നതിന് പുറമേ, അത് ആരംഭിക്കുന്നതിന് മുമ്പ് നിങ്ങളുടെ പാസ്‌വേഡ് ആവശ്യപ്പെടുന്നതിലൂടെ ഈ ഉപകരണം കൂടുതൽ പരിരക്ഷിക്കാനാവും. ഉപകരണം ആരംഭിക്കുന്നതുവരെ, കോളുകളോ സന്ദേശങ്ങളോ അലാറങ്ങൾ ഉൾപ്പെടെയുള്ള അറിയിപ്പുകളോ ഇതിന് സ്വീകരിക്കാനാവില്ല.\n\nനഷ്‌ടപ്പെട്ട അല്ലെങ്കിൽ മോഷ്‌ടിക്കപ്പെട്ട  ഉപകരണങ്ങളിലെ ഡാറ്റ പരിരക്ഷിക്കാൻ ഇത് സഹായിക്കുന്നു. നിങ്ങളുടെ ഉപകരണം ആരംഭിക്കാൻ പാസ്‌വേഡ് ആവശ്യമാക്കണോ?"</string>
     <string name="encryption_interstitial_yes" msgid="4439509435889513411">"അതെ"</string>
     <string name="encryption_interstitial_no" msgid="8935031349097025137">"ഇല്ല"</string>
     <string name="restricted_true_label" msgid="4761453839409220473">"നിയന്ത്രിതം"</string>
@@ -4145,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"സ്വയം പൂരിപ്പിക്കൽ സേവനം"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"സ്വയമേവ, പൂരിപ്പിക്കൽ, സ്വയമേവ പൂരിപ്പിക്കൽ"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;ഈ ആപ്പിനെ നിങ്ങൾ വിശ്വസിക്കുന്നുണ്ടെന്ന് ഉറപ്പുവരുത്തുക&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; സ്വയമേവ പൂരിപ്പിക്കേണ്ടത് എന്താണെന്ന് നിർണ്ണയിക്കുന്നതിന് നിങ്ങളുടെ സ്‌ക്രീനിൽ ഉള്ളത് ഉപയോഗിക്കുന്നു."</string>
-    <string name="color_theme" msgid="1535685696756738324">"വർണ തീം"</string>
-    <string name="default_theme" msgid="7085644992078579076">"ഡിഫോൾട്ട്"</string>
     <string name="device_theme" msgid="4571803018917608588">"ഉപകരണത്തിന്റെ തീം"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"സ്വമേധയാ (വാൾപേപ്പറിനെ അടിസ്ഥാനമാക്കി)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"ഇളം"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"ഇരുണ്ട"</string>
+    <string name="default_theme" msgid="7085644992078579076">"ഡിഫോൾട്ട്"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"നെറ്റ്‌വർക്കിന്‍റെ പേര്"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"സ്‌റ്റാറ്റസ് ബാറിൽ നെറ്റ്‍വര്‍ക്കിന്‍റെ പേര് പ്രദര്‍ശിപ്പിക്കുക"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"സ്റ്റോറേജ് മാനേജര്‍: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-mn/arrays.xml b/res/values-mn/arrays.xml
index 3131f8e..fbfe81c 100644
--- a/res/values-mn/arrays.xml
+++ b/res/values-mn/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Байнга асаалттай"</item>
     <item msgid="6385301106124765323">"Байнга унтраалттай"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
index 0ed1f54..4cfd97a 100644
--- a/res/values-mn/strings.xml
+++ b/res/values-mn/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Төхөөрөмжийн Bluetooth хаяг: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>-г салгах уу?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Цацалт"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Профайлыг идэвхгүйжүүлэх үү?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Энэ &lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;-н &lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;-г идэвхгүйжүүлэх болно"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Нэргүй блютүүт төхөөрөмж"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Хайж байна..."</string>
@@ -402,7 +400,7 @@
     <string name="security_settings_face_enroll_introduction_message_unlock_disabled" msgid="6300341727101929207">"Таныг ашиглах"</string>
     <string name="security_settings_face_enroll_introduction_message_setup" msgid="5704661081718707858">"Утасныхаа түгжээг тайлах, худалдан авалт хийх эсвэл аппад нэвтрэхдээ царайгаа ашиглана уу"</string>
     <string name="face_add_max" msgid="2342250989212694454">"Та <xliff:g id="COUNT">%d</xliff:g> хүртэлх хурууны хээ нэмж болно"</string>
-    <string name="face_intro_error_max" msgid="160022811747660581">"Танд зөвшөөрөгдсөн царайны тоо гүйцсэн байна"</string>
+    <string name="face_intro_error_max" msgid="160022811747660581">"Таны зөвшөөрөгдсөн царайны тоо гүйцсэн байна"</string>
     <string name="face_intro_error_unknown" msgid="6367721696446677261">"Илүү царай нэмж чадахгүй байна"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Хурууны хээ"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Хурууны хээ удирдах"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Хайж байна..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Төхөөрөмжийн тохиргоо"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Хослуулсан төхөөрөмж"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Нэр"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Интернэт холболт"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Гар"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Харилцагчид болон дуудлагын түүх"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Утасны жагсаалтыг хуваалцах уу?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> таны харилцагчид болон дуудлагын түүхэд хандахыг хүсэж байна."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> Блютүүттэй хослохыг хүсэж байна. Холбогдсон үед таны харилцагчид болон дуудлагын түүхэд хандах боломжтой болно."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Хослуулсан төхөөрөмжүүд"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Боломжтой төхөөрөмжүүд"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Төхөөрөмж байхгүй"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Холбох"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Тодролт"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Дэлгэцийн тодролыг тохируулах"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Зохицогч гэрэлтүүлэг"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Боломжит гэрэлд тохируулан гэрэлтүүлгийг зохицуулах"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Идэвхгүй"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Сонгож буй гэрэлтүүлэг маш бага байна"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Сонгок буй гэрэлтүүлэг бага байна"</string>
@@ -3450,9 +3447,9 @@
     <string name="encryption_interstitial_message_pin_for_fingerprint" msgid="4550632760119547492">"Төхөөрөмжийнхөө түгжээг тайлахын тулд хурууны хээгээ ашиглах бол та цаашид төхөөрөмжийг эхлүүлэхээс өмнө ПИН шаардаж хамгаалах боломжтой. Төхөөрөмжийг эхлүүлэх хүртэл дуудлага, зурвас, сэрүүлэг зэрэг мэдэгдэл авах боломжгүй. \n\nЭнэ нь гээсэн эсвэл алдсан төхөөрөмжийн өгөгдлийг хамгаалдаг. Төхөөрөмжөө эхлүүлэхийн тулд ПИН шаардах уу?"</string>
     <string name="encryption_interstitial_message_pattern_for_fingerprint" msgid="932184823193006087">"Төхөөрөмжийнхөө түгжээг тайлахын тулд хурууны хээгээ ашиглах бол та цаашид төхөөрөмжийг эхлүүлэхээс өмнө зурган түгжээ шаардаж хамгаалах боломжтой. Төхөөрөмжийг эхлүүлэх хүртэл дуудлага, зурвас, сэрүүлэг зэрэг мэдэгдэл авах боломжгүй. \n\nЭнэ нь гээсэн эсвэл алдсан төхөөрөмжийн өгөгдлийг хамгаалдаг. Төхөөрөмжөө эхлүүлэхийн тулд зурган хээ шаардах уу?"</string>
     <string name="encryption_interstitial_message_password_for_fingerprint" msgid="5560954719370251702">"Төхөөрөмжийнхөө түгжээг тайлахын тулд хурууны хээгээ ашиглах бол та цаашид төхөөрөмжийг эхлүүлэхээс өмнө нууц үг шаардаж хамгаалах боломжтой. Төхөөрөмжийг эхлүүлэх хүртэл дуудлага, зурвас, сэрүүлэг зэрэг мэдэгдэл авах боломжгүй. \n\nЭнэ нь гээсэн эсвэл алдсан төхөөрөмжийн өгөгдлийг хамгаалдаг. Төхөөрөмжөө эхлүүлэхийн тулд нууц үг шаардах уу?"</string>
-    <string name="encryption_interstitial_message_pin_for_face" msgid="2017438765366716760">"Нэмж дурдахад та царайгаа ашиглаж төхөөрөмжийнхөө түгжээг тайлсан ч та цаашид төхөөрөмжийг эхлүүлэхээс өмнө ПИН шаардаж хамгаалах боломжтой. Төхөөрөмжийг эхлүүлэх хүртэл дуудлага, зурвас, сэрүүлэг зэрэг мэдэгдэл авах боломжгүй. \n\nЭнэ нь гээсэн эсвэл алдсан төхөөрөмжийн өгөгдлийг хамгаалхад тусална. Төхөөрөмжөө эхлүүлэхийн тулд ПИН шаардах уу?"</string>
-    <string name="encryption_interstitial_message_pattern_for_face" msgid="3551827507967661552">"Нэмж дурдахад та царайгаа ашиглаж төхөөрөмжийнхөө түгжээг тайлсан ч та цаашид төхөөрөмжийг эхлүүлэхээс өмнө хээ шаардаж хамгаалах боломжтой. Төхөөрөмжийг эхлүүлэх хүртэл дуудлага, зурвас, сэрүүлэг зэрэг мэдэгдэл авах боломжгүй. \n\nЭнэ нь гээсэн эсвэл алдсан төхөөрөмжийн өгөгдлийг хамгаалхад тусална. Төхөөрөмжөө эхлүүлэхийн тулд хээ шаардах уу?"</string>
-    <string name="encryption_interstitial_message_password_for_face" msgid="3452793542112093614">"Нэмж дурдахад та царайгаа ашиглаж төхөөрөмжийнхөө түгжээг тайлсан ч та цаашид төхөөрөмжийг эхлүүлэхээс өмнө нууц үг шаардаж хамгаалах боломжтой. Төхөөрөмжийг эхлүүлэх хүртэл дуудлага, зурвас, сэрүүлэг зэрэг мэдэгдэл авах боломжгүй. \n\nЭнэ нь гээсэн эсвэл алдсан төхөөрөмжийн өгөгдлийг хамгаалхад тусална. Төхөөрөмжөө эхлүүлэхийн тулд нууц үг шаардах уу?"</string>
+    <string name="encryption_interstitial_message_pin_for_face" msgid="2017438765366716760">"Нэмж дурдахад та царайгаа ашиглаж төхөөрөмжийнхөө түгжээг тайлсан ч цаашид төхөөрөмжийг эхлүүлэхээс өмнө ПИН шаардаж хамгаалах боломжтой. Төхөөрөмжийг эхлүүлэх хүртэл дуудлага, зурвас, сэрүүлэг зэрэг мэдэгдэл авах боломжгүй. \n\nЭнэ нь гээсэн эсвэл алдсан төхөөрөмжийн өгөгдлийг хамгаалахад тусална. Төхөөрөмжөө эхлүүлэхийн тулд ПИН шаардах уу?"</string>
+    <string name="encryption_interstitial_message_pattern_for_face" msgid="3551827507967661552">"Нэмж дурдахад та царайгаа ашиглаж төхөөрөмжийнхөө түгжээг тайлсан ч цаашид төхөөрөмжийг эхлүүлэхээс өмнө хээ шаардаж хамгаалах боломжтой. Төхөөрөмжийг эхлүүлэх хүртэл дуудлага, зурвас, сэрүүлэг зэрэг мэдэгдэл авах боломжгүй. \n\nЭнэ нь гээсэн эсвэл алдсан төхөөрөмжийн өгөгдлийг хамгаалахад тусална. Төхөөрөмжөө эхлүүлэхийн тулд хээ шаардах уу?"</string>
+    <string name="encryption_interstitial_message_password_for_face" msgid="3452793542112093614">"Нэмж дурдахад та царайгаа ашиглаж төхөөрөмжийнхөө түгжээг тайлсан ч цаашид төхөөрөмжийг эхлүүлэхээс өмнө нууц үг шаардаж хамгаалах боломжтой. Төхөөрөмжийг эхлүүлэх хүртэл дуудлага, зурвас, сэрүүлэг зэрэг мэдэгдэл авах боломжгүй. \n\nЭнэ нь гээсэн эсвэл алдсан төхөөрөмжийн өгөгдлийг хамгаалахад тусална. Төхөөрөмжөө эхлүүлэхийн тулд нууц үг шаардах уу?"</string>
     <string name="encryption_interstitial_yes" msgid="4439509435889513411">"Тийм"</string>
     <string name="encryption_interstitial_no" msgid="8935031349097025137">"Үгүй"</string>
     <string name="restricted_true_label" msgid="4761453839409220473">"Хязгаарласан"</string>
@@ -4117,12 +4114,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Автоматаар бөглөх үйлчилгээ"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"авто, бөглөх, автоматаар бөглөх"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Энэ апп-д итгэдэг эсэхээ шалгана уу&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google автоматаар бөглөх&gt;%1$s&lt;/xliff:g&gt; таны дэлгэцэд автоматаар бөглөх зүйлийг илрүүлэхийн тулд ашигладаг."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Өнгөний загвар"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Өгөгдмөл"</string>
     <string name="device_theme" msgid="4571803018917608588">"Төхөөрөмжийн загвар"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Автомат (ханын зурганд үндэслэн)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Цайвар"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Бараан"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Өгөгдмөл"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Сүлжээний нэр"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Сүлжээний нэрийг статус самбарт харуулах"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Сангийн менежер: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-mr/arrays.xml b/res/values-mr/arrays.xml
index 7588dc8..f70d119 100644
--- a/res/values-mr/arrays.xml
+++ b/res/values-mr/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"नेहमी चालू"</item>
     <item msgid="6385301106124765323">"नेहमी बंद"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index 1fef412..1d523e0 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"डीव्हाइसचा ब्लूटूथ अ‍ॅड्रेस: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> डिस्कनेक्ट करायचे?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"प्रसारण"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"प्रोफाईल अक्षम करायचे?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"हे अक्षम करेल:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;यावरून:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"नाव नसलेले ब्लूटूथ डिव्हाइस"</string>
     <string name="progress_scanning" msgid="192587958424295789">"शोधत आहे"</string>
@@ -392,30 +390,18 @@
     <string name="security_status_title" msgid="5848766673665944640">"सुरक्षितता स्थिती"</string>
     <string name="security_dashboard_summary" msgid="6757421634477554939">"स्क्रीन लॉक, फिंगरप्रिंट"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="8129641548372335540">"स्क्रीन लॉक"</string>
-    <!-- no translation found for security_settings_face_preference_summary (1290187225482642821) -->
-    <skip />
-    <!-- no translation found for security_settings_face_preference_summary_none (5460349732790152186) -->
-    <skip />
-    <!-- no translation found for security_settings_face_preference_title (7074548721778680481) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_cancel (4277182322482408514) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_title (2694505011712885439) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_title_unlock_disabled (8180330567034286589) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_message (6150611993438981458) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_message_unlock_disabled (6300341727101929207) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_message_setup (5704661081718707858) -->
-    <skip />
-    <!-- no translation found for face_add_max (2342250989212694454) -->
-    <skip />
-    <!-- no translation found for face_intro_error_max (160022811747660581) -->
-    <skip />
-    <!-- no translation found for face_intro_error_unknown (6367721696446677261) -->
-    <skip />
+    <string name="security_settings_face_preference_summary" msgid="1290187225482642821">"चेहरा जोडला आहे"</string>
+    <string name="security_settings_face_preference_summary_none" msgid="5460349732790152186">"फेस ऑथेंटिकेशन सेट करण्यासाठी टॅप करा"</string>
+    <string name="security_settings_face_preference_title" msgid="7074548721778680481">"फेस ऑथेंटिकेशन"</string>
+    <string name="security_settings_face_enroll_introduction_cancel" msgid="4277182322482408514">"रद्द करा"</string>
+    <string name="security_settings_face_enroll_introduction_title" msgid="2694505011712885439">"तुमच्या चेहऱ्यासह अनलॉक करा"</string>
+    <string name="security_settings_face_enroll_introduction_title_unlock_disabled" msgid="8180330567034286589">"ऑथेंटिकेट करण्यासाठी तुमचा चेहरा वापरा"</string>
+    <string name="security_settings_face_enroll_introduction_message" msgid="6150611993438981458">"तुमचा फोन अनलॉक करण्यासाठी, खरेदी अधिकृत करण्यासाठी किंवा अॅप्समध्ये साइन इन करण्यासाठी तुमचा चेहरा वापरा."</string>
+    <string name="security_settings_face_enroll_introduction_message_unlock_disabled" msgid="6300341727101929207">"तुमचा चेहरा वापरा"</string>
+    <string name="security_settings_face_enroll_introduction_message_setup" msgid="5704661081718707858">"तुमचा फोन अनलॉक करण्यासाठी, खरेदी अधिकृत करण्यासाठी किंवा अॅप्सवर साइन इन करण्यासाठी तुमचा चेहरा वापरा"</string>
+    <string name="face_add_max" msgid="2342250989212694454">"तुम्ही <xliff:g id="COUNT">%d</xliff:g> पर्यंत फिंगरप्रिंट जोडू शकता"</string>
+    <string name="face_intro_error_max" msgid="160022811747660581">"तुम्ही चेहरे जोडण्याची कमाल संख्या गाठली आहे"</string>
+    <string name="face_intro_error_unknown" msgid="6367721696446677261">"अधिक चेहरे जोडता येणार नाहीत"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"फिंगरप्रिंट"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"फिंगरप्रिंट व्यवस्‍थापित करा"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"फिंगरप्रिंट यासाठी वापरा"</string>
@@ -527,14 +513,12 @@
     <string name="setup_lock_settings_picker_title" product="tablet" msgid="90329443364067215">"तुमचा टॅबलेट संरक्षित करा"</string>
     <string name="setup_lock_settings_picker_title" product="device" msgid="2399952075134938929">"तुमचे डिव्हाइस संरक्षित करा"</string>
     <string name="setup_lock_settings_picker_title" product="default" msgid="1572244299605153324">"तुमचा फोन संरक्षित करा"</string>
-    <!-- no translation found for lock_settings_picker_biometrics_added_security_message (1507307757032207572) -->
-    <skip />
+    <string name="lock_settings_picker_biometrics_added_security_message" msgid="1507307757032207572">"अतिरिक्त सुरक्षिततेसाठी, बॅकअप स्क्रीन लॉक सेट करा"</string>
     <string name="setup_lock_settings_picker_message" product="tablet" msgid="8919671129189936210">"डिव्हाइस संरक्षण वैशिष्ट्ये अॅक्टिव्हेट करून तुमच्या परवानगीशिवाय हा टॅब्लेट वापरण्यापासून इतरांना प्रतिबंधित करा. तुम्ही वापरू इच्छित असलेले स्क्रीन लॉक निवडा."</string>
     <string name="setup_lock_settings_picker_message" product="device" msgid="3787276514406353777">"डिव्हाइस संरक्षण वैशिष्ट्ये अॅक्टिव्हेट करून तुमच्या परवानगीशिवाय हे डिव्हाइस वापरण्यापासून इतरांना प्रतिबंधित करा. तुम्ही वापरू इच्छित असलेले स्क्रीन लॉक निवडा."</string>
     <string name="setup_lock_settings_picker_message" product="default" msgid="3692856437543730446">"डिव्हाइस संरक्षण वैशिष्ट्ये अॅक्टिव्हेट करून तुमच्या परवानगीशिवाय हा फोन वापरण्यापासून इतरांना प्रतिबंधित करा. तुम्ही वापरू इच्छित असलेले स्क्रीन लॉक निवडा."</string>
     <string name="lock_settings_picker_fingerprint_message" msgid="4755230324778371292">"तुमची बॅक अप स्क्रीन लॉक पद्धत निवडा"</string>
-    <!-- no translation found for lock_settings_picker_face_message (197106534637556054) -->
-    <skip />
+    <string name="lock_settings_picker_face_message" msgid="197106534637556054">"तुमची बॅकअप स्क्रीन लॉक पद्धत निवडा"</string>
     <string name="setup_lock_settings_options_button_label" msgid="8511153243629402929">"स्क्रीन लॉक पर्याय"</string>
     <string name="setup_lock_settings_options_dialog_title" msgid="5058207955455973917">"स्क्रीन लॉक पर्याय"</string>
     <string name="unlock_set_unlock_launch_picker_title" msgid="2084576942666016993">"स्क्रीन लॉक"</string>
@@ -561,16 +545,11 @@
     <string name="fingerprint_unlock_set_unlock_password" msgid="7351131075806338634">"फिंगरप्रिंट + पासवर्ड"</string>
     <string name="fingerprint_unlock_skip_fingerprint" msgid="1441077909803666681">"फिंगरप्रिंट न वापरता सुरु ठेवा"</string>
     <string name="fingerprint_unlock_title" msgid="2826226740306003991">"तुम्ही आपल्या फिंगरप्रिंटचा वापर करून तुमचा फोन अनलॉक करू शकता. सुरक्षिततेसाठी, या पर्यायाकरिता एक बॅक अप स्क्रीन लॉक आवश्यक आहे."</string>
-    <!-- no translation found for face_unlock_set_unlock_pattern (8792301636367000123) -->
-    <skip />
-    <!-- no translation found for face_unlock_set_unlock_pin (1196620299595657479) -->
-    <skip />
-    <!-- no translation found for face_unlock_set_unlock_password (223117276773907474) -->
-    <skip />
-    <!-- no translation found for face_unlock_skip_face (6362883392838482791) -->
-    <skip />
-    <!-- no translation found for face_unlock_title (9042382084472444316) -->
-    <skip />
+    <string name="face_unlock_set_unlock_pattern" msgid="8792301636367000123">"फेस ऑथेंटिकेशन + पॅटर्न"</string>
+    <string name="face_unlock_set_unlock_pin" msgid="1196620299595657479">"फेस ऑथेंटिकेशन + पिन"</string>
+    <string name="face_unlock_set_unlock_password" msgid="223117276773907474">"फेस ऑथेंटिकेशन + पासवर्ड"</string>
+    <string name="face_unlock_skip_face" msgid="6362883392838482791">"फेस ऑथेंटिकेशनशिवाय सुरू ठेवा"</string>
+    <string name="face_unlock_title" msgid="9042382084472444316">"तुम्ही तुमचा चेहरा वापरून तुमचा फोन अनलॉक करू शकता. सुरक्षिततेसाठी, या पर्यायासाठी बॅकअप स्क्रीन लॉक आवश्यक आहे."</string>
     <string name="unlock_set_unlock_disabled_summary" msgid="2051593894736282302">"प्रशासक, कूटबद्धीकरण धोरण किंवा क्रेडेन्शियल संचयनाद्वारे अक्षम केलेले"</string>
     <string name="unlock_set_unlock_mode_off" msgid="5881952274566013651">"काहीही नाही"</string>
     <string name="unlock_set_unlock_mode_none" msgid="8467360084676871617">"स्‍वाइप करा"</string>
@@ -726,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"शोधत आहे..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"डिव्हाइस सेटिंग्ज"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"पेअर केलेले डिव्हाइस"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"नाव"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"इंटरनेट कनेक्शन"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"कीबोर्ड"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"संपर्क आणि कॉल इतिहास"</string>
@@ -734,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"फोन बुक सामायिक करायचे?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> आपल्या संपर्कांवर आणि कॉल इतिहासावर प्रवेश करू इच्छित आहे."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ब्लूटूथ सह जोडू इच्‍छिते. कनेक्‍ट केले असताना, त्यास आपल्‍या संपर्कांवर आणि कॉल इतिहासावर अॅक्सेस असेल."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"जोडलेली डिव्हाइसेस"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"उपलब्ध डिव्हाइस"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"कोणतेही डिव्हाइसेस उपलब्ध नाहीत"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"कनेक्ट करा"</string>
@@ -1125,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"चकाकी"</string>
     <string name="brightness_summary" msgid="838917350127550703">"स्क्रीनची चकाकी समायोजित करा"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"अॅडॅप्टिव्ह चकाकी"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"उपलब्ध प्रकाशासाठी चकाकी स्तर ऑप्टिमाइझ करा"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"बंद"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"प्राधान्य दिलेली उज्ज्वलता खूप कमी आहे"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"प्राधान्य दिलेली उज्ज्वलता कमी आहे"</string>
@@ -1641,12 +1619,9 @@
     <string name="lockpassword_password_set_toast" msgid="4875050283108629383">"पासवर्ड सेट केला गेला आहे"</string>
     <string name="lockpassword_pin_set_toast" msgid="6011826444725291475">"पिन सेट केला आहे"</string>
     <string name="lockpassword_pattern_set_toast" msgid="6867259621331406236">"पॅटर्न सेट केला गेला आहे"</string>
-    <!-- no translation found for lockpassword_choose_your_password_header_for_face (7876621019688907534) -->
-    <skip />
-    <!-- no translation found for lockpassword_choose_your_pattern_header_for_face (8070525076987585344) -->
-    <skip />
-    <!-- no translation found for lockpassword_choose_your_pin_header_for_face (7304398683609714816) -->
-    <skip />
+    <string name="lockpassword_choose_your_password_header_for_face" msgid="7876621019688907534">"फेस ऑथेंटिकेशन वापरण्यासाठी, पासवर्ड सेट करा"</string>
+    <string name="lockpassword_choose_your_pattern_header_for_face" msgid="8070525076987585344">"फेस ऑथेंटिकेशन वापरण्यासाठी, पॅटर्न सेट करा"</string>
+    <string name="lockpassword_choose_your_pin_header_for_face" msgid="7304398683609714816">"फेस ऑथेंटिकेशन वापरण्यासाठी, पिन सेट करा"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="2920960858283879113">"सुरु ठेवण्यासाठी तुमच्या डिव्हाइस पॅटर्नचा वापर करा"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="4062335874438910487">"सुरु ठेवण्यासाठी तुमचे डिव्हाइस पिन एंटर करा"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="3976394862548354966">"सुरु ठेवण्यासाठी तुमचे डिव्हाइस पासवर्ड एंटर करा"</string>
@@ -3057,8 +3032,7 @@
     <string name="keywords_systemui_theme" msgid="9112852512550404882">"गडद थीम"</string>
     <string name="keywords_device_feedback" msgid="564493721125966719">"बग"</string>
     <string name="keywords_ambient_display_screen" msgid="5874969496073249362">"अँबियन्ट डिस्‍प्‍ले, लॉक स्‍क्रीन डिस्‍प्‍ले"</string>
-    <!-- no translation found for keywords_face_settings (7505388678116799329) -->
-    <skip />
+    <string name="keywords_face_settings" msgid="7505388678116799329">"चेहरा"</string>
     <string name="keywords_fingerprint_settings" msgid="239222512315619538">"फिंगरप्रिंट"</string>
     <string name="keywords_display_auto_brightness" msgid="4130320471533951796">"मंद स्क्रीन, टचस्क्रीन, बॅटरी, स्मार्ट ब्राइटनेस, डायनॅमिक ब्राइटनेस"</string>
     <string name="keywords_auto_rotate" msgid="5620879898668211494">"फिरवा, फ्लिप करा, रोटेशन, पोर्ट्रेट, लँडस्केप, ओरिएंटेशन, उभे, आडवे"</string>
@@ -3476,12 +3450,9 @@
     <string name="encryption_interstitial_message_pin_for_fingerprint" msgid="4550632760119547492">"तुमचे डिव्हाइस अनलॉक करण्यासाठी तुमचे फिंगरप्रिंट वापरण्याव्यतिरिक्त, सुरू होण्यापूर्वी तुमचा पिन आवश्यक करून तुम्ही हे डिव्हाइस अधिक संरक्षित करू शकता. डिव्हाइस सुरू होईपर्यंत, ते कॉल, मेसेज किंवा अलार्मसह सूचना प्राप्त करू शकत नाही.\n\nयामुळे हरवलेल्या किंवा चोरीला गेलेल्या डिव्हाइस वरील डेटाचे संरक्षण करण्यात मदत होते. तुमचे डिव्हाइस सुरू करण्यासाठी पिन हवा?"</string>
     <string name="encryption_interstitial_message_pattern_for_fingerprint" msgid="932184823193006087">"तुमचे डिव्हाइस अनलॉक करण्यासाठी तुमचे फिंगरप्रिंट वापरण्याव्यतिरिक्त, सुरू होण्यापूर्वी तुमचा पॅटर्न आवश्यक करून तुम्ही हे डिव्हाइस अधिक संरक्षित करू शकता. डिव्हाइस सुरू होईपर्यंत, ते कॉल, मेसेज किंवा अलार्मसह सूचना प्राप्त करू शकत नाही.\n\nयामुळे हरवलेल्या किंवा चोरीला गेलेल्या डिव्हाइस वरील डेटाचे संरक्षण करण्यात मदत होते. तुमचे डिव्हाइस सुरू करण्यासाठी पॅटर्न हवा?"</string>
     <string name="encryption_interstitial_message_password_for_fingerprint" msgid="5560954719370251702">"तुमचे डिव्हाइस अनलॉक करण्‍यासाठी तुमचे फिंगरप्रिंट वापरण्‍याव्यतिरिक्त, ते सुरू होण्‍यापूर्वी तुम्ही तुमचा पासवर्ड आवश्‍यक करून हे डिव्हाइस अधिक सुरक्षित करू शकता. डिव्हाइस सुरू होईपर्यंत, तो कॉल, मेसेज किंवा अलार्मसह सूचना प्राप्त करू शकत नाही.\n\nहे हरवलेल्या किंवा चोरीला गेलेल्या डिव्हाइस वरील डेटाचे संरक्षण करण्यात मदत करते. तुमचे डिव्हाइस सुरू करण्यासाठी पासवर्ड आवश्‍यक आहे का?"</string>
-    <!-- no translation found for encryption_interstitial_message_pin_for_face (2017438765366716760) -->
-    <skip />
-    <!-- no translation found for encryption_interstitial_message_pattern_for_face (3551827507967661552) -->
-    <skip />
-    <!-- no translation found for encryption_interstitial_message_password_for_face (3452793542112093614) -->
-    <skip />
+    <string name="encryption_interstitial_message_pin_for_face" msgid="2017438765366716760">"तुमचे डिव्हाइस अनलॉक करण्यासाठी तुमचा चेहेरा वापरण्यबरोबरच, ते सुरू होण्यापूर्वी तुम्ही तुमच्या पिनचा वापर अनिवार्य करून हे डिव्हाइस अधिक सुरक्षित करू शकता. डिव्हाइस सुरू होईपर्यंत, ते अलार्मच्या समावेशासह कॉल, मेसेज किंवा सूचना मिळवू शकणार नाही.\n\nहे हरवलेल्या किंवा चोरलेल्या डिव्हाइसवरील डेटाचे संरक्षण करण्यात मदत करते. तुमचे डिव्हाइस सुरू करण्यासाठी पिनची आवश्यकता आहे का?"</string>
+    <string name="encryption_interstitial_message_pattern_for_face" msgid="3551827507967661552">"तुमचे डिव्हाइस अनलॉक करण्यासाठी तुमचा चेहेरा वापरण्यबरोबरच, ते सुरू होण्यापूर्वी तुम्ही तुमच्या पॅटर्नचा वापर अनिवार्य करून हे डिव्हाइस अधिक सुरक्षित करू शकता. डिव्हाइस सुरू होईपर्यंत, ते अलार्मच्या समावेशासह कॉल, मेसेज किंवा सूचना मिळवू शकणार नाही.\n\nहे हरवलेल्या किंवा चोरलेल्या डिव्हाइसवरील डेटाचे संरक्षण करण्यात मदत करते. तुमचे डिव्हाइस सुरू करण्यासाठी पॅटर्नची आवश्यकता आहे का?"</string>
+    <string name="encryption_interstitial_message_password_for_face" msgid="3452793542112093614">"तुमचे डिव्हाइस अनलॉक करण्यासाठी तुमचा चेहेरा वापरण्यबरोबरच, ते सुरू होण्यापूर्वी तुम्ही तुमच्या पासवर्डचा वापर अनिवार्य करून हे डिव्हाइस अधिक सुरक्षित करू शकता. डिव्हाइस सुरू होईपर्यंत, ते अलार्मच्या समावेशासह कॉल, मेसेज किंवा सूचना मिळवू शकणार नाही.\n\nहे हरवलेल्या किंवा चोरलेल्या डिव्हाइसवरील डेटाचे संरक्षण करण्यात मदत करते. तुमचे डिव्हाइस सुरू करण्यासाठी पासवर्डची आवश्यकता आहे का?"</string>
     <string name="encryption_interstitial_yes" msgid="4439509435889513411">"होय"</string>
     <string name="encryption_interstitial_no" msgid="8935031349097025137">"नाही"</string>
     <string name="restricted_true_label" msgid="4761453839409220473">"प्रतिबंधित"</string>
@@ -4146,12 +4117,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"स्वयं-भरण सेवा"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"स्वयं, भरा, स्वयंभरण"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;तुमचा या अॅपवर विश्वास असल्याचे निश्चित करा&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; ऑटोफिल काय होऊ शकते हे ठरवण्यासाठी तुमच्या स्क्रीनवर काय आहे याचा वापर करते."</string>
-    <string name="color_theme" msgid="1535685696756738324">"रंगांची थीम"</string>
-    <string name="default_theme" msgid="7085644992078579076">"डीफॉल्ट"</string>
     <string name="device_theme" msgid="4571803018917608588">"डिव्हाइस थीम"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"आपोआप (वॉलपेपरवर आधारित)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"फिकी"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"गडद"</string>
+    <string name="default_theme" msgid="7085644992078579076">"डीफॉल्ट"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"नेटवर्कचे नाव"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"स्टेटस बारमध्ये नेटवर्क नाव प्रदर्शित करा"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"स्टोरेज व्यवस्थापक: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-ms/arrays.xml b/res/values-ms/arrays.xml
index 9df9eaa..5f3da49 100644
--- a/res/values-ms/arrays.xml
+++ b/res/values-ms/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Sentiasa hidup"</item>
     <item msgid="6385301106124765323">"Sentiasa mati"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index 66505bb..ace57f0 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Alamat Bluetooth peranti: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"Putuskan sambungan <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Penyiaran"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Lumpuhkan profil?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Hal ini akan melumpuhkan:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;Dari:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Peranti Bluetooth tanpa nama"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Mencari"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Mencari..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Tetapan peranti"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Peranti berpasangan"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Nama"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Sambungan Internet"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Papan kekunci"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Kenalan dan sejarah panggilan"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Kongsi buku telefon?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ingin mengakses kenalan dan sejarah panggilan anda."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ingin bpsgn dgn Bluetooth. Apbl dsmbungkn, peranti akn mpunyai akses kps knln dan sjrh pggiln anda."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Peranti pasangan"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Peranti yang tersedia"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Tiada peranti tersedia"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Sambung"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Kecerahan"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Laraskan kecerahan skrin"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Kecerahan mudah suai"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Optimumkan tahap kecerahan untuk cahaya yang tersedia"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Mati"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Kecerahan pilihan adalah sangat rendah"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Kecerahan pilihan adalah rendah"</string>
@@ -4119,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Perkhidmatan autolengkap"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"auto, lengkap, autolengkap"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Pastikan anda mempercayai apl ini&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; menggunakan item yang terdapat pada skrin anda untuk menentukan perkara yang boleh dilengkapkan secara automatik."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Tema warna"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Lalai"</string>
     <string name="device_theme" msgid="4571803018917608588">"Tema peranti"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Automatik (berdasarkan kertas dinding)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Cerah"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Gelap"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Lalai"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Nama rangkaian"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Paparkan nama rangkaian dalam bar status"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Pengurus Storan: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-my/arrays.xml b/res/values-my/arrays.xml
index 909c0e6..a6dfe90 100644
--- a/res/values-my/arrays.xml
+++ b/res/values-my/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"အမြဲတမ်း ဖွင့်ထားခြင်း"</item>
     <item msgid="6385301106124765323">"အမြဲပိတ်ခြင်း"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
index 6c06120..7a9f896 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"စက်ပစ္စည်း၏ ဘလူးတုသ်လိပ်စာ- <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>ကို အဆက်ဖြတ်ရမလား?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"ထုတ်လွှင့်ခြင်း"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"ကိုယ်ရေးအချက်အလက်အား ဖျောက်မည်လား"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"အောက်ပါတို့ကိုရရှိုမည်မဟုတ်ပါ-&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;From:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"အမည်မသိသောဘလူးတုသ်စက်"</string>
     <string name="progress_scanning" msgid="192587958424295789">"ရှာဖွေနေသည်…"</string>
@@ -402,7 +400,7 @@
     <string name="security_settings_face_enroll_introduction_message_unlock_disabled" msgid="6300341727101929207">"သင့်ကို အသုံးပြုပါ"</string>
     <string name="security_settings_face_enroll_introduction_message_setup" msgid="5704661081718707858">"သင့်ဖုန်းကိုလော့ခ်ဖွင့်ရန်၊ ဝယ်ယူမှုများကို အတည်ပြုရန် သို့မဟုတ် အက်ပ်များသို့ လက်မှတ်ထိုးဝင်ရန် သင့်မျက်နှာကို အသုံးပြုပါ"</string>
     <string name="face_add_max" msgid="2342250989212694454">"လက်ဗွေ <xliff:g id="COUNT">%d</xliff:g> ခုအထိ ထည့်နိုင်သည်"</string>
-    <string name="face_intro_error_max" msgid="160022811747660581">"အများဆုံးထည့်နိုင်သည့် မျက်နှာအရေအတွက်အထိ ထည့်သွင်းပြီးဖြစ်သည်"</string>
+    <string name="face_intro_error_max" msgid="160022811747660581">"အများဆုံးထည့်နိုင်သည့် မျက်နှာအရေအတွက် ပြည့်သွားပါပြီ"</string>
     <string name="face_intro_error_unknown" msgid="6367721696446677261">"မျက်နှာများ ထပ်ထည့်၍မရပါ"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"လက်ဗွေရာ"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"လက်ဗွေရာများ စီမံရန်"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"ရှာဖွေနေသည်…"</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"စက်ပစ္စည်း အပြင်အဆင်များ"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"ချိတ်တွဲထားသည့် ကိရိယာ"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"အမည်"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"အင်တာနက် ချိတ်ဆက်မှု"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"ကီးဘုတ်"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"အဆက်အသွယ်များ နှင့် ခေါ်ဆိုမှု မှတ်တမ်း"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"ဖုန်း စာအုပ်ကို မျှပေးရမလား?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> က သင်၏ အဆက်အသွယ်များ နှင့် ခေါ်ဆိုမှု မှတ်တမ်းကို ရယူလိုသည်။"</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> က ဘလူးတုသ်နှင့် တွဲချိတ်လိုသည်။ ချိတ်ဆက်ထားလျှင်၊ ၎င်းသည် သင်၏ အဆက်အသွယ်များ နှင့် ခေါ်ဆိုမှု မှတ်တမ်းကို ရယူသုံးနိုင်မည်။"</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"စက်များ တွဲချိတ်ရန်"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"ရနိုင်သည့် စက်များ"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"ကိရိယာများ မရှိ"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"ချိတ်ဆက်ရန်"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"တောက်ပမှု"</string>
     <string name="brightness_summary" msgid="838917350127550703">"စကရင်၏ အလင်းကိုချိန်ရန်"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"အလိုက်သင့် တောက်ပမှု"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"လက်ရှိအလင်းရောင်ပေါ် မှုတည်ပြီး တောက်ပမှုအများဆုံးရယူမည်"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"ပိတ်ထားသည်"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"တောက်ပမှုအရောင် အလွန်နိမ့်သည်အထိ လျှော့ထားရန် လိုလားပါသည်"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"တောက်ပမှုအရောင်လျှော့ထားရန် လိုလားပါသည်"</string>
@@ -4119,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"အော်တိုဖြည့် ဝန်ဆောင်မှု"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"အလိုအလျောက်၊ ဖြည့်စွက်ခြင်း၊ အလိုအလျောက် ဖြည့်စွက်ခြင်း"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;သင်သည် ဤအက်ပ်ကို ယုံကြည်စိတ်ချရပါကြောင်း သေချာပါစေ&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; သည် သင်၏မျက်နှာပြင်ပေါ်ရှိ အရာများကို အသုံးပြု၍ မည်သည့်အရာများကို အော်တိုဖြည့်နိုင်ကြောင်း ဆုံးဖြတ်သည်။"</string>
-    <string name="color_theme" msgid="1535685696756738324">"အရောင် အပြင်အဆင်"</string>
-    <string name="default_theme" msgid="7085644992078579076">"မူရင်း"</string>
     <string name="device_theme" msgid="4571803018917608588">"စက်ပစ္စည်း အပြင်အဆင်"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"အလိုအလျောက် (နောက်ခံပုံကို အခြေခံပြီး)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"အလင်း"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"အမှောင်"</string>
+    <string name="default_theme" msgid="7085644992078579076">"မူရင်း"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"ကွန်ရက် အမည်"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"ကွန်ရက် အမည်ကို အခြေအနေပြနေရာတွင် ပြပါ"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"သိုလှောင်ခန်း စီမံခန့်ခွဲမှုစနစ်− <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-nb/arrays.xml b/res/values-nb/arrays.xml
index d85a4da..8d7b4ef 100644
--- a/res/values-nb/arrays.xml
+++ b/res/values-nb/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Alltid på"</item>
     <item msgid="6385301106124765323">"Alltid av"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 5bd5c47..16b63f5 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Enhetens Bluetooth-adresse: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"Vil du koble fra <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Kringkasting"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Vil du deaktivere profilen?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Dette deaktiverer:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;Fra:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Bluetooth-enhet uten navn"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Søker"</string>
@@ -396,13 +394,13 @@
     <string name="security_settings_face_preference_summary_none" msgid="5460349732790152186">"Trykk for å bruke ansiktsautentisering"</string>
     <string name="security_settings_face_preference_title" msgid="7074548721778680481">"Ansiktsautentisering"</string>
     <string name="security_settings_face_enroll_introduction_cancel" msgid="4277182322482408514">"Avbryt"</string>
-    <string name="security_settings_face_enroll_introduction_title" msgid="2694505011712885439">"Lås opp med ansiktet"</string>
-    <string name="security_settings_face_enroll_introduction_title_unlock_disabled" msgid="8180330567034286589">"Bruk ansiktet til å godkjenne"</string>
+    <string name="security_settings_face_enroll_introduction_title" msgid="2694505011712885439">"Lås opp med ansiktet ditt"</string>
+    <string name="security_settings_face_enroll_introduction_title_unlock_disabled" msgid="8180330567034286589">"Bruk ansiktet ditt til å godkjenne"</string>
     <string name="security_settings_face_enroll_introduction_message" msgid="6150611993438981458">"Bruk ansiktet til å låse opp telefonen, godkjenne kjøp eller logge på apper."</string>
-    <string name="security_settings_face_enroll_introduction_message_unlock_disabled" msgid="6300341727101929207">"Bruk deg"</string>
+    <string name="security_settings_face_enroll_introduction_message_unlock_disabled" msgid="6300341727101929207">"Bruk ansiktet ditt"</string>
     <string name="security_settings_face_enroll_introduction_message_setup" msgid="5704661081718707858">"Bruk ansiktet til å låse opp telefonen, godkjenne kjøp eller logge på apper"</string>
     <string name="face_add_max" msgid="2342250989212694454">"Du kan legge til opptil <xliff:g id="COUNT">%d</xliff:g> fingeravtrykk"</string>
-    <string name="face_intro_error_max" msgid="160022811747660581">"Du kan ikke legge til flere ansikter"</string>
+    <string name="face_intro_error_max" msgid="160022811747660581">"Du har lagt til maksimalt antall ansikter"</string>
     <string name="face_intro_error_unknown" msgid="6367721696446677261">"Kan ikke legge til flere ansikter"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Fingeravtrykk"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Admin. fingeravtrykk"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Søker …"</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Enhetsinnstillinger"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Sammenkoblet enhet"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Navn"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Nettilkobling"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Tastatur"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Kontakter og anropslogg"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Vil du dele telefonboken?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ønsker å få tilgang til kontaktene dine og anropsloggen."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ønsker å koble til Bluetooth. Når tilkoblet, har den tilgang til kontaktene og anropsloggen din."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Sammenkoblede enheter"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Tilgjengelige enheter"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Ingen enheter er tilgjengelige"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Koble til"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Lysstyrke"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Juster skjermens lysstyrke"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Lysstyrken tilpasser seg"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Optimaliser lysstyrkenivået etter omgivelsene"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Av"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Foretrukket lysstyrke er veldig lav"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Foretrukket lysstyrke er lav"</string>
@@ -3452,9 +3449,9 @@
     <string name="encryption_interstitial_message_pin_for_fingerprint" msgid="4550632760119547492">"I tillegg til å bruke fingeravtrykket ditt til å låse opp enheten kan du sikre den enda mer ved å be om PIN-koden din ved oppstart. Inntil enheten er låst opp, kan den ikke motta anrop, SMS eller varsler – inkludert alarmer.\n\nDette bidrar til å beskytte data på mistede eller stjålne enheter. Vil du kreve PIN-kode for å starte enheten?"</string>
     <string name="encryption_interstitial_message_pattern_for_fingerprint" msgid="932184823193006087">"I tillegg til å bruke fingeravtrykket ditt til å låse opp enheten kan du sikre den enda mer ved å be om mønsteret ditt ved oppstart. Inntil enheten er låst, opp kan den ikke motta anrop, SMS eller varsler – inkludert alarmer.\n\nDette bidrar til å beskytte data på mistede eller stjålne enheter. Vil du kreve mønster for å starte enheten?"</string>
     <string name="encryption_interstitial_message_password_for_fingerprint" msgid="5560954719370251702">"I tillegg til å bruke fingeravtrykket ditt til å låse opp enheten kan du sikre den enda mer ved å be om passord ved oppstart. Enheten kan ikke motta anrop, SMS eller varsler – inkludert alarmer – før den har startet opp.\n\nDette bidrar til å beskytte data på mistede eller stjålne enheter. Vil du kreve passord for å starte enheten?"</string>
-    <string name="encryption_interstitial_message_pin_for_face" msgid="2017438765366716760">"I tillegg til å bruke ansiktet til å låse opp enheten kan du sikre den enda bedre ved å be om PIN-koden din ved oppstart. Enheten kan ikke motta anrop, SMS eller varsler – inkludert alarmer – før den starter.\n\nDette bidrar til å beskytte data på mistede eller stjålne enheter. Vil du kreve PIN-koden for å starte enheten?"</string>
-    <string name="encryption_interstitial_message_pattern_for_face" msgid="3551827507967661552">"I tillegg til å bruke ansiktet til å låse opp enheten kan du sikre den enda bedre ved å be om mønsteret ditt ved oppstart. Enheten kan ikke motta anrop, SMS eller varsler – inkludert alarmer – før den starter.\n\nDette bidrar til å beskytte data på mistede eller stjålne enheter. Vil du kreve mønsteret for å starte enheten?"</string>
-    <string name="encryption_interstitial_message_password_for_face" msgid="3452793542112093614">"I tillegg til å bruke ansiktet til å låse opp enheten kan du sikre den enda bedre ved å be om passord ved oppstart. Enheten kan ikke motta anrop, SMS eller varsler – inkludert alarmer – før den starter.\n\nDette bidrar til å beskytte data på mistede eller stjålne enheter. Vil du kreve passordet for å starte enheten?"</string>
+    <string name="encryption_interstitial_message_pin_for_face" msgid="2017438765366716760">"I tillegg til å bruke ansiktet til å låse opp enheten, kan du sikre den enda bedre ved å be om PIN-koden din ved oppstart. Enheten kan ikke motta anrop, SMS eller varsler – inkludert alarmer – før den starter.\n\nDette bidrar til å beskytte data på mistede eller stjålne enheter. Vil du kreve PIN-koden for å starte enheten?"</string>
+    <string name="encryption_interstitial_message_pattern_for_face" msgid="3551827507967661552">"I tillegg til å bruke ansiktet til å låse opp enheten, kan du sikre den enda bedre ved å be om mønsteret ditt ved oppstart. Enheten kan ikke motta anrop, SMS eller varsler – inkludert alarmer – før den starter.\n\nDette bidrar til å beskytte data på mistede eller stjålne enheter. Vil du kreve mønsteret for å starte enheten?"</string>
+    <string name="encryption_interstitial_message_password_for_face" msgid="3452793542112093614">"I tillegg til å bruke ansiktet til å låse opp enheten, kan du sikre den enda bedre ved å be om passord ved oppstart. Enheten kan ikke motta anrop, SMS eller varsler – inkludert alarmer – før den starter.\n\nDette bidrar til å beskytte data på mistede eller stjålne enheter. Vil du kreve passordet for å starte enheten?"</string>
     <string name="encryption_interstitial_yes" msgid="4439509435889513411">"Ja"</string>
     <string name="encryption_interstitial_no" msgid="8935031349097025137">"Nei"</string>
     <string name="restricted_true_label" msgid="4761453839409220473">"Begrenset"</string>
@@ -4119,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Autofylltjeneste"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"auto, fyll, autofyll"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Sørg for at appen er pålitelig&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google autofyll&gt;%1$s&lt;/xliff:g&gt; bruker det som er på skjermen til å fastslå hva som kan fylles ut automatisk."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Fargetema"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Standard"</string>
     <string name="device_theme" msgid="4571803018917608588">"Enhetstema"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Automatisk (basert på bakgrunn)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Lys"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Mørk"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Standard"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Nettverksnavn"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Vis nettverksnavn i statusfeltet"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Lagringsadministrator: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-ne/arrays.xml b/res/values-ne/arrays.xml
index 257ca28..1455a53 100644
--- a/res/values-ne/arrays.xml
+++ b/res/values-ne/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"सधैँ सक्रिय"</item>
     <item msgid="6385301106124765323">"सधैँ निष्क्रिय"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index 5b22d1a..870fc36 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"यन्त्रको ब्लुटुथ ठेगाना: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>विच्छेद गर्नुहुन्छ?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"प्रसारण"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"प्रोफाइल असक्षम पार्ने हो?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"यसले अक्षम पार्छ <xliff:g id="PROFILE_NAME">%1$s</xliff:g> यस <xliff:g id="DEVICE_NAME">%2$s</xliff:g>बाट"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"बेनामी ब्लुटुथ उपकरण"</string>
     <string name="progress_scanning" msgid="192587958424295789">"खोजी गर्दै"</string>
@@ -392,30 +390,18 @@
     <string name="security_status_title" msgid="5848766673665944640">"सुरक्षाको स्थिति"</string>
     <string name="security_dashboard_summary" msgid="6757421634477554939">"स्क्रिन लक, फिंगरप्रिन्ट"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="8129641548372335540">"स्क्रिन लक"</string>
-    <!-- no translation found for security_settings_face_preference_summary (1290187225482642821) -->
-    <skip />
-    <!-- no translation found for security_settings_face_preference_summary_none (5460349732790152186) -->
-    <skip />
-    <!-- no translation found for security_settings_face_preference_title (7074548721778680481) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_cancel (4277182322482408514) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_title (2694505011712885439) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_title_unlock_disabled (8180330567034286589) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_message (6150611993438981458) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_message_unlock_disabled (6300341727101929207) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_message_setup (5704661081718707858) -->
-    <skip />
-    <!-- no translation found for face_add_max (2342250989212694454) -->
-    <skip />
-    <!-- no translation found for face_intro_error_max (160022811747660581) -->
-    <skip />
-    <!-- no translation found for face_intro_error_unknown (6367721696446677261) -->
-    <skip />
+    <string name="security_settings_face_preference_summary" msgid="1290187225482642821">"अनुहार थपियो"</string>
+    <string name="security_settings_face_preference_summary_none" msgid="5460349732790152186">"अनुहार प्रमाणीकरण सेटअप गर्न ट्याप गर्नु…"</string>
+    <string name="security_settings_face_preference_title" msgid="7074548721778680481">"अनुहार प्रमाणीकरण"</string>
+    <string name="security_settings_face_enroll_introduction_cancel" msgid="4277182322482408514">"रद्द गर्नुहोस्"</string>
+    <string name="security_settings_face_enroll_introduction_title" msgid="2694505011712885439">"आफ्नो अनुहारमार्फत अनलक गर्नु…"</string>
+    <string name="security_settings_face_enroll_introduction_title_unlock_disabled" msgid="8180330567034286589">"प्रमाणीकरण गर्न आफ्नो अनुहार प्रयोग गर्नु…"</string>
+    <string name="security_settings_face_enroll_introduction_message" msgid="6150611993438981458">"आफ्नो फोन अनलक गर्न, खरिद अधिकार दिन वा अनुप्रयोगहरूमा साइन इन गर्न आफ्नो अनुहार प्रयोग गर्नुहोस्।"</string>
+    <string name="security_settings_face_enroll_introduction_message_unlock_disabled" msgid="6300341727101929207">"आफ्नो"</string>
+    <string name="security_settings_face_enroll_introduction_message_setup" msgid="5704661081718707858">"आफ्नो फोन अनलक गर्न, खरिद अधिकार दिन वा अनुप्रयोगहरूमा साइन इन गर्न आफ्नो अनुहार प्रयोग गर्नुहोस्"</string>
+    <string name="face_add_max" msgid="2342250989212694454">"तपाईं अधिकतम <xliff:g id="COUNT">%d</xliff:g> फिंगरप्रिन्टहरू थप्न सक्नुहुन्छ"</string>
+    <string name="face_intro_error_max" msgid="160022811747660581">"तपाईंले थप्न मिल्ने अधिकतम सङ्ख्या बराबरका अनुहारहरू थप्नुभएको छ"</string>
+    <string name="face_intro_error_unknown" msgid="6367721696446677261">"थप अनुहारहरू थप्न सकिँदैन"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"औंठाछाप"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"औंठाछापहरू व्यवस्थापन गर्नुहोस्"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"निम्नको लागि औठाछाप प्रयोग गर्नुहोस्"</string>
@@ -527,14 +513,12 @@
     <string name="setup_lock_settings_picker_title" product="tablet" msgid="90329443364067215">"आफ्नो ट्याब्लेटलाई सुरक्षित गर्नुहोस्"</string>
     <string name="setup_lock_settings_picker_title" product="device" msgid="2399952075134938929">"आफ्नो यन्त्रलाई सुरक्षित गर्नुहोस्"</string>
     <string name="setup_lock_settings_picker_title" product="default" msgid="1572244299605153324">"तपाईँको फोन सुरक्षित गर्नुहोस्"</string>
-    <!-- no translation found for lock_settings_picker_biometrics_added_security_message (1507307757032207572) -->
-    <skip />
+    <string name="lock_settings_picker_biometrics_added_security_message" msgid="1507307757032207572">"थप सुरक्षाका लागि, कुनै ब्याकअप स्क्रिन लक सेट गर्नुहोस्"</string>
     <string name="setup_lock_settings_picker_message" product="tablet" msgid="8919671129189936210">"यन्त्र सुरक्षा विशेषताहरू सक्रिय गरेर तपाईंको अनुमति बिना यो ट्याब्लेट प्रयोग गर्नबाट रोक्नुहोस्। तपाईंले प्रयोग गर्न चाहेको स्क्रिन लक रोज्नुहोस्।"</string>
     <string name="setup_lock_settings_picker_message" product="device" msgid="3787276514406353777">"यन्त्र सुरक्षा विशेषताहरू सक्रिय गरेर तपाईंको अनुमति बिना यो यन्त्र प्रयोग गर्नबाट रोक्नुहोस्। तपाईंले प्रयोग गर्न चाहेको स्क्रिन लक रोज्नुहोस्।"</string>
     <string name="setup_lock_settings_picker_message" product="default" msgid="3692856437543730446">"यन्त्र सुरक्षा विशेषताहरू सक्रिय गरेर तपाईंको अनुमति बिना यो फोन प्रयोग गर्नबाट रोक्नुहोस्। तपाईंले प्रयोग गर्न चाहेको स्क्रिन लक रोज्नुहोस्।"</string>
     <string name="lock_settings_picker_fingerprint_message" msgid="4755230324778371292">"तपाईँको ब्याकअप स्क्रिन लक विधि छनौंट गर्नुहोस्"</string>
-    <!-- no translation found for lock_settings_picker_face_message (197106534637556054) -->
-    <skip />
+    <string name="lock_settings_picker_face_message" msgid="197106534637556054">"आफ्नो ब्याकअप स्क्रिन लकको विधि छनौट गर्नुहोस्"</string>
     <string name="setup_lock_settings_options_button_label" msgid="8511153243629402929">"स्क्रिन लकका विकल्पहरू"</string>
     <string name="setup_lock_settings_options_dialog_title" msgid="5058207955455973917">"स्क्रिन लकका विकल्पहरू"</string>
     <string name="unlock_set_unlock_launch_picker_title" msgid="2084576942666016993">"स्क्रिन लक"</string>
@@ -561,16 +545,11 @@
     <string name="fingerprint_unlock_set_unlock_password" msgid="7351131075806338634">"फिंगरप्रिन्ट + पासवर्ड"</string>
     <string name="fingerprint_unlock_skip_fingerprint" msgid="1441077909803666681">"फिंगरप्रिन्ट बिना जारी राख्नुहोस्"</string>
     <string name="fingerprint_unlock_title" msgid="2826226740306003991">"तपाईं आफ्नो फिंगरप्रिन्टको प्रयोग गरी आफ्नो फोन अनलक गर्न सक्नुहुन्छ। सुरक्षाका खातिर यस विकल्पलाई एउटा ब्याकअप स्क्रिन लकको आवश्यकता पर्दछ।"</string>
-    <!-- no translation found for face_unlock_set_unlock_pattern (8792301636367000123) -->
-    <skip />
-    <!-- no translation found for face_unlock_set_unlock_pin (1196620299595657479) -->
-    <skip />
-    <!-- no translation found for face_unlock_set_unlock_password (223117276773907474) -->
-    <skip />
-    <!-- no translation found for face_unlock_skip_face (6362883392838482791) -->
-    <skip />
-    <!-- no translation found for face_unlock_title (9042382084472444316) -->
-    <skip />
+    <string name="face_unlock_set_unlock_pattern" msgid="8792301636367000123">"अनुहार प्रमाणीकरण + ढाँचा"</string>
+    <string name="face_unlock_set_unlock_pin" msgid="1196620299595657479">"अनुहार प्रमाणीकरण + PIN"</string>
+    <string name="face_unlock_set_unlock_password" msgid="223117276773907474">"अनुहार प्रमाणीकरण + पासवर्ड"</string>
+    <string name="face_unlock_skip_face" msgid="6362883392838482791">"अनुहार प्रमाणीकरणविनै जारी राख्नुहोस्"</string>
+    <string name="face_unlock_title" msgid="9042382084472444316">"तपाईं आफ्नो अनुहारको प्रयोग गरी आफ्नो फोन अनलक गर्न सक्नुहुन्छ। सुरक्षा प्रयोजनका लागि, यो विकल्प प्रयोग गर्न कुनै ब्याकअप स्क्रिन लकको आवश्यकता पर्छ।"</string>
     <string name="unlock_set_unlock_disabled_summary" msgid="2051593894736282302">"प्रशासक, इन्क्रिप्सन नीति वा प्रामाणिक भण्डारणद्वारा असक्षम पारिएको छ"</string>
     <string name="unlock_set_unlock_mode_off" msgid="5881952274566013651">"कुनै पनि होइन"</string>
     <string name="unlock_set_unlock_mode_none" msgid="8467360084676871617">"स्वाइप गर्नुहोस्"</string>
@@ -726,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"खोजी कार्य गर्दै..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"उपकरण सेटिङहरू"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"जोडी उपकरण"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"नाम"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"इन्टरनेट जडान"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"किबोर्ड"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"सम्पर्कहरू र कल इतिहास"</string>
@@ -734,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"फोन पुस्तिका साझेदारी गर्नुहुन्छ?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> तपाईँका सबै सम्पर्कहरू र कल इतिहासहरूमा पहुँच गर्न चाहन्छ।"</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ब्लुटुथसँग जोडी गर्न चाहन्छ। जडान भएपछि, यसको तपाईँको सम्पर्कहरू र कल इतिहासमा पहुँच हुने छ।"</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"जोडी पारिएका उपकरणहरू"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"उपलब्ध यन्त्रहरू"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"कुनै उपकरण उपलब्ध छैन"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"जडान गर्नुहोस्"</string>
@@ -1125,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"उज्यालोपन"</string>
     <string name="brightness_summary" msgid="838917350127550703">"स्क्रिनको उज्यालोपना मिलाउनुहोस्"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"अनुकूलीत चमक"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"उपलब्ध प्रकाशका लागि चमक तह प्रभावकारी बनाउँछ"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"निष्क्रिय छ"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"रुचाइएको चमक धेरै कम छ"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"रूचाइएको चमक कम छ"</string>
@@ -1640,12 +1618,9 @@
     <string name="lockpassword_password_set_toast" msgid="4875050283108629383">"पासवर्ड सेट भएको छ"</string>
     <string name="lockpassword_pin_set_toast" msgid="6011826444725291475">"PIN सेट भएको छ।"</string>
     <string name="lockpassword_pattern_set_toast" msgid="6867259621331406236">"शैली सेट गरिएको छ।"</string>
-    <!-- no translation found for lockpassword_choose_your_password_header_for_face (7876621019688907534) -->
-    <skip />
-    <!-- no translation found for lockpassword_choose_your_pattern_header_for_face (8070525076987585344) -->
-    <skip />
-    <!-- no translation found for lockpassword_choose_your_pin_header_for_face (7304398683609714816) -->
-    <skip />
+    <string name="lockpassword_choose_your_password_header_for_face" msgid="7876621019688907534">"अनुहार प्रमाणीकरण प्रयोग गर्न पासवर्ड सेट गर्नुहोस्"</string>
+    <string name="lockpassword_choose_your_pattern_header_for_face" msgid="8070525076987585344">"अनुहार प्रमाणीकरण प्रयोग गर्न ढाँचा सेट गर्नुहोस्"</string>
+    <string name="lockpassword_choose_your_pin_header_for_face" msgid="7304398683609714816">"अनुहार प्रमाणीकरण प्रयोग गर्न PIN सेट गर्नुहोस्"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="2920960858283879113">"जारी राख्नका लागि आफ्नो यन्त्रको ढाँचा प्रयोग गर्नुहोस्"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="4062335874438910487">"जारी राख्नका लागि आफ्नो यन्त्रको PIN प्रविष्ट गर्नुहोस्"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="3976394862548354966">"जारी राख्नका लागि आफ्नो यन्त्रको पासवर्ड प्रविष्ट गर्नुहोस्"</string>
@@ -3056,8 +3031,7 @@
     <string name="keywords_systemui_theme" msgid="9112852512550404882">"अँध्यारो विषयवस्तु"</string>
     <string name="keywords_device_feedback" msgid="564493721125966719">"बग"</string>
     <string name="keywords_ambient_display_screen" msgid="5874969496073249362">"परिवेशको प्रदर्शन, लक स्क्रिनको प्रदर्शन"</string>
-    <!-- no translation found for keywords_face_settings (7505388678116799329) -->
-    <skip />
+    <string name="keywords_face_settings" msgid="7505388678116799329">"अनुहार"</string>
     <string name="keywords_fingerprint_settings" msgid="239222512315619538">"फिंगरप्रिन्ट"</string>
     <string name="keywords_display_auto_brightness" msgid="4130320471533951796">"मधुरो स्क्रिन, टचस्क्रिन, ब्याट्री, स्मार्ट चमक, गतिशील उज्यालोपन"</string>
     <string name="keywords_auto_rotate" msgid="5620879898668211494">"घुमाउनुहोस्, पल्टाउनुहोस्, परिक्रमा, पोर्ट्रेट, ल्यान्डस्केप, अभिमुखीकरण, ठाडो, तेर्सो"</string>
@@ -3475,12 +3449,9 @@
     <string name="encryption_interstitial_message_pin_for_fingerprint" msgid="4550632760119547492">"आफ्नो यन्त्रलाई अनलक गर्नाका लागि फिंगरप्रिन्ट प्रयोग गर्नुका साथसाथै, यो यन्त्र खुल्नुअघि आफ्नो PIN चाहिने बनाएर तपाईं यस यन्त्रलाई थप सुरक्षित बनाउन सक्नुहुन्छ। यन्त्र नखुलेसम्म यसमा फोन उठाउन, सन्देश प्राप्त गर्न, वा अलार्म प्रयोग गर्ने लगायत सूचनाहरू प्राप्त गर्न सकिँदैन।\n\nयसले हराएका र चोरी भएका यन्त्रहरूको डेटा सुरक्षित राख्न मद्दत गर्दछ। आफ्नो यन्त्र खोल्न PIN चाहिने बनाउने हो?"</string>
     <string name="encryption_interstitial_message_pattern_for_fingerprint" msgid="932184823193006087">"आफ्नो यन्त्रलाई अनलक गर्नाका लागि फिंगरप्रिन्ट प्रयोग गर्नुका साथसाथै, यो यन्त्र खुल्नुअघि आफ्नो ढाँचा कोर्नु पर्ने बनाएर तपाईं यस यन्त्रलाई थप सुरक्षित बनाउन सक्नुहुन्छ। यन्त्र नखुलेसम्म यसमा फोन उठाउन, सन्देश प्राप्त गर्न, वा अलार्म प्रयोग गर्ने लगायत सूचनाहरू प्राप्त गर्न सकिँदैन।\n\nयसले हराएका र चोरी भएका यन्त्रहरूको डेटा सुरक्षित राख्न मद्दत गर्दछ। आफ्नो यन्त्र खोल्न ढाँचा कोर्नु पर्ने बनाउने हो?"</string>
     <string name="encryption_interstitial_message_password_for_fingerprint" msgid="5560954719370251702">"आफ्नो यन्त्रलाई अनलक गर्नाका लागि फिंगरप्रिन्ट प्रयोग गर्नुका साथसाथै, यो यन्त्र खुल्नुअघि आफ्नो पासवर्ड चाहिने बनाएर तपाईं यस यन्त्रलाई थप सुरक्षित बनाउन सक्नुहुन्छ। यन्त्र नखुलेसम्म यन्त्रले कल, सन्देश वा अलार्म लगायताका सूचनाहरू प्राप्त गर्न सक्दैन।\n\nयसले हराएका वा चोरी भएका यन्त्रहरूको डेटा सुरक्षित राख्न मद्दत गर्दछ। आफ्नो यन्त्रलाई खोल्नको लागि पासवर्ड चाहिने बनाउने हो?"</string>
-    <!-- no translation found for encryption_interstitial_message_pin_for_face (2017438765366716760) -->
-    <skip />
-    <!-- no translation found for encryption_interstitial_message_pattern_for_face (3551827507967661552) -->
-    <skip />
-    <!-- no translation found for encryption_interstitial_message_password_for_face (3452793542112093614) -->
-    <skip />
+    <string name="encryption_interstitial_message_pin_for_face" msgid="2017438765366716760">"तपाईंको यन्त्र अनलक गर्न आफ्नो अनुहार प्रयोग गर्नुका साथसाथै यो यन्त्र खुल्नुअघि आफ्नो PIN चाहिने बनाएर तपाईं यस यन्त्रलाई थप सुरक्षित बनाउन सक्नुहुन्छ। यन्त्र नखुलेसम्म यसले कल, सन्देश वा अलार्मलगायतका सूचनाहरू प्राप्त गर्न सक्दैन।\n\nयसले हराएका वा चोरी भएका यन्त्रहरूको डेटा सुरक्षित राख्न मद्दत गर्छ। आफ्नो यन्त्र खोल्नका लागि PIN चाहिने बनाउने हो?"</string>
+    <string name="encryption_interstitial_message_pattern_for_face" msgid="3551827507967661552">"तपाईंको यन्त्र अनलक गर्न आफ्नो अनुहार प्रयोग गर्नुका साथसाथै यो यन्त्र खुल्नुअघि आफ्नो ढाँचा चाहिने बनाएर तपाईं यस यन्त्रलाई थप सुरक्षित बनाउन सक्नुहुन्छ। यन्त्र नखुलेसम्म यसले कल, सन्देश वा अलार्मलगायतका सूचनाहरू प्राप्त गर्न सक्दैन।\n\nयसले हराएका वा चोरी भएका यन्त्रहरूको डेटा सुरक्षित राख्न मद्दत गर्छ। आफ्नो यन्त्र खोल्नका लागि ढाँचा चाहिने बनाउने हो?"</string>
+    <string name="encryption_interstitial_message_password_for_face" msgid="3452793542112093614">"तपाईंको यन्त्र अनलक गर्न आफ्नो अनुहार प्रयोग गर्नुका साथसाथै यो यन्त्र खुल्नुअघि आफ्नो पासवर्ड चाहिने बनाएर तपाईं यस यन्त्रलाई थप सुरक्षित बनाउन सक्नुहुन्छ। यन्त्र नखुलेसम्म यसले कल, सन्देश वा अलार्मलगायतका सूचनाहरू प्राप्त गर्न सक्दैन।\n\nयसले हराएका वा चोरी भएका यन्त्रहरूको डेटा सुरक्षित राख्न मद्दत गर्छ। आफ्नो यन्त्र खोल्नका लागि पासवर्ड चाहिने बनाउने हो?"</string>
     <string name="encryption_interstitial_yes" msgid="4439509435889513411">"हो"</string>
     <string name="encryption_interstitial_no" msgid="8935031349097025137">"होइन"</string>
     <string name="restricted_true_label" msgid="4761453839409220473">"प्रतिबन्धित"</string>
@@ -4145,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"स्वतः भरण सेवा"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"स्वतः, भरण, स्वतः भरण"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;तपाईं यो अनुप्रयोगमाथि भरोसा गर्नुहुन्छ भन्ने कुरा पक्का गर्नुहोस्&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; यस अनुप्रयोगले स्वतः भर्नसकिने कुराहरूको निर्धारण गर्न तपाईंको स्क्रिनमा भएका वस्तुहरूको प्रयोग गर्छ।"</string>
-    <string name="color_theme" msgid="1535685696756738324">"रङको विषयवस्तु"</string>
-    <string name="default_theme" msgid="7085644992078579076">"पूर्वनिर्धारित"</string>
     <string name="device_theme" msgid="4571803018917608588">"यन्त्रको विषयवस्तु"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"स्वचालित (वालपेपरमा आधारित)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"उज्यालो"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"अँध्यारो"</string>
+    <string name="default_theme" msgid="7085644992078579076">"पूर्वनिर्धारित"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"नेटवर्कको नाम"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"वस्तुस्थिति पट्टीमा नेटवर्कको नाम देखाउनुहोस्"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"भण्डारणको प्रबन्धक: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-nl/arrays.xml b/res/values-nl/arrays.xml
index 21928d5..c79b094 100644
--- a/res/values-nl/arrays.xml
+++ b/res/values-nl/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Altijd aan"</item>
     <item msgid="6385301106124765323">"Altijd uit"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 0e0bf51..7b45156 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Bluetooth-adres van je apparaat: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ontkoppelen?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Uitzending"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Profiel uitschakelen?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Dit zorgt voor het uitschakelen van :&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;Van:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Naamloos Bluetooth-apparaat"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Zoeken"</string>
@@ -400,7 +398,7 @@
     <string name="security_settings_face_enroll_introduction_title_unlock_disabled" msgid="8180330567034286589">"Gebruik je gezicht voor verificatie"</string>
     <string name="security_settings_face_enroll_introduction_message" msgid="6150611993438981458">"Gebruik je gezicht om je telefoon te ontgrendelen, aankopen te autoriseren of in te loggen bij apps."</string>
     <string name="security_settings_face_enroll_introduction_message_unlock_disabled" msgid="6300341727101929207">"Je gezicht gebruiken"</string>
-    <string name="security_settings_face_enroll_introduction_message_setup" msgid="5704661081718707858">"Gezicht je gezicht om je telefoon te ontgrendelen, aankopen te autoriseren of in te loggen bij apps"</string>
+    <string name="security_settings_face_enroll_introduction_message_setup" msgid="5704661081718707858">"Gebruik je gezicht om je telefoon te ontgrendelen, aankopen te autoriseren of in te loggen bij apps"</string>
     <string name="face_add_max" msgid="2342250989212694454">"Je kunt maximaal <xliff:g id="COUNT">%d</xliff:g> gezichten toevoegen"</string>
     <string name="face_intro_error_max" msgid="160022811747660581">"Je hebt het maximum aantal gezichten toegevoegd"</string>
     <string name="face_intro_error_unknown" msgid="6367721696446677261">"Kan geen extra gezichten toevoegen"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Zoeken..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Apparaatinstellingen"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Gekoppeld apparaat"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Naam"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Internetverbinding"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Toetsenbord"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Contacten en oproepgeschiedenis"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Telefoonboek delen?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> wil toegang tot je contacten en oproepgeschiedenis."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> wil koppelen via Bluetooth. Na verbinding heeft het toegang tot je contacten en oproepgeschiedenis."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Gekoppelde apparaten"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Beschikbare apparaten"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Geen apparaten beschikbaar"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Verbinden"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Helderheid"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Helderheid van het scherm aanpassen"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Helderheid aanpassen"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Helderheidsniveau optimaliseren voor het beschikbare licht"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Uit"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Voorkeurshelderheid is zeer laag"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Voorkeurshelderheid is laag"</string>
@@ -2053,11 +2050,11 @@
     <string name="captioning_preset" msgid="8939737196538429044">"Ondertitelstijl"</string>
     <string name="captioning_custom_options_title" msgid="5067500939930322405">"Aangepaste opties"</string>
     <string name="captioning_background_color" msgid="9053011212948992570">"Achtergrondkleur"</string>
-    <string name="captioning_background_opacity" msgid="6029993616419971202">"Transparantie van achtergrond"</string>
+    <string name="captioning_background_opacity" msgid="6029993616419971202">"Ondoorzichtigheid van achtergrond"</string>
     <string name="captioning_window_color" msgid="6902052743419717394">"Kleur ondertitelingsvenster"</string>
-    <string name="captioning_window_opacity" msgid="5041556024849862376">"Transparantie ondertitelingsvenster"</string>
+    <string name="captioning_window_opacity" msgid="5041556024849862376">"Ondoorzichtigheid ondertitelingsvenster"</string>
     <string name="captioning_foreground_color" msgid="85623486537640059">"Tekstkleur"</string>
-    <string name="captioning_foreground_opacity" msgid="4370967856995419788">"Transparantie van tekst"</string>
+    <string name="captioning_foreground_opacity" msgid="4370967856995419788">"Ondoorzichtigheid van tekst"</string>
     <string name="captioning_edge_color" msgid="3670094753735263238">"Randkleur"</string>
     <string name="captioning_edge_type" msgid="5997247394951682154">"Randtype"</string>
     <string name="captioning_typeface" msgid="1826169240566563259">"Lettertypefamilie"</string>
@@ -3452,9 +3449,9 @@
     <string name="encryption_interstitial_message_pin_for_fingerprint" msgid="4550632760119547492">"Naast het gebruik van je vingerafdruk om je apparaat te ontgrendelen, kun je dit apparaat verder beveiligen door in te stellen dat je pincode moet worden opgegeven voordat het apparaat wordt opgestart. Het apparaat kan pas na het opstarten oproepen, berichten of meldingen (waaronder wekkers) ontvangen.\n\nZo kunnen gegevens op verloren of gestolen apparaten worden beschermd. Wil je instellen dat een pincode vereist is om het apparaat te starten?"</string>
     <string name="encryption_interstitial_message_pattern_for_fingerprint" msgid="932184823193006087">"Naast het gebruik van je vingerafdruk om je apparaat te ontgrendelen, kun je dit apparaat verder beveiligen door in te stellen dat je patroon moet worden opgegeven voordat het apparaat wordt opgestart. Het apparaat kan pas na het opstarten oproepen, berichten of meldingen (waaronder wekkers) ontvangen.\n\nZo kunnen gegevens op verloren of gestolen apparaten worden beschermd. Wil je instellen dat een patroon vereist is om het apparaat te starten?"</string>
     <string name="encryption_interstitial_message_password_for_fingerprint" msgid="5560954719370251702">"Naast het gebruik van je vingerafdruk om je apparaat te ontgrendelen, kun je dit apparaat verder beveiligen door in te stellen dat je wachtwoord moet worden opgegeven voordat het apparaat wordt opgestart. Het apparaat kan pas na het opstarten oproepen, berichten of meldingen (waaronder wekkers) ontvangen.\n\nZo kunnen gegevens op verloren of gestolen apparaten worden beschermd. Wachtwoord vereisen om je apparaat op te starten?"</string>
-    <string name="encryption_interstitial_message_pin_for_face" msgid="2017438765366716760">"Naast het gebruik van je gezicht om je apparaat te ontgrendelen, kun je dit apparaat verder beveiligen door in te stellen dat je pincode moet worden opgegeven voordat het apparaat wordt opgestart. Het apparaat kan pas na het opstarten oproepen, berichten of meldingen (waaronder wekkers) ontvangen.\n\nZo kunnen gegevens op verloren of gestolen apparaten worden beschermd. Wil je instellen dat een pincode vereist is om het apparaat op te starten?"</string>
-    <string name="encryption_interstitial_message_pattern_for_face" msgid="3551827507967661552">"Naast het gebruik van je gezicht om je apparaat te ontgrendelen, kun je dit apparaat verder beveiligen door in te stellen dat je patroon moet worden opgegeven voordat het apparaat wordt opgestart. Het apparaat kan pas na het opstarten oproepen, berichten of meldingen (waaronder wekkers) ontvangen.\n\nZo kunnen gegevens op verloren of gestolen apparaten worden beschermd. Wil je instellen dat een patroon vereist is om het apparaat op te starten?"</string>
-    <string name="encryption_interstitial_message_password_for_face" msgid="3452793542112093614">"Naast het gebruik van je gezicht om je apparaat te ontgrendelen, kun je dit apparaat verder beveiligen door in te stellen dat je wachtwoord moet worden opgegeven voordat het apparaat wordt opgestart. Het apparaat kan pas na het opstarten oproepen, berichten of meldingen (waaronder wekkers) ontvangen.\n\nZo kunnen gegevens op verloren of gestolen apparaten worden beschermd. Wil je instellen dat een wachtwoord vereist is om het apparaat op te starten?"</string>
+    <string name="encryption_interstitial_message_pin_for_face" msgid="2017438765366716760">"Naast het gebruik van je gezicht om je apparaat te ontgrendelen, kun je dit apparaat verder beveiligen door in te stellen dat je pincode moet worden opgegeven voordat het apparaat wordt opgestart. Het apparaat kan pas na het opstarten gesprekken, berichten of meldingen (waaronder wekkers) ontvangen.\n\nZo kunnen gegevens op verloren of gestolen apparaten worden beschermd. Wil je instellen dat een pincode vereist is om het apparaat op te starten?"</string>
+    <string name="encryption_interstitial_message_pattern_for_face" msgid="3551827507967661552">"Naast het gebruik van je gezicht om je apparaat te ontgrendelen, kun je dit apparaat verder beveiligen door in te stellen dat je patroon moet worden opgegeven voordat het apparaat wordt opgestart. Het apparaat kan pas na het opstarten gesprekken, berichten of meldingen (waaronder wekkers) ontvangen.\n\nZo kunnen gegevens op verloren of gestolen apparaten worden beschermd. Wil je instellen dat een patroon vereist is om het apparaat op te starten?"</string>
+    <string name="encryption_interstitial_message_password_for_face" msgid="3452793542112093614">"Naast het gebruik van je gezicht om je apparaat te ontgrendelen, kun je dit apparaat verder beveiligen door in te stellen dat je wachtwoord moet worden opgegeven voordat het apparaat wordt opgestart. Het apparaat kan pas na het opstarten gesprekken, berichten of meldingen (waaronder wekkers) ontvangen.\n\nZo kunnen gegevens op verloren of gestolen apparaten worden beschermd. Wil je instellen dat een wachtwoord vereist is om het apparaat op te starten?"</string>
     <string name="encryption_interstitial_yes" msgid="4439509435889513411">"Ja"</string>
     <string name="encryption_interstitial_no" msgid="8935031349097025137">"Nee"</string>
     <string name="restricted_true_label" msgid="4761453839409220473">"Beperkt"</string>
@@ -4119,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Service voor automatisch aanvullen"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"auto, automatisch, invullen, aanvullen"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Zorg dat je deze app vertrouwt&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; maakt gebruik van de content op je scherm om te bepalen wat automatisch kan worden aangevuld."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Kleurenthema"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Standaard"</string>
     <string name="device_theme" msgid="4571803018917608588">"Apparaatthema"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Automatisch (op basis van achtergrond)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Licht"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Donker"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Standaard"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Netwerknaam"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Netwerknaam weergeven in statusbalk"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Opslagbeheer: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-or/arrays.xml b/res/values-or/arrays.xml
index 9aa8e94..06895b6 100644
--- a/res/values-or/arrays.xml
+++ b/res/values-or/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"ସର୍ବଦା ଅନ୍‌"</item>
     <item msgid="6385301106124765323">"ସର୍ବଦା ଅଫ୍"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml
index a538a0d..6d3d7be 100644
--- a/res/values-or/strings.xml
+++ b/res/values-or/strings.xml
@@ -120,8 +120,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"ଡିଭାଇସ୍‌ର ବ୍ଲୁ-ଟୂଥ୍‍‌ ଠିକଣା ହେଉଛି: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>କୁ ବିଚ୍ଛିନ୍ନ କରିବେ?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"ବ୍ରଡ୍‌କାଷ୍ଟିଙ୍ଗ"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"ପ୍ରୋଫାଇଲ୍‌ ଅକ୍ଷମ କରିବେ?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"ଏହା :&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt; ରୁ :&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;କୁ ଅକ୍ଷମ କରିବ"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"ନାମହୀନ ବ୍ଲୁ-ଟୂଥ୍‍‌ ଡିଭାଇସ୍‌"</string>
     <string name="progress_scanning" msgid="192587958424295789">"ଖୋଜୁଛି..."</string>
@@ -391,30 +389,18 @@
     <string name="security_status_title" msgid="5848766673665944640">"ସୁରକ୍ଷା ସ୍ଥିତି"</string>
     <string name="security_dashboard_summary" msgid="6757421634477554939">"ସ୍କ୍ରୀନ୍‌ ଲକ୍‌, ଆଙ୍ଗୁଠି ଚିହ୍ନ"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="8129641548372335540">"ସ୍କ୍ରୀନ୍‌ ଲକ୍‌"</string>
-    <!-- no translation found for security_settings_face_preference_summary (1290187225482642821) -->
-    <skip />
-    <!-- no translation found for security_settings_face_preference_summary_none (5460349732790152186) -->
-    <skip />
-    <!-- no translation found for security_settings_face_preference_title (7074548721778680481) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_cancel (4277182322482408514) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_title (2694505011712885439) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_title_unlock_disabled (8180330567034286589) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_message (6150611993438981458) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_message_unlock_disabled (6300341727101929207) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_message_setup (5704661081718707858) -->
-    <skip />
-    <!-- no translation found for face_add_max (2342250989212694454) -->
-    <skip />
-    <!-- no translation found for face_intro_error_max (160022811747660581) -->
-    <skip />
-    <!-- no translation found for face_intro_error_unknown (6367721696446677261) -->
-    <skip />
+    <string name="security_settings_face_preference_summary" msgid="1290187225482642821">"ଫେସ୍‌ ଯୋଡ଼ାଗଲା"</string>
+    <string name="security_settings_face_preference_summary_none" msgid="5460349732790152186">"ଫେସ୍‌ର ପ୍ରମାଣ ସେଟଅପ୍‍ ପାଇଁ ଟାପ୍‍ କରନ୍ତୁ"</string>
+    <string name="security_settings_face_preference_title" msgid="7074548721778680481">"ଫେସ୍‍ ପ୍ରମାଣୀକରଣ"</string>
+    <string name="security_settings_face_enroll_introduction_cancel" msgid="4277182322482408514">"କ୍ୟାନ୍ସଲ୍‍"</string>
+    <string name="security_settings_face_enroll_introduction_title" msgid="2694505011712885439">"ନିଜର ଫେସ୍‌ରେ ଅନଲକ୍‌ କରନ୍ତୁ"</string>
+    <string name="security_settings_face_enroll_introduction_title_unlock_disabled" msgid="8180330567034286589">"ପ୍ରମାଣ ପାଇଁ ନିଜର ଫେସ୍‌କୁ ବ୍ୟବହାର କରନ୍ତୁ"</string>
+    <string name="security_settings_face_enroll_introduction_message" msgid="6150611993438981458">"ନିଜର ଫୋନ୍‌ ଅନଲକ୍‌ କରିବା ପାଇଁ ନିଜର ଫେସ୍‌ ବ୍ୟବହାର କରନ୍ତୁ, କିଣାକିଣିକଗୁଡ଼ିକୁ ସ୍ୱୀକୃତି ଦିଅନ୍ତୁ, କିମ୍ବା ଆପ୍‌ଗୁଡ଼ିକରେ ସାଇନ୍‌ ଇନ୍‌ କରନ୍ତୁ।"</string>
+    <string name="security_settings_face_enroll_introduction_message_unlock_disabled" msgid="6300341727101929207">"ନିଜେ"</string>
+    <string name="security_settings_face_enroll_introduction_message_setup" msgid="5704661081718707858">"ନିଜର ଫୋନ୍‌ ଅନଲକ୍‌ କରିବା ପାଇଁ ନିଜର ଫେସ୍‌ ବ୍ୟବହାର କରନ୍ତୁ, କିଣାକିଣିକଗୁଡ଼ିକୁ ସ୍ୱୀକୃତି ଦିଅନ୍ତୁ, କିମ୍ବା ଆପ୍‌ଗୁଡ଼ିକରେ ସାଇନ୍‌ ଇନ୍‌ କରନ୍ତୁ।"</string>
+    <string name="face_add_max" msgid="2342250989212694454">"ଆପଣ ସର୍ବାଧିକ <xliff:g id="COUNT">%d</xliff:g>ଟି ଆଙ୍ଗୁଠି ଚିହ୍ନ ଯୋଡ଼ିପାରିବେ"</string>
+    <string name="face_intro_error_max" msgid="160022811747660581">"ଆପଣ ସର୍ବାଧିକ ସଂଖ୍ୟାର ଫେସ୍‌ଗୁଡ଼ିକୁ ଯୋଡିଛନ୍ତି"</string>
+    <string name="face_intro_error_unknown" msgid="6367721696446677261">"ଆଉ ଅଧିକ ଫେସ୍‌ଗୁଡ଼ିକୁ ଯୋଡିପାରିବ ନାହିଁ"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"ଆଙ୍ଗୁଠି ଚିହ୍ନ"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"ଆଙ୍ଗୁଠି ଚିହ୍ନଗୁଡ଼ିକର ପରିଚାଳନା କରନ୍ତୁ"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"ଏହା ପାଇଁ ଆଙ୍ଗୁଠି ଚିହ୍ନର ବ୍ୟବହାର କରନ୍ତୁ"</string>
@@ -526,14 +512,12 @@
     <string name="setup_lock_settings_picker_title" product="tablet" msgid="90329443364067215">"ନିଜ ଟାବ୍‌ଲେଟ୍‌ର ସୁରକ୍ଷା କରନ୍ତୁ"</string>
     <string name="setup_lock_settings_picker_title" product="device" msgid="2399952075134938929">"ଆପଣଙ୍କ ଡିଭାଇସକୁ ସୁରକ୍ଷିତ ରଖନ୍ତୁ"</string>
     <string name="setup_lock_settings_picker_title" product="default" msgid="1572244299605153324">"ଫୋନର ସୁରକ୍ଷା କରନ୍ତୁ"</string>
-    <!-- no translation found for lock_settings_picker_biometrics_added_security_message (1507307757032207572) -->
-    <skip />
+    <string name="lock_settings_picker_biometrics_added_security_message" msgid="1507307757032207572">"ଅତିରିକ୍ତ ସୁରକ୍ଷା ପାଇଁ, ଏକ ବ୍ୟାକଅପ୍‌ ସ୍କ୍ରୀନ୍‌ ଲକ୍‌ ସେଟ୍‌ କରନ୍ତୁ"</string>
     <string name="setup_lock_settings_picker_message" product="tablet" msgid="8919671129189936210">"ଡିଭାଇସ୍‌ର ସୁରକ୍ଷା ବୈଶିଷ୍ଟ୍ୟକୁ ସକ୍ରିୟ କରି ଆପଣଙ୍କ ଅନୁମତି ବିନା ଏହି ଟାବ୍‌ଲେଟ୍‌କୁ ଅନ୍ୟମାନେ ବ୍ୟବହାର କରିବାରୁ ପ୍ରତିରୋଧ କରନ୍ତୁ। ଆପଣ ବ୍ୟବହାର କରିବାକୁ ଚାହୁଁଥିବା ସ୍କ୍ରୀନ୍‌ ଲକ୍‌ ବାଛନ୍ତୁ।"</string>
     <string name="setup_lock_settings_picker_message" product="device" msgid="3787276514406353777">"ଡିଭାଇସ୍‌ ସୁରକ୍ଷା ବୈଶିଷ୍ଟ୍ୟକୁ ସକ୍ରିୟ କରି, ଆପଣଙ୍କ ଅନୁମତି ବିନା ଏହାକୁ ବ୍ୟବହାର କରିବାରୁ ଅନ୍ୟମାନଙ୍କୁ ରୋକନ୍ତୁ। ଆପଣ ବ୍ୟବହାର କରିବାକୁ ଚାହୁଁଥିବା ସ୍କ୍ରୀନ୍‌ ଲକ୍‌ ବାଛନ୍ତୁ।"</string>
     <string name="setup_lock_settings_picker_message" product="default" msgid="3692856437543730446">"ଡିଭାଇସ୍‌ର ସୁରକ୍ଷା ବୈଶିଷ୍ଟ୍ୟକୁ ସକ୍ରିୟ କରିବା ଦ୍ୱାରା ଆପଣଙ୍କ ଅନୁମତି ବିନା ଏହି ଫୋନକୁ ଅନ୍ୟମାନେ ବ୍ୟବହାର କରିପାରିବେ ନାହିଁ। ଆପଣ ବ୍ୟବହାର କରିବାକୁ ଚାହୁଁଥିବା ସ୍କ୍ରୀନ୍‌ ଲକ୍‌ ବାଛି ନିଅନ୍ତୁ।"</string>
     <string name="lock_settings_picker_fingerprint_message" msgid="4755230324778371292">"ନିଜର ବ୍ୟାକ୍‌ଅପ୍‌ ସ୍କ୍ରୀନ୍‌ ଲକ୍‌ ପଦ୍ଧତି ବାଛନ୍ତୁ"</string>
-    <!-- no translation found for lock_settings_picker_face_message (197106534637556054) -->
-    <skip />
+    <string name="lock_settings_picker_face_message" msgid="197106534637556054">"ନିଜର ବ୍ୟାକଅପ୍‌ ସ୍କ୍ରୀନ୍‌ ଲକ୍‌ ପଦ୍ଧତି ବାଛନ୍ତୁ"</string>
     <string name="setup_lock_settings_options_button_label" msgid="8511153243629402929">"ସ୍କ୍ରିନ୍‌ ଲକ୍‌ର ବିକଳ୍ପଗୁଡ଼ିକ"</string>
     <string name="setup_lock_settings_options_dialog_title" msgid="5058207955455973917">"ସ୍କ୍ରୀନ୍‌ ଲକ୍‌ ବିକଳ୍ପ"</string>
     <string name="unlock_set_unlock_launch_picker_title" msgid="2084576942666016993">"ସ୍କ୍ରୀନ୍‌ ଲକ୍‌"</string>
@@ -560,16 +544,11 @@
     <string name="fingerprint_unlock_set_unlock_password" msgid="7351131075806338634">"ଆଙ୍ଗୁଠି ଚିହ୍ନ + ପାସ୍‌ୱାର୍ଡ"</string>
     <string name="fingerprint_unlock_skip_fingerprint" msgid="1441077909803666681">"ଆଙ୍ଗୁଠି ଚିହ୍ନ ବିନା ଜାରି ରଖନ୍ତୁ"</string>
     <string name="fingerprint_unlock_title" msgid="2826226740306003991">"ଆଙ୍ଗୁଠି ଚିହ୍ନ ବ୍ୟବହାର କରି ନିଜ ଫୋନ୍‌ ଆପଣ ଅନଲକ୍‌ କରିପାରିବେ। ସୁରକ୍ଷା କାରଣରୁ, ଏହି ବିକଳ୍ପ ପାଇଁ ଏକ ବ୍ୟାକଅପ୍‌ ସ୍କ୍ରୀନ୍‌ ଲକ୍‌ ଆବଶ୍ୟକ।"</string>
-    <!-- no translation found for face_unlock_set_unlock_pattern (8792301636367000123) -->
-    <skip />
-    <!-- no translation found for face_unlock_set_unlock_pin (1196620299595657479) -->
-    <skip />
-    <!-- no translation found for face_unlock_set_unlock_password (223117276773907474) -->
-    <skip />
-    <!-- no translation found for face_unlock_skip_face (6362883392838482791) -->
-    <skip />
-    <!-- no translation found for face_unlock_title (9042382084472444316) -->
-    <skip />
+    <string name="face_unlock_set_unlock_pattern" msgid="8792301636367000123">"ଫେସ୍‌ର ପ୍ରମାଣୀକରଣ + ପାଟର୍ନ"</string>
+    <string name="face_unlock_set_unlock_pin" msgid="1196620299595657479">"ଫେସ୍‌ର ପ୍ରମାଣୀକରଣ + ପିନ୍‌"</string>
+    <string name="face_unlock_set_unlock_password" msgid="223117276773907474">"ଫେସ୍‌ର ପ୍ରମାଣୀକରଣ + ପାସ୍‍ୱାର୍ଡ"</string>
+    <string name="face_unlock_skip_face" msgid="6362883392838482791">"ବିନା ଫେସ୍‍ ପ୍ରମାଣୀକରଣରେ ଜାରି ରଖନ୍ତୁ"</string>
+    <string name="face_unlock_title" msgid="9042382084472444316">"ନିଜର ଫେସ୍‍ ବ୍ୟବହାର କରି ନିଜର ଫୋନ୍‌ ଆପଣ ଅନଲକ୍‌ କରିପାରିବେ। ସୁରକ୍ଷା କାରଣରୁ, ଏହି ବିକଳ୍ପ ପାଇଁ ଏକ ବ୍ୟାକଅପ୍‌ ସ୍କ୍ରୀନ୍‌ ଲକ୍‌ ଆବଶ୍ୟକ।"</string>
     <string name="unlock_set_unlock_disabled_summary" msgid="2051593894736282302">"ପ୍ରଶାସକ, ଏନକ୍ରିପ୍‌ଶନ୍‌ ନୀତି, କିମ୍ବା କ୍ରେଡେନ୍‌ଶିଆଲ୍‌ ଷ୍ଟୋରେଜ୍‌ ଦ୍ୱାରା ଅକ୍ଷମ କରାଯାଇଛି"</string>
     <string name="unlock_set_unlock_mode_off" msgid="5881952274566013651">"କିଛି ନୁହେଁ"</string>
     <string name="unlock_set_unlock_mode_none" msgid="8467360084676871617">"ସ୍ୱାଇପ୍"</string>
@@ -725,7 +704,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"ଖୋଜୁଛି…"</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"ଡିଭାଇସ ସେଟିଙ୍ଗ"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"ପେୟାର୍‌ ହୋଇଥିବା ଡିଭାଇସ୍‌"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"ନାମ"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"ଇଣ୍ଟର୍‌ନେଟ୍‌ ସଂଯୋଗ"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"କୀବୋର୍ଡ"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"ଯୋଗାଯୋଗ ଓ କଲ୍‌ ହିଷ୍ଟୋରୀ"</string>
@@ -733,7 +711,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"ଫୋନବୂକ ଶେୟାର କରିବେ?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>, ଆପଣଙ୍କ ଯୋଗାଯୋଗ ଓ କଲ୍‌ ହିଷ୍ଟୋରୀକୁ ଆକ୍‌ସେସ୍‌ କରିବାକୁ ଚାହୁଁଛି।"</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ବ୍ଲୁ-ଟୂଥ୍‍‌ ସହିତ ଫେୟାର୍‌ କରିବାକୁ ଚାହୁଁଛି। ସଂଯୁକ୍ତ ହେଲେ, ଏହା ଆପଣଙ୍କର ଯୋଗାଯୋଗ ଓ କଲ୍‌ ହିଷ୍ଟୋରୀକୁ ଆକ୍ସେସ୍ କରିବ।"</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"ପେୟାର୍‌ ହୋଇଥିବା ଡିଭାଇସ୍‌ଗୁଡ଼ିକ"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"ଉପଲବ୍ଧ ଡିଭାଇସ୍"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"କୌଣସି ଡିଭାଇସ୍‌ ଉପଲବ୍ଧ ନାହିଁ"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"ସଂଯୋଗ କରନ୍ତୁ"</string>
@@ -1124,7 +1101,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"ଉଜ୍ଜ୍ୱଳତା"</string>
     <string name="brightness_summary" msgid="838917350127550703">"ସ୍କ୍ରିନ୍‌ର ଉଜ୍ଜ୍ୱଳତା ଆଡ୍‌ଜଷ୍ଟ କରନ୍ତୁ"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"ଅନୁକୂଳ ଉଜ୍ଜ୍ୱଳତା"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"ଉପଲବ୍ଧ ଆଲୋକ ପାଇଁ ଉଜ୍ଜ୍ୱଳତା ଅନୁକୂଳ କରନ୍ତୁ"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"ବନ୍ଦ"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"ପସନ୍ଦର ଉଜ୍ଜ୍ୱଳତା ବହୁତ କମ୍‍ ଅଛି"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"ପସନ୍ଦର ଉଜ୍ଜ୍ୱଳତା ନିମ୍ନ ଅଛି"</string>
@@ -1639,12 +1617,9 @@
     <string name="lockpassword_password_set_toast" msgid="4875050283108629383">"ପାସ୍‌ୱର୍ଡକୁ ସେଟ୍‌ କରିଦିଆଗଲା"</string>
     <string name="lockpassword_pin_set_toast" msgid="6011826444725291475">"PIN ସେଟ୍‌ କରାଯାଇଛି"</string>
     <string name="lockpassword_pattern_set_toast" msgid="6867259621331406236">"ଶୈଳୀ ସେଟ୍‌ କରାଯାଇଛି"</string>
-    <!-- no translation found for lockpassword_choose_your_password_header_for_face (7876621019688907534) -->
-    <skip />
-    <!-- no translation found for lockpassword_choose_your_pattern_header_for_face (8070525076987585344) -->
-    <skip />
-    <!-- no translation found for lockpassword_choose_your_pin_header_for_face (7304398683609714816) -->
-    <skip />
+    <string name="lockpassword_choose_your_password_header_for_face" msgid="7876621019688907534">"ଫେସ୍‌ ପ୍ରମାଣୀକରଣ ବ୍ୟବହାର କରିବା ପାଇଁ, ପାସ୍‍ୱର୍ଡ ସେଟ୍‌ କରନ୍ତୁ"</string>
+    <string name="lockpassword_choose_your_pattern_header_for_face" msgid="8070525076987585344">"ଫେସ୍‌ ପ୍ରମାଣୀକରଣ ବ୍ୟବହାର କରିବା ପାଇଁ, ପାଟର୍ନ ସେଟ୍‌ କରନ୍ତୁ"</string>
+    <string name="lockpassword_choose_your_pin_header_for_face" msgid="7304398683609714816">"ଫେସ୍‌ ପ୍ରମାଣୀକରଣ ବ୍ୟବହାର କରିବା ପାଇଁ, ପିନ୍‌ ସେଟ୍‌ କରନ୍ତୁ"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="2920960858283879113">"ଜାରି ରଖିବା ପାଇଁ ନିଜ ଡିଭାଇସ୍‌ ପାଟର୍ନ ବ୍ୟବହାର କରନ୍ତୁ"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="4062335874438910487">"ଜାରି ରଖିବାକୁ ଆପଣଙ୍କ ଡିଭାଇସ୍‌ର PIN ଲେଖନ୍ତୁ"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="3976394862548354966">"ଜାରି ରଖିବାକୁ ନିଜ ଡିଭାଇସ୍‌ର ପାସ୍‌ୱର୍ଡ ଲେଖନ୍ତୁ"</string>
@@ -3055,8 +3030,7 @@
     <string name="keywords_systemui_theme" msgid="9112852512550404882">"ଡାର୍କ ଥିମ୍‍"</string>
     <string name="keywords_device_feedback" msgid="564493721125966719">"ବଗ୍‍"</string>
     <string name="keywords_ambient_display_screen" msgid="5874969496073249362">"ଆମ୍ବିଏଣ୍ଟ ଡିସ୍‌ପ୍ଲେ, ଲକ୍ ସ୍କ୍ରୀନ୍ ଡିସ୍‌ପ୍ଲେ"</string>
-    <!-- no translation found for keywords_face_settings (7505388678116799329) -->
-    <skip />
+    <string name="keywords_face_settings" msgid="7505388678116799329">"ଫେସ୍‌"</string>
     <string name="keywords_fingerprint_settings" msgid="239222512315619538">"ଆଙ୍ଗୁଠି ଚିହ୍ନ"</string>
     <string name="keywords_display_auto_brightness" msgid="4130320471533951796">"କମ୍ ଆଲୋକ ଥିବା ସ୍କ୍ରୀନ୍, ଟଚ୍‍ସ୍କ୍ରୀନ୍, ବ୍ୟାଟେରୀ, ସ୍ମାର୍ଟ ଉଜ୍ଵଳତା, ଡାଇନାମିକ୍ ଉଜ୍ଵଳତା"</string>
     <string name="keywords_auto_rotate" msgid="5620879898668211494">"ରୋଟେଟ୍, ଫ୍ଲିପ୍, ରୋଟେଶନ୍, ପୋର୍ଟେଟ୍, ଲ୍ୟାଣ୍ଡସ୍କେପ୍, ଓରିଏଣ୍ଟେଶନ୍, ଭର୍ଟିକଲ୍, ହୋରିଜୋଣ୍ଟାଲ୍"</string>
@@ -3474,12 +3448,9 @@
     <string name="encryption_interstitial_message_pin_for_fingerprint" msgid="4550632760119547492">"ଡିଭାଇସ୍‌ ଅନଲକ୍‌ କରିବା ପାଇଁ ଆଙ୍ଗୁଠି ଚିହ୍ନର ବ୍ୟବହାର ସମେତ ଏହି ଡିଭାଇସ୍‌ଟି ଚାଲୁ ହେବା ପୂର୍ବରୁ ନିଜ PIN‌ ଦେଇ ଏହାକୁ ଆହୁରି ସୁରକ୍ଷିତ ମଧ୍ୟ କରିପାରିବେ। ଏହି ଡିଭାଇସ୍‌ଟି ଚାଲୁ ନହେବା ପର୍ଯ୍ୟନ୍ତ ଏଥିରେ ଆଲାର୍ମ ସହ କଲ୍‌, ମେସେଜ୍‌ ଆସିବ ନାହିଁ କିମ୍ୱା କୌଣସି ପ୍ରକାରର ବିଜ୍ଞପ୍ତି ଦେଖାଯିବ ନାହିଁ।\n\nଏହାଫଳରେ ଡିଭାଇସ୍‌ଟି ହଜିଗଲେ କିମ୍ବା ଚୋରି ହୋଇଗଲେ ମଧ୍ୟ ଆପଣଙ୍କ ଡାଟା ସୁରକ୍ଷିତ ରୁହେ। ଡିଭାଇସ୍‌କୁ ଚାଲୁ କରିବା ପାଇଁ PIN‌ ଦେବାକୁ ଚାହିଁବେ?"</string>
     <string name="encryption_interstitial_message_pattern_for_fingerprint" msgid="932184823193006087">"ଏହି ଡିଭାଇସ୍‌ଟି ଚାଲୁ ହେବା ସମୟରେ ଆପଣଙ୍କ ଡିଭାଇସ୍‌ ଅନଲକ୍‌ କରିବାକୁ ଆଙ୍ଗୁଠି ଚିହ୍ନ ବ୍ୟବହାର କରିବା ସହ, ପାଟର୍ନ ଦେବା ଦ୍ୱାରା ଏହାକୁ ଆହୁରି ସୁରକ୍ଷିତ କରିପାରିବେ। ଏହି ଡିଭାଇସ୍‌ଟି ଚାଲୁ ନହେବା ପର୍ଯ୍ୟନ୍ତ ଏଥିରେ କଲ୍‌ କିମ୍ବା ମେସେଜ୍‌ ଆସିପାରିବ ନାହିଁ ତଥା ଆଲାର୍ମ ପରି କୌଣସି ପ୍ରକାରର ବିଜ୍ଞପ୍ତି ଦେଖାଯିବ ନାହିଁ।\n\nଏହା ଫଳରେ ଡିଭାଇସ୍‌ଟି ହଜିଗଲେ କିମ୍ବା ଚୋରି ହୋଇଗଲେ ମଧ୍ୟ ଆପଣଙ୍କ ଡାଟା ସୁରକ୍ଷିତ ରହେ। ଆପଣଙ୍କ ଡିଭାଇସ୍‌କୁ ଚାଲୁ କରିବା ସମୟରେ ପାଟର୍ନ ଦେବାକୁ ଚାହିଁବେ କି?"</string>
     <string name="encryption_interstitial_message_password_for_fingerprint" msgid="5560954719370251702">"ଆପଣଙ୍କ ଡିଭାଇସ୍‌ ଅନଲକ୍‌ କରିବାକୁ ଆଙ୍ଗୁଠି ଚିହ୍ନ ବ୍ୟବହାର କରିବା ସହ, ଏହି ଡିଭାଇସ୍‌ଟି ଚାଲୁ ହେବା ସମୟରେ ପାସ୍‌ୱାର୍ଡ ଦେବା ମାଧ୍ୟମରେ ଏହାକୁ ଆହୁରି ସୁରକ୍ଷିତ କରିପାରିବେ। ଏହି ଡିଭାଇସ୍‌ଟି ଚାଲୁ ନହେବା ପର୍ଯ୍ୟନ୍ତ ଏଥିରେ କଲ୍‌, ବାର୍ତ୍ତା, କିମ୍ବା ଆଲାର୍ମ ସହ କୌଣସି ପ୍ରକାରର ବିଜ୍ଞପ୍ତି ଆସିବ ନାହିଁ।\n\nଏହା ଫଳରେ ଡିଭାଇସ୍‌ଟି ହଜିଗଲେ କିମ୍ବା ଚୋରି ହୋଇଗଲେ ମଧ୍ୟ ଆପଣଙ୍କ ଡାଟା ସୁରକ୍ଷିତ ଥାଏ। ଆପଣଙ୍କ ଡିଭାଇସ୍‌କୁ ଚାଲୁ କରିବା ସମୟରେ ପାସ୍‌ୱାର୍ଡ ଦେବା ଆବଶ୍ୟକ କରିବେ କି?"</string>
-    <!-- no translation found for encryption_interstitial_message_pin_for_face (2017438765366716760) -->
-    <skip />
-    <!-- no translation found for encryption_interstitial_message_pattern_for_face (3551827507967661552) -->
-    <skip />
-    <!-- no translation found for encryption_interstitial_message_password_for_face (3452793542112093614) -->
-    <skip />
+    <string name="encryption_interstitial_message_pin_for_face" msgid="2017438765366716760">"ନିଜର ଡିଭାଇସ୍‌କୁ ଅନଲକ୍‌ କରିବାକୁ ନିଜର ଫେସ୍‌ ବ୍ୟବହାର କରିବା ବ୍ୟତୀତ, ଏହାକୁ ଚାଲୁ କରିବା ପୂର୍ବରୁ ଆପଣ ପିନ୍‌ ଦେଇ ଆହୁରି ସୁରକ୍ଷିତ କରିପାରିବେ। ଏହି ଡିଭାଇସ୍‌ଟି ଚାଲୁ ନହେବା ପର୍ଯ୍ୟନ୍ତ, ଏଥିରେ କଲ୍‌, ମେସେଜ୍‌‍ କିମ୍ବା ଆଲାର୍ମ ସହିତ କୌଣସି ପ୍ରକାରର ବିଜ୍ଞପ୍ତି ଆସିବ ନାହିଁ। \n\nଏହା ଫଳରେ ଡିଭାଇସ୍‌ଟି ହଜିଗଲେ କିମ୍ବା ଚୋରି ହୋଇଗଲେ ମଧ୍ୟ ଆପଣଙ୍କ ଡାଟା ସୁରକ୍ଷିତ ରଖିବାରେ ସାହାଯ୍ୟ କରିଥାଏ। ଡିଭାଇସ୍‌ ଚାଲୁ କରିବା ପାଇଁ ଆପଣ ପିନ୍‌ ଦେବାକୁ ଚାହିଁବେ?"</string>
+    <string name="encryption_interstitial_message_pattern_for_face" msgid="3551827507967661552">"ନିଜର ଡିଭାଇସ୍‌କୁ ଅନଲକ୍‌ କରିବାକୁ ନିଜର ଫେସ୍‌ ବ୍ୟବହାର କରିବା ବ୍ୟତୀତ, ଏହାକୁ ଚାଲୁ କରିବା ପୂର୍ବରୁ ଆପଣ ପାଟର୍ନ ଦେଇ ଆହୁରି ସୁରକ୍ଷିତ କରିପାରିବେ। ଏହି ଡିଭାଇସ୍‌ଟି ଚାଲୁ ନହେବା ପର୍ଯ୍ୟନ୍ତ, ଏଥିରେ କଲ୍‌, ମେସେଜ୍‌‍ କିମ୍ବା ଆଲାର୍ମ ସହିତ କୌଣସି ପ୍ରକାରର ବିଜ୍ଞପ୍ତି ଆସିବ ନାହିଁ। \n\nଏହା ଫଳରେ ଡିଭାଇସ୍‌ଟି ହଜିଗଲେ କିମ୍ବା ଚୋରି ହୋଇଗଲେ ମଧ୍ୟ ଆପଣଙ୍କ ଡାଟା ସୁରକ୍ଷିତ ରଖିବାରେ ସାହାଯ୍ୟ କରିଥାଏ। ଡିଭାଇସ୍‌ ଚାଲୁ କରିବା ପାଇଁ ଆପଣ ପାଟର୍ନ ଦେବାକୁ ଚାହିଁବେ?"</string>
+    <string name="encryption_interstitial_message_password_for_face" msgid="3452793542112093614">"ନିଜର ଡିଭାଇସ୍‌କୁ ଅନଲକ୍‌ କରିବାକୁ ନିଜର ଫେସ୍‌ ବ୍ୟବହାର କରିବା ବ୍ୟତୀତ, ଏହାକୁ ଚାଲୁ କରିବା ପୂର୍ବରୁ ଆପଣ ପାସ୍‌ୱାର୍ଡ ଦେଇ ଆହୁରି ସୁରକ୍ଷିତ କରିପାରିବେ। ଏହି ଡିଭାଇସ୍‌ଟି ଚାଲୁ ନହେବା ପର୍ଯ୍ୟନ୍ତ, ଏଥିରେ କଲ୍‌, ମେସେଜ୍‌‍ କିମ୍ବା ଆଲାର୍ମ ସହିତ କୌଣସି ପ୍ରକାରର ବିଜ୍ଞପ୍ତି ଆସିବ ନାହିଁ। \n\nଏହା ଫଳରେ ଡିଭାଇସ୍‌ଟି ହଜିଗଲେ କିମ୍ବା ଚୋରି ହୋଇଗଲେ ମଧ୍ୟ ଆପଣଙ୍କ ଡାଟା ସୁରକ୍ଷିତ ରଖିବାରେ ସାହାଯ୍ୟ କରିଥାଏ। ଡିଭାଇସ୍‌ ଚାଲୁ କରିବା ପାଇଁ ଆପଣ ପାସ୍‌ୱାର୍ଡ ଦେବାକୁ ଚାହିଁବେ?"</string>
     <string name="encryption_interstitial_yes" msgid="4439509435889513411">"ହଁ"</string>
     <string name="encryption_interstitial_no" msgid="8935031349097025137">"ନାଁ"</string>
     <string name="restricted_true_label" msgid="4761453839409220473">"ଅବରୋଧ କରାଯାଇଛି"</string>
@@ -4147,12 +4118,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"ସ୍ୱତଃପୂରଣ ସେବା"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"ଅଟୋ, ଫିଲ, ଅଟୋଫିଲ"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;ଆପଣ ଏହି ଆପ୍‌କୁ ବିଶ୍ୱାସ କରୁଥିବା ନିଶ୍ଚିତ କରନ୍ତୁ&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; କ\'ଣ ଅଟୋଫିଲ୍‌ କରାଯାଇପାରିବ ନିର୍ଦ୍ଧାରଣ କରିବା ପାଇଁ, Google Autofill ଆପଣଙ୍କ ସ୍କ୍ରୀନ୍‌ରେ ଯାହା ଥାଏ, ତାହା ବ୍ୟବହାର କରେ।"</string>
-    <string name="color_theme" msgid="1535685696756738324">"ରଙ୍ଗ ଥିମ୍"</string>
-    <string name="default_theme" msgid="7085644992078579076">"ପ୍ରାକ୍‌-ନିର୍ଦ୍ଧାରିତ"</string>
     <string name="device_theme" msgid="4571803018917608588">"ଡିଭାଇସ୍‌ ଥିମ୍‌"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"ସ୍ଵଚାଳିତ (ୱାଲପେପର୍ ଉପରେ ଆଧାରିତ)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"ଫିକା"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"ଗାଢ଼"</string>
+    <string name="default_theme" msgid="7085644992078579076">"ପ୍ରାକ୍‌-ନିର୍ଦ୍ଧାରିତ"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"ନେଟୱାର୍କ ନାମ"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"ଷ୍ଟାଟସ୍‌ ବାର୍‌ରେ ନେଟ୍‌ୱର୍କର ନାମ ଡିସ୍‌ପ୍ଲେ କରନ୍ତୁ"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"ଷ୍ଟୋରେଜ ମ୍ୟାନେଜର: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-pa/arrays.xml b/res/values-pa/arrays.xml
index 4021982..7d0cd17 100644
--- a/res/values-pa/arrays.xml
+++ b/res/values-pa/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"ਹਮੇਸ਼ਾਂ ਚਾਲੂ"</item>
     <item msgid="6385301106124765323">"ਹਮੇਸ਼ਾਂ ਬੰਦ"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
index cadce70..30f91cc 100644
--- a/res/values-pa/strings.xml
+++ b/res/values-pa/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"ਡੀਵਾਈਸ ਦਾ ਬਲੂਟੁੱਥ ਪਤਾ: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"ਕੀ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ਨੂੰ ਡਿਸਕਨੈਕਟ ਕਰਨਾ ਹੈ?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"ਪ੍ਰਸਾਰਨ"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"ਕੀ ਪ੍ਰੋਫਾਈਲ ਅਸਮਰੱਥ ਬਣਾਉਣੀ ਹੈ?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"ਇਹ ਇਸਨੂੰ ਅਸਮਰੱਥ ਬਣਾਏਗਾ:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;ਇਸਤੋਂ:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"ਬਿਨਾਂ ਨਾਮ ਦਾ ਬਲੂਟੁੱਥ ਡੀਵਾਈਸ"</string>
     <string name="progress_scanning" msgid="192587958424295789">"ਖੋਜ ਰਿਹਾ ਹੈ"</string>
@@ -392,30 +390,18 @@
     <string name="security_status_title" msgid="5848766673665944640">"ਸੁਰੱਖਿਆ ਸਥਿਤੀ"</string>
     <string name="security_dashboard_summary" msgid="6757421634477554939">"ਸਕ੍ਰੀਨ  ਲਾਕ , ਫਿੰਗਰਪ੍ਰਿੰਟ"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="8129641548372335540">"ਸਕ੍ਰੀਨ  ਲਾਕ"</string>
-    <!-- no translation found for security_settings_face_preference_summary (1290187225482642821) -->
-    <skip />
-    <!-- no translation found for security_settings_face_preference_summary_none (5460349732790152186) -->
-    <skip />
-    <!-- no translation found for security_settings_face_preference_title (7074548721778680481) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_cancel (4277182322482408514) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_title (2694505011712885439) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_title_unlock_disabled (8180330567034286589) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_message (6150611993438981458) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_message_unlock_disabled (6300341727101929207) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_message_setup (5704661081718707858) -->
-    <skip />
-    <!-- no translation found for face_add_max (2342250989212694454) -->
-    <skip />
-    <!-- no translation found for face_intro_error_max (160022811747660581) -->
-    <skip />
-    <!-- no translation found for face_intro_error_unknown (6367721696446677261) -->
-    <skip />
+    <string name="security_settings_face_preference_summary" msgid="1290187225482642821">"ਚਿਹਰਾ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ"</string>
+    <string name="security_settings_face_preference_summary_none" msgid="5460349732790152186">"ਚਿਹਰਾ ਪ੍ਰਮਾਣੀਕਰਨ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ"</string>
+    <string name="security_settings_face_preference_title" msgid="7074548721778680481">"ਚਿਹਰਾ ਪ੍ਰਮਾਣੀਕਰਨ"</string>
+    <string name="security_settings_face_enroll_introduction_cancel" msgid="4277182322482408514">"ਰੱਦ ਕਰੋ"</string>
+    <string name="security_settings_face_enroll_introduction_title" msgid="2694505011712885439">"ਆਪਣੇ ਚਿਹਰੇ ਨਾਲ ਅਣਲਾਕ ਕਰੋ"</string>
+    <string name="security_settings_face_enroll_introduction_title_unlock_disabled" msgid="8180330567034286589">"ਪ੍ਰਮਾਣੀਕਰਨ ਲਈ ਆਪਣੇ ਚਿਹਰਾ ਦੀ ਵਰਤੋਂ ਕਰੋ"</string>
+    <string name="security_settings_face_enroll_introduction_message" msgid="6150611993438981458">"ਆਪਣਾ ਫ਼ੋਨ ਅਣਲਾਕ ਕਰਨ, ਖਰੀਦਾਂ ਨੂੰ ਅਧਿਕਾਰਿਤ ਕਰਨ ਜਾਂ ਐਪਾਂ ਵਿੱਚ ਸਾਈਨ-ਇਨ ਕਰਨ ਲਈ ਆਪਣੇ ਚਿਹਰੇ ਦੀ ਵਰਤੋਂ ਕਰੋ।"</string>
+    <string name="security_settings_face_enroll_introduction_message_unlock_disabled" msgid="6300341727101929207">"ਆਪਣੇ ਚਿਹਰੇ ਦੀ ਵਰਤੋਂ ਕਰੋ"</string>
+    <string name="security_settings_face_enroll_introduction_message_setup" msgid="5704661081718707858">"ਆਪਣਾ ਫ਼ੋਨ ਅਣਲਾਕ ਕਰਨ, ਖਰੀਦਾਂ ਨੂੰ ਅਧਿਕਾਰਿਤ ਕਰਨ ਜਾਂ ਐਪਾਂ ਵਿੱਚ ਸਾਈਨ-ਇਨ ਕਰਨ ਲਈ ਆਪਣੇ ਚਿਹਰੇ ਦੀ ਵਰਤੋਂ ਕਰੋ"</string>
+    <string name="face_add_max" msgid="2342250989212694454">"ਤੁਸੀਂ <xliff:g id="COUNT">%d</xliff:g> ਤੱਕ ਫਿੰਗਰਪ੍ਰਿੰਟ ਸ਼ਾਮਲ ਕਰ ਸਕਦੇ ਹੋ"</string>
+    <string name="face_intro_error_max" msgid="160022811747660581">"ਤੁਸੀਂ ਵੱਧ ਤੋਂ ਵੱਧ ਗਿਣਤੀ ਵਿੱਚ ਚਿਹਰੇ ਸ਼ਾਮਲ ਕੀਤੇ ਹੋਏ ਹਨ"</string>
+    <string name="face_intro_error_unknown" msgid="6367721696446677261">"ਹੋਰ ਚਿਹਰਿਆਂ ਨੂੰ ਸ਼ਾਮਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"ਫਿੰਗਰਪ੍ਰਿੰਟ"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"ਫਿੰਗਰਪ੍ਰਿੰਟਸ ਵਿਵਸਥਿਤ ਕਰੋ"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"ਇਸ ਲਈ ਫਿੰਗਰਪ੍ਰਿੰਟ ਵਰਤੋ"</string>
@@ -527,14 +513,12 @@
     <string name="setup_lock_settings_picker_title" product="tablet" msgid="90329443364067215">"ਟੈਬਲੈੱਟ ਦੀ ਸੁਰੱਖਿਆ ਕਰੋ"</string>
     <string name="setup_lock_settings_picker_title" product="device" msgid="2399952075134938929">"ਆਪਣੇ ਡੀਵਾਈਸ ਦੀ ਰੱਖਿਆ ਕਰੋ"</string>
     <string name="setup_lock_settings_picker_title" product="default" msgid="1572244299605153324">"ਆਪਣੇ ਫ਼ੋਨ ਦੀ ਰੱਖਿਆ ਕਰੋ"</string>
-    <!-- no translation found for lock_settings_picker_biometrics_added_security_message (1507307757032207572) -->
-    <skip />
+    <string name="lock_settings_picker_biometrics_added_security_message" msgid="1507307757032207572">"ਵਾਧੂ ਸੁਰੱਖਿਆ ਲਈ, ਕੋਈ ਬੈਕਅੱਪ ਸਕ੍ਰੀਨ ਲਾਕ ਸੈੱਟ ਕਰੋ"</string>
     <string name="setup_lock_settings_picker_message" product="tablet" msgid="8919671129189936210">"ਡੀਵਾਈਸ ਸੁਰੱਖਿਆ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਸਰਗਰਮ ਕਰਨ ਦੁਆਰਾ ਹੋਰਾਂ ਨੂੰ ਤੁਹਾਡੀ ਇਜਾਜ਼ਤ ਦੇ ਬਿਨਾਂ ਇਸ ਟੈਬਲੈੱਟ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਰੋਕੋ। ਉਸ ਸਕ੍ਰੀਨ ਲਾਕ ਨੂੰ ਚੁਣੋ ਜਿਸ ਦੀ ਤੁਸੀਂ ਵਰਤੋਂ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ।"</string>
     <string name="setup_lock_settings_picker_message" product="device" msgid="3787276514406353777">"ਡੀਵਾਈਸ ਸੁਰੱਖਿਆ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਸਰਗਰਮ ਕਰਨ ਦੁਆਰਾ ਹੋਰਾਂ ਨੂੰ ਤੁਹਾਡੀ ਇਜਾਜ਼ਤ ਦੇ ਬਿਨਾਂ ਇਸ ਡੀਵਾਈਸ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਰੋਕੋ। ਉਸ ਸਕ੍ਰੀਨ ਲਾਕ ਨੂੰ ਚੁਣੋ ਜਿਸ ਦੀ ਤੁਸੀਂ ਵਰਤੋਂ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ।"</string>
     <string name="setup_lock_settings_picker_message" product="default" msgid="3692856437543730446">"ਡੀਵਾਈਸ ਸੁਰੱਖਿਆ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਕਿਰਿਆਸ਼ੀਲ ਕਰਨ ਦੁਆਰਾ ਹੋਰਾਂ ਨੂੰ ਤੁਹਾਡੀ ਇਜਾਜ਼ਤ ਦੇ ਬਿਨਾਂ ਇਸ ਫ਼ੋਨ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਰੋਕੋ। ਉਸ ਸਕ੍ਰੀਨ ਲਾਕ ਨੂੰ ਚੁਣੋ ਜਿਸ ਦੀ ਤੁਸੀਂ ਵਰਤੋਂ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ।"</string>
     <string name="lock_settings_picker_fingerprint_message" msgid="4755230324778371292">"ਆਪਣੀ ਬੈੱਕਅੱਪ ਸਕ੍ਰੀਨ  ਲਾਕ  ਵਿਧੀ ਚੁਣੋ"</string>
-    <!-- no translation found for lock_settings_picker_face_message (197106534637556054) -->
-    <skip />
+    <string name="lock_settings_picker_face_message" msgid="197106534637556054">"ਆਪਣੀ ਬੈੱਕਅੱਪ ਸਕ੍ਰੀਨ ਲਾਕ ਵਿਧੀ ਚੁਣੋ"</string>
     <string name="setup_lock_settings_options_button_label" msgid="8511153243629402929">"ਸਕ੍ਰੀਨ ਲਾਕ ਵਿਕਲਪ"</string>
     <string name="setup_lock_settings_options_dialog_title" msgid="5058207955455973917">"ਸਕ੍ਰੀਨ ਲਾਕ ਵਿਕਲਪ"</string>
     <string name="unlock_set_unlock_launch_picker_title" msgid="2084576942666016993">"ਸਕ੍ਰੀਨ  ਲਾਕ"</string>
@@ -561,16 +545,11 @@
     <string name="fingerprint_unlock_set_unlock_password" msgid="7351131075806338634">"ਫਿੰਗਰਪ੍ਰਿੰਟ + ਪਾਸਵਰਡ"</string>
     <string name="fingerprint_unlock_skip_fingerprint" msgid="1441077909803666681">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਬਿਨਾਂ ਜਾਰੀ ਰੱਖੋ"</string>
     <string name="fingerprint_unlock_title" msgid="2826226740306003991">"ਤੁਸੀਂ ਆਪਣੇ ਫਿੰਗਰਪ੍ਰਿੰਟ ਦੀ ਵਰਤੋਂ ਨਾਲ ਆਪਣੇ ਫ਼ੋਨ ਨੂੰ ਅਣਲਾਕ ਕਰ ਸਕਦੇ ਹੋ। ਸੁਰੱਖਿਆ ਲਈ, ਇਸ ਵਿਕਲਪ ਨੂੰ ਇੱਕ ਬੈਕਅੱਪ ਸਕ੍ਰੀਨ ਲਾਕ ਦੀ ਲੋੜ ਹੈ।"</string>
-    <!-- no translation found for face_unlock_set_unlock_pattern (8792301636367000123) -->
-    <skip />
-    <!-- no translation found for face_unlock_set_unlock_pin (1196620299595657479) -->
-    <skip />
-    <!-- no translation found for face_unlock_set_unlock_password (223117276773907474) -->
-    <skip />
-    <!-- no translation found for face_unlock_skip_face (6362883392838482791) -->
-    <skip />
-    <!-- no translation found for face_unlock_title (9042382084472444316) -->
-    <skip />
+    <string name="face_unlock_set_unlock_pattern" msgid="8792301636367000123">"ਚਿਹਰਾ ਪ੍ਰਮਾਣੀਕਰਨ ਅਤੇ ਪੈਟਰਨ"</string>
+    <string name="face_unlock_set_unlock_pin" msgid="1196620299595657479">"ਚਿਹਰਾ ਪ੍ਰਮਾਣੀਕਰਨ ਅਤੇ ਪਿੰਨ"</string>
+    <string name="face_unlock_set_unlock_password" msgid="223117276773907474">"ਚਿਹਰਾ ਪ੍ਰਮਾਣੀਕਰਨ ਅਤੇ ਪਾਸਵਰਡ"</string>
+    <string name="face_unlock_skip_face" msgid="6362883392838482791">"ਚਿਹਰਾ ਪ੍ਰਮਾਣੀਕਰਨ ਤੋਂ ਬਿਨਾਂ ਜਾਰੀ ਰੱਖੋ"</string>
+    <string name="face_unlock_title" msgid="9042382084472444316">"ਤੁਸੀਂ ਆਪਣੇ ਚਿਹਰੇ ਦੀ ਵਰਤੋਂ ਨਾਲ ਆਪਣੇ ਫ਼ੋਨ ਨੂੰ ਅਣਲਾਕ ਕਰ ਸਕਦੇ ਹੋ। ਸੁਰੱਖਿਆ ਲਈ, ਇਸ ਵਿਕਲਪ ਨੂੰ ਇੱਕ ਬੈਕਅੱਪ ਸਕ੍ਰੀਨ ਲਾਕ ਦੀ ਲੋੜ ਹੈ।"</string>
     <string name="unlock_set_unlock_disabled_summary" msgid="2051593894736282302">"ਪ੍ਰਸ਼ਾਸਕ, ਇਨਕ੍ਰਿਪਸ਼ਨ ਨੀਤੀ ਜਾਂ ਕ੍ਰੀਡੈਂਸ਼ੀਅਲ ਸਟੋਰੇਜ ਵੱਲੋਂ ਅਯੋਗ ਬਣਾਇਆ ਗਿਆ"</string>
     <string name="unlock_set_unlock_mode_off" msgid="5881952274566013651">"ਕੋਈ ਨਹੀਂ"</string>
     <string name="unlock_set_unlock_mode_none" msgid="8467360084676871617">"ਸਵਾਈਪ ਕਰੋ"</string>
@@ -726,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"ਖੋਜ ਰਿਹਾ ਹੈ..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"ਡੀਵਾਈਸ ਸੈਟਿੰਗਾਂ"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"ਜੋੜਾਬੱਧ ਕੀਤਾ ਡੀਵਾਈਸ"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"ਨਾਮ"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"ਇੰਟਰਨੈੱਟ ਕਨੈਕਸ਼ਨ"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"ਕੀ-ਬੋਰਡ"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"ਸੰਪਰਕ ਅਤੇ ਕਾਲ ਇਤਿਹਾਸ"</string>
@@ -734,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"ਕੀ ਫ਼ੋਨ ਬੁੱਕ ਸਾਂਝਾ ਕਰਨੀ ਹੈ?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ਤੁਹਾਡੇ ਸੰਪਰਕਾਂ ਅਤੇ ਕਾਲ ਇਤਿਹਾਸ ਤੱਕ ਪਹੁੰਚ ਪ੍ਰਾਪਤ ਕਰਨਾ ਚਾਹੁੰਦਾ ਹੈ।"</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ਬਲੂਟੁੱਥ ਨਾਲ ਜੋੜਾਬੱਧ ਕਰਨਾ ਚਾਹੁੰਦੀ ਹੈ। ਕਨੈਕਟ ਹੋਣ ਤੋਂ ਬਾਅਦ, ਇਸਦੀ ਤੁਹਾਡੇ ਸੰਪਰਕਾਂ ਅਤੇ ਕਾਲ ਇਤਿਹਾਸ ਤੱਕ ਪਹੁੰਚ ਹੋਵੇਗੀ।"</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"ਜੋੜਾਬੱਧ ਕੀਤੇ ਡੀਵਾਈਸ"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"ਉਪਲਬਧ ਡੀਵਾਈਸ"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"ਕੋਈ ਡਿਵਾਈਸਾਂ ਉਪਲਬਧ ਨਹੀਂ"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"ਕਨੈਕਟ ਕਰੋ"</string>
@@ -1125,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"ਚਮਕ"</string>
     <string name="brightness_summary" msgid="838917350127550703">"ਸਕ੍ਰੀਨ ਦੀ ਚਮਕ ਵਿਵਸਥਿਤ ਕਰੋ"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"ਅਨੁਕੂਲਨਯੋਗ ਚਮਕ"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"ਉਪਲਬਧ ਰੋੋਸ਼ਨੀ ਲਈ ਚਮਕ ਦਾ ਪੱਧਰ ਸੁਯੋਗ ਬਣਾਓ"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"ਬੰਦ"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"ਤਰਜੀਹੀ ਚਮਕ ਬਹੁਤ ਘੱਟ ਹੈ"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"ਤਰਜੀਹੀ ਚਮਕ ਘੱਟ ਹੈ"</string>
@@ -1640,12 +1618,9 @@
     <string name="lockpassword_password_set_toast" msgid="4875050283108629383">"ਪਾਸਵਰਡ ਸੈੱਟ ਕੀਤਾ ਗਿਆ ਹੈ"</string>
     <string name="lockpassword_pin_set_toast" msgid="6011826444725291475">"ਪਿੰਨ ਸੈੱਟ ਹੋ ਗਿਆ ਹੈ"</string>
     <string name="lockpassword_pattern_set_toast" msgid="6867259621331406236">"ਪੈਟਰਨ ਸੈੱਟ ਕੀਤਾ ਗਿਆ ਗਿਆ ਹੈ"</string>
-    <!-- no translation found for lockpassword_choose_your_password_header_for_face (7876621019688907534) -->
-    <skip />
-    <!-- no translation found for lockpassword_choose_your_pattern_header_for_face (8070525076987585344) -->
-    <skip />
-    <!-- no translation found for lockpassword_choose_your_pin_header_for_face (7304398683609714816) -->
-    <skip />
+    <string name="lockpassword_choose_your_password_header_for_face" msgid="7876621019688907534">"ਚਿਹਰਾ ਪ੍ਰਮਾਣੀਕਰਨ ਲਈ, ਪਾਸਵਰਡ ਸੈੱਟ ਕਰੋ"</string>
+    <string name="lockpassword_choose_your_pattern_header_for_face" msgid="8070525076987585344">"ਚਿਹਰਾ ਪ੍ਰਮਾਣੀਕਰਨ ਲਈ, ਪੈਟਰਨ ਸੈੱਟ ਕਰੋ"</string>
+    <string name="lockpassword_choose_your_pin_header_for_face" msgid="7304398683609714816">"ਚਿਹਰਾ ਪ੍ਰਮਾਣੀਕਰਨ ਲਈ, ਪਿੰਨ ਸੈੱਟ ਕਰੋ"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="2920960858283879113">"ਜਾਰੀ ਰੱਖਣ ਲਈ ਆਪਣੇ ਡੀਵਾਈਸ ਦਾ ਪੈਟਰਨ ਵਰਤੋ"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="4062335874438910487">"ਜਾਰੀ ਰੱਖਣ ਲਈ ਆਪਣੇ ਡੀਵਾਈਸ ਦਾ ਪਿੰਨ ਦਾਖਲ ਕਰੋ"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="3976394862548354966">"ਜਾਰੀ ਰੱਖਣ ਲਈ ਆਪਣਾ ਡੀਵਾਈਸ ਪਾਸਵਰਡ ਦਾਖਲ ਕਰੋ"</string>
@@ -3056,8 +3031,7 @@
     <string name="keywords_systemui_theme" msgid="9112852512550404882">"ਗੂੜ੍ਹਾ ਥੀਮ"</string>
     <string name="keywords_device_feedback" msgid="564493721125966719">"ਬੱਗ"</string>
     <string name="keywords_ambient_display_screen" msgid="5874969496073249362">"ਤੱਕਣੀਯੋਗ ਡਿਸਪਲੇ, ਲਾਕ ਸਕ੍ਰੀਨ ਡਿਸਪਲੇ"</string>
-    <!-- no translation found for keywords_face_settings (7505388678116799329) -->
-    <skip />
+    <string name="keywords_face_settings" msgid="7505388678116799329">"ਚਿਹਰਾ"</string>
     <string name="keywords_fingerprint_settings" msgid="239222512315619538">"ਫਿੰਗਰਪ੍ਰਿੰਟ"</string>
     <string name="keywords_display_auto_brightness" msgid="4130320471533951796">"ਡਿਮ ਸਕ੍ਰੀਨ, ਟੱਚਸਕ੍ਰੀਨ, ਬੈਟਰੀ, ਸਮਾਰਟ ਚਮਕ, ਗਤੀਸ਼ੀਲ ਚਮਕ"</string>
     <string name="keywords_auto_rotate" msgid="5620879898668211494">"ਘੁੰਮਾਓ, ਫਲਿੱਪ, ਘੁਮਾਅ, ਪੋਰਟਰੇਟ, ਲੈਂਡਸਕੇਪ, ਦਿਸ਼ਾਮਾਨ, ਖੜ੍ਹਵਾਂ, ਲੇਟਵਾਂ"</string>
@@ -3475,12 +3449,9 @@
     <string name="encryption_interstitial_message_pin_for_fingerprint" msgid="4550632760119547492">"ਆਪਣੇ ਡੀਵਾਈਸ ਨੂੰ ਅਣਲਾਕ ਕਰਨ ਲਈ ਆਪਣੇ ਫਿੰਗਰਪ੍ਰਿੰਟ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਇਲਾਵਾ, ਤੁਸੀਂ ਇਸ ਡੀਵਾਈਸ ਦੇ ਚਾਲੂ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਆਪਣਾ ਪਿੰਨ ਦਾਖਲ ਕਰਨਾ ਲੋੜੀਂਦਾ ਬਣਾਕੇ ਇਸਨੂੰ ਹੋਰ ਸੁਰੱਖਿਅਤ ਬਣਾ ਸਕਦੇ ਹੋ। ਜਦੋਂ ਤੱਕ ਡੀਵਾਈਸ ਚਾਲੂ ਨਹੀਂ ਹੁੰਦਾ, ਇਹ ਅਲਾਰਮਾਂ ਸਹਿਤ, ਕਾਲਾਂ, ਸੁਨੇਹੇ ਜਾਂ ਸੂਚਨਾਵਾਂ ਪ੍ਰਾਪਤ ਨਹੀਂ ਕਰ ਸਕਦਾ।\n\nਇਹ ਗੁਆਚੇ ਜਾਂ ਚੋਰੀ ਹੋਏ ਡੀਵਾਈਸਾਂ \'ਤੇ ਡਾਟਾ ਸੁਰੱਖਿਅਤ ਕਰਨ ਵਿੱਚ ਸਹਾਇਤਾ ਕਰਦਾ ਹੈ। ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਨੂੰ ਚਾਲੂ ਕਰਨ ਸਮੇਂ ਪਿੰਨ ਦਾਖਲ ਕਰਨਾ ਲੋੜੀਂਦਾ ਬਣਾਉਣਾ ਹੈ?"</string>
     <string name="encryption_interstitial_message_pattern_for_fingerprint" msgid="932184823193006087">"ਆਪਣੇ ਡੀਵਾਈਸ ਨੂੰ ਅਣਲਾਕ ਕਰਨ ਲਈ ਆਪਣੇ ਫਿੰਗਰਪ੍ਰਿੰਟ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੇ ਨਾਲ-ਨਾਲ, ਤੁਸੀਂ ਇਸ ਡੀਵਾਈਸ ਦੇ ਚਾਲੂ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਆਪਣਾ ਪੈਟਰਨ ਦਾਖਲ ਕਰਨਾ ਲੋੜੀਂਦਾ ਬਣਾਕੇ ਇਸਨੂੰ ਹੋਰ ਸੁਰੱਖਿਅਤ ਬਣਾ ਸਕਦੇ ਹੋ। ਜਦੋਂ ਤੱਕ ਡੀਵਾਈਸ ਚਾਲੂ ਨਹੀਂ ਹੁੰਦਾ, ਇਹ ਅਲਾਰਮਾਂ ਸਹਿਤ, ਕਾਲਾਂ, ਸੁਨੇਹੇ ਜਾਂ ਸੂਚਨਾਵਾਂ ਪ੍ਰਾਪਤ ਨਹੀਂ ਕਰ ਸਕਦਾ।\n\nਇਹ ਗੁਆਚੇ ਜਾਂ ਚੋਰੀ ਹੋਏ ਡੀਵਾਈਸਾਂ \'ਤੇ ਡਾਟਾ ਸੁਰੱਖਿਅਤ ਕਰਨ ਵਿੱਚ ਸਹਾਇਤਾ ਕਰਦਾ ਹੈ। ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਨੂੰ ਚਾਲੂ ਕਰਨ ਲਈ ਪੈਟਰਨ ਦਾਖਲ ਕਰਨਾ ਲੋੜੀਂਦਾ ਬਣਾਉਣਾ ਹੈ?"</string>
     <string name="encryption_interstitial_message_password_for_fingerprint" msgid="5560954719370251702">"ਆਪਣੇ ਡੀਵਾਈਸ ਨੂੰ ਅਣਲਾਕ ਕਰਨ ਲਈ ਆਪਣੇ ਫਿੰਗਰਪ੍ਰਿੰਟ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਇਲਾਵਾ, ਤੁਸੀਂ ਇਸ ਡੀਵਾਈਸ ਦੇ ਚਾਲੂ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਆਪਣਾ ਪਾਸਵਰਡ ਦਾਖਲ ਕਰਨਾ ਲੋੜੀਂਦਾ ਬਣਾਕੇ ਇਸਨੂੰ ਹੋਰ ਸੁਰੱਖਿਅਤ ਬਣਾ ਸਕਦੇ ਹੋ। ਜਦੋਂ ਤੱਕ ਡੀਵਾਈਸ ਚਾਲੂ ਨਹੀਂ ਹੁੰਦਾ, ਇਹ ਅਲਾਰਮਾਂ ਸਹਿਤ, ਕਾਲਾਂ, ਸੁਨੇਹੇ ਜਾਂ ਸੂਚਨਾਵਾਂ ਪ੍ਰਾਪਤ ਨਹੀਂ ਕਰ ਸਕਦਾ।\n\nਇਹ ਗੁਆਚੇ ਜਾਂ ਚੋਰੀ ਹੋਏ ਡੀਵਾਈਸਾਂ \'ਤੇ ਡਾਟਾ ਸੁਰੱਖਿਅਤ ਕਰਨ ਵਿੱਚ ਸਹਾਇਤਾ ਕਰਦਾ ਹੈ। ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਨੂੰ ਚਾਲੂ ਕਰਨ ਸਮੇਂ ਪਾਸਵਰਡ ਦਾਖਲ ਕਰਨਾ ਲੋੜੀਂਦਾ ਬਣਾਉਣਾ ਹੈ?"</string>
-    <!-- no translation found for encryption_interstitial_message_pin_for_face (2017438765366716760) -->
-    <skip />
-    <!-- no translation found for encryption_interstitial_message_pattern_for_face (3551827507967661552) -->
-    <skip />
-    <!-- no translation found for encryption_interstitial_message_password_for_face (3452793542112093614) -->
-    <skip />
+    <string name="encryption_interstitial_message_pin_for_face" msgid="2017438765366716760">"ਆਪਣੇ ਡੀਵਾਈਸ ਨੂੰ ਅਣਲਾਕ ਕਰਨ ਲਈ ਆਪਣੇ ਚਿਹਰੇ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੇ ਨਾਲ-ਨਾਲ, ਤੁਸੀਂ ਇਸ ਡੀਵਾਈਸ ਦੇ ਚਾਲੂ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਤੁਹਾਡਾ ਪਿੰਨ ਦਾਖਲ ਕਰਨਾ ਲੋੜੀਂਦਾ ਬਣਾਕੇ ਇਸਨੂੰ ਹੋਰ ਸੁਰੱਖਿਅਤ ਬਣਾ ਸਕਦੇ ਹੋ। ਜਦੋਂ ਤੱਕ ਡੀਵਾਈਸ ਚਾਲੂ ਨਹੀਂ ਹੁੰਦਾ, ਇਹ ਅਲਾਰਮਾਂ ਸਹਿਤ, ਕਾਲਾਂ, ਸੁਨੇਹੇ ਜਾਂ ਸੂਚਨਾਵਾਂ ਪ੍ਰਾਪਤ ਨਹੀਂ ਕਰ ਸਕਦਾ।\n\nਇਹ ਗੁਆਚੇ ਜਾਂ ਚੋਰੀ ਹੋਏ ਡੀਵਾਈਸਾਂ \'ਤੇ ਡਾਟਾ ਸੁਰੱਖਿਅਤ ਕਰਨ ਵਿੱਚ ਸਹਾਇਤਾ ਕਰਦਾ ਹੈ। ਕੀ ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਨੂੰ ਚਾਲੂ ਕਰਨ ਲਈ ਪਿੰਨ ਦਾਖਲ ਕਰਨਾ ਲੋੜੀਂਦਾ ਬਣਾਉਣਾ ਹੈ?"</string>
+    <string name="encryption_interstitial_message_pattern_for_face" msgid="3551827507967661552">"ਆਪਣੇ ਡੀਵਾਈਸ ਨੂੰ ਅਣਲਾਕ ਕਰਨ ਲਈ ਆਪਣੇ ਚਿਹਰੇ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੇ ਨਾਲ-ਨਾਲ, ਤੁਸੀਂ ਇਸ ਡੀਵਾਈਸ ਦੇ ਚਾਲੂ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਤੁਹਾਡਾ ਪੈਟਰਨ ਦਾਖਲ ਕਰਨਾ ਲੋੜੀਂਦਾ ਬਣਾ ਕੇ ਇਸਨੂੰ ਹੋਰ ਸੁਰੱਖਿਅਤ ਬਣਾ ਸਕਦੇ ਹੋ। ਜਦੋਂ ਤੱਕ ਡੀਵਾਈਸ ਚਾਲੂ ਨਹੀਂ ਹੁੰਦਾ, ਇਹ ਅਲਾਰਮਾਂ ਸਹਿਤ, ਕਾਲਾਂ, ਸੁਨੇਹੇ ਜਾਂ ਸੂਚਨਾਵਾਂ ਪ੍ਰਾਪਤ ਨਹੀਂ ਕਰ ਸਕਦਾ।\n\nਇਹ ਗੁਆਚੇ ਜਾਂ ਚੋਰੀ ਹੋਏ ਡੀਵਾਈਸਾਂ \'ਤੇ ਡਾਟਾ ਸੁਰੱਖਿਅਤ ਕਰਨ ਵਿੱਚ ਸਹਾਇਤਾ ਕਰਦਾ ਹੈ। ਕੀ ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਨੂੰ ਚਾਲੂ ਕਰਨ ਲਈ ਪੈਟਰਨ ਦਾਖਲ ਕਰਨਾ ਲੋੜੀਂਦਾ ਬਣਾਉਣਾ ਹੈ?"</string>
+    <string name="encryption_interstitial_message_password_for_face" msgid="3452793542112093614">"ਆਪਣੇ ਡੀਵਾਈਸ ਨੂੰ ਅਣਲਾਕ ਕਰਨ ਲਈ ਆਪਣੇ ਚਿਹਰੇ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੇ ਨਾਲ-ਨਾਲ, ਤੁਸੀਂ ਇਸ ਡੀਵਾਈਸ ਦੇ ਚਾਲੂ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਤੁਹਾਡਾ ਪਾਸਵਰਡ ਦਾਖਲ ਕਰਨਾ ਲੋੜੀਂਦਾ ਬਣਾ ਕੇ ਇਸਨੂੰ ਹੋਰ ਸੁਰੱਖਿਅਤ ਬਣਾ ਸਕਦੇ ਹੋ। ਜਦੋਂ ਤੱਕ ਡੀਵਾਈਸ ਚਾਲੂ ਨਹੀਂ ਹੁੰਦਾ, ਇਹ ਅਲਾਰਮਾਂ ਸਹਿਤ, ਕਾਲਾਂ, ਸੁਨੇਹੇ ਜਾਂ ਸੂਚਨਾਵਾਂ ਪ੍ਰਾਪਤ ਨਹੀਂ ਕਰ ਸਕਦਾ।\n\nਇਹ ਗੁਆਚੇ ਜਾਂ ਚੋਰੀ ਹੋਏ ਡੀਵਾਈਸਾਂ \'ਤੇ ਡਾਟਾ ਸੁਰੱਖਿਅਤ ਕਰਨ ਵਿੱਚ ਸਹਾਇਤਾ ਕਰਦਾ ਹੈ। ਕੀ ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਨੂੰ ਚਾਲੂ ਕਰਨ ਲਈ ਪਾਸਵਰਡ ਲੋੜੀਂਦਾ ਬਣਾਉਣਾ ਹੈ?"</string>
     <string name="encryption_interstitial_yes" msgid="4439509435889513411">"ਹਾਂ"</string>
     <string name="encryption_interstitial_no" msgid="8935031349097025137">"ਨਹੀਂ"</string>
     <string name="restricted_true_label" msgid="4761453839409220473">"ਪ੍ਰਤਿਬੰਧਿਤ"</string>
@@ -4145,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"ਆਟੋਫਿਲ ਸੇਵਾ"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"ਆਟੋ, ਫਿਲ, ਆਟੋਫਿਲ"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;ਪੱਕਾ ਕਰੋ ਕਿ ਤੁਸੀਂ ਇਸ ਐਪ \'ਤੇ ਭਰੋਸਾ ਕਰਦੇ ਹੋ&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; ਆਪਣੇ-ਆਪ ਭਰੀਆਂ ਜਾ ਸਕਣ ਵਾਲੀਆਂ ਚੀਜ਼ਾਂ ਦਾ ਪਤਾ ਲਗਾਉਣ ਲਈ ਤੁਹਾਡੀ ਸਕ੍ਰੀਨ \'ਤੇ ਮੌਜੂਦ ਚੀਜ਼ਾਂ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ।"</string>
-    <string name="color_theme" msgid="1535685696756738324">"ਰੰਗ ਥੀਮ"</string>
-    <string name="default_theme" msgid="7085644992078579076">"ਪੂਰਵ-ਨਿਰਧਾਰਤ"</string>
     <string name="device_theme" msgid="4571803018917608588">"ਡੀਵਾਈਸ ਥੀਮ"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"ਸਵੈਚਲਿਤ (ਵਾਲਪੇਪਰ \'ਤੇ ਆਧਾਰਿਤ)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"ਬਲਬ"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"ਗੂੜ੍ਹਾ"</string>
+    <string name="default_theme" msgid="7085644992078579076">"ਪੂਰਵ-ਨਿਰਧਾਰਤ"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"ਨੈੱਟਵਰਕ ਦਾ ਨਾਮ"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"ਸਥਿਤੀ ਪੱਟੀ ਵਿੱਚ ਨੈੱਟਵਰਕ ਦਾ ਨਾਮ ਦਿਖਾਓ"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"ਸਟੋਰੇਜ ਪ੍ਰਬੰਧਕ: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-pl/arrays.xml b/res/values-pl/arrays.xml
index df05721..424fc9e 100644
--- a/res/values-pl/arrays.xml
+++ b/res/values-pl/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Zawsze włączony"</item>
     <item msgid="6385301106124765323">"Zawsze wyłączony"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 0c5e485..01d4558 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -123,8 +123,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Adres Bluetooth urządzenia: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"Odłączyć urządzenie <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Transmisja"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Wyłączyć profil?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Spowoduje to wyłączenie profilu:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;Urządzenie:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Urządzenie Bluetooth bez nazwy"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Wyszukiwanie"</string>
@@ -737,7 +735,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Wyszukiwanie…"</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Ustawienia urządzenia"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Sparowane urządzenie"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Nazwa"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Połączenie internetowe"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Klawiatura"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Historia kontaktów i połączeń"</string>
@@ -745,7 +742,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Udostępnić książkę telefoniczną?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> chce uzyskać dostęp do Twoich kontaktów i historii połączeń."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> chce się sparować z Bluetoothem. Po połączeniu uzyska dostęp do Twoich kontaktów i historii połączeń."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Sparowane urządzenia"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Dostępne urządzenia"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Brak dostępnych urządzeń"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Połącz"</string>
@@ -1138,7 +1134,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Jasność"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Dostosuj jasność ekranu"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Automatyczna jasność"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Dostosuj poziom jasności do oświetlenia"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Wył."</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Wolę bardzo niską jasność"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Wolę niską jasność"</string>
@@ -4265,12 +4262,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Usługa autouzupełniania"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"automatyczne, uzupełnianie, autouzupełnianie"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Sprawdź, czy ta aplikacja jest zaufana&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Autouzupełnianie Google&gt;%1$s&lt;/xliff:g&gt; na podstawie zawartości ekranu określa, co można uzupełnić automatycznie."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Motyw kolorystyczny"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Wartość domyślna"</string>
     <string name="device_theme" msgid="4571803018917608588">"Motyw urządzenia"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Automatyczny (na podstawie tapety)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Jasny"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Ciemny"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Wartość domyślna"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Nazwa sieci"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Wyświetlaj nazwę sieci na pasku stanu"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Menedżer miejsca: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-pt-rBR/arrays.xml b/res/values-pt-rBR/arrays.xml
index 6ec5154..ef44b13 100644
--- a/res/values-pt-rBR/arrays.xml
+++ b/res/values-pt-rBR/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Sempre ativado"</item>
     <item msgid="6385301106124765323">"Sempre desativado"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml
index f283f81..22c1ad9 100644
--- a/res/values-pt-rBR/strings.xml
+++ b/res/values-pt-rBR/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Endereço Bluetooth do dispositivo: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"Desconectar <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Transmissão"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Desativar perfil?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Essa ação desativará o <xliff:g id="PROFILE_NAME">%1$s</xliff:g> do <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Dispositivo Bluetooth sem nome"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Pesquisar"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Pesquisando..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Configurações do aparelho"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Dispositivo pareado"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Nome"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Conexão à Internet"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Teclado"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Contatos e histórico de chamadas"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Compartilhar agenda telefônica?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> quer acessar seus contatos e o histórico de chamadas."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> quer parear com Bluetooth. Quando conectado, terá acesso a seus contatos e histórico de chamadas."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Dispositivos pareados"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Dispositivos disponíveis"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Nenhum dispositivo disponível"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Conectar"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Brilho"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Ajustar o brilho da tela"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Brilho adaptável"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Otimizar nível de brilho de acordo com a luz disponível"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Desativado"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"O brilho preferencial está muito baixo"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"O brilho preferencial está baixo"</string>
@@ -3454,7 +3451,7 @@
     <string name="encryption_interstitial_message_password_for_fingerprint" msgid="5560954719370251702">"Além de usar sua impressão digital para desbloquear o dispositivo, é possível protegê-lo ainda mais exigindo sua senha antes da inicialização. O dispositivo não receberá chamadas, mensagens ou notificações, incluindo alarmes, até que ele seja iniciado.\n\nIsso ajuda a proteger os dados em dispositivos perdidos ou roubados. Solicitar senha para iniciar o dispositivo?"</string>
     <string name="encryption_interstitial_message_pin_for_face" msgid="2017438765366716760">"Além de usar seu rosto para desbloquear o dispositivo, é possível protegê-lo ainda mais solicitando o PIN antes de ligá-lo. Até que seja inicializado, o dispositivo não receberá chamadas, mensagens ou notificações, incluindo alarmes.\n\nIsso ajuda a proteger os dados em dispositivos perdidos ou roubados. Solicitar um PIN para ligar o dispositivo?"</string>
     <string name="encryption_interstitial_message_pattern_for_face" msgid="3551827507967661552">"Além de usar seu rosto para desbloquear o dispositivo, é possível protegê-lo ainda mais solicitando seu padrão antes de ligá-lo. Até que seja inicializado, o dispositivo não receberá chamadas, mensagens ou notificações, incluindo alarmes.\n\nIsso ajudar a proteger os dados em dispositivos perdidos ou roubados. Solicitar um padrão para ligar o dispositivo?"</string>
-    <string name="encryption_interstitial_message_password_for_face" msgid="3452793542112093614">"Além de usar seu rosto para desbloquear o dispositivo, é possível protegê-lo ainda mais exigindo sua senha antes da inicialização. Até que seja inicializado, dispositivo não receberá chamadas, mensagens ou notificações, incluindo alarmes.\n\nIsso ajuda a proteger os dados em dispositivos perdidos ou roubados. Solicitar senha para ligar o dispositivo?"</string>
+    <string name="encryption_interstitial_message_password_for_face" msgid="3452793542112093614">"Além de usar seu rosto para desbloquear o dispositivo, é possível protegê-lo ainda mais exigindo sua senha antes da inicialização. Até que seja inicializado, o dispositivo não receberá chamadas, mensagens ou notificações, incluindo alarmes.\n\nIsso ajuda a proteger os dados em dispositivos perdidos ou roubados. Solicitar senha para ligar o dispositivo?"</string>
     <string name="encryption_interstitial_yes" msgid="4439509435889513411">"Sim"</string>
     <string name="encryption_interstitial_no" msgid="8935031349097025137">"Não"</string>
     <string name="restricted_true_label" msgid="4761453839409220473">"Restrito"</string>
@@ -4119,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Preenchimento automático"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"automático, preenchimento, preenchimento automático"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Você precisa confiar nesse app&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=O Preenchimento automático do Google&gt;%1$s&lt;/xliff:g&gt; usa o que está na sua tela para determinar o que pode ser preenchido automaticamente."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Tema de cores"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Padrão"</string>
     <string name="device_theme" msgid="4571803018917608588">"Tema do dispositivo"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Automático (baseado no plano de fundo)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Claro"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Escuro"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Padrão"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Nome da rede"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Exibir o nome da rede na barra de status"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Gerenciador de armazenamento: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-pt-rPT/arrays.xml b/res/values-pt-rPT/arrays.xml
index fcb0562..1d1d9aa 100644
--- a/res/values-pt-rPT/arrays.xml
+++ b/res/values-pt-rPT/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Sempre ativado"</item>
     <item msgid="6385301106124765323">"Sempre desativado"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index f22bab3..3fc7302 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Endereço Bluetooth do dispositivo: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"Desligar <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Difusão"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Desativar perfil?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Isto desativará:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;Do:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Aparelho Bluetooth sem nome"</string>
     <string name="progress_scanning" msgid="192587958424295789">"A pesquisar"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"A pesquisar..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Definições do dispositivo"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Dispositivo sincronizado"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Nome"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Ligação à Internet"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Teclado"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Contactos e histórico de chamadas"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Partilhar lista telefónica?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> pretende aceder aos seus contactos e ao histórico de chamadas."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> pretende sinc. através de Bluetooth. Ao ligar, terá acesso aos seus contactos e ao hist. de cham."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Dispositivos emparelhados"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Dispositivos disponíveis"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Sem dispositivos disponíveis"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Ligar"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Brilho"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Ajustar o brilho do ecrã"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Luminosidade adaptável"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Otimizar o nível de luminosidade de acordo com a luz disponível"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Desativada"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"A luminosidade preferida é muito baixa"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"A luminosidade preferida é baixa"</string>
@@ -4119,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Preenchimento automático"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"automático, preenchimento, preenchimento automático"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Certifique-se de que confia nesta aplicação&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=O Preenchimento automático do Google&gt;%1$s&lt;/xliff:g&gt; utiliza o que está no ecrã para determinar o que pode ser preenchido automaticamente."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Tema de cores"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Predefinição"</string>
     <string name="device_theme" msgid="4571803018917608588">"Tema do dispositivo"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Automático (com base na imagem de fundo)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Claro"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Escuro"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Predefinição"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Nome da rede"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Apresentar o nome da rede na barra de estado"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Gestor de armazenamento: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-pt/arrays.xml b/res/values-pt/arrays.xml
index 6ec5154..ef44b13 100644
--- a/res/values-pt/arrays.xml
+++ b/res/values-pt/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Sempre ativado"</item>
     <item msgid="6385301106124765323">"Sempre desativado"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index f283f81..22c1ad9 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Endereço Bluetooth do dispositivo: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"Desconectar <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Transmissão"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Desativar perfil?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Essa ação desativará o <xliff:g id="PROFILE_NAME">%1$s</xliff:g> do <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Dispositivo Bluetooth sem nome"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Pesquisar"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Pesquisando..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Configurações do aparelho"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Dispositivo pareado"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Nome"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Conexão à Internet"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Teclado"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Contatos e histórico de chamadas"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Compartilhar agenda telefônica?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> quer acessar seus contatos e o histórico de chamadas."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> quer parear com Bluetooth. Quando conectado, terá acesso a seus contatos e histórico de chamadas."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Dispositivos pareados"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Dispositivos disponíveis"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Nenhum dispositivo disponível"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Conectar"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Brilho"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Ajustar o brilho da tela"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Brilho adaptável"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Otimizar nível de brilho de acordo com a luz disponível"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Desativado"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"O brilho preferencial está muito baixo"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"O brilho preferencial está baixo"</string>
@@ -3454,7 +3451,7 @@
     <string name="encryption_interstitial_message_password_for_fingerprint" msgid="5560954719370251702">"Além de usar sua impressão digital para desbloquear o dispositivo, é possível protegê-lo ainda mais exigindo sua senha antes da inicialização. O dispositivo não receberá chamadas, mensagens ou notificações, incluindo alarmes, até que ele seja iniciado.\n\nIsso ajuda a proteger os dados em dispositivos perdidos ou roubados. Solicitar senha para iniciar o dispositivo?"</string>
     <string name="encryption_interstitial_message_pin_for_face" msgid="2017438765366716760">"Além de usar seu rosto para desbloquear o dispositivo, é possível protegê-lo ainda mais solicitando o PIN antes de ligá-lo. Até que seja inicializado, o dispositivo não receberá chamadas, mensagens ou notificações, incluindo alarmes.\n\nIsso ajuda a proteger os dados em dispositivos perdidos ou roubados. Solicitar um PIN para ligar o dispositivo?"</string>
     <string name="encryption_interstitial_message_pattern_for_face" msgid="3551827507967661552">"Além de usar seu rosto para desbloquear o dispositivo, é possível protegê-lo ainda mais solicitando seu padrão antes de ligá-lo. Até que seja inicializado, o dispositivo não receberá chamadas, mensagens ou notificações, incluindo alarmes.\n\nIsso ajudar a proteger os dados em dispositivos perdidos ou roubados. Solicitar um padrão para ligar o dispositivo?"</string>
-    <string name="encryption_interstitial_message_password_for_face" msgid="3452793542112093614">"Além de usar seu rosto para desbloquear o dispositivo, é possível protegê-lo ainda mais exigindo sua senha antes da inicialização. Até que seja inicializado, dispositivo não receberá chamadas, mensagens ou notificações, incluindo alarmes.\n\nIsso ajuda a proteger os dados em dispositivos perdidos ou roubados. Solicitar senha para ligar o dispositivo?"</string>
+    <string name="encryption_interstitial_message_password_for_face" msgid="3452793542112093614">"Além de usar seu rosto para desbloquear o dispositivo, é possível protegê-lo ainda mais exigindo sua senha antes da inicialização. Até que seja inicializado, o dispositivo não receberá chamadas, mensagens ou notificações, incluindo alarmes.\n\nIsso ajuda a proteger os dados em dispositivos perdidos ou roubados. Solicitar senha para ligar o dispositivo?"</string>
     <string name="encryption_interstitial_yes" msgid="4439509435889513411">"Sim"</string>
     <string name="encryption_interstitial_no" msgid="8935031349097025137">"Não"</string>
     <string name="restricted_true_label" msgid="4761453839409220473">"Restrito"</string>
@@ -4119,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Preenchimento automático"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"automático, preenchimento, preenchimento automático"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Você precisa confiar nesse app&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=O Preenchimento automático do Google&gt;%1$s&lt;/xliff:g&gt; usa o que está na sua tela para determinar o que pode ser preenchido automaticamente."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Tema de cores"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Padrão"</string>
     <string name="device_theme" msgid="4571803018917608588">"Tema do dispositivo"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Automático (baseado no plano de fundo)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Claro"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Escuro"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Padrão"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Nome da rede"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Exibir o nome da rede na barra de status"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Gerenciador de armazenamento: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-ro/arrays.xml b/res/values-ro/arrays.xml
index fcff887..498cc23 100644
--- a/res/values-ro/arrays.xml
+++ b/res/values-ro/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Activat permanent"</item>
     <item msgid="6385301106124765323">"Dezactivat permanent"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 0f50c74..636fdfc 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -122,8 +122,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Adresa Bluetooth a dispozitivului: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"Deconectați <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Transmitere"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Dezactivați profilul?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Această acțiune va dezactiva:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;de pe:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Dispozitiv Bluetooth nedenumit"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Se caută dispozitive"</string>
@@ -722,7 +720,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Se caută..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Setările dispozitivului"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Dispozitiv conectat"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Nume"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Conexiune la internet"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Tastatură"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Agendă și jurnal de apeluri"</string>
@@ -730,7 +727,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Trimiteți agenda telefonică?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> dorește să acceseze Agenda și istoricul apelurilor."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> dorește să se conecteze la Bluetooth. După conectare, acesta va avea acces la agendă și la jurnalul de apeluri."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Dispozitive asociate"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Dispozitive disponibile"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Niciun dispozitiv disponibil"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Conectați-vă"</string>
@@ -1122,7 +1118,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Luminozitate"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Ajustați luminozitatea ecranului"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Luminozitate adaptivă"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Optimizează nivelul de luminozitate în funcție de lumina disponibilă"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Dezactivat"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Nivelul preferat de luminozitate este foarte scăzut"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Nivelul preferat de luminozitate este scăzut"</string>
@@ -4192,12 +4189,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Serviciu de completare automată"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"automată, completare, completare automată"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Asigurați-vă că aveți încredere în această aplicație&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Completarea automată Google&gt;%1$s&lt;/xliff:g&gt; folosește conținutul de pe ecran pentru a stabili ce se poate completa automat."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Temă de culoare"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Prestabilită"</string>
     <string name="device_theme" msgid="4571803018917608588">"Tema dispozitivului"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Automată (în funcție de imaginea de fundal)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Deschisă"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Întunecată"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Prestabilită"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Numele rețelei"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Afișați numele rețelei în bara de stare"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Managerul spațiului de stocare: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-ru/arrays.xml b/res/values-ru/arrays.xml
index 781c75b..100d478 100644
--- a/res/values-ru/arrays.xml
+++ b/res/values-ru/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Всегда включен"</item>
     <item msgid="6385301106124765323">"Всегда отключен"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index d2e5758..791c37b 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -123,8 +123,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Адрес Bluetooth для устройства: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"Отключить <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Передача данных"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Отключить профиль?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Профиль&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;будет отключен от устройства&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Bluetooth-устройство без названия"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Поиск"</string>
@@ -405,7 +403,7 @@
     <string name="security_settings_face_enroll_introduction_message" msgid="6150611993438981458">"Используйте распознавание лица для разблокировки телефона, подтверждения покупок и входа в приложения."</string>
     <string name="security_settings_face_enroll_introduction_message_unlock_disabled" msgid="6300341727101929207">"Используйте"</string>
     <string name="security_settings_face_enroll_introduction_message_setup" msgid="5704661081718707858">"Используйте распознавание лица для разблокировки телефона, подтверждения покупок и входа в приложения."</string>
-    <string name="face_add_max" msgid="2342250989212694454">"Максимальное количество отпечатков пальца, которые можно добавить: <xliff:g id="COUNT">%d</xliff:g>"</string>
+    <string name="face_add_max" msgid="2342250989212694454">"Максимальное количество отпечатков пальцев, которые можно добавить: <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="face_intro_error_max" msgid="160022811747660581">"Вы уже добавили максимальное количество лиц."</string>
     <string name="face_intro_error_unknown" msgid="6367721696446677261">"Добавлено максимальное количество лиц."</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Отпечатки пальцев"</string>
@@ -737,7 +735,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Поиск..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Настройки устройства"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Подключенное устройство"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Название"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Подключение к Интернету"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Клавиатура"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Контакты и журнал звонков"</string>
@@ -745,7 +742,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Разрешить доступ к телефонной книге?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"Устройство <xliff:g id="DEVICE_NAME">%1$s</xliff:g> запрашивает доступ к контактам и журналу звонков."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> пытается подключиться через Bluetooth. Устройство получит доступ к контактам и журналу звонков."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Сопряженные устройства"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Доступные устройства"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Нет доступных устройств"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Подключить"</string>
@@ -1138,7 +1134,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Яркость"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Настроить яркость экрана"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Адаптивная яркость"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Менять яркость с учетом уровня освещенности"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Отключено"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Уровень яркости: очень низкий"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Уровень яркости: низкий"</string>
@@ -4265,12 +4262,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Автозаполнение"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"автоматически, заполнять, автозаполнение"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Убедитесь, что это приложение безопасно&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; анализирует содержимое экрана и находит поля, которые можно заполнить автоматически."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Цветовая тема"</string>
-    <string name="default_theme" msgid="7085644992078579076">"По умолчанию"</string>
     <string name="device_theme" msgid="4571803018917608588">"Тема устройства"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Автоматический выбор (в зависимости от обоев)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Светлая"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Темная"</string>
+    <string name="default_theme" msgid="7085644992078579076">"По умолчанию"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Название сети"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Показывать название сети в строке состояния"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Менеджер хранилища: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-si/arrays.xml b/res/values-si/arrays.xml
index 2eba3c8..28e1f80 100644
--- a/res/values-si/arrays.xml
+++ b/res/values-si/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"සැමවිට ක්‍රියාත්මකයි"</item>
     <item msgid="6385301106124765323">"සැමවිට ක්‍රියාවිරහිතයි"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
index 6cefbae..48a13e9 100644
--- a/res/values-si/strings.xml
+++ b/res/values-si/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"උපාංගයේ බ්ලූටූත් ලිපිනය: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> විසන්ධි කරද?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"විකාශනය කරමින්"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"අක්‍රිය පැතිකඩක්ද?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"මෙය:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;,&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;&lt;br&gt;වෙතින්&lt;br&gt;අබල කරනු ඇත"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"නමක් නොමැති බ්ලූටූත් උපාංගය"</string>
     <string name="progress_scanning" msgid="192587958424295789">"සොයමින්"</string>
@@ -392,30 +390,18 @@
     <string name="security_status_title" msgid="5848766673665944640">"ආරක්ෂක තත්ත්වය"</string>
     <string name="security_dashboard_summary" msgid="6757421634477554939">"තිර අගුල, ඇඟිලි සලකුණ"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="8129641548372335540">"තිර අගුල"</string>
-    <!-- no translation found for security_settings_face_preference_summary (1290187225482642821) -->
-    <skip />
-    <!-- no translation found for security_settings_face_preference_summary_none (5460349732790152186) -->
-    <skip />
-    <!-- no translation found for security_settings_face_preference_title (7074548721778680481) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_cancel (4277182322482408514) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_title (2694505011712885439) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_title_unlock_disabled (8180330567034286589) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_message (6150611993438981458) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_message_unlock_disabled (6300341727101929207) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_message_setup (5704661081718707858) -->
-    <skip />
-    <!-- no translation found for face_add_max (2342250989212694454) -->
-    <skip />
-    <!-- no translation found for face_intro_error_max (160022811747660581) -->
-    <skip />
-    <!-- no translation found for face_intro_error_unknown (6367721696446677261) -->
-    <skip />
+    <string name="security_settings_face_preference_summary" msgid="1290187225482642821">"මුහුණ එකතු කරන ලදි"</string>
+    <string name="security_settings_face_preference_summary_none" msgid="5460349732790152186">"මුහුණු සත්‍යාපනය පිහිටුවීම සඳහා තට්ටු ක."</string>
+    <string name="security_settings_face_preference_title" msgid="7074548721778680481">"මුහුණු සත්‍යාපනය"</string>
+    <string name="security_settings_face_enroll_introduction_cancel" msgid="4277182322482408514">"අවලංගු කරන්න"</string>
+    <string name="security_settings_face_enroll_introduction_title" msgid="2694505011712885439">"ඔබේ මුහුණ සමඟ අගුලු හරින්න"</string>
+    <string name="security_settings_face_enroll_introduction_title_unlock_disabled" msgid="8180330567034286589">"සත්‍යාපනය කිරීමට ඔබේ මුහුණ භාවිතා කරන්න"</string>
+    <string name="security_settings_face_enroll_introduction_message" msgid="6150611993438981458">"ඔබේ දුරකථනය අගුලු හැරීමට, මිලදී ගැනීම්වලට අවසර දීමට, හෝ යෙදුම්වලට පිරීමට ඔබේ මුහුණ භාවිත කරන්න."</string>
+    <string name="security_settings_face_enroll_introduction_message_unlock_disabled" msgid="6300341727101929207">"ඔබ භාවිතා කරන්න"</string>
+    <string name="security_settings_face_enroll_introduction_message_setup" msgid="5704661081718707858">"ඔබේ දුරකථනය අගුලු හැරීමට, මිලදී ගැනීම්වලට අවසර දීමට, හෝ යෙදුම්වලට පිරීමට ඔබේ මුහුණ භාවිත කරන්න."</string>
+    <string name="face_add_max" msgid="2342250989212694454">"ඔබට ඇඟිලි සලකුණු <xliff:g id="COUNT">%d</xliff:g> දක්වා එකතු කළ හැකිය"</string>
+    <string name="face_intro_error_max" msgid="160022811747660581">"ඔබ මුහුණු උපරිම සංඛ්‍යාව එක් කර ඇත"</string>
+    <string name="face_intro_error_unknown" msgid="6367721696446677261">"තවත් මුහුණු එක් කළ නොහැකිය"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"ඇඟිලි සලකුණ"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"ඇඟිලි සලකුණු කළමනාකරණය කරන්න"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"මෙය සඳහා ඇඟිලි සලකුණු භාවිත කරන්න"</string>
@@ -527,14 +513,12 @@
     <string name="setup_lock_settings_picker_title" product="tablet" msgid="90329443364067215">"ඔබගේ ටැබ්ලටය ආරක්ෂා කර ගන්න"</string>
     <string name="setup_lock_settings_picker_title" product="device" msgid="2399952075134938929">"ඔබගේ උපාංගය ආරක්ෂා කර ගන්න"</string>
     <string name="setup_lock_settings_picker_title" product="default" msgid="1572244299605153324">"ඔබගේ දුරකථනය ආරක්ෂා කර ගන්න"</string>
-    <!-- no translation found for lock_settings_picker_biometrics_added_security_message (1507307757032207572) -->
-    <skip />
+    <string name="lock_settings_picker_biometrics_added_security_message" msgid="1507307757032207572">"අමතර ආරක්ෂාව සඳහා, උපස්ථ තිර අගුලක් සකසන්න"</string>
     <string name="setup_lock_settings_picker_message" product="tablet" msgid="8919671129189936210">"උපාංග ආරක්ෂණ විශේෂාංග සක්‍රිය කිරීමෙන්, ඔබගේ අවසරය නොමැතිව වෙනත් අය මෙම ටැබ්ලට උපාංගය භාවිත කිරීම වළක්වන්න. ඔබට භාවිත කිරීමට අවශ්‍ය තිර අගුල තෝරන්න."</string>
     <string name="setup_lock_settings_picker_message" product="device" msgid="3787276514406353777">"උපාංග ආරක්ෂණ විශේෂාංග සක්‍රිය කිරීමෙන්, ඔබගේ අවසරය නොමැතිව වෙනත් අය මෙම උපාංගය භාවිත කිරීම වළක්වන්න. ඔබට භාවිත කිරීමට අවශ්‍ය තිර අගුල තෝරන්න."</string>
     <string name="setup_lock_settings_picker_message" product="default" msgid="3692856437543730446">"උපාංග ආරක්ෂණ විශේෂාංග සක්‍රිය කිරීමෙන්, ඔබගේ අවසරය නොමැතිව වෙනත් අය මෙම දුරකථනය භාවිත කිරීම වළක්වන්න. ඔබට භාවිත කිරීමට අවශ්‍ය තිර අගුල තෝරන්න."</string>
     <string name="lock_settings_picker_fingerprint_message" msgid="4755230324778371292">"ඔබේ උපස්ථ කිර අගුලු ක්‍රමය තෝරන්න"</string>
-    <!-- no translation found for lock_settings_picker_face_message (197106534637556054) -->
-    <skip />
+    <string name="lock_settings_picker_face_message" msgid="197106534637556054">"ඔබේ උපස්ථ කිර අගුලු ක්‍රමය තෝරන්න"</string>
     <string name="setup_lock_settings_options_button_label" msgid="8511153243629402929">"තිරයේ අගුලු විකල්ප"</string>
     <string name="setup_lock_settings_options_dialog_title" msgid="5058207955455973917">"තිර අගුලු විකල්ප"</string>
     <string name="unlock_set_unlock_launch_picker_title" msgid="2084576942666016993">"තිර අගුල"</string>
@@ -561,16 +545,11 @@
     <string name="fingerprint_unlock_set_unlock_password" msgid="7351131075806338634">"ඇඟිලි සලකුණ + මුරපදය"</string>
     <string name="fingerprint_unlock_skip_fingerprint" msgid="1441077909803666681">"ඇඟිලි සලකුණ නොමැතිව දිගටම කර ගෙන යන්න"</string>
     <string name="fingerprint_unlock_title" msgid="2826226740306003991">"ඔබට ඔබගේ ඇඟිලි සලකුණ භාවිතයෙන් ඔබගේ දුරකථනය අගුලු හැරීමට හැකිය. ආරක්ෂාව සඳහා, මෙම විකල්පයට උපස්ථ තිර අගුලක් අවශ්‍යය."</string>
-    <!-- no translation found for face_unlock_set_unlock_pattern (8792301636367000123) -->
-    <skip />
-    <!-- no translation found for face_unlock_set_unlock_pin (1196620299595657479) -->
-    <skip />
-    <!-- no translation found for face_unlock_set_unlock_password (223117276773907474) -->
-    <skip />
-    <!-- no translation found for face_unlock_skip_face (6362883392838482791) -->
-    <skip />
-    <!-- no translation found for face_unlock_title (9042382084472444316) -->
-    <skip />
+    <string name="face_unlock_set_unlock_pattern" msgid="8792301636367000123">"මුහුණු සත්‍යාපනය + රටාව"</string>
+    <string name="face_unlock_set_unlock_pin" msgid="1196620299595657479">"මුහුණු සත්‍යාපනය + PIN"</string>
+    <string name="face_unlock_set_unlock_password" msgid="223117276773907474">"මුහුණු සත්‍යාපනය + මුරපදය"</string>
+    <string name="face_unlock_skip_face" msgid="6362883392838482791">"මුහුණු සත්‍යාපනය නොමැතිව ඉදිරියට යන්න"</string>
+    <string name="face_unlock_title" msgid="9042382084472444316">"ඔබට ඔබගේ මුහුණ භාවිතයෙන් ඔබගේ දුරකථනය අගුලු හැරීමට හැකිය. ආරක්ෂාව සඳහා, මෙම විකල්පයට උපස්ථ තිර අගුලක් අවශ්‍යය."</string>
     <string name="unlock_set_unlock_disabled_summary" msgid="2051593894736282302">"පරිපාලකයා, සංකේතන ප්‍රතිපත්තිය, හෝ අක්තපත්‍ර ආචයනය මඟින් අබල කර ඇත"</string>
     <string name="unlock_set_unlock_mode_off" msgid="5881952274566013651">"කිසිවක් නැත"</string>
     <string name="unlock_set_unlock_mode_none" msgid="8467360084676871617">"ස්වයිප් කරන්න"</string>
@@ -726,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"සොයමින්..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"උපාංග සැකසුම්"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"යුගල කර ඇති උපාංගය"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"නම‍"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"අන්තර්ජාල සම්බන්ධතාව"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"යතුරුපුවරුව"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"සම්බන්ධතා සහ ඇමතුම් ඉතිහාසය"</string>
@@ -734,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"දුරකථන පොත බෙදාගන්න?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"ඔබගේ සම්බන්ධතා සහ ඇමතුම් ඉතිහාසය වෙත ප්‍රවේශ විමට <xliff:g id="DEVICE_NAME">%1$s</xliff:g> අවශ්‍යව ඇත."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> බ්ලූටූත් සමඟ යුගළ වීමට අවශ්‍යය. ඔබ සම්බන්ධ කළ විට, ඔබගේ සම්බන්ධතා සහ ඇමතුම් ඉතිහාසයට එයට ප්‍රවේශය ලැබේ."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"යුගල කරන ලද උපාංග"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"තිබෙන උපාංග"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"උපාංග නොතිබේ"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"සම්බන්ධ කරන්න"</string>
@@ -1125,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"දීප්තිමත් බව"</string>
     <string name="brightness_summary" msgid="838917350127550703">"තිරයේ දීප්තිය සීරු මාරු කරන්න"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"අනුවර්තක දීප්තිය"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"පවතින ආලෝකය සඳහා දීප්තිමත් මට්ටම"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"ක්‍රියාවිරහිතයි"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"අභිරුචි දීප්ති මට්ටම ඉතා පහළ වැඩියි"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"අභිරුචි දීප්ති මට්ටම අඩුයි"</string>
@@ -1640,12 +1618,9 @@
     <string name="lockpassword_password_set_toast" msgid="4875050283108629383">"මුරපදය සකස් කර ඇත."</string>
     <string name="lockpassword_pin_set_toast" msgid="6011826444725291475">"PIN සකස් කර ඇත."</string>
     <string name="lockpassword_pattern_set_toast" msgid="6867259621331406236">"රටාව සකස් කරන ලදි."</string>
-    <!-- no translation found for lockpassword_choose_your_password_header_for_face (7876621019688907534) -->
-    <skip />
-    <!-- no translation found for lockpassword_choose_your_pattern_header_for_face (8070525076987585344) -->
-    <skip />
-    <!-- no translation found for lockpassword_choose_your_pin_header_for_face (7304398683609714816) -->
-    <skip />
+    <string name="lockpassword_choose_your_password_header_for_face" msgid="7876621019688907534">"මුහුණු සත්‍යාපනය භාවිතා කිරීම සඳහා මුරපදය සකසන්න"</string>
+    <string name="lockpassword_choose_your_pattern_header_for_face" msgid="8070525076987585344">"මුහුණු සත්‍යාපනය භාවිතා කිරීම සඳහා රටාව සකසන්න"</string>
+    <string name="lockpassword_choose_your_pin_header_for_face" msgid="7304398683609714816">"මුහුණු සත්‍යාපනය භාවිතා කිරීම සඳහා PIN සකසන්න"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="2920960858283879113">"දිගටම කරගෙන යාමට ඔබේ උපාංග රටාව භාවිත කරන්න"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="4062335874438910487">"දිගටම කරගෙන යාමට ඔබේ උපාංග PIN අංකය ඇතුළු කරන්න"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="3976394862548354966">"දිගටම කරගෙන යාමට ඔබේ උපාංග මුරපදය ඇතුළු කරන්න"</string>
@@ -3056,8 +3031,7 @@
     <string name="keywords_systemui_theme" msgid="9112852512550404882">"අඳුරු තේමාව"</string>
     <string name="keywords_device_feedback" msgid="564493721125966719">"දෝෂය"</string>
     <string name="keywords_ambient_display_screen" msgid="5874969496073249362">"පරිසර දර්ශකය, අගුලු තිර දර්ශකය"</string>
-    <!-- no translation found for keywords_face_settings (7505388678116799329) -->
-    <skip />
+    <string name="keywords_face_settings" msgid="7505388678116799329">"මුහුණ"</string>
     <string name="keywords_fingerprint_settings" msgid="239222512315619538">"ඇඟිලි සලකුණ"</string>
     <string name="keywords_display_auto_brightness" msgid="4130320471533951796">"අඳුරු තිරය, ස්පර්ශ තිරය, බැටරිය, ස්මාර්ට් දීප්තිය, ගතික දීප්තිය"</string>
     <string name="keywords_auto_rotate" msgid="5620879898668211494">"කරකවන්න, ෆ්ලිප් කරන්න, කරකැවීම, ආලේඛ්‍ය, භූ දර්ශනය, දිශානතිය, සිරස්, තිරස්"</string>
@@ -3475,12 +3449,9 @@
     <string name="encryption_interstitial_message_pin_for_fingerprint" msgid="4550632760119547492">"ඔබේ උපාංගය අගුලු හැරීමට ඔබේ ඇඟිලි සලකුණ භාවිත කිරීමට අමතරව, උපාංගය ආරම්භ වීමට පෙර ඔබගේ PIN අවශ්‍ය වීම මඟින් ඔබට එය තව දුරටත් ආරක්ෂා කළ හැකිය. උපාංගය ආරම්භ වන තෙක්, එයට එලාම ඇතුළත්ව ඇමතුම්, පණිවිඩ හෝ දැනුම්දීම් ලබා ගත නොහැකිය.\n\nනැතිවූ හෝ සොරකම් කළ උපාංගවල දත්ත ආරක්ෂා කිරීමට මෙය උදවු කරයි. ඔබගේ උපාංගය පණ ගැන්වීමට PIN එක අවශ්‍යද?"</string>
     <string name="encryption_interstitial_message_pattern_for_fingerprint" msgid="932184823193006087">"ඔබේ උපාංගය අගුලු හැරීමට ඔබේ ඇඟිලි සලකුණ භාවිත කිරීමට අමතරව, උපාංගය ආරම්භ වීමට පෙර ඔබගේ රටාව අවශ්‍ය වීම මඟින් ඔබට එය තව දුරටත් ආරක්ෂා කළ හැකිය. උපාංගය ආරම්භ වන තෙක්, එයට එලාම ඇතුළත්ව ඇමතුම්, පණිවිඩ හෝ දැනුම්දීම් ලබා ගත නොහැකිය.\n\nනැතිවූ හෝ සොරකම් කළ උපාංගවල දත්ත ආරක්ෂා කිරීමට මෙය උදවු කරයි. ඔබගේ උපාංගය පණ ගැන්වීමට රටාවක් අවශ්‍යද?"</string>
     <string name="encryption_interstitial_message_password_for_fingerprint" msgid="5560954719370251702">"ඔබේ උපාංගය අගුලු හැරීමට ඔබේ ඇඟිලි සලකුණ භාවිත කිරීමට අමතරව, උපාංගය ආරම්භ වීමට පෙර ඔබගේ මුරපදය අවශ්‍ය වීම මඟින් ඔබට එය තව දුරටත් ආරක්ෂා කළ හැකිය. උපාංගය ආරම්භ වන තෙක්, එයට එලාම ඇතුළත්ව ඇමතුම්, පණිවිඩ හෝ දැනුම්දීම් ලබා ගත නොහැකිය.\n\nනැතිවූ හෝ සොරකම් කළ උපාංගවල දත්ත ආරක්ෂා කිරීමට මෙය උදවු කරයි. ඔබගේ උපාංගය පණ ගැන්වීමට මුරපදය එක අවශ්‍යද?"</string>
-    <!-- no translation found for encryption_interstitial_message_pin_for_face (2017438765366716760) -->
-    <skip />
-    <!-- no translation found for encryption_interstitial_message_pattern_for_face (3551827507967661552) -->
-    <skip />
-    <!-- no translation found for encryption_interstitial_message_password_for_face (3452793542112093614) -->
-    <skip />
+    <string name="encryption_interstitial_message_pin_for_face" msgid="2017438765366716760">"ඔබේ උපාංගය අගුලු හැරීමට ඔබේ මුහුණ භාවිත කිරීමට අමතරව, උපාංගය ආරම්භ වීමට පෙර ඔබගේ PIN අවශ්‍ය වීම මඟින් ඔබට එය තව දුරටත් ආරක්ෂා කළ හැකිය. උපාංගය ආරම්භ වන තෙක්, එයට එලාම ඇතුළත්ව ඇමතුම්, පණිවිඩ හෝ දැනුම්දීම් ලබා ගත නොහැකිය.\n\nනැතිවූ හෝ සොරකම් කළ උපාංගවල දත්ත ආරක්ෂා කිරීමට මෙය උදවු කරයි. ඔබගේ උපාංගය පණ ගැන්වීමට PIN එක අවශ්‍යද?"</string>
+    <string name="encryption_interstitial_message_pattern_for_face" msgid="3551827507967661552">"ඔබේ උපාංගය අගුලු හැරීමට ඔබේ මුහුණ භාවිත කිරීමට අමතරව, උපාංගය ආරම්භ වීමට පෙර ඔබගේ රටාව අවශ්‍ය වීම මඟින් ඔබට එය තව දුරටත් ආරක්ෂා කළ හැකිය. උපාංගය ආරම්භ වන තෙක්, එයට එලාම ඇතුළත්ව ඇමතුම්, පණිවිඩ හෝ දැනුම්දීම් ලබා ගත නොහැකිය.\n\nනැතිවූ හෝ සොරකම් කළ උපාංගවල දත්ත ආරක්ෂා කිරීමට මෙය උදවු කරයි. ඔබගේ උපාංගය පණ ගැන්වීමට රටාවක් අවශ්‍යද?"</string>
+    <string name="encryption_interstitial_message_password_for_face" msgid="3452793542112093614">"ඔබේ උපාංගය අගුලු හැරීමට ඔබේ මුහුණ භාවිත කිරීමට අමතරව, උපාංගය ආරම්භ වීමට පෙර ඔබගේ මුරපදය අවශ්‍ය වීම මඟින් ඔබට එය තව දුරටත් ආරක්ෂා කළ හැකිය. උපාංගය ආරම්භ වන තෙක්, එයට එලාම ඇතුළත්ව ඇමතුම්, පණිවිඩ හෝ දැනුම්දීම් ලබා ගත නොහැකිය.\n\nනැතිවූ හෝ සොරකම් කළ උපාංගවල දත්ත ආරක්ෂා කිරීමට මෙය උදවු කරයි. ඔබගේ උපාංගය පණ ගැන්වීමට මුරපදය එක අවශ්‍යද?"</string>
     <string name="encryption_interstitial_yes" msgid="4439509435889513411">"ඔව්"</string>
     <string name="encryption_interstitial_no" msgid="8935031349097025137">"නැත"</string>
     <string name="restricted_true_label" msgid="4761453839409220473">"සීමා කළ"</string>
@@ -4145,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"ස්වයං පිරවුම් සේවාව"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"ස්වයං, පිරවුම, ස්වයං පිරවුම"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;ඔබ මෙම යෙදුම විශ්වාස කරන බව සහතික කර ගන්න&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; ස්වයං පිරවිය හැකි දේවල් නිර්ණය කිරීමට ඔබේ තිරයෙහි ඇති දේවල් භාවිත කරයි."</string>
-    <string name="color_theme" msgid="1535685696756738324">"වර්ණ තේමාව"</string>
-    <string name="default_theme" msgid="7085644992078579076">"පෙරනිමි"</string>
     <string name="device_theme" msgid="4571803018917608588">"උපාංග තේමාව"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"ස්වයංක්‍රිය (බිතුපත මත පදනම්ව)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"ආලෝකය"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"අඳුරු"</string>
+    <string name="default_theme" msgid="7085644992078579076">"පෙරනිමි"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"ජාල නම"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"තත්ත්ව තීරුව තුළ ජාල නම සංදර්ශනය කරන්න"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"ගබඩා කළමනාකරු: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-sk/arrays.xml b/res/values-sk/arrays.xml
index 56358fd..727d228 100644
--- a/res/values-sk/arrays.xml
+++ b/res/values-sk/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Vždy zapnuté"</item>
     <item msgid="6385301106124765323">"Vždy vypnuté"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 35dafe2..f91df5d 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -123,8 +123,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Adresa Bluetooth zariadenia: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"Odpojiť zariadenie <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Vysielanie"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Zakázať profil?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Táto akcia zakáže profil <xliff:g id="PROFILE_NAME">%1$s</xliff:g> a zariadenie <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Nepomenované zariadenie s rozhraním Bluetooth"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Vyhľadávanie"</string>
@@ -405,7 +403,7 @@
     <string name="security_settings_face_enroll_introduction_message" msgid="6150611993438981458">"Používajte tvár na odomykanie telefónu, schvaľovanie nákupov a prihlasovanie sa do aplikácií."</string>
     <string name="security_settings_face_enroll_introduction_message_unlock_disabled" msgid="6300341727101929207">"Použite seba"</string>
     <string name="security_settings_face_enroll_introduction_message_setup" msgid="5704661081718707858">"Používajte tvár na odomykanie telefónu, schvaľovanie nákupov a prihlasovanie sa do aplikácií"</string>
-    <string name="face_add_max" msgid="2342250989212694454">"Maximálny počet odtlačkov, ktoré je možné pridať <xliff:g id="COUNT">%d</xliff:g>"</string>
+    <string name="face_add_max" msgid="2342250989212694454">"Maximálny počet odtlačkov, ktoré je možné pridať: <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="face_intro_error_max" msgid="160022811747660581">"Pridali ste maximálny počet tvárí"</string>
     <string name="face_intro_error_unknown" msgid="6367721696446677261">"Nie je možné pridať ďalšie tváre"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Odtlačok prsta"</string>
@@ -737,7 +735,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Hľadá sa…"</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Nastavenie zariadenia"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Spárované zariadenie"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Názov"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Internetové pripojenie"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Klávesnica"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Kontakty a história hovorov"</string>
@@ -745,7 +742,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Zdieľať telefónny zoznam?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> chce pristúpiť k vašim kontaktom a histórii hovorov."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"Zariadenie <xliff:g id="DEVICE_NAME">%1$s</xliff:g> žiada o spárovanie s rozhraním Bluetooth. Po pripojení bude mať prístup ku kontaktom a histórii hovorov."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Spárované zariadenia"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Dostupné zariadenia"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Nie sú k dispozícii žiadne zariadenia"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Pripojiť"</string>
@@ -1138,7 +1134,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Jas"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Nastavenia jasu obrazovky"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Prispôsobovať jas"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Optimalizovať jas podľa okolitého svetla"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Vypnutý"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Preferovaný jas je veľmi nízky"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Preferovaný jas je nízky"</string>
@@ -4265,12 +4262,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Služba automatického dopĺňania"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"automatické, dopĺňanie, automatické dopĺňanie"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Skontrolujte, či ide o dôveryhodnú aplikáciu&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Automatické dopĺňanie Google&gt;%1$s&lt;/xliff:g&gt; určuje na základe obsahu obrazovky, čo je možné automaticky vyplniť."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Farebný motív"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Predvolený"</string>
     <string name="device_theme" msgid="4571803018917608588">"Motív zariadenia"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Automatický (podľa tapety)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Svetlý"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Tmavý"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Predvolený"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Názov siete"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Zobrazovať názov siete v stavovom riadku"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Správca úložiska: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-sl/arrays.xml b/res/values-sl/arrays.xml
index de8f704..a20d135 100644
--- a/res/values-sl/arrays.xml
+++ b/res/values-sl/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Vedno vklopljeno"</item>
     <item msgid="6385301106124765323">"Vedno izklopljeno"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 56e9011..dba4100 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -123,8 +123,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Naslov Bluetooth naprave: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"Ali želite prekiniti povezavo z napravo <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Oddajanje"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Želite onemogočiti profil?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"S tem boste onemogočili:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;From:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Neimenovana naprava Bluetooth"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Iskanje"</string>
@@ -737,7 +735,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Iskanje ..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Nastavitve naprave"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Seznanjena naprava"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Ime"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Internetna povezava"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Tipkovnica"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Stiki in zgodovina klicev"</string>
@@ -745,7 +742,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Želite dati telef. imenik v skupno rabo?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"Naprava <xliff:g id="DEVICE_NAME">%1$s</xliff:g> želi dostopati do vaših stikov in zgodovine klicev."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"Naprava <xliff:g id="DEVICE_NAME">%1$s</xliff:g> se želi seznaniti prek Bluetootha. Ko bo povezana, bo imela dostop do vaših stikov in zgodovine klicev."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Seznanjene naprave"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Razpoložljive naprave"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Nobena naprava ni na voljo"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Vzpostavi povezavo"</string>
@@ -1138,7 +1134,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Svetlost"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Prilagoditev svetlosti zaslona"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Prilagodljiva svetlost"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Optimiziranje ravni svetlosti glede na razpoložljivo svetlobo"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Izklopljeno"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Prednostna svetlost je zelo nizka"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Prednostna svetlost je nizka"</string>
@@ -4265,12 +4262,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Storitev samodejnega izpolnjevanja"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"samodejno, izpolnjevanje, samoizpolnjevanje"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Prepričajte se, ali zaupate tej aplikaciji&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Samodejno izpolnjevanje&gt;%1$s&lt;/xliff:g&gt; iz elementov na zaslonu ugotovi, kaj je mogoče samodejno izpolniti."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Barvna tema"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Privzeto"</string>
     <string name="device_theme" msgid="4571803018917608588">"Tema naprave"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Samodejna (na podlagi ozadja)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Svetla"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Temna"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Privzeto"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Ime omrežja"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Prikaži ime omrežja v vrstici stanja"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Upravitelj shrambe: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-sq/arrays.xml b/res/values-sq/arrays.xml
index c36ab48..fc9a38e 100644
--- a/res/values-sq/arrays.xml
+++ b/res/values-sq/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Gjithmonë aktiv"</item>
     <item msgid="6385301106124765323">"Gjithmonë joaktiv"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
index 3ff74ff..cac7594 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Adresa e Bluetooth-it e pajisjes: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"Të shkëputet <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Transmetimi"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Të çaktivizohet profili?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Kjo do të çaktivizojë:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;Nga:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Pajisje me \"Bluetooth\" e paemërtuar"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Po kërkon"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Po kërkon..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Cilësimet e pajisjes"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Pajisja e çiftuar"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Emri"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Lidhje me internet"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Tastiera"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Kontaktet dhe historiku i telefonatave"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Të ndahet numëratori telefonik?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> kërkon të ketë qasje te kontaktet dhe historiku i telefonatave."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> kërkon të çiftohet me Bluetooth. Kur të lidhet, pajisja do të ketë qasje te kontaktet e tua dhe historiku i telefonatave."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Pajisjet e çiftuara"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Pajisjet që ofrohen"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Nuk ofrohet asnjë pajisje"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Lidh"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Ndriçimi"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Rregullo ndriçimin e ekranit"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Ndriçimi i përshtatshëm"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Optimizo nivelin e ndriçimit sipas ambientit"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Joaktiv"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Ndriçimi i preferuar është shumë i ulët"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Ndriçimi i preferuar është i ulët"</string>
@@ -4119,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Shërbimi i plotësimit automatik"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"plotësim, automatik, plotësim automatik"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Sigurohu që ke besim te ky aplikacion&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=\"Plotësimi automatik i Google&gt;%1$s&lt;/xliff:g&gt; përdor atë që ndodhet në ekranin tënd për të përcaktuar se çfarë mund të plotësohet automatikisht."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Tema e ngjyrës"</string>
-    <string name="default_theme" msgid="7085644992078579076">"I parazgjedhur"</string>
     <string name="device_theme" msgid="4571803018917608588">"Tema e pajisjes"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Automatike (në bazë të imazhit të sfondit)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"E ndriçuar"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"E errët"</string>
+    <string name="default_theme" msgid="7085644992078579076">"I parazgjedhur"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Emri i rrjetit"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Shfaq emrin e rrjetit në shiritin e statusit"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Menaxheri i hapësirës ruajtëse: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-sr/arrays.xml b/res/values-sr/arrays.xml
index 13337ff..ac1e8e4 100644
--- a/res/values-sr/arrays.xml
+++ b/res/values-sr/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Увек укључено"</item>
     <item msgid="6385301106124765323">"Увек искључено"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index bf5f2f9..1abc17e 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -122,8 +122,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Bluetooth адреса уређаја: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"Желите ли да прекинете везу са уређајем <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Емитовање"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Желите ли да онемогућите профил?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Овим онемогућавате:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;Са уређаја:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Неименовани Bluetooth уређај"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Претражује се"</string>
@@ -722,7 +720,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Претражује се…"</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Подешавања уређаја"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Упарени уређај"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Назив"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Интернет веза"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Тастатура"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Контакти и историја позива"</string>
@@ -730,7 +727,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Желите ли да делите телефонски именик?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> жели да приступа контактима и историји позива."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> жели да се упари помоћу Bluetooth-а. Када се повеже, имаће приступ контактима и историји позива."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Упарени уређаји"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Доступни уређаји"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Није доступан ниједан уређај"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Повежи"</string>
@@ -1122,7 +1118,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Осветљеност"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Прилагођавање осветљености екрана"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Прилагодљива осветљеност"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Оптимизуј ниво осветљености према доступном светлу"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Искључено"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Жељена осветљеност је веома ниска"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Жељена осветљеност је ниска"</string>
@@ -4192,12 +4189,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Услуга аутоматског попуњавања"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"аутоматски, попуњавање, аутоматско попуњавање"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Уверите се да је ова апликација поуздана&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google аутоматско попуњавање&gt;%1$s&lt;/xliff:g&gt; користи садржај екрана за утврђивање података који могу аутоматски да се попуне."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Тема са бојом"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Подразумевана"</string>
     <string name="device_theme" msgid="4571803018917608588">"Тема уређаја"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Аутоматска (на основу позадине)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Светла"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Тамна"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Подразумевана"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Назив мреже"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Приказује назив мреже на статусној траци"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Менаџер меморијског простора: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-sv/arrays.xml b/res/values-sv/arrays.xml
index 818a84c..daf320d 100644
--- a/res/values-sv/arrays.xml
+++ b/res/values-sv/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Alltid på"</item>
     <item msgid="6385301106124765323">"Alltid av"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 8be05f8..8a46c01 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Enhetens Bluetooth-adress: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"Vill du koppla från <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Bluetooth-sändning"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Vill du inaktivera profilen?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Följande kommer att inaktiveras:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;från:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Namnlös Bluetooth-enhet"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Söker"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Söker…"</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Enhetsinställningar"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Kopplad enhet"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Namn"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Internetanslutning"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Tangentbord"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Kontakter och samtalshistorik"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Vill du dela telefonboken?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> vill komma åt dina kontakter och din samtalshistorik."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> vill parkoppla med Bluetooth. När den är ansluten får den åtkomst till kontakter och samtalshistorik."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Parkopplade enheter"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Tillgängliga enheter"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Det finns inga enheter tillgängliga"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Anslut"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Ljusstyrka"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Ändra skärmens ljusstyrka"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Anpassad ljusstyrka"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Optimera ljusstyrkan efter det tillgängliga ljuset"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Av"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Önskad ljusstyrka är mycket låg ljusstyrka"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Önskad ljusstyrka är låg ljusstyrka"</string>
@@ -4119,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Tjänsten Autofyll"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"auto, fyll, autofyll"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Kontrollera att du litar på den här appen&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofyll&gt;%1$s&lt;/xliff:g&gt; identifierar vad som kan fyllas i automatiskt utifrån vad som visas på skärmen."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Färgtema"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Standard"</string>
     <string name="device_theme" msgid="4571803018917608588">"Enhetstema"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Automatiskt (utifrån bakgrunden)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Ljust"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Mörkt"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Standard"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Nätverksnamn"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Visa nätverksnamnet i statusfältet"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Lagringshanteraren: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-sw/arrays.xml b/res/values-sw/arrays.xml
index 83c2b60..47ccbae 100644
--- a/res/values-sw/arrays.xml
+++ b/res/values-sw/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Ikae ikiwa imewashwa"</item>
     <item msgid="6385301106124765323">"Imezimwa kila wakati"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 03381c6..8a7d3ff 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Anwani ya Bluetooth ya Kifaa chako: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"Ungependa kuondoa <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Inasambaza"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Wasifu ulemazwe?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Hii italemaza:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;Kutoka:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Kifaa cha Bluetooth kisicho na jina"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Inatafuta"</string>
@@ -392,16 +390,16 @@
     <string name="security_status_title" msgid="5848766673665944640">"Hali ya usalama"</string>
     <string name="security_dashboard_summary" msgid="6757421634477554939">"Kufunga skrini, alama ya kidole"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="8129641548372335540">"Kufunga skrini"</string>
-    <string name="security_settings_face_preference_summary" msgid="1290187225482642821">"Imeongeza uchanganuzi wa uso"</string>
-    <string name="security_settings_face_preference_summary_none" msgid="5460349732790152186">"Gusa ili uweke uchanganuzi wa uso"</string>
-    <string name="security_settings_face_preference_title" msgid="7074548721778680481">"Uchanganuzi wa uso"</string>
+    <string name="security_settings_face_preference_summary" msgid="1290187225482642821">"Imeongeza utambuzi wa uso"</string>
+    <string name="security_settings_face_preference_summary_none" msgid="5460349732790152186">"Gusa ili uweke utambuzi wa uso"</string>
+    <string name="security_settings_face_preference_title" msgid="7074548721778680481">"Utambuzi wa uso"</string>
     <string name="security_settings_face_enroll_introduction_cancel" msgid="4277182322482408514">"Ghairi"</string>
     <string name="security_settings_face_enroll_introduction_title" msgid="2694505011712885439">"Fungua ukitumia uso wako"</string>
     <string name="security_settings_face_enroll_introduction_title_unlock_disabled" msgid="8180330567034286589">"Tumia uso wako kuthibitisha"</string>
     <string name="security_settings_face_enroll_introduction_message" msgid="6150611993438981458">"Tumia uso wako kufungua simu yako, kuidhinisha ununuzi, au kuingia katika akaunti za programu."</string>
     <string name="security_settings_face_enroll_introduction_message_unlock_disabled" msgid="6300341727101929207">"Tumia uso"</string>
     <string name="security_settings_face_enroll_introduction_message_setup" msgid="5704661081718707858">"Tumia uso wako kufungua simu yako, kuidhinisha ununuzi, au kuingia katika akaunti za programu."</string>
-    <string name="face_add_max" msgid="2342250989212694454">"Unaweza kuongeza hadi alama bainifu <xliff:g id="COUNT">%d</xliff:g>"</string>
+    <string name="face_add_max" msgid="2342250989212694454">"Unaweza kuongeza hadi alama ya vidole <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="face_intro_error_max" msgid="160022811747660581">"Umeongeza idadi ya juu inayoruhusiwa ya nyuso"</string>
     <string name="face_intro_error_unknown" msgid="6367721696446677261">"Imeshindwa kuongeza nyuso zaidi"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Kitambulisho"</string>
@@ -547,10 +545,10 @@
     <string name="fingerprint_unlock_set_unlock_password" msgid="7351131075806338634">"Alama ya kidole + Nenosiri"</string>
     <string name="fingerprint_unlock_skip_fingerprint" msgid="1441077909803666681">"Endelea bila kutumia alama ya kidole"</string>
     <string name="fingerprint_unlock_title" msgid="2826226740306003991">"Unaweza kufungua simu yako kwa kutumia alama ya kidole chako. Kwa ajili ya usalama, chaguo hili linahitaji mbinu mbadala ya kufunga skrini."</string>
-    <string name="face_unlock_set_unlock_pattern" msgid="8792301636367000123">"Uchanganuzi wa uso na Mchoro"</string>
-    <string name="face_unlock_set_unlock_pin" msgid="1196620299595657479">"Uchanganuzi wa uso na PIN"</string>
-    <string name="face_unlock_set_unlock_password" msgid="223117276773907474">"Uchanganuzi wa uso na Nenosiri"</string>
-    <string name="face_unlock_skip_face" msgid="6362883392838482791">"Endelea bila uchanganuzi wa uso"</string>
+    <string name="face_unlock_set_unlock_pattern" msgid="8792301636367000123">"Utambuzi wa uso na Mchoro"</string>
+    <string name="face_unlock_set_unlock_pin" msgid="1196620299595657479">"Utambuzi wa uso na PIN"</string>
+    <string name="face_unlock_set_unlock_password" msgid="223117276773907474">"Utambuzi wa uso na Nenosiri"</string>
+    <string name="face_unlock_skip_face" msgid="6362883392838482791">"Endelea bila utambuzi wa uso"</string>
     <string name="face_unlock_title" msgid="9042382084472444316">"Unaweza kufungua simu yako kwa kutumia uso wako. Kwa ajili ya usalama, chaguo hili linahitaji mbinu mbadala ya kufunga skrini."</string>
     <string name="unlock_set_unlock_disabled_summary" msgid="2051593894736282302">"Imezimwa na msimamizi, sera ya usimbaji fiche, au hifadhi ya hati"</string>
     <string name="unlock_set_unlock_mode_off" msgid="5881952274566013651">"Hamna"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Inatafuta…"</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Mipangilio ya kifaa"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Kifaa kilichooanishwa"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Jina"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Muunganisho wa Intaneti"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Kibodi"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Anwani na rekodi ya simu zilizopigwa"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Ungependa kushiriki orodha ya anwani?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> inataka kufikia anwani zako na rekodi ya simu."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> inataka kuoanisha na Bluetooth. Itakapounganishwa, itafikia anwani zako na rekodi ya simu zilizopigwa."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Vifaa vilivyooanishwa"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Vifaa vinavyopatikana"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Hakuna vifaa vilivyopatikana"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Unganisha"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Ung\'avu"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Rekebisha mwangaza wa skrini"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Mwangaza unaojirekebisha"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Boresha kiwango cha ung\'avu cha mwangaza unaopatikana"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Kimezimwa"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Kiwango cha ung\'avu ni cha chini zaidi"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Kiwango cha ung\'avu ni cha chini"</string>
@@ -1621,9 +1618,9 @@
     <string name="lockpassword_password_set_toast" msgid="4875050283108629383">"Nenosiri limewekwa"</string>
     <string name="lockpassword_pin_set_toast" msgid="6011826444725291475">"PIN imewekwa"</string>
     <string name="lockpassword_pattern_set_toast" msgid="6867259621331406236">"Mchoro umewekwa"</string>
-    <string name="lockpassword_choose_your_password_header_for_face" msgid="7876621019688907534">"Weka nenosiri ili utumie uchanganuzi wa uso"</string>
-    <string name="lockpassword_choose_your_pattern_header_for_face" msgid="8070525076987585344">"Weka mchoro ili utumie uchanganuzi wa uso"</string>
-    <string name="lockpassword_choose_your_pin_header_for_face" msgid="7304398683609714816">"Weka PIN ili utumie uchanganuzi wa uso"</string>
+    <string name="lockpassword_choose_your_password_header_for_face" msgid="7876621019688907534">"Weka nenosiri ili utumie utambuzi wa uso"</string>
+    <string name="lockpassword_choose_your_pattern_header_for_face" msgid="8070525076987585344">"Weka mchoro ili utumie utambuzi wa uso"</string>
+    <string name="lockpassword_choose_your_pin_header_for_face" msgid="7304398683609714816">"Weka PIN ili utumie utambuzi wa uso"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="2920960858283879113">"Weka mchoro wa kufungua kifaa chako ili uendelee"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="4062335874438910487">"Weka PIN ya kifaa chako ili uendelee"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="3976394862548354966">"Weka nenosiri la kifaa chako ili uendelee"</string>
@@ -3452,9 +3449,9 @@
     <string name="encryption_interstitial_message_pin_for_fingerprint" msgid="4550632760119547492">"Mbali na kutumia alama yako ya kidole, unaweza kukilinda zaidi kwa kuweka mipangilio ya kuomba PIN yako kabla ya kukiwasha. Kifaa hakitaweza kupokea simu, ujumbe au arifa, zikiwemo kengele, hadi utakapokiwasha. \n\nHali hii itasaidia kulinda data yako ikiwa kifaa kitapotea au kuibwa. Ungependa kifaa kiombe PIN kabla ya kufunguka?"</string>
     <string name="encryption_interstitial_message_pattern_for_fingerprint" msgid="932184823193006087">"Mbali na kutumia alama yako ya kidole kufungua kifaa chako, unaweza kukilinda zaidi kwa kuweka mipangilio itakayokuhitaji kuweka mchoro wako kabla ya kukiwasha. Kifaa hakitaweza kupokea simu, ujumbe au arifa, zikiwemo kengele, hadi utakapokiwasha. \n\nHali hii itasaidia kulinda data yako ikiwa kifaa kitapotea au kuibwa. Ungependa kifaa kiitishe mchoro kabla ya kufunguka?"</string>
     <string name="encryption_interstitial_message_password_for_fingerprint" msgid="5560954719370251702">"Mbali na kutumia alama ya kidole chako kufungua kifaa, unaweza kulinda kifaa hiki zaidi kwa kuweka nenosiri lako kabla ya kukifungua. Kifaa hakiwezi kupokea simu, ujumbe au arifa, ikiwa ni pamoja na kengele, hadi utakapokifungua.\n\nHii husaidia kulinda data kwenye vifaa vilivyopotea au vilivyoibwa. Ungependa kifaa kiombe nenosiri kabla ya kuanza kukitumia?"</string>
-    <string name="encryption_interstitial_message_pin_for_face" msgid="2017438765366716760">"Mbali na kutumia uso wako kufungua kifaa chako, unaweza kulinda kifaa hiki zaidi kwa kuweka PIN yako kabla ya kukifungua. Kifaa hakiwezi kupokea simu, ujumbe au arifa, ikiwa ni pamoja na kengele, hadi utakapokifungua.\n\nHii husaidia kulinda data kwenye vifaa vilivyopotea au vilivyoibwa. Ungependa kifaa kiombe nenosiri kabla ya kuanza kukitumia?"</string>
-    <string name="encryption_interstitial_message_pattern_for_face" msgid="3551827507967661552">"Mbali na kutumia uso wako kufungua kifaa chako, unaweza kulinda kifaa hiki zaidi kwa kuweka mchoro wako kabla ya kukifungua. Kifaa hakiwezi kupokea simu, ujumbe au arifa, ikiwa ni pamoja na kengele, hadi utakapokifungua.\n\nHii husaidia kulinda data kwenye vifaa vilivyopotea au vilivyoibwa. Ungependa kifaa kiombe nenosiri kabla ya kuanza kukitumia?"</string>
-    <string name="encryption_interstitial_message_password_for_face" msgid="3452793542112093614">"Mbali na kutumia uso wako kufungua kifaa chako, unaweza kulinda kifaa hiki zaidi kwa kuweka nenosiri lako kabla ya kukifungua. Kifaa hakiwezi kupokea simu, ujumbe au arifa, ikiwa ni pamoja na kengele, hadi utakapokifungua.\n\n1Hii husaidia kulinda data kwenye vifaa vilivyopotea au vilivyoibwa. Ungependa kifaa kiombe nenosiri kabla ya kuanza kukitumia?"</string>
+    <string name="encryption_interstitial_message_pin_for_face" msgid="2017438765366716760">"Mbali na kutumia uso wako kufungua kifaa chako, unaweza kulinda kifaa hiki zaidi kwa kuweka PIN yako kabla ya kukifungua. Kifaa hakiwezi kupokea simu, ujumbe au arifa, ikiwa ni pamoja na kengele, hadi utakapokifungua.\n\nHii husaidia kulinda data kwenye vifaa vilivyopotea au vilivyoibwa. Ungependa kifaa kiombe PIN kabla ya kuanza kukitumia?"</string>
+    <string name="encryption_interstitial_message_pattern_for_face" msgid="3551827507967661552">"Mbali na kutumia uso wako kufungua kifaa chako, unaweza kulinda kifaa hiki zaidi kwa kuweka mchoro wako kabla ya kukifungua. Kifaa hakiwezi kupokea simu, ujumbe au arifa, ikiwa ni pamoja na kengele, hadi utakapokifungua.\n\nHii husaidia kulinda data kwenye vifaa vilivyopotea au vilivyoibwa. Ungependa kifaa kiombe mchoro kabla ya kuanza kukitumia?"</string>
+    <string name="encryption_interstitial_message_password_for_face" msgid="3452793542112093614">"Mbali na kutumia uso wako kufungua kifaa chako, unaweza kulinda kifaa hiki zaidi kwa kuweka nenosiri lako kabla ya kukifungua. Kifaa hakiwezi kupokea simu, ujumbe au arifa, ikiwa ni pamoja na kengele, hadi utakapokifungua.\n\nHii husaidia kulinda data kwenye vifaa vilivyopotea au vilivyoibwa. Ungependa kifaa kiombe nenosiri kabla ya kuanza kukitumia?"</string>
     <string name="encryption_interstitial_yes" msgid="4439509435889513411">"Ndiyo"</string>
     <string name="encryption_interstitial_no" msgid="8935031349097025137">"Hapana"</string>
     <string name="restricted_true_label" msgid="4761453839409220473">"Huruhusiwi"</string>
@@ -4119,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Huduma ya kujaza kiotomatiki"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"otomatiki, jaza, kujaza kiotomatiki"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Hakikisha kuwa unaamini programu hii&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; hutumia kilicho kwenye skrini yako kubaini kinachoweza kujazwa kiotomatiki."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Mandhari ya rangi"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Chaguomsingi"</string>
     <string name="device_theme" msgid="4571803018917608588">"Mandhari ya kifaa"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Otomatiki (kulingana na mandhari)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Meupe"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Meusi"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Chaguomsingi"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Jina la mtandao"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Onyesha jina la mtandao kwenye sehemu ya arifa"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Kidhibiti Hifadhi: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-sw600dp-land/dimens.xml b/res/values-sw600dp-land/dimens.xml
index f6b4ad8..d5ea762 100755
--- a/res/values-sw600dp-land/dimens.xml
+++ b/res/values-sw600dp-land/dimens.xml
@@ -18,8 +18,6 @@
     <dimen name="screen_margin_sides">128dip</dimen>
     <dimen name="screen_margin_top">72dip</dimen>
     <dimen name="screen_margin_bottom">48dip</dimen>
-    <dimen name="appwidget_preview_height">80dip</dimen>
-    <dimen name="keyguard_appwidget_picker_width">720dip</dimen>
 
     <!-- CryptKeeper top margin for password/pin screen -->
     <dimen name="crypt_keeper_password_top_margin">116dip</dimen>
diff --git a/res/values-sw600dp-land/styles.xml b/res/values-sw600dp-land/styles.xml
deleted file mode 100644
index 645d1fe..0000000
--- a/res/values-sw600dp-land/styles.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2012 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
-
-          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.
--->
-
-<resources>
-    <style name="KeyguardAppWidgetItem">
-        <item name="android:textSize">18sp</item>
-    </style>
-</resources>
diff --git a/res/values-sw600dp/dimens.xml b/res/values-sw600dp/dimens.xml
index 8e47a62..a005093 100755
--- a/res/values-sw600dp/dimens.xml
+++ b/res/values-sw600dp/dimens.xml
@@ -27,12 +27,6 @@
     <dimen name="appwidget_min_width">325dip</dimen>
     <dimen name="appwidget_min_height">50dip</dimen>
 
-    <dimen name="appwidget_preview_width">120dip</dimen>
-    <dimen name="appwidget_preview_height">70dip</dimen>
-    <dimen name="keyguard_appwidget_picker_margin_left">2dip</dimen>
-    <dimen name="keyguard_appwidget_picker_margin_right">2dip</dimen>
-    <integer name="keyguard_appwidget_picker_cols">2</integer>
-
     <dimen name="settings_side_margin">0dip</dimen>
 
     <!-- ActionBar contentInsetStart -->
diff --git a/res/values-sw600dp/styles.xml b/res/values-sw600dp/styles.xml
index d428288..b132f9f 100644
--- a/res/values-sw600dp/styles.xml
+++ b/res/values-sw600dp/styles.xml
@@ -28,7 +28,4 @@
         <item name="android:textSize">20sp</item>
     </style>
 
-    <style name="KeyguardAppWidgetItem">
-        <item name="android:textSize">16sp</item>
-    </style>
 </resources>
diff --git a/res/values-sw720dp/dimens.xml b/res/values-sw720dp/dimens.xml
index 981c936..ec4e22f 100644
--- a/res/values-sw720dp/dimens.xml
+++ b/res/values-sw720dp/dimens.xml
@@ -16,9 +16,6 @@
 
 <resources>
     <dimen name="pager_tabs_padding">0dp</dimen>
-    <dimen name="appwidget_preview_height">80dip</dimen>
-    <integer name="keyguard_appwidget_picker_cols">2</integer>
-    <dimen name="keyguard_appwidget_picker_width">720dip</dimen>
 
     <dimen name="settings_side_margin">64dp</dimen>
 
diff --git a/res/values-sw720dp/styles.xml b/res/values-sw720dp/styles.xml
deleted file mode 100644
index 645d1fe..0000000
--- a/res/values-sw720dp/styles.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2012 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
-
-          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.
--->
-
-<resources>
-    <style name="KeyguardAppWidgetItem">
-        <item name="android:textSize">18sp</item>
-    </style>
-</resources>
diff --git a/res/values-ta/arrays.xml b/res/values-ta/arrays.xml
index ce24a36..cfcc2bc 100644
--- a/res/values-ta/arrays.xml
+++ b/res/values-ta/arrays.xml
@@ -67,7 +67,7 @@
   </string-array>
   <string-array name="wifi_status">
     <item msgid="1922181315419294640"></item>
-    <item msgid="8934131797783724664">"ஸ்கேன் செய்கிறது…"</item>
+    <item msgid="8934131797783724664">"தேடுகிறது..."</item>
     <item msgid="8513729475867537913">"இணைக்கிறது..."</item>
     <item msgid="515055375277271756">"அங்கீகரிக்கிறது..."</item>
     <item msgid="1943354004029184381">"IP முகவரியைப் பெறுகிறது…"</item>
@@ -81,7 +81,7 @@
   </string-array>
   <string-array name="wifi_status_with_ssid">
     <item msgid="7714855332363650812"></item>
-    <item msgid="8878186979715711006">"ஸ்கேன் செய்கிறது…"</item>
+    <item msgid="8878186979715711006">"தேடுகிறது..."</item>
     <item msgid="355508996603873860">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> இல் இணைக்கிறது…"</item>
     <item msgid="554971459996405634">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> உடன் அங்கீகரிக்கிறது…"</item>
     <item msgid="7928343808033020343">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> இலிருந்து IP முகவரியைப் பெறுகிறது…"</item>
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"எப்போதும் ஆனில் வைத்திரு"</item>
     <item msgid="6385301106124765323">"எப்போதும் ஆஃபில் வைத்திரு"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index 1392a09..f53767b 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"சாதனத்தின் புளூடூத் முகவரி: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ஐ துண்டிக்கவா?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"அலைபரப்புதல்"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"சுயவிவரத்தை முடக்கவா?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"இது, பின்வருவதை முடக்கும்:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;இதிலிருந்து:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"பெயரிடப்படாத புளூடூத் சாதனம்"</string>
     <string name="progress_scanning" msgid="192587958424295789">"தேடுகிறது"</string>
@@ -392,30 +390,18 @@
     <string name="security_status_title" msgid="5848766673665944640">"பாதுகாப்பு நிலை"</string>
     <string name="security_dashboard_summary" msgid="6757421634477554939">"ஸ்கிரீன் லாக், கைரேகை"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="8129641548372335540">"திரைப் பூட்டு"</string>
-    <!-- no translation found for security_settings_face_preference_summary (1290187225482642821) -->
-    <skip />
-    <!-- no translation found for security_settings_face_preference_summary_none (5460349732790152186) -->
-    <skip />
-    <!-- no translation found for security_settings_face_preference_title (7074548721778680481) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_cancel (4277182322482408514) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_title (2694505011712885439) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_title_unlock_disabled (8180330567034286589) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_message (6150611993438981458) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_message_unlock_disabled (6300341727101929207) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_message_setup (5704661081718707858) -->
-    <skip />
-    <!-- no translation found for face_add_max (2342250989212694454) -->
-    <skip />
-    <!-- no translation found for face_intro_error_max (160022811747660581) -->
-    <skip />
-    <!-- no translation found for face_intro_error_unknown (6367721696446677261) -->
-    <skip />
+    <string name="security_settings_face_preference_summary" msgid="1290187225482642821">"முகம் சேர்க்கப்பட்டது"</string>
+    <string name="security_settings_face_preference_summary_none" msgid="5460349732790152186">"முக அங்கீகாரத்தை அமைக்க, தட்டவும்"</string>
+    <string name="security_settings_face_preference_title" msgid="7074548721778680481">"முக அங்கீகாரம்"</string>
+    <string name="security_settings_face_enroll_introduction_cancel" msgid="4277182322482408514">"ரத்துசெய்"</string>
+    <string name="security_settings_face_enroll_introduction_title" msgid="2694505011712885439">"முகத்தின் மூலம் திறக்கலாம்"</string>
+    <string name="security_settings_face_enroll_introduction_title_unlock_disabled" msgid="8180330567034286589">"அங்கீகரிக்க, முகத்தைப் பயன்படுத்தலாம்"</string>
+    <string name="security_settings_face_enroll_introduction_message" msgid="6150611993438981458">"மொபைலைத் திறக்க, வாங்குதல்களை அங்கீகரிக்க &amp; ஆப்ஸில் உள்நுழைய, உங்கள் முகத்தைப் பயன்படுத்தலாம்."</string>
+    <string name="security_settings_face_enroll_introduction_message_unlock_disabled" msgid="6300341727101929207">"முக அங்கீகாரத்தைப் பயன்படுத்தவும்"</string>
+    <string name="security_settings_face_enroll_introduction_message_setup" msgid="5704661081718707858">"மொபைலைத் திறக்க, வாங்குதல்களை அங்கீகரிக்க &amp; ஆப்ஸில் உள்நுழைய, உங்கள் முகத்தைப் பயன்படுத்தலாம்"</string>
+    <string name="face_add_max" msgid="2342250989212694454">"<xliff:g id="COUNT">%d</xliff:g> கைரேகைகள் வரை சேர்க்கலாம்"</string>
+    <string name="face_intro_error_max" msgid="160022811747660581">"அனுமதிக்கப்பட்ட அதிகபட்ச முகங்களைச் சேர்த்துவிட்டீர்கள்"</string>
+    <string name="face_intro_error_unknown" msgid="6367721696446677261">"இனி முகங்களைச் சேர்க்க இயலாது"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"கைரேகை"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"கைரேகைகளை நிர்வகிக்கவும்"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"இதற்குப் பயன்படுத்து:"</string>
@@ -527,14 +513,12 @@
     <string name="setup_lock_settings_picker_title" product="tablet" msgid="90329443364067215">"டேப்லெட்டைப் பாதுகாக்கவும்"</string>
     <string name="setup_lock_settings_picker_title" product="device" msgid="2399952075134938929">"சாதனத்தைப் பாதுகாக்கவும்"</string>
     <string name="setup_lock_settings_picker_title" product="default" msgid="1572244299605153324">"ஃபோனைப் பாதுகாக்கவும்"</string>
-    <!-- no translation found for lock_settings_picker_biometrics_added_security_message (1507307757032207572) -->
-    <skip />
+    <string name="lock_settings_picker_biometrics_added_security_message" msgid="1507307757032207572">"கூடுதல் பாதுகாப்பிற்கு, மாற்றுத் திரைப் பூட்டை அமைக்கவும்"</string>
     <string name="setup_lock_settings_picker_message" product="tablet" msgid="8919671129189936210">"சாதனப் பாதுகாப்பு அம்சங்களைச் செயல்படுத்தினால், உங்கள் அனுமதியின்றி பிறர் இந்த டேப்லெட்டைப் பயன்படுத்த முடியாது. பயன்படுத்த விரும்பும் திரைப் பூட்டைத் தேர்வுசெய்யவும்."</string>
     <string name="setup_lock_settings_picker_message" product="device" msgid="3787276514406353777">"சாதனப் பாதுகாப்பு அம்சங்களைச் செயல்படுத்தினால், உங்கள் அனுமதியின்றி பிறர் இந்தச் சாதனத்தைப் பயன்படுத்த முடியாது. பயன்படுத்த விரும்பும் திரைப் பூட்டைத் தேர்வுசெய்யவும்."</string>
     <string name="setup_lock_settings_picker_message" product="default" msgid="3692856437543730446">"சாதனப் பாதுகாப்பு அம்சங்களைச் செயல்படுத்தினால், உங்கள் அனுமதியின்றி பிறர் உங்கள் ஃபோனைப் பயன்படுத்த முடியாது. பயன்படுத்த விரும்பும் திரைப் பூட்டைத் தேர்வுசெய்யவும்."</string>
     <string name="lock_settings_picker_fingerprint_message" msgid="4755230324778371292">"மாற்றுத் திரைப் பூட்டு முறையைத் தேர்வுசெய்க"</string>
-    <!-- no translation found for lock_settings_picker_face_message (197106534637556054) -->
-    <skip />
+    <string name="lock_settings_picker_face_message" msgid="197106534637556054">"மாற்றுத் திரைப் பூட்டு முறையைத் தேர்வுசெய்க"</string>
     <string name="setup_lock_settings_options_button_label" msgid="8511153243629402929">"திரைப் பூட்டு விருப்பங்கள்"</string>
     <string name="setup_lock_settings_options_dialog_title" msgid="5058207955455973917">"திரைப் பூட்டு விருப்பங்கள்"</string>
     <string name="unlock_set_unlock_launch_picker_title" msgid="2084576942666016993">"திரைப் பூட்டு"</string>
@@ -561,16 +545,11 @@
     <string name="fingerprint_unlock_set_unlock_password" msgid="7351131075806338634">"கைரேகை + கடவுச்சொல்"</string>
     <string name="fingerprint_unlock_skip_fingerprint" msgid="1441077909803666681">"கைரேகையின்றி தொடர்க"</string>
     <string name="fingerprint_unlock_title" msgid="2826226740306003991">"கைரேகையைப் பயன்படுத்தி மொபைலைத் திறக்கலாம். பாதுகாப்பிற்காக, இந்த விருப்பத்திற்கு மாற்று திரைப் பூட்டு அவசியம்."</string>
-    <!-- no translation found for face_unlock_set_unlock_pattern (8792301636367000123) -->
-    <skip />
-    <!-- no translation found for face_unlock_set_unlock_pin (1196620299595657479) -->
-    <skip />
-    <!-- no translation found for face_unlock_set_unlock_password (223117276773907474) -->
-    <skip />
-    <!-- no translation found for face_unlock_skip_face (6362883392838482791) -->
-    <skip />
-    <!-- no translation found for face_unlock_title (9042382084472444316) -->
-    <skip />
+    <string name="face_unlock_set_unlock_pattern" msgid="8792301636367000123">"முக அங்கீகாரம் + பேட்டர்ன்"</string>
+    <string name="face_unlock_set_unlock_pin" msgid="1196620299595657479">"முக அங்கீகாரம் + பின்"</string>
+    <string name="face_unlock_set_unlock_password" msgid="223117276773907474">"முக அங்கீகாரம் + கடவுச்சொல்"</string>
+    <string name="face_unlock_skip_face" msgid="6362883392838482791">"முக அங்கீகாரத்தைத் தவிர்த்து, தொடரவும்"</string>
+    <string name="face_unlock_title" msgid="9042382084472444316">"முகத்தைப் பயன்படுத்தி மொபைலைத் திறக்கலாம். இந்த வசதியை உபயோகிக்கும்போது, பாதுகாப்பிற்காகத் திரைப் பூட்டையும் அமைத்திருப்பது அவசியம்."</string>
     <string name="unlock_set_unlock_disabled_summary" msgid="2051593894736282302">"நிர்வாகி, என்கிரிப்ஷன் பாலிசி/நற்சான்று சேமிப்பகம் காரணமாக முடக்கப்பட்டது"</string>
     <string name="unlock_set_unlock_mode_off" msgid="5881952274566013651">"ஏதுமில்லை"</string>
     <string name="unlock_set_unlock_mode_none" msgid="8467360084676871617">"ஸ்வைப்"</string>
@@ -726,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"தேடுகிறது..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"சாதன அமைப்பு"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"இணைந்த சாதனம்"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"பெயர்"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"இணைய இணைப்பு"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"விசைப்பலகை"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"தொடர்புகளும் அழைப்பு வரலாறும்"</string>
@@ -734,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"ஃபோன் புத்தகத்தைப் பகிரவா?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"தொடர்புகளையும் அழைப்பு வரலாற்றையும் <xliff:g id="DEVICE_NAME">%1$s</xliff:g> அணுக விழைகிறது."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"புளுடூத்துடன் <xliff:g id="DEVICE_NAME">%1$s</xliff:g> இணைய விருக்கிறது. இணைக்கும் போது, உங்கள் தொடர்புகளையும் அழைப்பு வரலாற்றையும் இது அணுகும்."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"இணைக்கப்பட்ட சாதனங்கள்"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"கிடைக்கும் சாதனங்கள்"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"சாதனங்கள் இல்லை"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"இணை"</string>
@@ -1125,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"ஒளிர்வு"</string>
     <string name="brightness_summary" msgid="838917350127550703">"திரையின் ஒளிர்வைச் சரிசெய்யவும்"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"ஒளிர்வைத் தானாகச் சரிசெய்தல்"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"கிடைக்கும் ஒளிக்கேற்ப ஒளிர்வை சரிசெய்"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"ஆஃப்"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"விரும்பும் ஒளிர்வு மிகவும் குறைவாகும்"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"விரும்பும் ஒளிர்வு குறைவாகும்"</string>
@@ -1640,12 +1618,9 @@
     <string name="lockpassword_password_set_toast" msgid="4875050283108629383">"கடவுச்சொல் அமைக்கப்பட்டது"</string>
     <string name="lockpassword_pin_set_toast" msgid="6011826444725291475">"பின் அமைக்கப்பட்டது"</string>
     <string name="lockpassword_pattern_set_toast" msgid="6867259621331406236">"வடிவம் அமைக்கப்பட்டது"</string>
-    <!-- no translation found for lockpassword_choose_your_password_header_for_face (7876621019688907534) -->
-    <skip />
-    <!-- no translation found for lockpassword_choose_your_pattern_header_for_face (8070525076987585344) -->
-    <skip />
-    <!-- no translation found for lockpassword_choose_your_pin_header_for_face (7304398683609714816) -->
-    <skip />
+    <string name="lockpassword_choose_your_password_header_for_face" msgid="7876621019688907534">"முக அங்கீகாரத்துக்கு, கடவுச்சொல்லை அமை"</string>
+    <string name="lockpassword_choose_your_pattern_header_for_face" msgid="8070525076987585344">"முக அங்கீகாரத்துக்கு, பேட்டர்னை அமை"</string>
+    <string name="lockpassword_choose_your_pin_header_for_face" msgid="7304398683609714816">"முக அங்கீகாரத்துக்கு, பின்னை அமை"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="2920960858283879113">"தொடர, சாதனப் பேட்டர்னை வரையவும்"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="4062335874438910487">"தொடர, சாதனப் பின்னை உள்ளிடவும்"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="3976394862548354966">"தொடர, சாதனக் கடவுச்சொல்லை உள்ளிடவும்"</string>
@@ -3056,8 +3031,7 @@
     <string name="keywords_systemui_theme" msgid="9112852512550404882">"டார்க் தீம்"</string>
     <string name="keywords_device_feedback" msgid="564493721125966719">"பிழை"</string>
     <string name="keywords_ambient_display_screen" msgid="5874969496073249362">"சூழல்சார் திரை, லாக் ஸ்கிரீன்"</string>
-    <!-- no translation found for keywords_face_settings (7505388678116799329) -->
-    <skip />
+    <string name="keywords_face_settings" msgid="7505388678116799329">"முகம்"</string>
     <string name="keywords_fingerprint_settings" msgid="239222512315619538">"கைரேகை"</string>
     <string name="keywords_display_auto_brightness" msgid="4130320471533951796">"மங்கல் திரை, டச்ஸ்கிரீன், பேட்டரி, ஸ்மார்ட் பிரைட்னஸ், சிறப்பு ஒளிர்வு"</string>
     <string name="keywords_auto_rotate" msgid="5620879898668211494">"சுழற்று, ஃபிலிப், சுழற்சி, போர்ட்ரெய்ட், லேண்ட்ஸ்கேப், திசையமைப்பு, நீளவாக்கு, அகலவாக்கு"</string>
@@ -3475,12 +3449,9 @@
     <string name="encryption_interstitial_message_pin_for_fingerprint" msgid="4550632760119547492">"சாதனத்தைத் திறக்க கைரேகையைப் பயன்படுத்துவதுடன் சேர்த்து, பின் தேவைப்படுமாறு அமைத்து உங்கள் சாதனத்திற்குக் கூடுதல் பாதுகாப்பு வழங்கிடலாம். சாதனம் துவங்கும் வரை, அழைப்புகள், செய்திகள் அல்லது அலாரங்கள் உள்ளிட்ட அறிவிப்புகளை இதில் பெற முடியாது. \n\nஉங்கள் சாதனம் தொலைந்து போனாலோ திருடப்பட்டாலோ, அதில் உள்ள உங்கள் டேட்டாவைப் பாதுகாக்க இதைக் கடைபிடிக்கலாம். சாதனத்தைத் தொடங்கும் போது, பின்னைக் கேட்பதை அமைக்கவா?"</string>
     <string name="encryption_interstitial_message_pattern_for_fingerprint" msgid="932184823193006087">"சாதனத்தைத் திறக்க கைரேகையைப் பயன்படுத்துவதுடன் சேர்த்து, வடிவம் தேவைப்படுமாறு அமைத்து உங்கள் சாதனத்திற்குக் கூடுதல் பாதுகாப்பு வழங்கிடலாம். சாதனம் துவங்கும் வரை, அழைப்புகள், செய்திகள் அல்லது அலாரங்கள் உள்ளிட்ட அறிவிப்புகளை இதில் பெற முடியாது. \n\nஉங்கள் சாதனம் தொலைந்து போனாலோ திருடப்பட்டாலோ, அதில் உள்ள உங்கள் டேட்டாவைப் பாதுகாக்க இதைக் கடைபிடிக்கலாம். சாதனத்தைத் தொடங்கும் போது, பேட்டர்னைக் கேட்பதை அமைக்கவா?"</string>
     <string name="encryption_interstitial_message_password_for_fingerprint" msgid="5560954719370251702">"சாதனத்தைத் திறக்க கைரேகையைப் பயன்படுத்துவதுடன் சேர்த்து, கடவுச்சொல் தேவைப்படுமாறு அமைத்து உங்கள் சாதனத்திற்குக் கூடுதல் பாதுகாப்பு வழங்கிடலாம். சாதனம் தொடங்கும் வரை, அழைப்புகள், செய்திகள் அல்லது அலாரங்கள் உள்ளிட்ட அறிவிப்புகளை இதில் பெற முடியாது. \n\nஉங்கள் சாதனம் தொலைந்து போனாலோ திருடப்பட்டாலோ, அதில் உள்ள உங்கள் டேட்டாவைப் பாதுகாக்க இதைக் கடைபிடிக்கலாம். சாதனத்தைத் தொடங்கும் போது, கடவுச்சொல்லைக் கேட்பதை அமைக்கவா?"</string>
-    <!-- no translation found for encryption_interstitial_message_pin_for_face (2017438765366716760) -->
-    <skip />
-    <!-- no translation found for encryption_interstitial_message_pattern_for_face (3551827507967661552) -->
-    <skip />
-    <!-- no translation found for encryption_interstitial_message_password_for_face (3452793542112093614) -->
-    <skip />
+    <string name="encryption_interstitial_message_pin_for_face" msgid="2017438765366716760">"சாதனத்தைத் திறப்பதற்கு உங்கள் முகத்தைப் பயன்படுத்துவது மட்டுமல்லாமல், சாதனம் தொடங்கும் முன்பாக, பின்னை உள்ளிடும்படி அமைத்து, கூடுதல் பாதுகாப்பை வழங்கலாம். சாதனம் தொடங்கும்வரை, அழைப்புகள், மெசேஜ்கள், அலாரங்கள் உள்ளிட்ட எவற்றையும் சாதனத்தால் பெற இயலாது.\n\nசாதனம் தொலைந்துவிட்டாலோ திருடப்பட்டாலோ, அதிலுள்ள தரவைப் பாதுகாக்க இது உதவும். சாதனத்தைத் தொடங்கும்போது கடவுச்சொல்லைக் கேட்குமாறு அமைக்கவா?"</string>
+    <string name="encryption_interstitial_message_pattern_for_face" msgid="3551827507967661552">"சாதனத்தைத் திறப்பதற்கு உங்கள் முகத்தைப் பயன்படுத்துவது மட்டுமல்லாமல், சாதனம் தொடங்கும் முன்பாக, பேட்டர்னை உள்ளிடும்படி அமைத்து, கூடுதல் பாதுகாப்பை வழங்கலாம். சாதனம் தொடங்கும்வரை, அழைப்புகள், மெசேஜ்கள், அலாரங்கள் உள்ளிட்ட எவற்றையும் சாதனத்தால் பெற இயலாது. \n\nசாதனம் தொலைந்துவிட்டாலோ திருடப்பட்டாலோ, அதிலுள்ள தரவைப் பாதுகாக்க இது உதவும். சாதனத்தைத் தொடங்கும்போது கடவுச்சொல்லைக் கேட்குமாறு அமைக்கவா?"</string>
+    <string name="encryption_interstitial_message_password_for_face" msgid="3452793542112093614">"சாதனத்தைத் திறப்பதற்கு உங்கள் முகத்தைப் பயன்படுத்துவது மட்டுமல்லாமல், சாதனம் தொடங்கும் முன்பாக, கடவுச்சொல்லை உள்ளிடும்படி அமைத்து, கூடுதல் பாதுகாப்பை வழங்கலாம். சாதனம் தொடங்கும்வரை, அழைப்புகள், மெசேஜ்கள், அலாரங்கள் உள்ளிட்ட எவற்றையும் சாதனத்தால் பெற இயலாது. \n\nசாதனம் தொலைந்துவிட்டாலோ திருடப்பட்டாலோ, அதிலுள்ள தரவைப் பாதுகாக்க இது உதவும். சாதனத்தைத் தொடங்கும்போது கடவுச்சொல்லைக் கேட்குமாறு அமைக்கவா?"</string>
     <string name="encryption_interstitial_yes" msgid="4439509435889513411">"ஆம்"</string>
     <string name="encryption_interstitial_no" msgid="8935031349097025137">"வேண்டாம்"</string>
     <string name="restricted_true_label" msgid="4761453839409220473">"கட்டுப்படுத்தியது"</string>
@@ -4145,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"தன்னிரப்பிச் சேவை"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"தானாக, நிரப்பு, தானாக நிரப்பு, தன்னிரப்பி"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;இந்தப் பயன்பாட்டை நம்புகிறீர்கள் என்பதை உறுதிப்படுத்திக்கொள்ளவும்&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; உங்கள் திரையில் இருப்பதைப் பயன்படுத்தி, எவற்றையெல்லாம் தன்னிரப்ப முடியும் என்பதைத் தீர்மானிக்கும்."</string>
-    <string name="color_theme" msgid="1535685696756738324">"கலர் தீம்"</string>
-    <string name="default_theme" msgid="7085644992078579076">"இயல்பு"</string>
     <string name="device_theme" msgid="4571803018917608588">"சாதனத்தின் தீம்"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"தானியங்கு தீம் (வால்பேப்பர் அடிப்படையில்)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"லைட்"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"டார்க்"</string>
+    <string name="default_theme" msgid="7085644992078579076">"இயல்பு"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"நெட்வொர்க் பெயர்"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"நிலைப் பட்டியில் நெட்வொர்க் பெயரைக் காட்டு"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"சேமிப்பக நிர்வாகி: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-te/arrays.xml b/res/values-te/arrays.xml
index db44e50..3aa71ff 100644
--- a/res/values-te/arrays.xml
+++ b/res/values-te/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"ఎల్లప్పుడూ ఆన్ చేయి"</item>
     <item msgid="6385301106124765323">"ఎల్లప్పుడూ ఆఫ్‌ చేయి"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index 696f00c..33a4830 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"పరికరం యొక్క బ్లూటూత్ చిరునామా: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>ను డిస్‌కనెక్ట్ చేయాలా?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"ప్రసారం"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"ప్రొఫైల్‌ను నిలిపివేయాలా?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"ఇందువల్ల ఇది నిలిపివేయబడుతుంది:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;దీని నుండి:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"పేరులేని బ్లూటూత్ పరికరం"</string>
     <string name="progress_scanning" msgid="192587958424295789">"శోధించడం"</string>
@@ -392,30 +390,18 @@
     <string name="security_status_title" msgid="5848766673665944640">"భద్రత స్థితి"</string>
     <string name="security_dashboard_summary" msgid="6757421634477554939">"స్క్రీన్ లాక్, వేలిముద్ర"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="8129641548372335540">"స్క్రీన్ లాక్"</string>
-    <!-- no translation found for security_settings_face_preference_summary (1290187225482642821) -->
-    <skip />
-    <!-- no translation found for security_settings_face_preference_summary_none (5460349732790152186) -->
-    <skip />
-    <!-- no translation found for security_settings_face_preference_title (7074548721778680481) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_cancel (4277182322482408514) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_title (2694505011712885439) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_title_unlock_disabled (8180330567034286589) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_message (6150611993438981458) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_message_unlock_disabled (6300341727101929207) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_message_setup (5704661081718707858) -->
-    <skip />
-    <!-- no translation found for face_add_max (2342250989212694454) -->
-    <skip />
-    <!-- no translation found for face_intro_error_max (160022811747660581) -->
-    <skip />
-    <!-- no translation found for face_intro_error_unknown (6367721696446677261) -->
-    <skip />
+    <string name="security_settings_face_preference_summary" msgid="1290187225482642821">"ముఖం జోడించబడింది"</string>
+    <string name="security_settings_face_preference_summary_none" msgid="5460349732790152186">"ముఖ ప్రామాణీకరణ‌ను సెటప్ చేయడానికి నొక్కండి"</string>
+    <string name="security_settings_face_preference_title" msgid="7074548721778680481">"ముఖ ప్రామాణీకరణ"</string>
+    <string name="security_settings_face_enroll_introduction_cancel" msgid="4277182322482408514">"రద్దు చేయి"</string>
+    <string name="security_settings_face_enroll_introduction_title" msgid="2694505011712885439">"మీ ముఖంతో అన్‌లాక్ చేయండి"</string>
+    <string name="security_settings_face_enroll_introduction_title_unlock_disabled" msgid="8180330567034286589">"ప్రమాణీకరించడానికి మీ ముఖాన్ని ఉపయోగించండి"</string>
+    <string name="security_settings_face_enroll_introduction_message" msgid="6150611993438981458">"మీ ఫోన్‌ను అన్‌లాక్ చేయడానికి, కొనుగోళ్లను ప్రమాణీకరించడానికి లేదా యాప్‌లలోకి సైన్-ఇన్ చేయడానికి మీ ముఖాన్ని ఉపయోగించండి."</string>
+    <string name="security_settings_face_enroll_introduction_message_unlock_disabled" msgid="6300341727101929207">"మిమ్మల్ని ఉపయోగించుకోండి"</string>
+    <string name="security_settings_face_enroll_introduction_message_setup" msgid="5704661081718707858">"మీ ఫోన్‌ను అన్‌లాక్ చేయడానికి, కొనుగోళ్లను ప్రమాణీకరించడానికి లేదా యాప్‌లలోకి సైన్-ఇన్ చేయడానికి మీ ముఖాన్ని ఉపయోగించండి"</string>
+    <string name="face_add_max" msgid="2342250989212694454">"మీరు <xliff:g id="COUNT">%d</xliff:g> వరకు వేలిముద్రలను జోడించవచ్చు"</string>
+    <string name="face_intro_error_max" msgid="160022811747660581">"మీరు గరిష్ట సంఖ్యలో ముఖాలను జోడించారు"</string>
+    <string name="face_intro_error_unknown" msgid="6367721696446677261">"మరిన్ని ముఖాలను జోడించడం సాధ్యపడదు"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"వేలిముద్ర"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"వేలిముద్రలు నిర్వహిం."</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"దీనికి వేలిముద్రను ఉప."</string>
@@ -527,14 +513,12 @@
     <string name="setup_lock_settings_picker_title" product="tablet" msgid="90329443364067215">"మీ టాబ్లెట్ రక్షించుకోండి"</string>
     <string name="setup_lock_settings_picker_title" product="device" msgid="2399952075134938929">"మీ పరికరం రక్షించుకోండి"</string>
     <string name="setup_lock_settings_picker_title" product="default" msgid="1572244299605153324">"మీ ఫోన్‌ను రక్షించుకోండి"</string>
-    <!-- no translation found for lock_settings_picker_biometrics_added_security_message (1507307757032207572) -->
-    <skip />
+    <string name="lock_settings_picker_biometrics_added_security_message" msgid="1507307757032207572">"అదనపు భద్రత కోసం, బ్యాకప్ స్క్రీన్ లాక్‌ను సెట్ చేయండి"</string>
     <string name="setup_lock_settings_picker_message" product="tablet" msgid="8919671129189936210">"పరికర సంరక్షణ లక్షణాలను సక్రియం చేయడం ద్వారా మీ అనుమతి లేకుండా ఈ టాబ్లెట్‌ను ఉపయోగించనీయకుండా ఇతరులను నిరోధించండి. మీరు ఉపయోగించాలనుకుంటున్న స్క్రీన్ లాక్‌ను ఎంచుకోండి."</string>
     <string name="setup_lock_settings_picker_message" product="device" msgid="3787276514406353777">"పరికర సంరక్షణ లక్షణాలను సక్రియం చేయడం ద్వారా మీ అనుమతి లేకుండా ఈ పరికరాన్ని ఉపయోగించనీయకుండా ఇతరులను నిరోధించండి. మీరు ఉపయోగించాలనుకుంటున్న స్క్రీన్ లాక్‌ను ఎంచుకోండి."</string>
     <string name="setup_lock_settings_picker_message" product="default" msgid="3692856437543730446">"పరికర సంరక్షణ లక్షణాలను సక్రియం చేయడం ద్వారా మీ అనుమతి లేకుండా ఈ ఫోన్‌ను ఉపయోగించనీయకుండా ఇతరులను నిరోధించండి. మీరు ఉపయోగించాలనుకుంటున్న స్క్రీన్ లాక్‌ను ఎంచుకోండి."</string>
     <string name="lock_settings_picker_fingerprint_message" msgid="4755230324778371292">"మీ బ్యాకప్ స్క్రీన్ లాక్ పద్ధతిని ఎంచుకోండి"</string>
-    <!-- no translation found for lock_settings_picker_face_message (197106534637556054) -->
-    <skip />
+    <string name="lock_settings_picker_face_message" msgid="197106534637556054">"మీ బ్యాకప్ స్క్రీన్ లాక్ పద్ధతిని ఎంచుకోండి"</string>
     <string name="setup_lock_settings_options_button_label" msgid="8511153243629402929">"స్క్రీన్ లాక్ ఎంపికలు"</string>
     <string name="setup_lock_settings_options_dialog_title" msgid="5058207955455973917">"స్క్రీన్ లాక్ ఎంపికలు"</string>
     <string name="unlock_set_unlock_launch_picker_title" msgid="2084576942666016993">"స్క్రీన్ లాక్"</string>
@@ -561,16 +545,11 @@
     <string name="fingerprint_unlock_set_unlock_password" msgid="7351131075806338634">"వేలిముద్ర + పాస్‌వర్డ్"</string>
     <string name="fingerprint_unlock_skip_fingerprint" msgid="1441077909803666681">"వేలిముద్ర లేకుండా కొనసాగండి"</string>
     <string name="fingerprint_unlock_title" msgid="2826226740306003991">"మీరు మీ వేలిముద్రను ఉపయోగించి మీ ఫోన్‌ను అన్‌లాక్ చేయవచ్చు. భద్రత కోసం, ఈ ఎంపికకు బ్యాకప్ స్క్రీన్ లాక్ అవసరం."</string>
-    <!-- no translation found for face_unlock_set_unlock_pattern (8792301636367000123) -->
-    <skip />
-    <!-- no translation found for face_unlock_set_unlock_pin (1196620299595657479) -->
-    <skip />
-    <!-- no translation found for face_unlock_set_unlock_password (223117276773907474) -->
-    <skip />
-    <!-- no translation found for face_unlock_skip_face (6362883392838482791) -->
-    <skip />
-    <!-- no translation found for face_unlock_title (9042382084472444316) -->
-    <skip />
+    <string name="face_unlock_set_unlock_pattern" msgid="8792301636367000123">"ముఖ ప్రామాణీకరణ + నమూనా"</string>
+    <string name="face_unlock_set_unlock_pin" msgid="1196620299595657479">"ముఖ ప్రామాణీకరణ + పిన్"</string>
+    <string name="face_unlock_set_unlock_password" msgid="223117276773907474">"ముఖ ప్రామాణీకరణ + పాస్‌వర్డ్‌"</string>
+    <string name="face_unlock_skip_face" msgid="6362883392838482791">"ముఖ ప్రామాణీకరణ లేకుండా కొనసాగించండి"</string>
+    <string name="face_unlock_title" msgid="9042382084472444316">"మీరు మీ ముఖాన్ని ఉపయోగించి మీ ఫోన్‌ను అన్‌లాక్ చేయవచ్చు. భద్రత కోసం, ఈ ఎంపికకు బ్యాకప్ స్క్రీన్ లాక్ అవసరం."</string>
     <string name="unlock_set_unlock_disabled_summary" msgid="2051593894736282302">"నిర్వాహకులు, ఎన్‌క్రిప్షన్ విధానం లేదా ఆధారాల నిల్వ ద్వారా నిలిపివేయబడింది"</string>
     <string name="unlock_set_unlock_mode_off" msgid="5881952274566013651">"ఏదీ వద్దు"</string>
     <string name="unlock_set_unlock_mode_none" msgid="8467360084676871617">"స్వైప్"</string>
@@ -726,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"శోధిస్తోంది..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"పరికర సెట్టింగ్‌లు"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"జత చేసిన పరికరం"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"పేరు"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"ఇంటర్నెట్ కనెక్షన్"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"కీబోర్డ్"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"పరిచయాలు మరియు కాల్ చరిత్ర"</string>
@@ -734,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"ఫోన్ పుస్తకాన్ని భాగస్వామ్యం చేయాలా?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> మీ పరిచయాలను మరియు కాల్ చరిత్రను యాక్సెస్ చేయాలనుకుంటోంది."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> బ్లూటూత్‌తో జత చేయాలనుకుంటోంది. కనెక్ట్ చేసినప్పుడు, ఇది మీ పరిచయాలు మరియు కాల్ చరిత్రకి ప్రాప్యతని కలిగి ఉంటుంది."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"జత చేసిన పరికరాలు"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"అందుబాటులో ఉన్న పరికరాలు"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"పరికరాలు ఏవీ అందుబాటులో లేవు"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"కనెక్ట్ చేయి"</string>
@@ -1125,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"ప్రకాశం"</string>
     <string name="brightness_summary" msgid="838917350127550703">"స్క్రీన్ ప్రకాశాన్ని సర్దుబాటు చేయండి"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"అనుకూల ప్రకాశం"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"అందుబాటులో ఉన్న కాంతికి ప్రకాశం స్థాయిని అనుకూలీకరించండి"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"ఆఫ్"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"ప్రాధాన్య ప్రకాశం చాలా తక్కువకు ఉంచబడింది"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"ప్రాధాన్య ప్రకాశం తక్కువకు ఉంచబడింది"</string>
@@ -1640,12 +1618,9 @@
     <string name="lockpassword_password_set_toast" msgid="4875050283108629383">"పాస్‌వర్డ్ సెట్ చేయబడింది"</string>
     <string name="lockpassword_pin_set_toast" msgid="6011826444725291475">"పిన్‌ సెట్ చేయబడింది"</string>
     <string name="lockpassword_pattern_set_toast" msgid="6867259621331406236">"ఆకృతి సెట్ చేయబడింది"</string>
-    <!-- no translation found for lockpassword_choose_your_password_header_for_face (7876621019688907534) -->
-    <skip />
-    <!-- no translation found for lockpassword_choose_your_pattern_header_for_face (8070525076987585344) -->
-    <skip />
-    <!-- no translation found for lockpassword_choose_your_pin_header_for_face (7304398683609714816) -->
-    <skip />
+    <string name="lockpassword_choose_your_password_header_for_face" msgid="7876621019688907534">"ముఖ ప్రామాణీకరణను ఉపయోగించడానికి, పాస్‌వర్డ్‌‌ను సెట్ చేయండి"</string>
+    <string name="lockpassword_choose_your_pattern_header_for_face" msgid="8070525076987585344">"ముఖ ప్రామాణీకరణను ఉపయోగించడానికి, నమూనాను సెట్ చేయండి"</string>
+    <string name="lockpassword_choose_your_pin_header_for_face" msgid="7304398683609714816">"ముఖ ప్రామాణీకరణను ఉపయోగించడానికి, పిన్‌ను సెట్ చేయండి"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="2920960858283879113">"కొనసాగడానికి మీ పరికరం నమూనాను ఉపయోగించండి"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="4062335874438910487">"కొనసాగడానికి మీ డివైజ్ పిన్‌ను నమోదు చేయండి"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="3976394862548354966">"కొనసాగడానికి మీ పరికర పాస్‌వర్డ్‌ను నమోదు చేయండి"</string>
@@ -3056,8 +3031,7 @@
     <string name="keywords_systemui_theme" msgid="9112852512550404882">"ముదురు రంగు థీమ్"</string>
     <string name="keywords_device_feedback" msgid="564493721125966719">"బగ్"</string>
     <string name="keywords_ambient_display_screen" msgid="5874969496073249362">"విస్తార ప్రదర్శన, లాక్ స్క్రీన్ ప్రదర్శన"</string>
-    <!-- no translation found for keywords_face_settings (7505388678116799329) -->
-    <skip />
+    <string name="keywords_face_settings" msgid="7505388678116799329">"ముఖం"</string>
     <string name="keywords_fingerprint_settings" msgid="239222512315619538">"వేలిముద్ర"</string>
     <string name="keywords_display_auto_brightness" msgid="4130320471533951796">"కాంతిహీన స్క్రీన్, టచ్‌స్క్రీన్, బ్యాటరీ, స్మార్ట్ ప్రకాశం, గతిశీల ప్రకాశం"</string>
     <string name="keywords_auto_rotate" msgid="5620879898668211494">"తిప్పండి, తిప్పు, పరిభ్రమణం, పోర్ట్రెయిట్, ల్యాండ్‌స్కేప్, ఓరియంటేషన్, నిలువు, అడ్డం"</string>
@@ -3476,12 +3450,10 @@
     <string name="encryption_interstitial_message_pin_for_fingerprint" msgid="4550632760119547492">"మీ డివైజ్‌ను అన్‌లాక్ చేయడానికి మీ వేలిముద్రను ఉపయోగించడంతో పాటు, దీనిని ప్రారంభించిన వెంటనే మీ పిన్‌ని అడిగే విధంగా సెట్ చేయడం ద్వారా మీరు దీనికి అదనపు రక్షణను అందించవచ్చు. డివైజ్‌ను ప్రారంభించే వరకు, అది అలారాలతో సహా కాల్‌లు, సందేశాలు లేదా నోటిఫికేషన్‌లను స్వీకరించదు. \n\nకోల్పోయిన లేదా దొంగిలించబడిన డివైజ్‌లలో ఉన్న డేటాని రక్షించడంలో ఇది సహాయపడుతుంది. మీ డివైజ్‌ను ప్రారంభించడం కోసం పిన్‌ని అడగాలా&amp;gt;"</string>
     <string name="encryption_interstitial_message_pattern_for_fingerprint" msgid="932184823193006087">"మీ పరికరాన్ని అన్‌లాక్ చేయడానికి మీ వేలిముద్రను ఉపయోగించడంతో పాటు, దీనిని ప్రారంభించిన వెంటనే మీ నమూనాని అడిగే విధంగా సెట్ చేయడం ద్వారా మీరు దీనికి అదనపు రక్షణను అందించవచ్చు. పరికరాన్ని ప్రారంభించే వరకు, అది అలారాలతో సహా కాల్‌లు, సందేశాలు లేదా నోటిఫికేషన్‌లను స్వీకరించదు. \n\nకోల్పోయిన లేదా దొంగిలించబడిన పరికరాలలో ఉన్న డేటాని రక్షించడంలో ఇది సహాయపడుతుంది. మీ పరికరాన్ని ప్రారంభించడం కోసం నమూనాని అడగాలా?"</string>
     <string name="encryption_interstitial_message_password_for_fingerprint" msgid="5560954719370251702">"మీ పరికరాన్ని అన్‌లాక్ చేయడానికి మీ వేలిముద్రను ఉపయోగించడంతో పాటు, దీనిని ప్రారంభించిన వెంటనే మీ పాస్‌వర్డ్‌ని అడిగే విధంగా సెట్ చేయడం ద్వారా మీరు దీనికి అదనపు రక్షణను అందించవచ్చు. పరికరాన్ని ప్రారంభించే వరకు, అది అలారాలతో సహా కాల్‌లు, సందేశాలు లేదా నోటిఫికేషన్‌లను స్వీకరించదు. \n\nకోల్పోయిన లేదా దొంగిలించబడిన పరికరాలలో ఉన్న డేటాని రక్షించడంలో ఇది సహాయపడుతుంది. మీ పరికరాన్ని ప్రారంభించడం కోసం పాస్‌వర్డ్‌ని అడగాలా?"</string>
-    <!-- no translation found for encryption_interstitial_message_pin_for_face (2017438765366716760) -->
-    <skip />
-    <!-- no translation found for encryption_interstitial_message_pattern_for_face (3551827507967661552) -->
-    <skip />
-    <!-- no translation found for encryption_interstitial_message_password_for_face (3452793542112093614) -->
-    <skip />
+    <!-- unknown quoting pattern: original -1, translation 1 -->
+    <string name="encryption_interstitial_message_pin_for_face" msgid="2017438765366716760">"మీ పరికరాన్ని అన్‌లాక్ చేయడానికి మీ ముఖాన్ని ఉపయోగించడంతో పాటు, మీరు ఈ పరికరం ప్రారంభం కావడానికి ముందే మీ పిన్‌ను అడిగేలా చేసి దాన్ని మరింత కాపాడుకోవచ్చు. పరికరాన్ని ప్రారంభించే వరకు, అలారాలతో సహా ,కాల్‌లు, సందేశాలు లేదా నోటిఫికేషన్‌లను స్వీకరించదు.\n\nఇది కోల్పోయిన లేదా దొంగలించబడిన పరికరాల డేటాను రక్షించడంలో సహాయపడుతుంది. మీ పరికరాన్ని ప్రారంభించడానికి పిన్ అవసరమా?&amp;gt;"</string>
+    <string name="encryption_interstitial_message_pattern_for_face" msgid="3551827507967661552">"మీ పరికరాన్ని అన్‌లాక్ చేయడానికి మీ ముఖాన్ని ఉపయోగించడంతో పాటు, మీరు ఈ పరికరం ప్రారంభం కావడానికి ముందే మీ నమూనాను అడిగేలా చేసి దాన్ని మరింత కాపాడుకోవచ్చు. పరికరాన్ని ప్రారంభించే వరకు, అలారాలతో సహా ,కాల్‌లు, సందేశాలు లేదా నోటిఫికేషన్‌లను స్వీకరించదు.\n\nఇది కోల్పోయిన లేదా దొంగలించబడిన పరికరాల డేటాను రక్షించడంలో సహాయపడుతుంది. మీ పరికరాన్ని ప్రారంభించడానికి నమూనా అవసరమా?"</string>
+    <string name="encryption_interstitial_message_password_for_face" msgid="3452793542112093614">"మీ పరికరాన్ని అన్‌లాక్ చేయడానికి మీ ముఖాన్ని ఉపయోగించడంతో పాటు, మీరు ఈ పరికరం ప్రారంభం కావడానికి ముందే మీ పాస్‌వర్డ్‌ను అడిగేలా చేసి దాన్ని మరింత కాపాడుకోవచ్చు. పరికరాన్ని ప్రారంభించే వరకు, అలారాలతో సహా ,కాల్‌లు, సందేశాలు లేదా నోటిఫికేషన్‌లను స్వీకరించదు.\n\nఇది కోల్పోయిన లేదా దొంగలించబడిన పరికరాల డేటాను రక్షించడంలో సహాయపడుతుంది. మీ పరికరాన్ని ప్రారంభించడానికి పాస్‌వర్డ్‌ అవసరమా?"</string>
     <string name="encryption_interstitial_yes" msgid="4439509435889513411">"అవును"</string>
     <string name="encryption_interstitial_no" msgid="8935031349097025137">"వద్దు"</string>
     <string name="restricted_true_label" msgid="4761453839409220473">"నియంత్రించబడింది"</string>
@@ -4146,12 +4118,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"స్వీయ పూరింపు సేవ"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"స్వయంచాలకం, పూరించు, స్వీయ పూరింపు"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;ఈ యాప్‌ను మీరు విశ్వసిస్తున్నట్లు నిర్ధారించండి&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; మీ స్క్రీన్‌పై ఉన్నవాటిని పరిగణనలోకి తీసుకొని వేటిని ఆటోమేటిక్‌గా పూరించాలో నిశ్చయిస్తుంది."</string>
-    <string name="color_theme" msgid="1535685696756738324">"రంగు థీమ్"</string>
-    <string name="default_theme" msgid="7085644992078579076">"డిఫాల్ట్"</string>
     <string name="device_theme" msgid="4571803018917608588">"పరికర థీమ్"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"ఆటోమేటిక్ (వాల్‌పేపర్ ఆధారంగా)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"లేత రంగు"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"ముదురు రంగు"</string>
+    <string name="default_theme" msgid="7085644992078579076">"డిఫాల్ట్"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"నెట్‌వర్క్ పేరు"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"స్థితి పట్టీలో నెట్‌వర్క్ పేరును ప్రదర్శిస్తుంది"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"నిల్వ నిర్వాహికి: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-th/arrays.xml b/res/values-th/arrays.xml
index c9dddfc..a37d5c7 100644
--- a/res/values-th/arrays.xml
+++ b/res/values-th/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"เปิดอยู่เสมอ"</item>
     <item msgid="6385301106124765323">"ปิดอยู่เสมอ"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index a572eb3..35750cb 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"ที่อยู่บลูทูธของอุปกรณ์: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"ยกเลิกการเชื่อมต่อ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ใช่ไหม"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"การแพร่สัญญาณ"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"ปิดใช้งานโปรไฟล์หรือไม่"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"การดำเนินการนี้จะปิดใช้งาน:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;จาก:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"อุปกรณ์บลูทูธที่ไม่มีชื่อ"</string>
     <string name="progress_scanning" msgid="192587958424295789">"กำลังค้นหา"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"กำลังค้นหา..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"การตั้งค่าอุปกรณ์"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"อุปกรณ์ที่จับคู่แล้ว"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"ชื่อ"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"การเชื่อมต่ออินเทอร์เน็ต"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"แป้นพิมพ์"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"รายชื่อติดต่อและประวัติการโทร"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"แชร์สมุดโทรศัพท์ใช่ไหม"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ต้องการเข้าถึงรายชื่อติดต่อและประวัติการโทร"</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ต้องการจับคู่ผ่านบลูทูธ เมื่อเชื่อมต่อแล้วจะสามารถเข้าถึงรายชื่อติดต่อและประวัติการโทรของคุณได้"</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"อุปกรณ์ที่จับคู่"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"อุปกรณ์ที่ใช้ได้"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"ไม่พบอุปกรณ์"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"เชื่อมต่อ"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"ความสว่าง"</string>
     <string name="brightness_summary" msgid="838917350127550703">"ปรับความสว่างหน้าจอ"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"ปรับความสว่างอัตโนมัติ"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"ปรับระดับความสว่างให้เหมาะกับแสง"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"ปิด"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"ต้องการความสว่างต่ำมาก"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"ต้องการความสว่างต่ำ"</string>
@@ -4119,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"บริการป้อนอัตโนมัติ"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"ป้อน, อัตโนมัติ, ป้อนอัตโนมัติ"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;ตรวจดูว่าคุณเชื่อถือแอปนี้ได้&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google ป้อนอัตโนมัติ&gt;%1$s&lt;/xliff:g&gt; ใช้สิ่งที่อยู่บนหน้าจอเพื่อดูว่าจะป้อนข้อมูลใดโดยอัตโนมัติได้บ้าง"</string>
-    <string name="color_theme" msgid="1535685696756738324">"ธีมสี"</string>
-    <string name="default_theme" msgid="7085644992078579076">"ค่าเริ่มต้น"</string>
     <string name="device_theme" msgid="4571803018917608588">"ธีมอุปกรณ์"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"อัตโนมัติ (ขึ้นอยู่กับวอลล์เปเปอร์)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"สว่าง"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"มืด"</string>
+    <string name="default_theme" msgid="7085644992078579076">"ค่าเริ่มต้น"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"ชื่อเครือข่าย"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"แสดงชื่อเครือข่ายในแถบสถานะ"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"ตัวจัดการพื้นที่เก็บข้อมูล: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-tl/arrays.xml b/res/values-tl/arrays.xml
index 0f8e983..54053bd 100644
--- a/res/values-tl/arrays.xml
+++ b/res/values-tl/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Palaging naka-on"</item>
     <item msgid="6385301106124765323">"Palaging naka-off"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 1f88336..0e22b28 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Bluetooth address ng device: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"I-disconnect ang <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Pagbo-broadcast"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Huwag paganahin ang profile?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Hindi nito papaganahin ang:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;Mula:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Walang pangalang Bluetooth na device"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Naghahanap"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Naghahanap…"</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Mga setting ng device"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Nakapares na device"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Pangalan"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Koneksyon sa internet"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Keyboard"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Mga contact at history ng tawag"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Ibahagi ang phone book?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"Gustong i-access ng <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ang iyong mga contact at history ng tawag."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"Gusto mag-pair ng <xliff:g id="DEVICE_NAME">%1$s</xliff:g> sa Bluetooth. Kapag konektado, magkaka-access ito sa contact at history ng tawag."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Mga nakapares na device"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Mga available na device"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Walang available na mga device"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Kumonekta"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Brightness"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Ayusin ang liwanag ng screen"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Adaptive brightness"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"I-optimize ang antas ng brightness para sa available na ilaw"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Naka-off"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Napakadilim ang gustong liwanag"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Mababa ang gustong liwanag"</string>
@@ -4119,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Serbisyo ng autofill"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"awtomatiko, punan, autofill"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Tiyaking pinagkakatiwalaan mo ang app na ito&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Ginagamit ng &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; ang nasa iyong screen para matukoy kung ano ang pwedeng i-autofill."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Tema ng kulay"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Default"</string>
     <string name="device_theme" msgid="4571803018917608588">"Tema ng device"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Awtomatiko (batay sa wallpaper)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Maliwanag"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Madilim"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Default"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Pangalan ng network"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Ipakita ang pangalan ng network sa status bar"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Manger ng Storage: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-tr/arrays.xml b/res/values-tr/arrays.xml
index 4f604b0..301a852 100644
--- a/res/values-tr/arrays.xml
+++ b/res/values-tr/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Her zaman açık"</item>
     <item msgid="6385301106124765323">"Her zaman kapalı"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index e1840b8..b2f1cff 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Cihazın Bluetooth adresi: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> bağlantısı kesilsin mi?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Yayınlama"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Profil devre dışı bırakılsın mı?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Şu devre dışı bırakılacak:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;Şu cihazdan:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Adsız Bluetooth cihazı"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Arıyor"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Arıyor…"</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Cihaz ayarları"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Eşlenen cihaz"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Ad"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"İnternet bağlantısı"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Klavye"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Kişiler ve çağrı geçmişi"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Telefon rehberi paylaşılsın mı?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>, rehberinize ve çağrı geçmişinize erişmek istiyor."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>, Bluetooth ile eşlenmek istiyor. Bağlantı kurulduğunda, kişilerinize ve çağrı geçmişinize erişebilecek."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Eşlenen cihazlar"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Kullanılabilir cihazlar"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Kullanılabilir cihaz yok"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Bağlan"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Parlaklık"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Ekranın parlaklığını ayarla"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Uyarlanan parlaklık"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Parlaklık düzeyini mevcut ışık koşullarına göre ayarla"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Kapalı"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Tercih ettiğiniz parlaklık çok düşük"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Tercih ettiğiniz parlaklık düşük"</string>
@@ -4119,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Otomatik doldurma hizmeti"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"otomatik, doldur, otomatik doldur"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Bu uygulamaya güvendiğinizden emin olun&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Otomatik Doldurma&gt;%1$s&lt;/xliff:g&gt; otomatik doldurulabilecek öğeleri belirlemek için ekranınızdaki bilgileri kullanır."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Renk teması"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Varsayılan"</string>
     <string name="device_theme" msgid="4571803018917608588">"Cihaz teması"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Otomatik (duvar kağıdına göre)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Açık"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Koyu"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Varsayılan"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Ağ adı"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Ağ adını durum çubuğunda göster"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Depolama Yöneticisi: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-uk/arrays.xml b/res/values-uk/arrays.xml
index 191b073..929294e 100644
--- a/res/values-uk/arrays.xml
+++ b/res/values-uk/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Завжди ввімкнено"</item>
     <item msgid="6385301106124765323">"Завжди вимкнено"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index e393567..048ef7c 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -123,8 +123,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Адреса Bluetooth пристрою: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"Відключити пристрій <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Трансляція"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Вимкнути профіль?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Це вимкне профіль: &lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;З пристрою:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Пристрій Bluetooth без імені"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Пошук"</string>
@@ -737,7 +735,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Пошук..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Налаштування пристрою"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Підключений пристрій"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Назва"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"З’єднання з Інтернетом"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Клавіатура"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Контакти й історія дзвінків"</string>
@@ -745,7 +742,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Надати доступ до телефонної книги?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"Пристрій <xliff:g id="DEVICE_NAME">%1$s</xliff:g> хоче отримати доступ до ваших контактів та історії викликів."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"Пристрій <xliff:g id="DEVICE_NAME">%1$s</xliff:g> хоче підключитися до Bluetooth. Він отримає доступ до ваших контактів та історії дзвінків."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Підключені пристрої"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Доступні пристрої"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Немає пристроїв"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Підключити"</string>
@@ -1138,7 +1134,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Яскравість"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Налаштуйте яскравість екрана"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Адаптивна яскравість"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Оптимізація рівня яскравості з урахуванням умов освітлення"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Вимкнено"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Вибрано дуже низьку яскравість"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Вибрано низьку яскравість"</string>
@@ -4265,12 +4262,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Автозаповнення"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"автоматично, заповнювати, автозаповнення"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Переконайтеся, що додаток надійний&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Функція Автозаповнення Google&gt;%1$s&lt;/xliff:g&gt; використовує інформацію на екрані, щоб визначати поля для автозаповнення."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Колірна тема:"</string>
-    <string name="default_theme" msgid="7085644992078579076">"За умовчанням"</string>
     <string name="device_theme" msgid="4571803018917608588">"Тема пристрою"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"автоматичний вибір (на основі фонового малюнка)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"світла"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"темна"</string>
+    <string name="default_theme" msgid="7085644992078579076">"За умовчанням"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Назва мережі"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Показувати назву мережі в рядку стану"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Диспетчер пам’яті: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-ur/arrays.xml b/res/values-ur/arrays.xml
index b5080a9..e3f28f9 100644
--- a/res/values-ur/arrays.xml
+++ b/res/values-ur/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"ہمیشہ آن"</item>
     <item msgid="6385301106124765323">"ہمیشہ آف"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
index 377d85b..1b2fb22 100644
--- a/res/values-ur/strings.xml
+++ b/res/values-ur/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"آلے کا بلوٹوتھ پتہ: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> کو منقطع کریں؟"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"نشریات"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"پروفائل غیر فعال کریں؟"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"‏یہ اس کو غیر فعال کر دے گا‎:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;اس سے:&lt;br&gt;&lt;b&gt;‎<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"بلا نام بلوٹوتھ آلہ"</string>
     <string name="progress_scanning" msgid="192587958424295789">"تلاش کر رہا ہے"</string>
@@ -392,30 +390,18 @@
     <string name="security_status_title" msgid="5848766673665944640">"سیکیورٹی کی صورتحال"</string>
     <string name="security_dashboard_summary" msgid="6757421634477554939">"اسکرین لاک، فنگر پرنٹ"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="8129641548372335540">"اسکرین لاک"</string>
-    <!-- no translation found for security_settings_face_preference_summary (1290187225482642821) -->
-    <skip />
-    <!-- no translation found for security_settings_face_preference_summary_none (5460349732790152186) -->
-    <skip />
-    <!-- no translation found for security_settings_face_preference_title (7074548721778680481) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_cancel (4277182322482408514) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_title (2694505011712885439) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_title_unlock_disabled (8180330567034286589) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_message (6150611993438981458) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_message_unlock_disabled (6300341727101929207) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_message_setup (5704661081718707858) -->
-    <skip />
-    <!-- no translation found for face_add_max (2342250989212694454) -->
-    <skip />
-    <!-- no translation found for face_intro_error_max (160022811747660581) -->
-    <skip />
-    <!-- no translation found for face_intro_error_unknown (6367721696446677261) -->
-    <skip />
+    <string name="security_settings_face_preference_summary" msgid="1290187225482642821">"چہرہ شامل کر دیا گیا"</string>
+    <string name="security_settings_face_preference_summary_none" msgid="5460349732790152186">"چہرے سے تصدیق کے سیٹ اپ کیلئے تھپتھپائیں"</string>
+    <string name="security_settings_face_preference_title" msgid="7074548721778680481">"چہرے سے تصدیق"</string>
+    <string name="security_settings_face_enroll_introduction_cancel" msgid="4277182322482408514">"منسوخ کریں"</string>
+    <string name="security_settings_face_enroll_introduction_title" msgid="2694505011712885439">"اپنے چہرے سے غیر مقفل کریں"</string>
+    <string name="security_settings_face_enroll_introduction_title_unlock_disabled" msgid="8180330567034286589">"تصدیق کرنے کیلئے اپنا چہرہ استعمال کریں"</string>
+    <string name="security_settings_face_enroll_introduction_message" msgid="6150611993438981458">"اپنے فون کو غیر مقفل کرنے، خریداریوں کی اجازت دینے یا ایپس میں سائن ان کرنے کیلئے اپنے چہرے کا استعمال کریں۔"</string>
+    <string name="security_settings_face_enroll_introduction_message_unlock_disabled" msgid="6300341727101929207">"اپنا چہرہ استعمال کریں"</string>
+    <string name="security_settings_face_enroll_introduction_message_setup" msgid="5704661081718707858">"اپنے فون کو غیر مقفل کرنے، خریداریوں کی اجازت دینے یا ایپس میں سائن ان کرنے کیلئے اپنے چہرے کا استعمال کریں"</string>
+    <string name="face_add_max" msgid="2342250989212694454">"آپ <xliff:g id="COUNT">%d</xliff:g> تک فنگر پرنٹس شامل کر سکتے ہیں"</string>
+    <string name="face_intro_error_max" msgid="160022811747660581">"آپ چہروں کی زیادہ سے زیادہ تعداد شامل کر چکے ہیں"</string>
+    <string name="face_intro_error_unknown" msgid="6367721696446677261">"مزید چہرے شامل نہیں کر سکتے"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"فنگر پرنٹ"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"فنگر پرنٹس کا نظم کریں"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"فنگر پرنٹ استعمال کریں برائے"</string>
@@ -527,14 +513,12 @@
     <string name="setup_lock_settings_picker_title" product="tablet" msgid="90329443364067215">"اپنے ٹیبلٹ کا تحفظ کریں"</string>
     <string name="setup_lock_settings_picker_title" product="device" msgid="2399952075134938929">"اپنے آلہ کا تحفظ کریں"</string>
     <string name="setup_lock_settings_picker_title" product="default" msgid="1572244299605153324">"اپنے فون کا تحفظ کریں"</string>
-    <!-- no translation found for lock_settings_picker_biometrics_added_security_message (1507307757032207572) -->
-    <skip />
+    <string name="lock_settings_picker_biometrics_added_security_message" msgid="1507307757032207572">"اضافی سیکیورٹی کیلئے ایک بیک اپ اسکرین لاک سیٹ کریں"</string>
     <string name="setup_lock_settings_picker_message" product="tablet" msgid="8919671129189936210">"آلہ کے تحفظ کی خصوصیات فعال کر کے اپنی اجازت کے بغیر دوسروں کو یہ ٹیبلیٹ استعمال کرنے سے روکیں۔ وہ اسکرین قفل منتخب کریں جو آپ استعمال کرنا چاہتے ہیں۔"</string>
     <string name="setup_lock_settings_picker_message" product="device" msgid="3787276514406353777">"آلہ کے تحفظ کی خصوصیات فعال کر کے اپنی اجازت کے بغیر دوسروں کو یہ آلہ استعمال کرنے سے روکیں۔ وہ اسکرین قفل منتخب کریں جو آپ استعمال کرنا چاہتے ہیں۔"</string>
     <string name="setup_lock_settings_picker_message" product="default" msgid="3692856437543730446">"آلہ کے تحفظ کی خصوصیات فعال کر کے اپنی اجازت کے بغیر دوسروں کو یہ فون استعمال کرنے سے روکیں۔ وہ اسکرین قفل منتخب کریں جو آپ استعمال کرنا چاہتے ہیں۔"</string>
     <string name="lock_settings_picker_fingerprint_message" msgid="4755230324778371292">"اسکرین مقفل کرنے کا اپنا بیک اپ طریقہ کار منتخب کریں"</string>
-    <!-- no translation found for lock_settings_picker_face_message (197106534637556054) -->
-    <skip />
+    <string name="lock_settings_picker_face_message" msgid="197106534637556054">"اسکرین مقفل کرنے کا اپنا بیک اپ طریقہ منتخب کریں"</string>
     <string name="setup_lock_settings_options_button_label" msgid="8511153243629402929">"اسکرین لاک کے اختیارات"</string>
     <string name="setup_lock_settings_options_dialog_title" msgid="5058207955455973917">"اسکرین لاک کے اختیارات"</string>
     <string name="unlock_set_unlock_launch_picker_title" msgid="2084576942666016993">"اسکرین لاک"</string>
@@ -561,16 +545,11 @@
     <string name="fingerprint_unlock_set_unlock_password" msgid="7351131075806338634">"فنگر پرنٹ + پاسورڈ"</string>
     <string name="fingerprint_unlock_skip_fingerprint" msgid="1441077909803666681">"فنگر پرنٹ کے بغیر جاری رکھیں"</string>
     <string name="fingerprint_unlock_title" msgid="2826226740306003991">"آپ اپنے فون کو اپنا فنگر پرنٹ استعمال کر کے غیر مقفل کر سکتے ہیں۔ سیکیورٹی کیلئے، اس اختیار کو ایک بیک اپ اسکرین قفل درکار ہے۔"</string>
-    <!-- no translation found for face_unlock_set_unlock_pattern (8792301636367000123) -->
-    <skip />
-    <!-- no translation found for face_unlock_set_unlock_pin (1196620299595657479) -->
-    <skip />
-    <!-- no translation found for face_unlock_set_unlock_password (223117276773907474) -->
-    <skip />
-    <!-- no translation found for face_unlock_skip_face (6362883392838482791) -->
-    <skip />
-    <!-- no translation found for face_unlock_title (9042382084472444316) -->
-    <skip />
+    <string name="face_unlock_set_unlock_pattern" msgid="8792301636367000123">"چہرے سے تصدیق + پیٹرن"</string>
+    <string name="face_unlock_set_unlock_pin" msgid="1196620299595657479">"‏چہرے سے تصدیق + PIN"</string>
+    <string name="face_unlock_set_unlock_password" msgid="223117276773907474">"چہرے سے تصدیق + پاس ورڈ"</string>
+    <string name="face_unlock_skip_face" msgid="6362883392838482791">"چہرے سے تصدیق کے بغیر جاری رکھیں"</string>
+    <string name="face_unlock_title" msgid="9042382084472444316">"آپ اپنے فون کو اپنا چہرہ استعمال کر کے غیر مقفل کر سکتے ہیں۔ سیکیورٹی کے مد نظر، اس اختیار کو ایک بیک اپ اسکرین لاک درکار ہے۔"</string>
     <string name="unlock_set_unlock_disabled_summary" msgid="2051593894736282302">"منتظم، مرموز کاری کی پالیسی یا اسناد اسٹوریج کے ذریعے غیر فعال کردہ"</string>
     <string name="unlock_set_unlock_mode_off" msgid="5881952274566013651">"کوئی نہیں"</string>
     <string name="unlock_set_unlock_mode_none" msgid="8467360084676871617">"سوائپ"</string>
@@ -726,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"تلاش کیا جا رہا ہے…"</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"آلہ کی ترتیبات"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"جوڑا بنایا ہوا آلہ"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"نام"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"انٹرنیٹ کنکشن"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"کی بورڈ"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"رابطے اور کال کی سرگزشت"</string>
@@ -734,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"فون بُک کا اشتراک کریں؟"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> آپ کے رابطوں اور کال کی سرگزشت تک رسائی حاصل کرنا چاہتا ہے۔"</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>بلوٹوتھ کے ساتھ جوڑا بنانا چاہتا ہے۔ منسلک ہونے پر، اسے آپکے رابطوں و کال کی سرگزشت تک رسائی ہوگی۔"</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"جوڑا بنائے ہوئے آلات"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"دستیاب آلات"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"کوئی آلات دستیاب نہیں ہیں"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"مربوط کریں"</string>
@@ -1125,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"چمک"</string>
     <string name="brightness_summary" msgid="838917350127550703">"اسکرین کی چمک کو ایڈجسٹ کریں"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"تغیر پذیر چمک"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"دستیاب روشنی کیلئے چمک کی سطح کو بہتر بنائیں"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"آف"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"ترجیحی چمک بہت کم ہے"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"ترجیحی چمک کم ہے"</string>
@@ -1640,12 +1618,9 @@
     <string name="lockpassword_password_set_toast" msgid="4875050283108629383">"پاس ورڈ سیٹ کر دیا گیا ہے"</string>
     <string name="lockpassword_pin_set_toast" msgid="6011826444725291475">"‏PIN سیٹ کر دیا گیا ہے"</string>
     <string name="lockpassword_pattern_set_toast" msgid="6867259621331406236">"پیٹرن سیٹ کر دیا گیا ہے"</string>
-    <!-- no translation found for lockpassword_choose_your_password_header_for_face (7876621019688907534) -->
-    <skip />
-    <!-- no translation found for lockpassword_choose_your_pattern_header_for_face (8070525076987585344) -->
-    <skip />
-    <!-- no translation found for lockpassword_choose_your_pin_header_for_face (7304398683609714816) -->
-    <skip />
+    <string name="lockpassword_choose_your_password_header_for_face" msgid="7876621019688907534">"چہرے سے تصدیق کا استعمال کرنے کیلئے، پاس ورڈ سیٹ کریں"</string>
+    <string name="lockpassword_choose_your_pattern_header_for_face" msgid="8070525076987585344">"چہرے سے تصدیق کا استعمال کرنے کیلئے، پیٹرن سیٹ کریں"</string>
+    <string name="lockpassword_choose_your_pin_header_for_face" msgid="7304398683609714816">"‏چہرے سے تصدیق کے لیے PIN سیٹ کریں"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="2920960858283879113">"جاری رکھنے کیلئے اپنے آلہ کا پیٹرن استعمال کریں"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="4062335874438910487">"‏جاری رکھنے کیلئے اپنے آلہ کا PIN درج کریں"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="3976394862548354966">"جاری رکھنے کیلئے اپنے آلہ کا پاسورڈ درج کریں"</string>
@@ -3054,8 +3029,7 @@
     <string name="keywords_systemui_theme" msgid="9112852512550404882">"گہری تھیم"</string>
     <string name="keywords_device_feedback" msgid="564493721125966719">"بگ"</string>
     <string name="keywords_ambient_display_screen" msgid="5874969496073249362">"ايمبيئنٹ ڈسپلے، لاک اسکرین ڈسپلے"</string>
-    <!-- no translation found for keywords_face_settings (7505388678116799329) -->
-    <skip />
+    <string name="keywords_face_settings" msgid="7505388678116799329">"چہرہ"</string>
     <string name="keywords_fingerprint_settings" msgid="239222512315619538">"فنگر پرنٹ"</string>
     <string name="keywords_display_auto_brightness" msgid="4130320471533951796">"مدھم اسکرین، ٹچ اسکرین، بیٹری، اسمارٹ چمک، ڈائنیمک چمک"</string>
     <string name="keywords_auto_rotate" msgid="5620879898668211494">"گھمانا، پلٹنا، گردش، پورٹریٹ، لینڈ اسکیپ، سمت بندی، عمودی، افقی"</string>
@@ -3473,12 +3447,9 @@
     <string name="encryption_interstitial_message_pin_for_fingerprint" msgid="4550632760119547492">"‏اپنے آلہ کو غیر مقفل کرنے کیلئے اپنی انگلی کا نشان استعمال کرنے کے علاوہ، آپ یہ آلہ شروع ہونے سے پہلے اپنے PIN کا تقاضہ کر کے اسے مزید محفوظ بنا سکتے ہیں۔ جب تک آلہ شروع نہیں ہو جاتا ہے، یہ الارمز سمیت، کالیں، پیغامات یا اطلاعات موصول نہیں کر سکتا۔\n\nاس سے گمشدہ یا چوری ہوئے آلات پر ڈیٹا کی حفاظت کرنے میں مدد ملتی ہے۔ آپ کا آلہ شروع ہونے سے پہلے PIN طلب کریں؟"</string>
     <string name="encryption_interstitial_message_pattern_for_fingerprint" msgid="932184823193006087">"اپنے آلہ کو غیر مقفل کرنے کیلئے اپنی انگلی کا نشان استعمال کرنے کے علاوہ، آپ یہ آلہ شروع ہونے سے پہلے اپنے پیٹرن کا تقاضہ کر کے اسے مزید محفوظ بنا سکتے ہیں۔ جب تک آلہ شروع نہیں ہو جاتا ہے، یہ الارمز سمیت، کالیں، پیغامات یا اطلاعات موصول نہیں کر سکتا۔\n\nاس سے گمشدہ یا چوری ہوئے آلات پر ڈیٹا کی حفاظت کرنے میں مدد ملتی ہے۔ آپ کا آلہ شروع کرنے سے پہلے پیٹرن طلب کریں؟"</string>
     <string name="encryption_interstitial_message_password_for_fingerprint" msgid="5560954719370251702">"اپنے آلہ کو غیر مقفل کرنے کیلئے اپنی انگلی کا نشان استعمال کرنے کے علاوہ، آپ یہ آلہ شروع ہونے سے پہلے اپنے پاس ورڈ کا تقاضہ کر کے اسے مزید محفوظ بنا سکتے ہیں۔ جب تک آلہ شروع نہیں ہو جاتا ہے، یہ الارمز سمیت، کالیں، پیغامات یا اطلاعات موصول نہیں کر سکتا۔\n\nاس سے گمشدہ یا چوری ہوئے آلات پر ڈیٹا کی حفاظت کرنے میں مدد ملتی ہے۔ آپ کا آلہ شروع ہونے سے پہلے پاس ورڈ طلب کریں؟"</string>
-    <!-- no translation found for encryption_interstitial_message_pin_for_face (2017438765366716760) -->
-    <skip />
-    <!-- no translation found for encryption_interstitial_message_pattern_for_face (3551827507967661552) -->
-    <skip />
-    <!-- no translation found for encryption_interstitial_message_password_for_face (3452793542112093614) -->
-    <skip />
+    <string name="encryption_interstitial_message_pin_for_face" msgid="2017438765366716760">"‏اپنے آلہ کو غیر مقفل کرنے کیلئے اپنا چہرہ استعمال کرنے کے علاوہ، آپ یہ آلہ شروع ہونے سے پہلے اپنے PIN کو طلب کر کے اسے مزید محفوظ بنا سکتے ہیں۔ جب تک آلہ شروع نہیں ہو جاتا ہے، یہ الارمز سمیت، کالیں، پیغامات یا اطلاعات موصول نہیں کر سکتا۔\n\nاس سے گمشدہ یا چوری ہونے والے آلات پر ڈیٹا کی حفاظت کرنے میں مدد ملتی ہے۔ آپ کا آلہ شروع ہونے سے پہلے PIN طلب کریں؟"</string>
+    <string name="encryption_interstitial_message_pattern_for_face" msgid="3551827507967661552">"اپنے آلہ کو غیر مقفل کرنے کیلئے اپنے چہرے کا استعمال کرنے کے علاوہ، آپ یہ آلہ شروع ہونے سے پہلے اپنا پیٹرن طلب کر کے اسے مزید محفوظ بنا سکتے ہیں۔ جب تک آلہ شروع نہیں ہو جاتا ہے، یہ الارمز سمیت، کالیں، پیغامات یا اطلاعات موصول نہیں کر سکتا۔\n\nاس سے گمشدہ یا چوری ہونے والے آلات پر ڈیٹا کی حفاظت کرنے میں مدد ملتی ہے۔ آپ کا آلہ شروع کرنے سے پہلے پیٹرن طلب کریں؟"</string>
+    <string name="encryption_interstitial_message_password_for_face" msgid="3452793542112093614">"اپنے آلہ کو غیر مقفل کرنے کیلئے اپنے چہرے کو استعمال کرنے کے علاوہ، آپ یہ آلہ شروع ہونے سے پہلے اپنے پاس ورڈ کا تقاضہ کر کے اسے مزید محفوظ بنا سکتے ہیں۔ جب تک آلہ شروع نہیں ہو جاتا ہے، یہ الارمز سمیت، کالیں، پیغامات یا اطلاعات موصول نہیں کر سکتا۔\n\nاس سے گمشدہ یا چوری ہونے والے آلات پر ڈیٹا کی حفاظت کرنے میں مدد ملتی ہے۔ آپ کا آلہ شروع کرنے سے پہلے پاس ورڈ طلب کریں؟"</string>
     <string name="encryption_interstitial_yes" msgid="4439509435889513411">"ہاں"</string>
     <string name="encryption_interstitial_no" msgid="8935031349097025137">"نہیں"</string>
     <string name="restricted_true_label" msgid="4761453839409220473">"محدود کردہ ہے"</string>
@@ -4143,12 +4114,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"آٹو فل سروس"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"آٹو، فل، آٹو فل"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"‏&lt;b&gt;یہ یقینی بنائیں کہ آپ کو اس ایپ پر اعتماد ہے&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt;  آٹو فل کی جانے والی چیزوں کی تعیین کرنے کیلئے آپ کی اسکرین پر موجود چیزوں کو استعمال کرتا ہے۔"</string>
-    <string name="color_theme" msgid="1535685696756738324">"رنگ کی تھیم"</string>
-    <string name="default_theme" msgid="7085644992078579076">"ڈیفالٹ"</string>
     <string name="device_theme" msgid="4571803018917608588">"آلہ کا تھیم"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"خودکار (وال پیپر پر مبنی)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"ہلکی"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"گہری"</string>
+    <string name="default_theme" msgid="7085644992078579076">"ڈیفالٹ"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"نیٹ ورک کا نام"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"اسٹیٹس بار میں نیٹ ورک کا نام دکھائيں"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"اسٹوریج مینیجر: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-uz/arrays.xml b/res/values-uz/arrays.xml
index be98c82..4123e0a 100644
--- a/res/values-uz/arrays.xml
+++ b/res/values-uz/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Har doim yoniq"</item>
     <item msgid="6385301106124765323">"Har doim o‘chiq"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
index 26f74ed..357dbb0 100644
--- a/res/values-uz/strings.xml
+++ b/res/values-uz/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Qurilmaning Bluetooth manzili: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> bilan aloqa uzilsinmi?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Signal uzatish"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Profil o‘chirib qo‘yilsinmi?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Bu:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>ni&lt;/b&gt;&lt;br&gt;&lt;br&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>dan&lt;br&gt;&lt;b&gt;o‘chiradi&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Nomsiz bluetooth qurilma"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Qidirilmoqda"</string>
@@ -396,12 +394,12 @@
     <string name="security_settings_face_preference_summary_none" msgid="5460349732790152186">"Yuz tekshiruvini sozlash uchun bosing"</string>
     <string name="security_settings_face_preference_title" msgid="7074548721778680481">"Yuz tekshiruvi"</string>
     <string name="security_settings_face_enroll_introduction_cancel" msgid="4277182322482408514">"Bekor qilish"</string>
-    <string name="security_settings_face_enroll_introduction_title" msgid="2694505011712885439">"Yuz bilan qulfdan chiqaring"</string>
-    <string name="security_settings_face_enroll_introduction_title_unlock_disabled" msgid="8180330567034286589">"Yuz tekshiruvi bilan qulfdan chiqaring"</string>
+    <string name="security_settings_face_enroll_introduction_title" msgid="2694505011712885439">"Yuzingiz bilan oching"</string>
+    <string name="security_settings_face_enroll_introduction_title_unlock_disabled" msgid="8180330567034286589">"Qurilma qulfini yuzingiz bilan oching"</string>
     <string name="security_settings_face_enroll_introduction_message" msgid="6150611993438981458">"Telefoningizni qulfdan chiqarish, xaridlarni amalga oshirish yoki ilovalarga kirish uchun yuzingizdan foydalaning."</string>
     <string name="security_settings_face_enroll_introduction_message_unlock_disabled" msgid="6300341727101929207">"Foydalaning"</string>
     <string name="security_settings_face_enroll_introduction_message_setup" msgid="5704661081718707858">"Telefoningizni qulfdan chiqarish, xaridlarni amalga oshirish yoki ilovalarga kirish uchun yuzingizdan foydalaning"</string>
-    <string name="face_add_max" msgid="2342250989212694454">"Ko’pi bilan <xliff:g id="COUNT">%d</xliff:g> ta barmoq izini kiritish mumkin"</string>
+    <string name="face_add_max" msgid="2342250989212694454">"Maksimal <xliff:g id="COUNT">%d</xliff:g> ta barmoq izini kiritish mumkin"</string>
     <string name="face_intro_error_max" msgid="160022811747660581">"Yuzlar maksimal miqdorda kiritildi"</string>
     <string name="face_intro_error_unknown" msgid="6367721696446677261">"Boshqa yuz kiritish imkonsiz"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Barmoq izi"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Qidirilmoqda…"</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Qurilma sozlamalari"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Ulangan qurilma"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Nomi"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Internetga ulanish"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Klaviatura"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Kontaktlar va qo‘ng‘iroqlar tarixi"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Telefon kitobi ulashilsinmi?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"“<xliff:g id="DEVICE_NAME">%1$s</xliff:g>” kontaktlaringiz va qo‘ng‘iroqlaringiz tarixiga kirmoqchi"</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"“<xliff:g id="DEVICE_NAME">%1$s</xliff:g>” Bluetooth orqali ulanmoqchi. U ulangach, kontaktlar va qo‘ng‘iroqlaringiz tarixiga kirishi mumkin."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Ulangan qurilmalar"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Mavjud qurilmalar"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Hech qanday qurilma mavjud emas"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Ulanish"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Yorqinlik"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Ekran yorqinligini moslash"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Moslashuvchan yorqinlik"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Ekran yorqinligini atrofning yoritilganlik darajasiga qarab moslashtirish"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"O‘chiq"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Tanlangan yorqinlik – juda past"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Tanlangan yorqinlik – past"</string>
@@ -4135,12 +4132,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Avtomatik to‘ldirish xizmati"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"avtomatik, to‘ldirish, avtomatik to‘ldirish"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Bu ilova ishonchli ekanini tekshiring&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; ekraningizda nimani avtomatik to‘ldirish kerakligini aniqlaydi."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Rangli mavzu"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Standart"</string>
     <string name="device_theme" msgid="4571803018917608588">"Qurilma mavzusi"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Avtomatik (fon rasmiga asosan)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Kunduzgi"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Tungi"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Standart"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Tarmoq nomi"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Holat qatorida tarmoq nomini ko‘rsatish"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Xotira menejeri: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-vi/arrays.xml b/res/values-vi/arrays.xml
index 354aad7..36caf3e 100644
--- a/res/values-vi/arrays.xml
+++ b/res/values-vi/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Luôn bật"</item>
     <item msgid="6385301106124765323">"Luôn tắt"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 0babffc..7dc8656 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Địa chỉ Bluetooth của thiết bị: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"Ngắt kết nối <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Phát sóng"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Vô hiệu hồ sơ?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Điều này sẽ vô hiệu:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;Khỏi:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Thiết bị Bluetooth chưa được đặt tên"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Đang tìm kiếm"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Đang tìm kiếm…"</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Cài đặt thiết bị"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Thiết bị được ghép nối"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Tên"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Kết nối Internet"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Bàn phím"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Danh bạ và nhật ký cuộc gọi"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Chia sẻ danh bạ?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> muốn truy cập danh bạ và lịch sử cuộc gọi của bạn."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> muốn ghép nối với Bluetooth. Khi được kết nối, nó sẽ có quyền truy cập vào danh bạ &amp; nhật ký cuộc gọi."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Thiết bị được ghép nối"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Thiết bị có sẵn"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Không có thiết bị nào"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Kết nối"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Độ sáng"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Điều chỉnh độ sáng của màn hình"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Độ sáng thích nghi"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Tối ưu hóa độ sáng cho ánh sáng có sẵn"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Tắt"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Độ sáng ưa thích là rất thấp"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Độ sáng ưa thích là thấp"</string>
@@ -4119,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Dịch vụ tự động điền"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"tự động, điền, tự động điền"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Hãy đảm bảo bạn tin tưởng ứng dụng này&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; sử dụng nội dung trên màn hình của bạn để xác định nội dung nào có thể được tự động điền."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Chủ đề màu"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Mặc định"</string>
     <string name="device_theme" msgid="4571803018917608588">"Chủ đề thiết bị"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Tự động (dựa trên hình nền)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Sáng"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Tối"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Mặc định"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Tên mạng"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Hiển thị tên mạng trên thanh trạng thái"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Trình quản lý bộ nhớ: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-zh-rCN/arrays.xml b/res/values-zh-rCN/arrays.xml
index 6f9d793..7f5abc8 100644
--- a/res/values-zh-rCN/arrays.xml
+++ b/res/values-zh-rCN/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"始终开启"</item>
     <item msgid="6385301106124765323">"始终关闭"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 008b889..13df219 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"设备的蓝牙地址：<xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"要断开与<xliff:g id="DEVICE_NAME">%1$s</xliff:g>的连接吗？"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"广播"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"要停用配置文件吗？"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"此操作将停用：&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;来自：&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"未命名的蓝牙设备"</string>
     <string name="progress_scanning" msgid="192587958424295789">"正在搜索"</string>
@@ -392,30 +390,18 @@
     <string name="security_status_title" msgid="5848766673665944640">"安全状态"</string>
     <string name="security_dashboard_summary" msgid="6757421634477554939">"屏幕锁定、指纹"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="8129641548372335540">"屏幕锁定"</string>
-    <!-- no translation found for security_settings_face_preference_summary (1290187225482642821) -->
-    <skip />
-    <!-- no translation found for security_settings_face_preference_summary_none (5460349732790152186) -->
-    <skip />
-    <!-- no translation found for security_settings_face_preference_title (7074548721778680481) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_cancel (4277182322482408514) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_title (2694505011712885439) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_title_unlock_disabled (8180330567034286589) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_message (6150611993438981458) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_message_unlock_disabled (6300341727101929207) -->
-    <skip />
-    <!-- no translation found for security_settings_face_enroll_introduction_message_setup (5704661081718707858) -->
-    <skip />
-    <!-- no translation found for face_add_max (2342250989212694454) -->
-    <skip />
-    <!-- no translation found for face_intro_error_max (160022811747660581) -->
-    <skip />
-    <!-- no translation found for face_intro_error_unknown (6367721696446677261) -->
-    <skip />
+    <string name="security_settings_face_preference_summary" msgid="1290187225482642821">"已添加面孔"</string>
+    <string name="security_settings_face_preference_summary_none" msgid="5460349732790152186">"点按即可设置面孔身份验证"</string>
+    <string name="security_settings_face_preference_title" msgid="7074548721778680481">"面孔身份验证"</string>
+    <string name="security_settings_face_enroll_introduction_cancel" msgid="4277182322482408514">"取消"</string>
+    <string name="security_settings_face_enroll_introduction_title" msgid="2694505011712885439">"使用您的面孔进行解锁"</string>
+    <string name="security_settings_face_enroll_introduction_title_unlock_disabled" msgid="8180330567034286589">"使用您的面孔进行身份验证"</string>
+    <string name="security_settings_face_enroll_introduction_message" msgid="6150611993438981458">"通过您的面孔解锁手机、授权购买交易或登录应用。"</string>
+    <string name="security_settings_face_enroll_introduction_message_unlock_disabled" msgid="6300341727101929207">"使用您的面孔"</string>
+    <string name="security_settings_face_enroll_introduction_message_setup" msgid="5704661081718707858">"使用您的面孔解锁手机、授权购买交易或登录应用"</string>
+    <string name="face_add_max" msgid="2342250989212694454">"您最多可以添加 <xliff:g id="COUNT">%d</xliff:g> 个指纹"</string>
+    <string name="face_intro_error_max" msgid="160022811747660581">"您添加的面孔数量已达到上限"</string>
+    <string name="face_intro_error_unknown" msgid="6367721696446677261">"无法再添加面孔"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"指纹"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"管理指纹"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"将指纹用于以下用途："</string>
@@ -527,14 +513,12 @@
     <string name="setup_lock_settings_picker_title" product="tablet" msgid="90329443364067215">"保护您的平板电脑"</string>
     <string name="setup_lock_settings_picker_title" product="device" msgid="2399952075134938929">"保护您的设备"</string>
     <string name="setup_lock_settings_picker_title" product="default" msgid="1572244299605153324">"为手机启用保护功能"</string>
-    <!-- no translation found for lock_settings_picker_biometrics_added_security_message (1507307757032207572) -->
-    <skip />
+    <string name="lock_settings_picker_biometrics_added_security_message" msgid="1507307757032207572">"为提升安全性，请设置备用屏幕锁定方式"</string>
     <string name="setup_lock_settings_picker_message" product="tablet" msgid="8919671129189936210">"启用设备保护功能可防止他人在未经您允许的情况下使用此平板电脑。请选择您要使用的屏幕锁定方式。"</string>
     <string name="setup_lock_settings_picker_message" product="device" msgid="3787276514406353777">"启用设备保护功能可防止他人在未经您允许的情况下使用此设备。请选择您要使用的屏幕锁定方式。"</string>
     <string name="setup_lock_settings_picker_message" product="default" msgid="3692856437543730446">"启用设备保护功能可防止他人在未经您允许的情况下使用此手机。请选择您要使用的屏幕锁定方式。"</string>
     <string name="lock_settings_picker_fingerprint_message" msgid="4755230324778371292">"选择您的备用屏幕锁定方式"</string>
-    <!-- no translation found for lock_settings_picker_face_message (197106534637556054) -->
-    <skip />
+    <string name="lock_settings_picker_face_message" msgid="197106534637556054">"选择您的备用屏幕锁定方式"</string>
     <string name="setup_lock_settings_options_button_label" msgid="8511153243629402929">"屏幕锁定选项"</string>
     <string name="setup_lock_settings_options_dialog_title" msgid="5058207955455973917">"屏幕锁定选项"</string>
     <string name="unlock_set_unlock_launch_picker_title" msgid="2084576942666016993">"屏幕锁定"</string>
@@ -561,16 +545,11 @@
     <string name="fingerprint_unlock_set_unlock_password" msgid="7351131075806338634">"指纹 + 密码"</string>
     <string name="fingerprint_unlock_skip_fingerprint" msgid="1441077909803666681">"不设置指纹并继续"</string>
     <string name="fingerprint_unlock_title" msgid="2826226740306003991">"您可以使用自己的指纹将手机解锁。为了安全起见，要使用此选项，您必须设置备用屏幕锁定方式。"</string>
-    <!-- no translation found for face_unlock_set_unlock_pattern (8792301636367000123) -->
-    <skip />
-    <!-- no translation found for face_unlock_set_unlock_pin (1196620299595657479) -->
-    <skip />
-    <!-- no translation found for face_unlock_set_unlock_password (223117276773907474) -->
-    <skip />
-    <!-- no translation found for face_unlock_skip_face (6362883392838482791) -->
-    <skip />
-    <!-- no translation found for face_unlock_title (9042382084472444316) -->
-    <skip />
+    <string name="face_unlock_set_unlock_pattern" msgid="8792301636367000123">"面孔身份验证 + 图案"</string>
+    <string name="face_unlock_set_unlock_pin" msgid="1196620299595657479">"面孔身份验证 + PIN 码"</string>
+    <string name="face_unlock_set_unlock_password" msgid="223117276773907474">"面孔身份验证 + 密码"</string>
+    <string name="face_unlock_skip_face" msgid="6362883392838482791">"不设置面孔身份验证并继续"</string>
+    <string name="face_unlock_title" msgid="9042382084472444316">"您可以使用自己的面孔将手机解锁。为了安全起见，要使用此选项，您必须设置备用屏幕锁定方式。"</string>
     <string name="unlock_set_unlock_disabled_summary" msgid="2051593894736282302">"由于管理员、加密策略或凭据存储的要求，您无法使用此选项"</string>
     <string name="unlock_set_unlock_mode_off" msgid="5881952274566013651">"无"</string>
     <string name="unlock_set_unlock_mode_none" msgid="8467360084676871617">"滑动"</string>
@@ -726,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"正在搜索..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"设备设置"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"已配对的设备"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"名称"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"互联网连接"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"键盘"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"通讯录和通话记录"</string>
@@ -734,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"要共享电话簿吗？"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>想要使用您的通讯录和通话记录。"</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>想通过蓝牙与您的设备配对。连接后，此设备将可以使用您的通讯录和通话记录。"</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"已配对的设备"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"可用的设备"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"未找到任何设备"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"连接"</string>
@@ -1125,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"亮度"</string>
     <string name="brightness_summary" msgid="838917350127550703">"调整屏幕亮度"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"自动调节亮度"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"根据环境光线情况优化亮度"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"关闭"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"偏好的亮度为“很低”"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"偏好的亮度为“低”"</string>
@@ -1640,12 +1618,9 @@
     <string name="lockpassword_password_set_toast" msgid="4875050283108629383">"密码已设置"</string>
     <string name="lockpassword_pin_set_toast" msgid="6011826444725291475">"已设置PIN码"</string>
     <string name="lockpassword_pattern_set_toast" msgid="6867259621331406236">"图案已设置"</string>
-    <!-- no translation found for lockpassword_choose_your_password_header_for_face (7876621019688907534) -->
-    <skip />
-    <!-- no translation found for lockpassword_choose_your_pattern_header_for_face (8070525076987585344) -->
-    <skip />
-    <!-- no translation found for lockpassword_choose_your_pin_header_for_face (7304398683609714816) -->
-    <skip />
+    <string name="lockpassword_choose_your_password_header_for_face" msgid="7876621019688907534">"要使用面孔身份验证，请设置密码"</string>
+    <string name="lockpassword_choose_your_pattern_header_for_face" msgid="8070525076987585344">"要使用面孔身份验证，请设置图案"</string>
+    <string name="lockpassword_choose_your_pin_header_for_face" msgid="7304398683609714816">"要使用面孔身份验证，请设置 PIN 码"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="2920960858283879113">"请绘制您的设备解锁图案以继续"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="4062335874438910487">"请输入您的设备 PIN 码以继续"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="3976394862548354966">"请输入您的设备密码以继续"</string>
@@ -3056,8 +3031,7 @@
     <string name="keywords_systemui_theme" msgid="9112852512550404882">"深色主题背景"</string>
     <string name="keywords_device_feedback" msgid="564493721125966719">"错误"</string>
     <string name="keywords_ambient_display_screen" msgid="5874969496073249362">"主动显示, 锁定屏幕显示"</string>
-    <!-- no translation found for keywords_face_settings (7505388678116799329) -->
-    <skip />
+    <string name="keywords_face_settings" msgid="7505388678116799329">"面孔"</string>
     <string name="keywords_fingerprint_settings" msgid="239222512315619538">"指纹"</string>
     <string name="keywords_display_auto_brightness" msgid="4130320471533951796">"降低屏幕亮度, 触摸屏, 电池, 智能亮度, 动态亮度"</string>
     <string name="keywords_auto_rotate" msgid="5620879898668211494">"旋转, 翻转, 纵向, 横向, 屏幕方向, 垂直, 水平"</string>
@@ -3475,12 +3449,9 @@
     <string name="encryption_interstitial_message_pin_for_fingerprint" msgid="4550632760119547492">"为了进一步保护此设备的安全，除了使用指纹解锁设备之外，您还可以将设备设为需要输入 PIN 码才能启动。在设备启动之前，无法接听电话、接收消息或通知（包括闹钟）。\n\n这样一来，即使设备丢失或被盗，其中的数据仍安全无虞。要将设备设为需要输入 PIN 码才能启动吗？"</string>
     <string name="encryption_interstitial_message_pattern_for_fingerprint" msgid="932184823193006087">"为了进一步保护此设备的安全，除了使用指纹解锁设备之外，您还可以将设备设为需要绘制解锁图案才能启动。在设备启动之前，无法接听电话、接收消息或通知（包括闹钟）。\n\n这样一来，即使设备丢失或被盗，其中的数据仍安全无虞。要将设备设为需要绘制解锁图案才能启动吗？"</string>
     <string name="encryption_interstitial_message_password_for_fingerprint" msgid="5560954719370251702">"为了进一步保护此设备的安全，除了使用指纹解锁设备之外，您还可以将设备设为需要输入密码才能启动。在设备启动之前，无法接听电话、接收消息或通知（包括闹钟）。\n\n这样一来，即使设备丢失或被盗，其中的数据仍安全无虞。要将设备设为需要输入密码才能启动吗？"</string>
-    <!-- no translation found for encryption_interstitial_message_pin_for_face (2017438765366716760) -->
-    <skip />
-    <!-- no translation found for encryption_interstitial_message_pattern_for_face (3551827507967661552) -->
-    <skip />
-    <!-- no translation found for encryption_interstitial_message_password_for_face (3452793542112093614) -->
-    <skip />
+    <string name="encryption_interstitial_message_pin_for_face" msgid="2017438765366716760">"为了进一步保护此设备的安全，除了使用您的面孔解锁设备之外，您还可以将设备设为需要输入 PIN 码才能启动。设备必须成功启动才能接听电话、接收消息或通知（包括闹钟）。\n\n这样一来，即使设备丢失或被盗，其中的数据仍安全无虞。要将设备设为需要输入 PIN 码才能启动吗？"</string>
+    <string name="encryption_interstitial_message_pattern_for_face" msgid="3551827507967661552">"为了进一步保护此设备的安全，除了使用您的面孔解锁设备之外，您还可以将设备设为需要绘制解锁图案才能启动。设备必须成功启动才能接听电话、接收消息或通知（包括闹钟）。\n\n这样一来，即使设备丢失或被盗，其中的数据仍安全无虞。要将设备设为需要绘制解锁图案才能启动吗？"</string>
+    <string name="encryption_interstitial_message_password_for_face" msgid="3452793542112093614">"为了进一步保护此设备的安全，除了使用您的面孔解锁设备之外，您还可以将设备设为需要输入密码才能启动。设备必须成功启动才能接听电话、接收消息或通知（包括闹钟）。\n\n这样一来，即使设备丢失或被盗，其中的数据仍安全无虞。要将设备设为需要输入密码才能启动吗？"</string>
     <string name="encryption_interstitial_yes" msgid="4439509435889513411">"是"</string>
     <string name="encryption_interstitial_no" msgid="8935031349097025137">"否"</string>
     <string name="restricted_true_label" msgid="4761453839409220473">"受限"</string>
@@ -4145,12 +4116,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"自动填充服务"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"自动, 填充, 自动填充, auto, fill, autofill"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;请确认这是您信任的应用&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt;会根据您的屏幕内容判断可自动填充哪些内容。"</string>
-    <string name="color_theme" msgid="1535685696756738324">"色调"</string>
-    <string name="default_theme" msgid="7085644992078579076">"默认"</string>
     <string name="device_theme" msgid="4571803018917608588">"设备主题背景"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"自动（根据壁纸）"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"浅色"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"深色"</string>
+    <string name="default_theme" msgid="7085644992078579076">"默认"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"网络名称"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"在状态栏中显示网络名称"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"存储空间管理器：<xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-zh-rHK/arrays.xml b/res/values-zh-rHK/arrays.xml
index ea8b2f0..7c2bfa5 100644
--- a/res/values-zh-rHK/arrays.xml
+++ b/res/values-zh-rHK/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"永遠開啟"</item>
     <item msgid="6385301106124765323">"一律關閉"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index c00753c..003e339 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"裝置的藍牙位址：<xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"解除與「<xliff:g id="DEVICE_NAME">%1$s</xliff:g>」的連結？"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"廣播"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"停用個人資料？"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"這會停用：&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;來源：&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"未命名的藍牙裝置"</string>
     <string name="progress_scanning" msgid="192587958424295789">"正在搜尋..."</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"正在搜尋..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"裝置設定"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"已配對的裝置"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"名稱"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"互聯網連線"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"鍵盤"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"通訊錄和通話記錄"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"共用電話簿？"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> 要求存取您的通訊錄和通話記錄。"</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"「<xliff:g id="DEVICE_NAME">%1$s</xliff:g>」提出藍牙配對要求。一旦配對成功，對方將可存取您的通訊錄和通話記錄。"</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"已配對的裝置"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"可用的裝置"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"沒有可用裝置"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"連線"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"光暗度"</string>
     <string name="brightness_summary" msgid="838917350127550703">"調校螢幕亮度"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"自動調校亮度"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"按環境光線優化亮度"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"關閉"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"偏好的亮度為非常低"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"偏好的亮度為低"</string>
@@ -4122,12 +4119,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"自動填入服務"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"自動, 填入, 自動填入"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;請確定您信任此應用程式&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; 應用程式會根據您畫面上的內容判斷可自動填入的資料。"</string>
-    <string name="color_theme" msgid="1535685696756738324">"顏色主題"</string>
-    <string name="default_theme" msgid="7085644992078579076">"預設"</string>
     <string name="device_theme" msgid="4571803018917608588">"裝置主題"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"自動 (根據桌布)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"淺色"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"深色"</string>
+    <string name="default_theme" msgid="7085644992078579076">"預設"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"網絡名稱"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"在狀態列中顯示網絡名稱"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"儲存空間管理員：<xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-zh-rTW/arrays.xml b/res/values-zh-rTW/arrays.xml
index 78557a3..32279a2 100644
--- a/res/values-zh-rTW/arrays.xml
+++ b/res/values-zh-rTW/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"一律開啟"</item>
     <item msgid="6385301106124765323">"一律關閉"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 338d98e..703a8ed 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"裝置的藍牙位址：<xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"要中斷與「<xliff:g id="DEVICE_NAME">%1$s</xliff:g>」的連線嗎？"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"廣播"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"停用設定檔？"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"這會停用以下設定檔：&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;來源：&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"未命名的藍牙裝置"</string>
     <string name="progress_scanning" msgid="192587958424295789">"搜尋中"</string>
@@ -551,7 +549,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="1196620299595657479">"臉孔驗證 + PIN 碼"</string>
     <string name="face_unlock_set_unlock_password" msgid="223117276773907474">"臉孔驗證 + 密碼"</string>
     <string name="face_unlock_skip_face" msgid="6362883392838482791">"不設定臉孔驗證並繼續"</string>
-    <string name="face_unlock_title" msgid="9042382084472444316">"你可以使用自己的臉孔將手機解鎖。為了安全起見，如要使用這個選項，你必須設定備用螢幕鎖定方式。"</string>
+    <string name="face_unlock_title" msgid="9042382084472444316">"你可以使用自己的臉孔將手機解鎖。為了安全起見，必須先設定備用螢幕鎖定方式，才能使用這個選項。"</string>
     <string name="unlock_set_unlock_disabled_summary" msgid="2051593894736282302">"已由管理員、加密政策或認證儲存空間停用"</string>
     <string name="unlock_set_unlock_mode_off" msgid="5881952274566013651">"無"</string>
     <string name="unlock_set_unlock_mode_none" msgid="8467360084676871617">"滑動"</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"搜尋中…"</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"裝置設定"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"配對裝置"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"名稱"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"網際網路連線"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"鍵盤"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"通訊錄和通話記錄"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"要共用電話簿嗎？"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"「<xliff:g id="DEVICE_NAME">%1$s</xliff:g>」要求存取你的通訊錄和通話記錄。"</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"「<xliff:g id="DEVICE_NAME">%1$s</xliff:g>」提出藍牙配對要求。一旦配對連線成功，該裝置將可以存取你的通訊錄和通話記錄。"</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"配對裝置"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"可用的裝置"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"找不到可用裝置"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"連線"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"亮度"</string>
     <string name="brightness_summary" msgid="838917350127550703">"調整螢幕亮度"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"自動調整亮度"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"根據環境光源調整亮度"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"關閉"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"偏好的亮度設為「非常低」"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"偏好的亮度設為「低」"</string>
@@ -4123,12 +4120,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"自動填入服務"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"自動、填入、自動填入"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;請確定這是你信任的應用程式&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt;應用程式會根據你的畫面內容判斷要自動填入的內容。"</string>
-    <string name="color_theme" msgid="1535685696756738324">"色彩主題"</string>
-    <string name="default_theme" msgid="7085644992078579076">"預設"</string>
     <string name="device_theme" msgid="4571803018917608588">"裝置主題"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"自動 (根據桌布)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"淺色"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"深色"</string>
+    <string name="default_theme" msgid="7085644992078579076">"預設"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"網路名稱"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"在狀態列顯示網路名稱"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"儲存空間管理員：<xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values-zu/arrays.xml b/res/values-zu/arrays.xml
index b5f6538..d134cbd 100644
--- a/res/values-zu/arrays.xml
+++ b/res/values-zu/arrays.xml
@@ -486,7 +486,4 @@
     <item msgid="6620560879508595181">"Ihlala ivuliwe"</item>
     <item msgid="6385301106124765323">"Ihlala ivaliwe"</item>
   </string-array>
-    <!-- no translation found for systemui_theme_entries:0 (2470122177508109711) -->
-    <!-- no translation found for systemui_theme_entries:1 (5595198131199979987) -->
-    <!-- no translation found for systemui_theme_entries:2 (883155044873038544) -->
 </resources>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 7444173..8121528 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -121,8 +121,6 @@
     <string name="bluetooth_footer_mac_message" product="device" msgid="8413944740341742061">"Ikheli le-Bluetooth yedivayisi: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"Nqamula i-<xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"Ukusakaza"</string>
-    <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"Vimbela iphrofayli?"</string>
-    <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"Lokhu kuzovimbela:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;Kusukalt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
     <string name="bluetooth_unknown" msgid="644716244548801421"></string>
     <string name="bluetooth_device" msgid="5291950341750186887">"Idivayisi ye-Bluetooth engaqanjwanga igama"</string>
     <string name="progress_scanning" msgid="192587958424295789">"Iyasesha..."</string>
@@ -707,7 +705,6 @@
     <string name="bluetooth_searching_for_devices" msgid="9203739709307871727">"Iyasesha..."</string>
     <string name="bluetooth_preference_device_settings" msgid="907776049862799122">"Izilungiselelo zedivaysi"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="8875124878198774180">"Idivayisi ebhanqiwe"</string>
-    <string name="bluetooth_preference_paired_dialog_name_label" msgid="8111146086595617285">"Igama"</string>
     <string name="bluetooth_preference_paired_dialog_internet_option" msgid="7112953286863428412">"Uxhumo lwe-inthanethi"</string>
     <string name="bluetooth_preference_paired_dialog_keyboard_option" msgid="2271954176947879628">"Ikhibhodi"</string>
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Oxhumana nabo nomlando wekholi"</string>
@@ -715,7 +712,6 @@
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Yabelana ngebhuku lefoni?"</string>
     <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"I-<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ifuna ukuifnyelela oxhumana nabo nomlando wekholi."</string>
     <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"I-<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ifuna ukubhanqa ne-Bluetooth. Uma ixhumekile, izokwazi ukufinyelela oxhumana nabo nomlando wekholi."</string>
-    <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Amadivaysi abhanqene"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="1617401232446299411">"Amadivayisi atholakalayo"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Ayikho idivayisi etholakalayo"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Xhuma kwi-inthanethi"</string>
@@ -1106,7 +1102,8 @@
     <string name="brightness_title" msgid="5746272622112982836">"Ukugqama"</string>
     <string name="brightness_summary" msgid="838917350127550703">"Lungisa ukukhanya kwesikrini"</string>
     <string name="auto_brightness_title" msgid="6341042882350279391">"Ukukhanya okuguqukayo"</string>
-    <string name="auto_brightness_summary" msgid="1799041158760605375">"Lungiselela izinga lokukhanya ekukhanyeni okutholakalayo"</string>
+    <!-- no translation found for auto_brightness_summary_on (3519854265558828744) -->
+    <skip />
     <string name="auto_brightness_summary_off" msgid="2802336459335410626">"Kuvaliwe"</string>
     <string name="auto_brightness_summary_very_low" msgid="6483976609035853764">"Ukukhanya okukhethwayo kuphansi kakhulu"</string>
     <string name="auto_brightness_summary_low" msgid="5609877905833960427">"Ukukhanya okukhethwayo kuphansi"</string>
@@ -4120,12 +4117,8 @@
     <string name="autofill_app" msgid="7338387238377914374">"Isevisi yokugcwalisa ngokuzenzakalela"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"okuzenzakalelayo, gcwalisa, ukugcwalisa okuzenzakalelayo"</string>
     <string name="autofill_confirmation_message" msgid="2784869528908005194">"&lt;b&gt;Qiniseka ukuthi wethemba lolu hlelo lokusebenza&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; isebenzisa okusesikrinini sakho ukunquma okungagcwaliswa ngokuzenzakalela."</string>
-    <string name="color_theme" msgid="1535685696756738324">"Itimu yombala"</string>
-    <string name="default_theme" msgid="7085644992078579076">"Okuzenzakalelayo"</string>
     <string name="device_theme" msgid="4571803018917608588">"Itimu yedivayisi"</string>
-    <string name="systemui_theme_wallpaper" msgid="5658521610680281172">"Okuzenzakalelayo (kusukela kusithombe sangemuva)"</string>
-    <string name="systemui_theme_light" msgid="7519689709659152866">"Ukukhanya"</string>
-    <string name="systemui_theme_dark" msgid="8708733503912628456">"Emnyama"</string>
+    <string name="default_theme" msgid="7085644992078579076">"Okuzenzakalelayo"</string>
     <string name="show_operator_name_title" msgid="805135053530442951">"Igama lenethiwekhi"</string>
     <string name="show_operator_name_summary" msgid="5962567590205757550">"Bonisa igama lenethiwekhi kwibha yesimo"</string>
     <string name="storage_manager_indicator" msgid="1516810749625915020">"Umphathi wesitolo: <xliff:g id="STATUS">^1</xliff:g>"</string>
diff --git a/res/values/attrs.xml b/res/values/attrs.xml
index 33573ac..7bdbe6d 100644
--- a/res/values/attrs.xml
+++ b/res/values/attrs.xml
@@ -179,4 +179,10 @@
     <attr name="batteryBadColor" format="color" />
     <attr name="batteryMaybeColor" format="color" />
 
+    <attr name="fingerprint_layout_theme" format="reference" />
+    <attr name="face_layout_theme" format="reference" />
+    <attr name="ic_menu_moreoverflow" format="reference" />
+    <attr name="side_margin" format="reference|dimension" />
+    <attr name="wifi_signal_color" format="reference" />
+
 </resources>
diff --git a/res/values/config.xml b/res/values/config.xml
index 0a73307..2920ac8 100755
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -117,9 +117,6 @@
     <!-- Class name for the storage manager's deletion helper class. -->
     <string name="config_deletion_helper_class" translatable="false">com.android.storagemanager.deletionhelper.DeletionHelperActivity</string>
 
-    <!-- Whether or not new device intro suggestion is supported for this device -->
-    <bool name="config_new_device_intro_suggestion_supported">false</bool>
-
     <!-- Whether to use a UI variant that minimizes the number of UI elements on screen. This is
          typically used when there is not enough space to display everything, because pattern view
          doesn't interact well with scroll view -->
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 981893d..02d3182 100755
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -185,7 +185,6 @@
     <!-- Bluetooth Preferences -->
     <dimen name="bluetooth_dialog_padding">8dip</dimen>
     <dimen name="bluetooth_dialog_padding_top">20dp</dimen>
-    <integer name="bluetooth_name_length">32</integer>
     <dimen name="bluetooth_pairing_padding">24dp</dimen>
     <dimen name="bluetooth_pairing_edittext_padding">21dp</dimen>
     <dimen name="bluetooth_checkbox_padding">16dp</dimen>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index b88c6118..82ae090 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -268,10 +268,6 @@
     <string name="bluetooth_is_disconnect_question">Disconnect <xliff:g id="device_name">%1$s</xliff:g>?</string>
     <!-- Bluetooth broadcasting settings, option to enable/disable broadcasting -->
     <string name="bluetooth_broadcasting">Broadcasting</string>
-    <!-- Bluetooth settings.  Dialog title to disable a single profile of a device. [CHAR LIMIT=40] -->
-    <string name="bluetooth_disable_profile_title">Disable profile?</string>
-    <!-- Bluetooth settings.  Message for disabling a profile of a bluetooth device. [CHAR LIMIT=NONE] -->
-    <string name="bluetooth_disable_profile_message">This will disable:&lt;br>&lt;b><xliff:g id="profile_name">%1$s</xliff:g>&lt;/b>&lt;br>&lt;br>From:&lt;br>&lt;b><xliff:g id="device_name">%2$s</xliff:g>&lt;/b></string>
 
     <!-- Bluetooth settings.  Message when the device state is unknown -->
     <string name="bluetooth_unknown" />
@@ -879,30 +875,46 @@
     <string name="security_dashboard_summary_no_fingerprint">Screen lock</string>
 
     <!-- Face enrollment and settings --><skip />
-    <!-- Message shown in summary field when face authentication is set up. [CHAR LIMIT=22] -->
+    <!-- Message shown in summary field when face authentication is set up. [CHAR LIMIT=40] -->
     <string name="security_settings_face_preference_summary">Face added</string>
-    <!-- Message shown in summary field when face authentication is not set up. [CHAR LIMIT=40] -->
+    <!-- Message shown in summary field when face authentication is not set up. [CHAR LIMIT=54] -->
     <string name="security_settings_face_preference_summary_none">Tap to set up face authentication</string>
-    <!-- Title shown for menu item that launches face settings or enrollment. [CHAR LIMIT=22] -->
+    <!-- Title shown for menu item that launches face settings or enrollment. [CHAR LIMIT=32] -->
     <string name="security_settings_face_preference_title">Face authentication</string>
     <!-- Button text to cancel enrollment from the introduction [CHAR LIMIT=22] -->
     <string name="security_settings_face_enroll_introduction_cancel">Cancel</string>
-    <!-- Introduction title shown in face enrollment to introduce the face unlock feature [CHAR LIMIT=30] -->
+    <!-- Introduction title shown in face enrollment to introduce the face unlock feature [CHAR LIMIT=40] -->
     <string name="security_settings_face_enroll_introduction_title">Unlock with your face</string>
     <!-- Introduction title shown in face enrollment to introduce the face authentication feature, when face unlock is disabled by device admin [CHAR LIMIT=40] -->
     <string name="security_settings_face_enroll_introduction_title_unlock_disabled">Use your face to authenticate</string>
     <!-- Introduction detail message shown in face enrollment dialog [CHAR LIMIT=NONE]-->
     <string name="security_settings_face_enroll_introduction_message">Use your face to unlock your phone, authorize purchases, or sign in to apps.</string>
     <!-- Introduction detail message shown in face enrollment dialog, when face unlock is disabled by device admin [CHAR LIMIT=NONE] -->
-    <string name="security_settings_face_enroll_introduction_message_unlock_disabled">Use you</string>
+    <string name="security_settings_face_enroll_introduction_message_unlock_disabled">Use your face to unlock your phone or approve purchases.\n\nNote: You can\u2019t use your face to unlock this device. For more information, contact your organization\u2019s admin.</string>
     <!-- Introduction detail message shwon in face enrollment screen in setup wizard. [CHAR LIMIT=NONE] -->
     <string name="security_settings_face_enroll_introduction_message_setup">Use your face to unlock your phone, authorize purchases, or sign in to apps</string>
+    <!-- Title shown in face enrollment dialog [CHAR LIMIT=40] -->
+    <string name="security_settings_face_enroll_repeat_title">Center your face in the circle</string>
+    <!-- Button text to skip enrollment of face [CHAR LIMIT=40] -->
+    <string name="security_settings_face_enroll_enrolling_skip">Do it later</string>
     <!-- Text shown when "Add face" button is disabled -->
-    <string name="face_add_max">You can add up to <xliff:g id="count" example="5">%d</xliff:g> fingerprints</string>
+    <string name="face_add_max">You can add up to <xliff:g id="count" example="5">%d</xliff:g> faces</string>
     <!-- Text shown when users has enrolled a maximum number of faces [CHAR LIMIT=NONE] -->
     <string name="face_intro_error_max">You\u2019ve added the maximum number of faces</string>
     <!-- Text shown when an unknown error caused the device to be unable to add faces [CHAR LIMIT=NONE] -->
     <string name="face_intro_error_unknown">Can\u2019t add more faces</string>
+    <!-- Dialog message for dialog which shows when face cannot be enrolled. [CHAR LIMIT=45] -->
+    <string name="security_settings_face_enroll_error_dialog_title">Enrollment was not completed</string>
+    <!-- Button text shown in face dialog shown when an error occurs during enrollment [CHAR LIMIT=22] -->
+    <string name="security_settings_face_enroll_dialog_ok">OK</string>
+    <!-- Dialog message for dialog which shows when face cannot be enrolled due to being idle too long. -->
+    <string name="security_settings_face_enroll_error_timeout_dialog_message">Face enrollment time limit reached. Try again.</string>
+    <!-- Dialog message for dialog which shows when face cannot be enrolled due to an internal error or face can't be read. -->
+    <string name="security_settings_face_enroll_error_generic_dialog_message">Face enrollment didn\'t work.</string>
+    <!-- Message shown in face enrollment dialog once enrollment is completed -->
+    <string name="security_settings_face_enroll_finish_title">All set. Looking good.</string>
+    <!-- Button text to exit face wizard after everything is done [CHAR LIMIT=15] -->
+    <string name="security_settings_face_enroll_done">Done</string>
 
     <!-- Fingerprint enrollment and settings --><skip />
     <!-- Title shown for menu item that launches fingerprint settings or enrollment [CHAR LIMIT=22] -->
@@ -1637,8 +1649,6 @@
     <string name="bluetooth_preference_device_settings">Device settings</string>
     <!-- Bluetooth settings: Paired dialog title [CHAR LIMIT=40] -->
     <string name="bluetooth_preference_paired_dialog_title">Paired device</string>
-    <!-- Bluetooth settings: Name label [CHAR LIMIT=40] -->
-    <string name="bluetooth_preference_paired_dialog_name_label">Name</string>
     <!-- Bluetooth settings: Checkbox label for enable/disable internet connection.  [CHAR LIMIT=40] -->
     <string name="bluetooth_preference_paired_dialog_internet_option">Internet connection</string>
     <!-- Bluetooth settings: Checkbox label for enable/disable keyboard connection.  [CHAR LIMIT=40] -->
@@ -1653,8 +1663,6 @@
     <string name="bluetooth_pairing_dialog_contants_request"><xliff:g id="device_name">%1$s</xliff:g> wants to access your contacts and call history.</string>
     <!-- Bluetooth settings: paring permission message.  [CHAR LIMIT=100] -->
     <string name="bluetooth_pairing_dialog_paring_request"><xliff:g id="device_name">%1$s</xliff:g> wants to pair with Bluetooth. When connected, it will have access to your contacts and call history.</string>
-    <!-- Bluetooth settings: The sub heading for devices which have already been paired with this device. [CHAR LIMIT=40] -->
-    <string name="bluetooth_preference_paired_devices">Paired devices</string>
     <!-- Bluetooth settings: The sub heading for available devices during and after scanning. [CHAR LIMIT=40] -->
     <string name="bluetooth_preference_found_media_devices">Available devices</string>
     <!-- Bluetooth settings: The message displayed if no Bluetooth devices were found. [CHAR LIMIT=40] -->
@@ -2568,9 +2576,9 @@
     <string name="brightness_summary">Adjust the brightness of the screen</string>
     <!-- Sound & display settings screen, setting option name to enable adaptive brightness [CHAR LIMIT=30] -->
     <string name="auto_brightness_title">Adaptive brightness</string>
-    <!-- Sound & display settings screen, setting option summary to enable adaptive brightness [CHAR LIMIT=100] -->
-    <string name="auto_brightness_summary">Optimize brightness level for available light</string>
-    <!-- Sound & display settings screen, setting option summary when adaptive brightness is off [CHAR LIMIT=100] -->
+    <!-- Setting option summary when adaptive brightness is on [CHAR LIMIT=NONE] -->
+    <string name="auto_brightness_summary_on">On</string>
+    <!-- Setting option summary when adaptive brightness is off [CHAR LIMIT=NONE] -->
     <string name="auto_brightness_summary_off">Off</string>
     <!-- Sound & display settings screen, setting option summary when preferred adaptive brightness is very low [CHAR LIMIT=100] -->
     <string name="auto_brightness_summary_very_low">Preferred brightness is very low</string>
@@ -9999,18 +10007,6 @@
     <!-- Summary label for dnd suggestion, which is displayed in Settings homepage [CHAR LIMIT=100] -->
     <string name="zen_suggestion_summary">Pause notifications to stay focused</string>
 
-    <!-- Title label for new device suggestion, which is displayed in Settings homepage [CHAR LIMIT=100] -->
-    <string name="new_device_suggestion_title">What\'s new and exciting?</string>
-
-    <!-- Summary label for new device suggestion, which is displayed in Settings homepage [CHAR LIMIT=100] -->
-    <string name="new_device_suggestion_summary" product="default">Take a tour of your new phone</string>
-
-    <!-- Summary label for new device suggestion, which is displayed in Settings homepage [CHAR LIMIT=100] -->
-    <string name="new_device_suggestion_summary" product="tablet">Take a tour of your new tablet</string>
-
-    <!-- Summary label for new device suggestion, which is displayed in Settings homepage [CHAR LIMIT=100] -->
-    <string name="new_device_suggestion_summary" product="device">Take a tour of your new device</string>
-
     <!-- The divider symbol between different parts of the notification header including spaces. not translatable [CHAR LIMIT=3] -->
     <string name="notification_header_divider_symbol_with_spaces" translatable="false">" • "</string>
 
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 4e5bdda..ff799cf 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -129,12 +129,6 @@
         <item name="android:scrollbarStyle">outsideOverlay</item>
     </style>
 
-    <style name="SettingsPreferenceHeaderPanel" parent="@*android:style/PreferenceHeaderPanel">
-    </style>
-
-    <style name="SettingsPreferenceHeaderList" parent="@*android:style/PreferenceHeaderList">
-    </style>
-
     <style name="TrustedCredentialsList">
         <item name="android:layout_width">match_parent</item>
         <item name="android:layout_height">match_parent</item>
@@ -157,13 +151,6 @@
         <item name="android:gravity">start</item>
     </style>
 
-    <style name="bt_item_label">
-        <item name="android:layout_width">wrap_content</item>
-        <item name="android:layout_height">wrap_content</item>
-        <item name="android:textSize">14sp</item>
-        <item name="android:textAlignment">viewStart</item>
-    </style>
-
     <style name="bt_item_edit_content">
         <item name="android:layout_width">match_parent</item>
         <item name="android:layout_height">wrap_content</item>
@@ -299,10 +286,6 @@
 
     <style name="TextAppearance.PagerTabs" parent="@android:style/TextAppearance.Material.Widget.TabWidget" />
 
-    <style name="KeyguardAppWidgetItem">
-        <item name="android:textSize">18sp</item>
-    </style>
-
     <!-- Scrollbar style OUTSIDE_OVERLAY -->
     <integer name="preference_scrollbar_style">33554432</integer>
 
@@ -364,6 +347,11 @@
         <item name="android:icon">@drawable/ic_fingerprint_header</item>
     </style>
 
+    <style name="TextAppearance.FaceErrorText"
+        parent="android:TextAppearance.Material.Body1">
+        <item name="android:textColor">?android:attr/colorError</item>
+    </style>
+
     <style name="FaceLayoutTheme">
         <item name="android:icon">@drawable/ic_face_header</item>
     </style>
diff --git a/res/values/styles_preference.xml b/res/values/styles_preference.xml
index a55f5ca..8fd38d6 100644
--- a/res/values/styles_preference.xml
+++ b/res/values/styles_preference.xml
@@ -19,11 +19,6 @@
 <!-- Things unrelated to preference framework UI customization should go to other styles files -->
 <resources>
 
-    <!-- Fragment style -->
-    <style name="SettingsPreferenceFragmentStyle" parent="@style/PreferenceFragment.Material">
-        <item name="android:layout">@layout/preference_list_fragment</item>
-    </style>
-
     <style name="ApnPreference" parent="@style/Preference.Material">
         <item name="android:layout">@layout/apn_preference_layout</item>
     </style>
diff --git a/res/values/themes.xml b/res/values/themes.xml
index 53aa026..b5fd083 100644
--- a/res/values/themes.xml
+++ b/res/values/themes.xml
@@ -15,11 +15,6 @@
 -->
 
 <resources>
-    <attr name="fingerprint_layout_theme" format="reference" />
-    <attr name="face_layout_theme" format="reference" />
-    <attr name="ic_menu_moreoverflow" format="reference" />
-    <attr name="side_margin" format="reference|dimension" />
-    <attr name="wifi_signal_color" format="reference" />
 
     <style name="GlifTheme" parent="SuwThemeGlif">
         <!-- For all Alert Dialogs -->
@@ -177,20 +172,14 @@
         <item name="android:windowAnimationStyle">@null</item>
     </style>
 
-
-    <style name="SuwSuggestionThemeGlif.Light" parent="SuwThemeGlif.Light">
-        <item name="android:windowAnimationStyle">@android:style/Animation.Activity</item>
-    </style>
-
     <style name="PreferenceTheme" parent="@style/PreferenceThemeOverlay.SettingsBase">
-        <item name="preferenceFragmentStyle">@style/SettingsPreferenceFragmentStyle</item>
         <item name="apnPreferenceStyle">@style/ApnPreference</item>
         <item name="seekBarPreferenceStyle">@style/SettingsSeekBarPreference</item>
         <item name="twoStateButtonPreferenceStyle">@style/TwoStateButtonPreference</item>
     </style>
 
     <style name="PreferenceTheme.SetupWizard" parent="PreferenceTheme">
-        <item name="preferenceFragmentStyle">@style/SetupWizardPreferenceFragmentStyle</item>
+        <item name="preferenceFragmentCompatStyle">@style/SetupWizardPreferenceFragmentStyle</item>
         <item name="preferenceStyle">@style/Preference.Material</item>
     </style>
 
@@ -239,8 +228,8 @@
 
         <item name="preferenceBackgroundColor">@drawable/preference_background</item>
 
-        <!-- For all Alert Dialogs -->
-        <item name="android:alertDialogTheme">@style/Theme.AlertDialog</item>
+        <!-- For all androidx version of AlertDialogs -->
+        <item name="alertDialogTheme">@style/Theme.AppCompat.Light.Dialog.Alert</item>
 
         <item name="*android:lockPatternStyle">@style/LockPatternStyle.Setup</item>
 
@@ -379,6 +368,7 @@
         <!-- copied from frameworks/base/core/res/res/values/themes_device_defaults.xml -->
         <item name="colorPrimary">@*android:color/primary_device_default_settings_light</item>
         <item name="colorPrimaryDark">@*android:color/primary_dark_device_default_settings_light</item>
+        <item name="android:colorAccent">@*android:color/accent_device_default_light</item>
     </style>
 
 </resources>
diff --git a/res/xml/accessibility_autoclick_settings.xml b/res/xml/accessibility_autoclick_settings.xml
index 6bd6c4d..bb77002 100644
--- a/res/xml/accessibility_autoclick_settings.xml
+++ b/res/xml/accessibility_autoclick_settings.xml
@@ -14,12 +14,14 @@
      limitations under the License.
 -->
 
-<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
-                  android:title="@string/accessibility_autoclick_preference_title">
+<PreferenceScreen
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:key="autoclick_preference_screen"
+    android:title="@string/accessibility_autoclick_preference_title">
 
 
     <com.android.settings.widget.SeekBarPreference
         android:key="autoclick_delay"
-        android:title="@string/accessibility_autoclick_delay_preference_title"/>
+        android:title="@string/accessibility_autoclick_delay_preference_title" />
 
 </PreferenceScreen>
diff --git a/res/xml/accessibility_daltonizer_settings.xml b/res/xml/accessibility_daltonizer_settings.xml
index 9b553ac..fc26fd3 100644
--- a/res/xml/accessibility_daltonizer_settings.xml
+++ b/res/xml/accessibility_daltonizer_settings.xml
@@ -14,8 +14,10 @@
      limitations under the License.
 -->
 
-<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
-    android:title="@string/accessibility_display_daltonizer_preference_title" >
+<PreferenceScreen
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:key="daltonizer_preference_screen"
+    android:title="@string/accessibility_display_daltonizer_preference_title">
 
     <ListPreference
         android:entries="@array/daltonizer_type_entries"
diff --git a/res/xml/accessibility_settings.xml b/res/xml/accessibility_settings.xml
index bef1351..9dda18f 100644
--- a/res/xml/accessibility_settings.xml
+++ b/res/xml/accessibility_settings.xml
@@ -76,7 +76,7 @@
 
         <Preference
                 android:fragment="com.android.settings.accessibility.ToggleAutoclickPreferenceFragment"
-                android:key="autoclick_preference_screen"
+                android:key="autoclick_preference"
                 android:title="@string/accessibility_autoclick_preference_title"/>
 
         <SwitchPreference
@@ -129,7 +129,7 @@
 
         <Preference
                 android:fragment="com.android.settings.accessibility.ToggleDaltonizerPreferenceFragment"
-                android:key="daltonizer_preference_screen"
+                android:key="daltonizer_preference"
                 android:title="@string/accessibility_display_daltonizer_preference_title"
                 android:icon="@drawable/ic_daltonizer"/>
 
diff --git a/res/xml/app_info_settings.xml b/res/xml/app_info_settings.xml
index 15afb5f..9d77e86 100644
--- a/res/xml/app_info_settings.xml
+++ b/res/xml/app_info_settings.xml
@@ -138,7 +138,7 @@
             android:key="picture_in_picture"
             android:title="@string/picture_in_picture_app_detail_title"
             android:summary="@string/summary_placeholder"
-            settings:controller="com.android.settings.applications.appinfo.PictureInPictureDetailPreferenceController" />
+            settings:controller="com.android.settings.applications.specialaccess.pictureinpicture.PictureInPictureDetailPreferenceController" />
 
         <Preference
             android:key="install_other_apps"
diff --git a/res/xml/billing_cycle.xml b/res/xml/billing_cycle.xml
index 2338a13..3720240 100644
--- a/res/xml/billing_cycle.xml
+++ b/res/xml/billing_cycle.xml
@@ -16,6 +16,7 @@
 
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
+    android:key="billing_cycle_settings"
     android:title="@string/billing_cycle">
 
     <Preference
diff --git a/res/xml/data_saver.xml b/res/xml/data_saver.xml
index 76715bb..19944e2 100644
--- a/res/xml/data_saver.xml
+++ b/res/xml/data_saver.xml
@@ -14,13 +14,17 @@
      limitations under the License.
 -->
 
-<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
-        android:title="@string/data_saver_title">
+<PreferenceScreen
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
+    android:key="data_saver_screen"
+    android:title="@string/data_saver_title">
 
     <Preference
         android:key="unrestricted_access"
         android:title="@string/unrestricted_data_saver"
         android:summary="@string/summary_two_lines_placeholder"
-        android:fragment="com.android.settings.datausage.UnrestrictedDataAccess" />
+        android:fragment="com.android.settings.datausage.UnrestrictedDataAccess"
+        settings:controller="com.android.settings.applications.specialaccess.DataSaverController" />
 
 </PreferenceScreen>
diff --git a/res/xml/development_tile_settings.xml b/res/xml/development_tile_settings.xml
index f0f71c0..3ce6694 100644
--- a/res/xml/development_tile_settings.xml
+++ b/res/xml/development_tile_settings.xml
@@ -17,4 +17,7 @@
 
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
-    android:title="@string/quick_settings_developer_tiles" />
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
+    android:key="development_tile_settings"
+    android:title="@string/quick_settings_developer_tiles"
+    settings:controller="com.android.settings.development.qstile.DevelopmentTilePreferenceController" />
diff --git a/res/xml/display_settings.xml b/res/xml/display_settings.xml
index bbf2883..0686bdb 100644
--- a/res/xml/display_settings.xml
+++ b/res/xml/display_settings.xml
@@ -42,7 +42,7 @@
     <Preference
         android:key="auto_brightness_entry"
         android:title="@string/auto_brightness_title"
-        android:summary="@string/auto_brightness_summary"
+        android:summary="@string/summary_placeholder"
         android:fragment="com.android.settings.display.AutoBrightnessSettings"
         settings:controller="com.android.settings.display.AutoBrightnessPreferenceController" />
 
diff --git a/res/xml/dream_fragment_overview.xml b/res/xml/dream_fragment_overview.xml
index ba689c7..a6214d1 100644
--- a/res/xml/dream_fragment_overview.xml
+++ b/res/xml/dream_fragment_overview.xml
@@ -16,13 +16,15 @@
 
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
     android:key="dream_overview_screen"
-    android:title="@string/screensaver_settings_title" >
+    android:title="@string/screensaver_settings_title">
 
     <com.android.settings.widget.GearPreference
         android:key="current_screensaver"
         android:title="@string/screensaver_settings_current"
-        android:fragment="com.android.settings.dream.CurrentDreamPicker" />
+        android:fragment="com.android.settings.dream.CurrentDreamPicker"
+        settings:controller="com.android.settings.dream.CurrentDreamPreferenceController" />
 
     <Preference
         android:key="when_to_start"
diff --git a/res/xml/feature_flags_settings.xml b/res/xml/feature_flags_settings.xml
index db652ff..8dc5ab3 100644
--- a/res/xml/feature_flags_settings.xml
+++ b/res/xml/feature_flags_settings.xml
@@ -17,4 +17,12 @@
 
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
-    android:title="@string/feature_flags_dashboard_title" />
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
+    android:key="feature_flags_settings"
+    android:title="@string/feature_flags_dashboard_title">
+    <PreferenceCategory
+        android:key="feature_flag_category"
+        android:layout="@layout/preference_category_no_label"
+        android:title="@string/summary_placeholder"
+        settings:controller="com.android.settings.development.featureflags.FeatureFlagsPreferenceController" />
+</PreferenceScreen>
diff --git a/res/xml/language_and_input.xml b/res/xml/language_and_input.xml
index 747d1b4..ec15f0d 100644
--- a/res/xml/language_and_input.xml
+++ b/res/xml/language_and_input.xml
@@ -63,7 +63,9 @@
         <!-- User dictionary preference title and fragment will be set programmatically. -->
         <Preference
             android:key="key_user_dictionary_settings"
-            android:title="@string/user_dict_settings_title" />
+            android:title="@string/user_dict_settings_title"
+            android:fragment="com.android.settings.inputmethod.UserDictionaryList"
+            settings:controller="com.android.settings.language.UserDictionaryPreferenceController" />
     </PreferenceCategory>
 
     <PreferenceCategory
diff --git a/res/xml/notification_access_settings.xml b/res/xml/notification_access_settings.xml
index 1300140..4dbaf88 100644
--- a/res/xml/notification_access_settings.xml
+++ b/res/xml/notification_access_settings.xml
@@ -17,4 +17,7 @@
 
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
-    android:title="@string/manage_notification_access_title" />
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
+    android:key="notification_access_screen"
+    android:title="@string/manage_notification_access_title"
+    settings:controller="com.android.settings.applications.specialaccess.notificationaccess.NotificationAccessScreenPreferenceController" />
diff --git a/res/xml/picture_in_picture_settings.xml b/res/xml/picture_in_picture_settings.xml
index b7091df..35839cd 100644
--- a/res/xml/picture_in_picture_settings.xml
+++ b/res/xml/picture_in_picture_settings.xml
@@ -17,4 +17,7 @@
 
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
-    android:title="@string/picture_in_picture_title" />
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
+    android:key="picture_in_picture_screen"
+    android:title="@string/picture_in_picture_title"
+    settings:controller="com.android.settings.applications.specialaccess.pictureinpicture.PictureInPictureScreenPreferenceController" />
diff --git a/res/xml/power_usage_summary.xml b/res/xml/power_usage_summary.xml
index d8003df..4ff67b7 100644
--- a/res/xml/power_usage_summary.xml
+++ b/res/xml/power_usage_summary.xml
@@ -28,7 +28,7 @@
 
     <PreferenceCategory
         android:key="battery_tip"
-        android:layout="@layout/preference_category_no_title" />
+        android:layout="@layout/preference_category_no_label" />
 
     <Preference
         android:fragment="com.android.settings.fuelgauge.batterysaver.BatterySaverSettings"
diff --git a/res/xml/premium_sms_settings.xml b/res/xml/premium_sms_settings.xml
index 7bcf11e..17d1297 100644
--- a/res/xml/premium_sms_settings.xml
+++ b/res/xml/premium_sms_settings.xml
@@ -17,4 +17,7 @@
 
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
-    android:title="@string/premium_sms_access" />
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
+    android:key="premium_sms_screen"
+    android:title="@string/premium_sms_access"
+    settings:controller="com.android.settings.applications.specialaccess.premiumsms.PremiumSmsScreenPreferenceController" />
diff --git a/res/xml/special_access.xml b/res/xml/special_access.xml
index 574686a..a6c2159 100644
--- a/res/xml/special_access.xml
+++ b/res/xml/special_access.xml
@@ -68,20 +68,20 @@
         android:key="notification_access"
         android:title="@string/manage_notification_access_title"
         android:fragment="com.android.settings.notification.NotificationAccessSettings"
-        settings:controller="com.android.settings.applications.specialaccess.NotificationAccessController" />
+        settings:controller="com.android.settings.applications.specialaccess.notificationaccess.NotificationAccessController" />
 
     <Preference
         android:key="picture_in_picture"
         android:title="@string/picture_in_picture_title"
-        android:fragment="com.android.settings.applications.appinfo.PictureInPictureSettings"
+        android:fragment="com.android.settings.applications.specialaccess.pictureinpicture.PictureInPictureSettings"
         settings:keywords="@string/picture_in_picture_keywords"
-        settings:controller="com.android.settings.applications.specialaccess.PictureInPictureController" />
+        settings:controller="com.android.settings.applications.specialaccess.pictureinpicture.PictureInPictureController" />
 
     <Preference
         android:key="premium_sms"
         android:title="@string/premium_sms_access"
-        android:fragment="com.android.settings.applications.PremiumSmsAccess"
-        settings:controller="com.android.settings.applications.specialaccess.PremiumSmsController" />
+        android:fragment="com.android.settings.applications.specialaccess.premiumsms.PremiumSmsAccess"
+        settings:controller="com.android.settings.applications.specialaccess.premiumsms.PremiumSmsController" />
 
     <Preference
         android:key="data_saver"
@@ -112,9 +112,9 @@
     <Preference
         android:key="enabled_vr_listeners"
         android:title="@string/vr_listeners_title"
-        android:fragment="com.android.settings.applications.VrListenerSettings"
+        android:fragment="com.android.settings.applications.specialaccess.vrlistener.VrListenerSettings"
         settings:keywords="@string/keywords_vr_listener"
-        settings:controller="com.android.settings.applications.specialaccess.EnabledVrListenersController">
+        settings:controller="com.android.settings.applications.specialaccess.vrlistener.EnabledVrListenersController">
         <extra
             android:name="classname"
             android:value="com.android.settings.Settings$VrListenersSettingsActivity" />
diff --git a/res/xml/unrestricted_data_access_settings.xml b/res/xml/unrestricted_data_access_settings.xml
index b1abb8e..a386d1b 100644
--- a/res/xml/unrestricted_data_access_settings.xml
+++ b/res/xml/unrestricted_data_access_settings.xml
@@ -18,7 +18,7 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:key="unrestricted_data"
+    android:key="unrestricted_data_screen"
     android:title="@string/unrestricted_data_saver"
     settings:controller="com.android.settings.datausage.UnrestrictedDataAccessPreferenceController">
 </PreferenceScreen>
diff --git a/res/xml/vr_listeners_settings.xml b/res/xml/vr_listeners_settings.xml
index 1954596..ffd8545 100644
--- a/res/xml/vr_listeners_settings.xml
+++ b/res/xml/vr_listeners_settings.xml
@@ -17,4 +17,7 @@
 
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
-    android:title="@string/vr_listeners_title" />
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
+    android:key="vr_listener_settings"
+    android:title="@string/vr_listeners_title"
+    settings:controller="com.android.settings.applications.specialaccess.vrlistener.VrListenerScreenPreferenceController" />
diff --git a/res/xml/zen_access_settings.xml b/res/xml/zen_access_settings.xml
index 35cfdb8..48dc1af 100644
--- a/res/xml/zen_access_settings.xml
+++ b/res/xml/zen_access_settings.xml
@@ -17,4 +17,5 @@
 
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
+    android:key="zen_access_screen"
     android:title="@string/manage_zen_access_title" />
diff --git a/src/com/android/settings/BugreportPreference.java b/src/com/android/settings/BugreportPreference.java
index 6371e3a..d2b5ec1 100644
--- a/src/com/android/settings/BugreportPreference.java
+++ b/src/com/android/settings/BugreportPreference.java
@@ -17,7 +17,6 @@
 package com.android.settings;
 
 import android.app.ActivityManager;
-import android.app.AlertDialog.Builder;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.os.RemoteException;
@@ -29,9 +28,11 @@
 
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.settings.overlay.FeatureFactory;
-import com.android.settingslib.CustomDialogPreference;
+import com.android.settingslib.CustomDialogPreferenceCompat;
 
-public class BugreportPreference extends CustomDialogPreference {
+import androidx.appcompat.app.AlertDialog.Builder;
+
+public class BugreportPreference extends CustomDialogPreferenceCompat {
 
     private static final String TAG = "BugreportPreference";
 
diff --git a/src/com/android/settings/CredentialStorage.java b/src/com/android/settings/CredentialStorage.java
index 4bcf656..7b39e4f 100644
--- a/src/com/android/settings/CredentialStorage.java
+++ b/src/com/android/settings/CredentialStorage.java
@@ -49,6 +49,7 @@
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 
+import androidx.fragment.app.FragmentActivity;
 import sun.security.util.ObjectIdentifier;
 import sun.security.x509.AlgorithmId;
 
@@ -88,7 +89,7 @@
  * Action:   normal unlock/install
  * Notes:    this is the common case
  */
-public final class CredentialStorage extends Activity {
+public final class CredentialStorage extends FragmentActivity {
 
     private static final String TAG = "CredentialStorage";
 
@@ -160,7 +161,7 @@
             case UNLOCKED: {
                 if (isActivePasswordQualityInsufficient()) {
                     final ConfigureKeyGuardDialog dialog = new ConfigureKeyGuardDialog();
-                    dialog.show(getFragmentManager(), ConfigureKeyGuardDialog.TAG);
+                    dialog.show(getSupportFragmentManager(), ConfigureKeyGuardDialog.TAG);
                     return;
                 }
                 installIfAvailable();
@@ -180,7 +181,7 @@
         if (isActivePasswordQualityInsufficient()) {
             // key guard not setup, doing so will initialize keystore
             final ConfigureKeyGuardDialog dialog = new ConfigureKeyGuardDialog();
-            dialog.show(getFragmentManager(), ConfigureKeyGuardDialog.TAG);
+            dialog.show(getSupportFragmentManager(), ConfigureKeyGuardDialog.TAG);
             // will return to onResume after Activity
             return;
         }
diff --git a/src/com/android/settings/CustomListPreference.java b/src/com/android/settings/CustomListPreference.java
index c666380..6ac7a56 100644
--- a/src/com/android/settings/CustomListPreference.java
+++ b/src/com/android/settings/CustomListPreference.java
@@ -16,10 +16,7 @@
 
 package com.android.settings;
 
-import android.app.AlertDialog;
 import android.app.Dialog;
-import android.app.Fragment;
-import android.app.FragmentTransaction;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.DialogInterface.OnClickListener;
@@ -30,8 +27,11 @@
 import com.android.internal.logging.nano.MetricsProto;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 
+import androidx.appcompat.app.AlertDialog.Builder;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentTransaction;
 import androidx.preference.ListPreference;
-import androidx.preference.ListPreferenceDialogFragment;
+import androidx.preference.ListPreferenceDialogFragmentCompat;
 
 public class CustomListPreference extends ListPreference {
 
@@ -40,11 +40,11 @@
     }
 
     public CustomListPreference(Context context, AttributeSet attrs, int defStyleAttr,
-                                int defStyleRes) {
+            int defStyleRes) {
         super(context, attrs, defStyleAttr, defStyleRes);
     }
 
-    protected void onPrepareDialogBuilder(AlertDialog.Builder builder,
+    protected void onPrepareDialogBuilder(Builder builder,
             DialogInterface.OnClickListener listener) {
     }
 
@@ -64,7 +64,7 @@
      *
      * @param value the value the user is about to choose
      * @return the message to show in a confirmation dialog, or {@code null} to
-     *         not request confirmation
+     * not request confirmation
      */
     protected CharSequence getConfirmationMessage(String value) {
         return null;
@@ -73,15 +73,17 @@
     protected void onDialogStateRestored(Dialog dialog, Bundle savedInstanceState) {
     }
 
-    public static class CustomListPreferenceDialogFragment extends ListPreferenceDialogFragment {
+    public static class CustomListPreferenceDialogFragment extends
+            ListPreferenceDialogFragmentCompat {
 
         private static final java.lang.String KEY_CLICKED_ENTRY_INDEX
                 = "settings.CustomListPrefDialog.KEY_CLICKED_ENTRY_INDEX";
 
         private int mClickedDialogEntryIndex;
 
-        public static ListPreferenceDialogFragment newInstance(String key) {
-            final ListPreferenceDialogFragment fragment = new CustomListPreferenceDialogFragment();
+        public static ListPreferenceDialogFragmentCompat newInstance(String key) {
+            final ListPreferenceDialogFragmentCompat fragment =
+                    new CustomListPreferenceDialogFragment();
             final Bundle b = new Bundle(1);
             b.putString(ARG_KEY, key);
             fragment.setArguments(b);
@@ -93,7 +95,7 @@
         }
 
         @Override
-        protected void onPrepareDialogBuilder(AlertDialog.Builder builder) {
+        protected void onPrepareDialogBuilder(Builder builder) {
             super.onPrepareDialogBuilder(builder);
             mClickedDialogEntryIndex = getCustomizablePreference()
                     .findIndexOfValue(getCustomizablePreference().getValue());
@@ -202,7 +204,7 @@
     public static class ConfirmDialogFragment extends InstrumentedDialogFragment {
         @Override
         public Dialog onCreateDialog(Bundle savedInstanceState) {
-            return new AlertDialog.Builder(getActivity())
+            return new Builder(getActivity())
                     .setMessage(getArguments().getCharSequence(Intent.EXTRA_TEXT))
                     .setPositiveButton(android.R.string.ok, new OnClickListener() {
                         @Override
diff --git a/src/com/android/settings/DateTimeSettings.java b/src/com/android/settings/DateTimeSettings.java
index 16c6ff5..bf4299b 100644
--- a/src/com/android/settings/DateTimeSettings.java
+++ b/src/com/android/settings/DateTimeSettings.java
@@ -71,7 +71,7 @@
     @Override
     public void onAttach(Context context) {
         super.onAttach(context);
-        getLifecycle().addObserver(new TimeChangeListenerMixin(context, this));
+        getSettingsLifecycle().addObserver(new TimeChangeListenerMixin(context, this));
     }
 
     @Override
diff --git a/src/com/android/settings/DisplaySettings.java b/src/com/android/settings/DisplaySettings.java
index ea9267a..236c7db 100644
--- a/src/com/android/settings/DisplaySettings.java
+++ b/src/com/android/settings/DisplaySettings.java
@@ -69,7 +69,7 @@
 
     @Override
     protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        return buildPreferenceControllers(context, getLifecycle());
+        return buildPreferenceControllers(context, getSettingsLifecycle());
     }
 
     @Override
diff --git a/src/com/android/settings/EditPinPreference.java b/src/com/android/settings/EditPinPreference.java
index 4efed4a..611f520 100644
--- a/src/com/android/settings/EditPinPreference.java
+++ b/src/com/android/settings/EditPinPreference.java
@@ -23,19 +23,19 @@
 import android.view.View;
 import android.widget.EditText;
 
-import com.android.settingslib.CustomEditTextPreference;
+import com.android.settingslib.CustomEditTextPreferenceCompat;
 
 /**
  * TODO: Add a soft dialpad for PIN entry.
  */
-class EditPinPreference extends CustomEditTextPreference {
+class EditPinPreference extends CustomEditTextPreferenceCompat {
 
     interface OnPinEnteredListener {
         void onPinEntered(EditPinPreference preference, boolean positiveResult);
     }
-    
+
     private OnPinEnteredListener mPinListener;
-    
+
     public EditPinPreference(Context context, AttributeSet attrs) {
         super(context, attrs);
     }
@@ -43,7 +43,7 @@
     public EditPinPreference(Context context, AttributeSet attrs, int defStyle) {
         super(context, attrs, defStyle);
     }
-    
+
     public void setOnPinEnteredListener(OnPinEnteredListener listener) {
         mPinListener = listener;
     }
diff --git a/src/com/android/settings/ProxySelector.java b/src/com/android/settings/ProxySelector.java
index 79767fb..1c51a98 100644
--- a/src/com/android/settings/ProxySelector.java
+++ b/src/com/android/settings/ProxySelector.java
@@ -113,7 +113,7 @@
             Log.e(TAG, "Old dialog fragment not null!");
         }
         mDialogFragment = new SettingsDialogFragment(this, dialogId);
-        mDialogFragment.show(getActivity().getFragmentManager(), Integer.toString(dialogId));
+        mDialogFragment.show(getActivity().getSupportFragmentManager(), Integer.toString(dialogId));
     }
 
     private void initView(View view) {
diff --git a/src/com/android/settings/ResetNetworkConfirm.java b/src/com/android/settings/ResetNetworkConfirm.java
index 1ecc8d7..53be36a 100644
--- a/src/com/android/settings/ResetNetworkConfirm.java
+++ b/src/com/android/settings/ResetNetworkConfirm.java
@@ -150,7 +150,8 @@
                 }
             }
 
-            ImsManager.factoryReset(context);
+            ImsManager.getInstance(context,
+                     SubscriptionManager.getPhoneId(mSubId)).factoryReset();
             restoreDefaultApn(context);
             esimFactoryReset(context, context.getPackageName());
             // There has been issues when Sms raw table somehow stores orphan
diff --git a/src/com/android/settings/RestrictedListPreference.java b/src/com/android/settings/RestrictedListPreference.java
index 4ea38b9..a5d241c 100644
--- a/src/com/android/settings/RestrictedListPreference.java
+++ b/src/com/android/settings/RestrictedListPreference.java
@@ -41,7 +41,8 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import androidx.preference.ListPreferenceDialogFragment;
+import androidx.appcompat.app.AlertDialog.Builder;
+import androidx.preference.ListPreferenceDialogFragmentCompat;
 import androidx.preference.PreferenceViewHolder;
 
 public class RestrictedListPreference extends CustomListPreference {
@@ -169,7 +170,7 @@
     }
 
     @Override
-    protected void onPrepareDialogBuilder(AlertDialog.Builder builder,
+    protected void onPrepareDialogBuilder(Builder builder,
             DialogInterface.OnClickListener listener) {
         builder.setAdapter(createListAdapter(), listener);
     }
@@ -219,8 +220,8 @@
             CustomListPreference.CustomListPreferenceDialogFragment {
         private int mLastCheckedPosition = AdapterView.INVALID_POSITION;
 
-        public static ListPreferenceDialogFragment newInstance(String key) {
-            final ListPreferenceDialogFragment fragment
+        public static ListPreferenceDialogFragmentCompat newInstance(String key) {
+            final ListPreferenceDialogFragmentCompat fragment
                     = new RestrictedListPreferenceDialogFragment();
             final Bundle b = new Bundle(1);
             b.putString(ARG_KEY, key);
diff --git a/src/com/android/settings/SeekBarDialogPreference.java b/src/com/android/settings/SeekBarDialogPreference.java
index 507c551..d0c8134 100644
--- a/src/com/android/settings/SeekBarDialogPreference.java
+++ b/src/com/android/settings/SeekBarDialogPreference.java
@@ -23,13 +23,13 @@
 import android.widget.ImageView;
 import android.widget.SeekBar;
 
-import com.android.settingslib.CustomDialogPreference;
+import com.android.settingslib.CustomDialogPreferenceCompat;
 
 /**
  * Based on frameworks/base/core/java/android/preference/SeekBarDialogPreference.java
  * except uses support lib preferences.
  */
-public class SeekBarDialogPreference extends CustomDialogPreference {
+public class SeekBarDialogPreference extends CustomDialogPreferenceCompat {
     private final Drawable mMyIcon;
 
     public SeekBarDialogPreference(Context context, AttributeSet attrs) {
diff --git a/src/com/android/settings/SetFullBackupPassword.java b/src/com/android/settings/SetFullBackupPassword.java
index 4ab096b..b6a03d5 100644
--- a/src/com/android/settings/SetFullBackupPassword.java
+++ b/src/com/android/settings/SetFullBackupPassword.java
@@ -21,6 +21,7 @@
 import android.os.Bundle;
 import android.os.RemoteException;
 import android.os.ServiceManager;
+import android.text.TextUtils;
 import android.util.Log;
 import android.view.View;
 import android.view.View.OnClickListener;
@@ -45,7 +46,7 @@
 
                 if (!newPw.equals(confirmPw)) {
                     // Mismatch between new pw and its confirmation re-entry
-Log.i(TAG, "password mismatch");
+                    Log.i(TAG, "password mismatch");
                     Toast.makeText(SetFullBackupPassword.this,
                             R.string.local_backup_password_toast_confirmation_mismatch,
                             Toast.LENGTH_LONG).show();
@@ -56,14 +57,14 @@
 
                 if (setBackupPassword(curPw, newPw)) {
                     // success
-Log.i(TAG, "password set successfully");
+                    Log.i(TAG, "password set successfully");
                     Toast.makeText(SetFullBackupPassword.this,
                             R.string.local_backup_password_toast_success,
                             Toast.LENGTH_LONG).show();
                     finish();
                 } else {
                     // failure -- bad existing pw, usually
-Log.i(TAG, "failure; password mismatch?");
+                    Log.i(TAG, "failure; password mismatch?");
                     Toast.makeText(SetFullBackupPassword.this,
                             R.string.local_backup_password_toast_validation_failure,
                             Toast.LENGTH_LONG).show();
@@ -96,6 +97,11 @@
     }
 
     private boolean setBackupPassword(String currentPw, String newPw) {
+        // new password can't be empty
+        if (TextUtils.isEmpty(newPw)) {
+            return false;
+        }
+
         try {
             return mBackupManager.setBackupPassword(currentPw, newPw);
         } catch (RemoteException e) {
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index 9673948..cafe5cf 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -20,9 +20,6 @@
 
 import android.app.ActionBar;
 import android.app.ActivityManager;
-import android.app.Fragment;
-import android.app.FragmentManager;
-import android.app.FragmentTransaction;
 import android.content.BroadcastReceiver;
 import android.content.ComponentName;
 import android.content.Context;
@@ -45,12 +42,6 @@
 import android.widget.Button;
 import android.widget.Toolbar;
 
-import androidx.annotation.VisibleForTesting;
-import androidx.localbroadcastmanager.content.LocalBroadcastManager;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceFragment;
-import androidx.preference.PreferenceManager;
-
 import com.android.internal.util.ArrayUtils;
 import com.android.settings.Settings.WifiSettingsActivity;
 import com.android.settings.applications.manageapplications.ManageApplications;
@@ -73,10 +64,19 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import androidx.annotation.VisibleForTesting;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+import androidx.fragment.app.FragmentTransaction;
+import androidx.localbroadcastmanager.content.LocalBroadcastManager;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceFragmentCompat;
+import androidx.preference.PreferenceManager;
+
 
 public class SettingsActivity extends SettingsBaseActivity
         implements PreferenceManager.OnPreferenceTreeClickListener,
-        PreferenceFragment.OnPreferenceStartFragmentCallback,
+        PreferenceFragmentCompat.OnPreferenceStartFragmentCallback,
         ButtonBarHandler, FragmentManager.OnBackStackChangedListener {
 
     private static final String LOG_TAG = "SettingsActivity";
@@ -190,7 +190,7 @@
     }
 
     @Override
-    public boolean onPreferenceStartFragment(PreferenceFragment caller, Preference pref) {
+    public boolean onPreferenceStartFragment(PreferenceFragmentCompat caller, Preference pref) {
         new SubSettingLauncher(this)
                 .setDestination(pref.getFragment())
                 .setArguments(pref.getExtras())
@@ -270,7 +270,7 @@
 
         mContent = findViewById(R.id.main_content);
 
-        getFragmentManager().addOnBackStackChangedListener(this);
+        getSupportFragmentManager().addOnBackStackChangedListener(this);
 
         if (savedState != null) {
             // We are restarting from a previous saved state; used that to initialize, instead
@@ -430,7 +430,7 @@
     }
 
     private void setTitleFromBackStack() {
-        final int count = getFragmentManager().getBackStackEntryCount();
+        final int count = getSupportFragmentManager().getBackStackEntryCount();
 
         if (count == 0) {
             if (mInitialTitleResId > 0) {
@@ -441,7 +441,8 @@
             return;
         }
 
-        FragmentManager.BackStackEntry bse = getFragmentManager().getBackStackEntryAt(count - 1);
+        FragmentManager.BackStackEntry bse = getSupportFragmentManager().
+                getBackStackEntryAt(count - 1);
         setTitleFromBackStackEntry(bse);
     }
 
@@ -581,7 +582,7 @@
                     + fragmentName);
         }
         Fragment f = Fragment.instantiate(this, fragmentName, args);
-        FragmentTransaction transaction = getFragmentManager().beginTransaction();
+        FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
         transaction.replace(R.id.main_content, f);
         if (withTransition) {
             TransitionManager.beginDelayedTransition(mContent);
@@ -595,7 +596,7 @@
             transaction.setBreadCrumbTitle(title);
         }
         transaction.commitAllowingStateLoss();
-        getFragmentManager().executePendingTransactions();
+        getSupportFragmentManager().executePendingTransactions();
         Log.d(LOG_TAG, "Executed frag manager pendingTransactions");
         return f;
     }
diff --git a/src/com/android/settings/SettingsDumpService.java b/src/com/android/settings/SettingsDumpService.java
index 07ea73e..c292dab 100644
--- a/src/com/android/settings/SettingsDumpService.java
+++ b/src/com/android/settings/SettingsDumpService.java
@@ -30,7 +30,6 @@
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.applications.ProcStatsData;
 import com.android.settings.fuelgauge.batterytip.AnomalyConfigJobService;
 import com.android.settingslib.net.DataUsageController;
@@ -43,6 +42,8 @@
 import java.io.FileDescriptor;
 import java.io.PrintWriter;
 
+import androidx.annotation.VisibleForTesting;
+
 public class SettingsDumpService extends Service {
     @VisibleForTesting
     static final String KEY_SERVICE = "service";
diff --git a/src/com/android/settings/SettingsHomepageActivity.java b/src/com/android/settings/SettingsHomepageActivity.java
index eed3a7f..6eef99c 100644
--- a/src/com/android/settings/SettingsHomepageActivity.java
+++ b/src/com/android/settings/SettingsHomepageActivity.java
@@ -16,9 +16,6 @@
 
 package com.android.settings;
 
-import android.app.Activity;
-import android.app.Fragment;
-import android.app.FragmentManager;
 import android.content.Context;
 import android.content.Intent;
 import android.os.Bundle;
@@ -28,6 +25,10 @@
 import com.android.settings.core.SettingsBaseActivity;
 import com.android.settings.homepage.HomepageFragment;
 
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentActivity;
+import androidx.fragment.app.FragmentManager;
+
 public class SettingsHomepageActivity extends SettingsBaseActivity {
 
     @Override
@@ -51,10 +52,10 @@
     /**
      * Switch to a specific Fragment
      */
-    public static void switchToFragment(Activity activity, int id, String fragmentName) {
+    public static void switchToFragment(FragmentActivity activity, int id, String fragmentName) {
         final Fragment f = Fragment.instantiate(activity, fragmentName, null /* args */);
 
-        FragmentManager manager = activity.getFragmentManager();
+        FragmentManager manager = activity.getSupportFragmentManager();
         manager.beginTransaction().replace(id, f).commitAllowingStateLoss();
         manager.executePendingTransactions();
     }
diff --git a/src/com/android/settings/SettingsLicenseActivity.java b/src/com/android/settings/SettingsLicenseActivity.java
index d64bcb3..c1bf9e5 100644
--- a/src/com/android/settings/SettingsLicenseActivity.java
+++ b/src/com/android/settings/SettingsLicenseActivity.java
@@ -16,12 +16,9 @@
 
 package com.android.settings;
 
-import android.app.Activity;
-import android.app.LoaderManager;
 import android.content.ActivityNotFoundException;
 import android.content.ContentResolver;
 import android.content.Intent;
-import android.content.Loader;
 import android.net.Uri;
 import android.os.Bundle;
 import android.os.SystemProperties;
@@ -30,17 +27,20 @@
 import android.widget.Toast;
 
 import com.android.settings.users.RestrictedProfileSettings;
-import com.android.settingslib.license.LicenseHtmlLoader;
+import com.android.settingslib.license.LicenseHtmlLoaderCompat;
 
 import java.io.File;
 
 import androidx.annotation.VisibleForTesting;
 import androidx.core.content.FileProvider;
+import androidx.fragment.app.FragmentActivity;
+import androidx.loader.app.LoaderManager;
+import androidx.loader.content.Loader;
 
 /**
  * The "dialog" that shows from "License" in the Settings app.
  */
-public class SettingsLicenseActivity extends Activity implements
+public class SettingsLicenseActivity extends FragmentActivity implements
             LoaderManager.LoaderCallbacks<File> {
     private static final String TAG = "SettingsLicenseActivity";
 
@@ -64,7 +64,7 @@
 
     @Override
     public Loader<File> onCreateLoader(int id, Bundle args) {
-        return new LicenseHtmlLoader(this);
+        return new LicenseHtmlLoaderCompat(this);
     }
 
     @Override
@@ -77,7 +77,7 @@
     }
 
     private void showHtmlFromDefaultXmlFiles() {
-        getLoaderManager().initLoader(LOADER_ID_LICENSE_HTML_LOADER, Bundle.EMPTY, this);
+        getSupportLoaderManager().initLoader(LOADER_ID_LICENSE_HTML_LOADER, Bundle.EMPTY, this);
     }
 
     @VisibleForTesting
diff --git a/src/com/android/settings/SettingsPreferenceFragment.java b/src/com/android/settings/SettingsPreferenceFragment.java
index d0bfa55..7ad18fe 100644
--- a/src/com/android/settings/SettingsPreferenceFragment.java
+++ b/src/com/android/settings/SettingsPreferenceFragment.java
@@ -18,8 +18,6 @@
 
 import android.app.Activity;
 import android.app.Dialog;
-import android.app.DialogFragment;
-import android.app.Fragment;
 import android.content.ContentResolver;
 import android.content.Context;
 import android.content.DialogInterface;
@@ -43,15 +41,17 @@
 import com.android.settings.support.actionbar.HelpResourceProvider;
 import com.android.settings.widget.HighlightablePreferenceGroupAdapter;
 import com.android.settings.widget.LoadingViewController;
-import com.android.settingslib.CustomDialogPreference;
-import com.android.settingslib.CustomEditTextPreference;
+import com.android.settingslib.CustomDialogPreferenceCompat;
+import com.android.settingslib.CustomEditTextPreferenceCompat;
 import com.android.settingslib.core.instrumentation.Instrumentable;
-import com.android.settingslib.widget.FooterPreferenceMixin;
+import com.android.settingslib.widget.FooterPreferenceMixinCompat;
 
 import java.util.UUID;
 
 import androidx.annotation.VisibleForTesting;
 import androidx.annotation.XmlRes;
+import androidx.fragment.app.DialogFragment;
+import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceGroup;
 import androidx.preference.PreferenceScreen;
@@ -68,8 +68,8 @@
 
     private static final String SAVE_HIGHLIGHTED_KEY = "android:preference_highlighted";
 
-    protected final FooterPreferenceMixin mFooterPreferenceMixin =
-            new FooterPreferenceMixin(this, getLifecycle());
+    protected final FooterPreferenceMixinCompat mFooterPreferenceMixin =
+            new FooterPreferenceMixinCompat(this, getSettingsLifecycle());
 
 
     private static final int ORDER_FIRST = -1;
@@ -517,11 +517,11 @@
         } else if (preference instanceof CustomListPreference) {
             f = CustomListPreference.CustomListPreferenceDialogFragment
                     .newInstance(preference.getKey());
-        } else if (preference instanceof CustomDialogPreference) {
-            f = CustomDialogPreference.CustomPreferenceDialogFragment
+        } else if (preference instanceof CustomDialogPreferenceCompat) {
+            f = CustomDialogPreferenceCompat.CustomPreferenceDialogFragment
                     .newInstance(preference.getKey());
-        } else if (preference instanceof CustomEditTextPreference) {
-            f = CustomEditTextPreference.CustomPreferenceDialogFragment
+        } else if (preference instanceof CustomEditTextPreferenceCompat) {
+            f = CustomEditTextPreferenceCompat.CustomPreferenceDialogFragment
                     .newInstance(preference.getKey());
         } else {
             super.onDisplayPreferenceDialog(preference);
diff --git a/src/com/android/settings/TetherSettings.java b/src/com/android/settings/TetherSettings.java
index b703e4d..9515a13 100644
--- a/src/com/android/settings/TetherSettings.java
+++ b/src/com/android/settings/TetherSettings.java
@@ -112,7 +112,7 @@
     public void onAttach(Context context) {
         super.onAttach(context);
         mWifiTetherPreferenceController =
-                new WifiTetherPreferenceController(context, getLifecycle());
+                new WifiTetherPreferenceController(context, getSettingsLifecycle());
     }
 
     @Override
diff --git a/src/com/android/settings/UserCredentialsSettings.java b/src/com/android/settings/UserCredentialsSettings.java
index 0342651..20defb3 100644
--- a/src/com/android/settings/UserCredentialsSettings.java
+++ b/src/com/android/settings/UserCredentialsSettings.java
@@ -20,8 +20,6 @@
 import android.annotation.Nullable;
 import android.app.AlertDialog;
 import android.app.Dialog;
-import android.app.DialogFragment;
-import android.app.Fragment;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.os.AsyncTask;
@@ -59,6 +57,8 @@
 import java.util.SortedMap;
 import java.util.TreeMap;
 
+import androidx.fragment.app.DialogFragment;
+import androidx.fragment.app.Fragment;
 import androidx.recyclerview.widget.RecyclerView;
 
 public class UserCredentialsSettings extends SettingsPreferenceFragment
diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java
index 109bbf9..55ec159 100644
--- a/src/com/android/settings/Utils.java
+++ b/src/com/android/settings/Utils.java
@@ -24,7 +24,6 @@
 import android.annotation.Nullable;
 import android.app.ActivityManager;
 import android.app.AppGlobals;
-import android.app.Fragment;
 import android.app.IActivityManager;
 import android.app.KeyguardManager;
 import android.app.admin.DevicePolicyManager;
@@ -99,6 +98,7 @@
 import java.util.Locale;
 
 import androidx.annotation.StringRes;
+import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceGroup;
 
diff --git a/src/com/android/settings/accessibility/AccessibilitySettings.java b/src/com/android/settings/accessibility/AccessibilitySettings.java
index ab38d2d..b910130 100644
--- a/src/com/android/settings/accessibility/AccessibilitySettings.java
+++ b/src/com/android/settings/accessibility/AccessibilitySettings.java
@@ -119,11 +119,11 @@
     private static final String TTS_SETTINGS_PREFERENCE =
             "tts_settings_preference";
     private static final String AUTOCLICK_PREFERENCE_SCREEN =
-            "autoclick_preference_screen";
+            "autoclick_preference";
     private static final String VIBRATION_PREFERENCE_SCREEN =
             "vibration_preference_screen";
     private static final String DISPLAY_DALTONIZER_PREFERENCE_SCREEN =
-            "daltonizer_preference_screen";
+            "daltonizer_preference";
 
     // Extras passed to sub-fragments.
     static final String EXTRA_PREFERENCE_KEY = "preference_key";
@@ -882,6 +882,9 @@
                     // Duplicates in Language & Input
                     keys.add(TTS_SETTINGS_PREFERENCE);
 
+                    // Duplicates in child page
+                    keys.add(DISPLAY_DALTONIZER_PREFERENCE_SCREEN);
+                    keys.add(AUTOCLICK_PREFERENCE_SCREEN);
                     return keys;
                 }
             };
diff --git a/src/com/android/settings/accessibility/AccessibilitySettingsForSetupWizardActivity.java b/src/com/android/settings/accessibility/AccessibilitySettingsForSetupWizardActivity.java
index 95a566c..1b8e554 100644
--- a/src/com/android/settings/accessibility/AccessibilitySettingsForSetupWizardActivity.java
+++ b/src/com/android/settings/accessibility/AccessibilitySettingsForSetupWizardActivity.java
@@ -27,7 +27,7 @@
 import com.android.settingslib.core.instrumentation.Instrumentable;
 
 import androidx.preference.Preference;
-import androidx.preference.PreferenceFragment;
+import androidx.preference.PreferenceFragmentCompat;
 
 public class AccessibilitySettingsForSetupWizardActivity extends SettingsActivity {
 
@@ -71,7 +71,7 @@
     }
 
     @Override
-    public boolean onPreferenceStartFragment(PreferenceFragment caller, Preference pref) {
+    public boolean onPreferenceStartFragment(PreferenceFragmentCompat caller, Preference pref) {
         Bundle args = pref.getExtras();
         if (args == null) {
             args = new Bundle();
diff --git a/src/com/android/settings/accessibility/ColorInversionPreferenceController.java b/src/com/android/settings/accessibility/ColorInversionPreferenceController.java
index 091f109..bd989dc 100644
--- a/src/com/android/settings/accessibility/ColorInversionPreferenceController.java
+++ b/src/com/android/settings/accessibility/ColorInversionPreferenceController.java
@@ -22,8 +22,6 @@
 import com.android.settings.core.TogglePreferenceController;
 
 import androidx.annotation.VisibleForTesting;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
 
 public class ColorInversionPreferenceController extends TogglePreferenceController {
     @VisibleForTesting
diff --git a/src/com/android/settings/accessibility/ListDialogPreference.java b/src/com/android/settings/accessibility/ListDialogPreference.java
index cfb77bb..8a09512 100644
--- a/src/com/android/settings/accessibility/ListDialogPreference.java
+++ b/src/com/android/settings/accessibility/ListDialogPreference.java
@@ -16,7 +16,6 @@
 
 package com.android.settings.accessibility;
 
-import android.app.AlertDialog;
 import android.app.Dialog;
 import android.content.Context;
 import android.content.DialogInterface;
@@ -31,12 +30,14 @@
 import android.widget.AdapterView;
 import android.widget.BaseAdapter;
 
-import com.android.settingslib.CustomDialogPreference;
+import com.android.settingslib.CustomDialogPreferenceCompat;
+
+import androidx.appcompat.app.AlertDialog.Builder;
 
 /**
  * Abstract dialog preference that displays a set of values and optional titles.
  */
-public abstract class ListDialogPreference extends CustomDialogPreference {
+public abstract class ListDialogPreference extends CustomDialogPreferenceCompat {
     private CharSequence[] mEntryTitles;
     private int[] mEntryValues;
 
@@ -138,7 +139,7 @@
     }
 
     @Override
-    protected void onPrepareDialogBuilder(AlertDialog.Builder builder,
+    protected void onPrepareDialogBuilder(Builder builder,
             DialogInterface.OnClickListener listener) {
         super.onPrepareDialogBuilder(builder, listener);
 
diff --git a/src/com/android/settings/accessibility/ShortcutServicePickerFragment.java b/src/com/android/settings/accessibility/ShortcutServicePickerFragment.java
index eacc68f..08a6269 100644
--- a/src/com/android/settings/accessibility/ShortcutServicePickerFragment.java
+++ b/src/com/android/settings/accessibility/ShortcutServicePickerFragment.java
@@ -22,9 +22,7 @@
         .DALTONIZER_COMPONENT_NAME;
 
 import android.accessibilityservice.AccessibilityServiceInfo;
-import android.app.Activity;
 import android.app.Dialog;
-import android.app.Fragment;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.DialogInterface;
@@ -55,6 +53,9 @@
 import java.util.List;
 import java.util.Map;
 
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentActivity;
+
 /**
  * Fragment for picking accessibility shortcut service
  */
@@ -134,10 +135,11 @@
                 // This is a framework feature. It doesn't need to be confirmed.
                 onRadioButtonConfirmed(selectedKey);
             } else {
-                final Activity activity = getActivity();
+                final FragmentActivity activity = getActivity();
                 if (activity != null) {
                     ConfirmationDialogFragment.newInstance(this, selectedKey)
-                            .show(activity.getFragmentManager(), ConfirmationDialogFragment.TAG);
+                            .show(activity.getSupportFragmentManager(),
+                                    ConfirmationDialogFragment.TAG);
                 }
             }
         }
diff --git a/src/com/android/settings/accessibility/ToggleAutoclickPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleAutoclickPreferenceFragment.java
index 15857b3..97be2b3 100644
--- a/src/com/android/settings/accessibility/ToggleAutoclickPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleAutoclickPreferenceFragment.java
@@ -16,16 +16,24 @@
 
 package com.android.settings.accessibility;
 
+import android.content.Context;
 import android.content.res.Resources;
 import android.os.Bundle;
+import android.provider.SearchIndexableResource;
 import android.provider.Settings;
 import android.view.accessibility.AccessibilityManager;
 import android.widget.Switch;
 
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.settings.R;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settings.search.Indexable;
 import com.android.settings.widget.SeekBarPreference;
 import com.android.settings.widget.SwitchBar;
+import com.android.settingslib.search.SearchIndexable;
+
+import java.util.ArrayList;
+import java.util.List;
 
 import androidx.preference.Preference;
 
@@ -33,6 +41,7 @@
  * Fragment for preference screen for settings related to Automatically click after mouse stops
  * feature.
  */
+@SearchIndexable
 public class ToggleAutoclickPreferenceFragment extends ToggleFeaturePreferenceFragment
         implements SwitchBar.OnSwitchChangeListener, Preference.OnPreferenceChangeListener {
 
@@ -178,4 +187,18 @@
     private int delayToSeekBarProgress(int delay) {
         return (delay - MIN_AUTOCLICK_DELAY) / AUTOCLICK_DELAY_STEP;
     }
+
+    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider() {
+                @Override
+                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
+                        boolean enabled) {
+                    final ArrayList<SearchIndexableResource> result = new ArrayList<>();
+
+                    final SearchIndexableResource sir = new SearchIndexableResource(context);
+                    sir.xmlResId = R.xml.accessibility_autoclick_settings;
+                    result.add(sir);
+                    return result;
+                }
+            };
 }
diff --git a/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java
index 2885ee6..bb7bb9e 100644
--- a/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java
@@ -16,18 +16,27 @@
 
 package com.android.settings.accessibility;
 
+import android.content.Context;
 import android.os.Bundle;
+import android.provider.SearchIndexableResource;
 import android.provider.Settings;
 import android.view.accessibility.AccessibilityManager;
 import android.widget.Switch;
 
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.settings.R;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settings.search.Indexable;
 import com.android.settings.widget.SwitchBar;
+import com.android.settingslib.search.SearchIndexable;
+
+import java.util.ArrayList;
+import java.util.List;
 
 import androidx.preference.ListPreference;
 import androidx.preference.Preference;
 
+@SearchIndexable
 public class ToggleDaltonizerPreferenceFragment extends ToggleFeaturePreferenceFragment
         implements Preference.OnPreferenceChangeListener, SwitchBar.OnSwitchChangeListener {
     private static final String ENABLED = Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED;
@@ -117,4 +126,19 @@
     public void onSwitchChanged(Switch switchView, boolean isChecked) {
         onPreferenceToggled(mPreferenceKey, isChecked);
     }
+
+    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider() {
+                @Override
+                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
+                        boolean enabled) {
+                    final ArrayList<SearchIndexableResource> result = new ArrayList<>();
+
+                    final SearchIndexableResource sir = new SearchIndexableResource(context);
+                    sir.xmlResId = R.xml.accessibility_daltonizer_settings;
+                    result.add(sir);
+                    return result;
+                }
+            };
+
 }
diff --git a/src/com/android/settings/accounts/AccountDashboardFragment.java b/src/com/android/settings/accounts/AccountDashboardFragment.java
index fd15f4e..d8b1008 100644
--- a/src/com/android/settings/accounts/AccountDashboardFragment.java
+++ b/src/com/android/settings/accounts/AccountDashboardFragment.java
@@ -80,7 +80,7 @@
         final AccountPreferenceController accountPrefController =
                 new AccountPreferenceController(context, parent, authorities);
         if (parent != null) {
-            parent.getLifecycle().addObserver(accountPrefController);
+            parent.getSettingsLifecycle().addObserver(accountPrefController);
         }
         controllers.add(accountPrefController);
         controllers.add(new AutoSyncDataPreferenceController(context, parent));
diff --git a/src/com/android/settings/accounts/AccountDetailDashboardFragment.java b/src/com/android/settings/accounts/AccountDetailDashboardFragment.java
index 56d8763..709066a 100644
--- a/src/com/android/settings/accounts/AccountDetailDashboardFragment.java
+++ b/src/com/android/settings/accounts/AccountDetailDashboardFragment.java
@@ -117,7 +117,7 @@
         mRemoveAccountController = new RemoveAccountPreferenceController(context, this);
         controllers.add(mRemoveAccountController);
         controllers.add(new AccountHeaderPreferenceController(
-                context, getLifecycle(), getActivity(), this /* host */, getArguments()));
+                context, getSettingsLifecycle(), getActivity(), this /* host */, getArguments()));
         return controllers;
     }
 
diff --git a/src/com/android/settings/accounts/AccountHeaderPreferenceController.java b/src/com/android/settings/accounts/AccountHeaderPreferenceController.java
index 7866cc7..25a902e 100644
--- a/src/com/android/settings/accounts/AccountHeaderPreferenceController.java
+++ b/src/com/android/settings/accounts/AccountHeaderPreferenceController.java
@@ -35,7 +35,7 @@
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
 import com.android.settingslib.core.lifecycle.events.OnResume;
 
-import androidx.preference.PreferenceFragment;
+import androidx.preference.PreferenceFragmentCompat;
 import androidx.preference.PreferenceScreen;
 
 public class AccountHeaderPreferenceController extends AbstractPreferenceController
@@ -44,14 +44,14 @@
     private static final String KEY_ACCOUNT_HEADER = "account_header";
 
     private final Activity mActivity;
-    private final PreferenceFragment mHost;
+    private final PreferenceFragmentCompat mHost;
     private final Account mAccount;
     private final UserHandle mUserHandle;
 
     private LayoutPreference mHeaderPreference;
 
     public AccountHeaderPreferenceController(Context context, Lifecycle lifecycle,
-            Activity activity, PreferenceFragment host, Bundle args) {
+            Activity activity, PreferenceFragmentCompat host, Bundle args) {
         super(context);
         mActivity = activity;
         mHost = host;
diff --git a/src/com/android/settings/accounts/AccountPreferenceController.java b/src/com/android/settings/accounts/AccountPreferenceController.java
index e44b460..904dea3 100644
--- a/src/com/android/settings/accounts/AccountPreferenceController.java
+++ b/src/com/android/settings/accounts/AccountPreferenceController.java
@@ -41,7 +41,6 @@
 import android.util.Log;
 import android.util.SparseArray;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.AccessiblePreferenceCategory;
 import com.android.settings.R;
 import com.android.settings.SettingsPreferenceFragment;
@@ -63,6 +62,7 @@
 import java.util.Comparator;
 import java.util.List;
 
+import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.Preference.OnPreferenceClickListener;
 import androidx.preference.PreferenceGroup;
diff --git a/src/com/android/settings/accounts/AccountSyncSettings.java b/src/com/android/settings/accounts/AccountSyncSettings.java
index 66e8d22..f90c3c6 100644
--- a/src/com/android/settings/accounts/AccountSyncSettings.java
+++ b/src/com/android/settings/accounts/AccountSyncSettings.java
@@ -122,7 +122,7 @@
         final Activity activity = getActivity();
         final Preference pref = EntityHeaderController
                 .newInstance(activity, this, null /* header */)
-                .setRecyclerView(getListView(), getLifecycle())
+                .setRecyclerView(getListView(), getSettingsLifecycle())
                 .setIcon(getDrawableForType(mAccount.type))
                 .setLabel(mAccount.name)
                 .setSummary(getLabelForType(mAccount.type))
diff --git a/src/com/android/settings/accounts/AccountTypePreferenceLoader.java b/src/com/android/settings/accounts/AccountTypePreferenceLoader.java
index d051279..90bcb5e 100644
--- a/src/com/android/settings/accounts/AccountTypePreferenceLoader.java
+++ b/src/com/android/settings/accounts/AccountTypePreferenceLoader.java
@@ -41,7 +41,7 @@
 
 import androidx.preference.Preference;
 import androidx.preference.Preference.OnPreferenceClickListener;
-import androidx.preference.PreferenceFragment;
+import androidx.preference.PreferenceFragmentCompat;
 import androidx.preference.PreferenceGroup;
 import androidx.preference.PreferenceScreen;
 
@@ -61,9 +61,9 @@
 
     private AuthenticatorHelper mAuthenticatorHelper;
     private UserHandle mUserHandle;
-    private PreferenceFragment mFragment;
+    private PreferenceFragmentCompat mFragment;
 
-    public AccountTypePreferenceLoader(PreferenceFragment fragment,
+    public AccountTypePreferenceLoader(PreferenceFragmentCompat fragment,
             AuthenticatorHelper authenticatorHelper, UserHandle userHandle) {
         mFragment = fragment;
         mAuthenticatorHelper = authenticatorHelper;
diff --git a/src/com/android/settings/accounts/EnterpriseDisclosurePreferenceController.java b/src/com/android/settings/accounts/EnterpriseDisclosurePreferenceController.java
index 4fb8cf8..aad1172 100644
--- a/src/com/android/settings/accounts/EnterpriseDisclosurePreferenceController.java
+++ b/src/com/android/settings/accounts/EnterpriseDisclosurePreferenceController.java
@@ -22,7 +22,7 @@
 import com.android.settings.enterprise.EnterprisePrivacyFeatureProvider;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settingslib.widget.FooterPreference;
-import com.android.settingslib.widget.FooterPreferenceMixin;
+import com.android.settingslib.widget.FooterPreferenceMixinCompat;
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.PreferenceScreen;
@@ -30,7 +30,7 @@
 public class EnterpriseDisclosurePreferenceController extends BasePreferenceController {
 
     private final EnterprisePrivacyFeatureProvider mFeatureProvider;
-    private FooterPreferenceMixin mFooterPreferenceMixin;
+    private FooterPreferenceMixinCompat mFooterPreferenceMixin;
     private PreferenceScreen mScreen;
 
     public EnterpriseDisclosurePreferenceController(Context context) {
@@ -41,7 +41,7 @@
                 .getEnterprisePrivacyFeatureProvider(mContext);
     }
 
-    public void setFooterPreferenceMixin(FooterPreferenceMixin footerPreferenceMixin) {
+    public void setFooterPreferenceMixin(FooterPreferenceMixinCompat footerPreferenceMixin) {
         mFooterPreferenceMixin = footerPreferenceMixin;
     }
 
diff --git a/src/com/android/settings/accounts/RemoveAccountPreferenceController.java b/src/com/android/settings/accounts/RemoveAccountPreferenceController.java
index 11094e6..8df485c 100644
--- a/src/com/android/settings/accounts/RemoveAccountPreferenceController.java
+++ b/src/com/android/settings/accounts/RemoveAccountPreferenceController.java
@@ -24,7 +24,6 @@
 import android.app.Activity;
 import android.app.AlertDialog;
 import android.app.Dialog;
-import android.app.Fragment;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.Intent;
@@ -46,6 +45,7 @@
 
 import java.io.IOException;
 
+import androidx.fragment.app.Fragment;
 import androidx.preference.PreferenceScreen;
 
 public class RemoveAccountPreferenceController extends AbstractPreferenceController
diff --git a/src/com/android/settings/applications/AppAndNotificationDashboardFragment.java b/src/com/android/settings/applications/AppAndNotificationDashboardFragment.java
index aaf1d58..e8b7d00 100644
--- a/src/com/android/settings/applications/AppAndNotificationDashboardFragment.java
+++ b/src/com/android/settings/applications/AppAndNotificationDashboardFragment.java
@@ -18,7 +18,6 @@
 
 import android.app.Activity;
 import android.app.Application;
-import android.app.Fragment;
 import android.content.Context;
 import android.provider.SearchIndexableResource;
 
@@ -34,6 +33,8 @@
 import java.util.Arrays;
 import java.util.List;
 
+import androidx.fragment.app.Fragment;
+
 @SearchIndexable
 public class AppAndNotificationDashboardFragment extends DashboardFragment {
 
diff --git a/src/com/android/settings/applications/AppInfoBase.java b/src/com/android/settings/applications/AppInfoBase.java
index f8a222d..4ee2fd8 100644
--- a/src/com/android/settings/applications/AppInfoBase.java
+++ b/src/com/android/settings/applications/AppInfoBase.java
@@ -21,8 +21,6 @@
 import android.app.Activity;
 import android.app.AlertDialog;
 import android.app.Dialog;
-import android.app.DialogFragment;
-import android.app.Fragment;
 import android.app.admin.DevicePolicyManager;
 import android.content.BroadcastReceiver;
 import android.content.Context;
@@ -53,6 +51,9 @@
 
 import java.util.ArrayList;
 
+import androidx.fragment.app.DialogFragment;
+import androidx.fragment.app.Fragment;
+
 public abstract class AppInfoBase extends SettingsPreferenceFragment
         implements ApplicationsState.Callbacks {
 
@@ -92,7 +93,7 @@
         mApplicationFeatureProvider = FeatureFactory.getFactory(activity)
                 .getApplicationFeatureProvider(activity);
         mState = ApplicationsState.getInstance(activity.getApplication());
-        mSession = mState.newSession(this, getLifecycle());
+        mSession = mState.newSession(this, getSettingsLifecycle());
         mDpm = (DevicePolicyManager) activity.getSystemService(Context.DEVICE_POLICY_SERVICE);
         mUserManager = (UserManager) activity.getSystemService(Context.USER_SERVICE);
         mPm = activity.getPackageManager();
diff --git a/src/com/android/settings/applications/AppInfoWithHeader.java b/src/com/android/settings/applications/AppInfoWithHeader.java
index 9b6b708..2a4aeb8 100644
--- a/src/com/android/settings/applications/AppInfoWithHeader.java
+++ b/src/com/android/settings/applications/AppInfoWithHeader.java
@@ -44,7 +44,7 @@
         final Activity activity = getActivity();
         final Preference pref = EntityHeaderController
                 .newInstance(activity, this, null /* header */)
-                .setRecyclerView(getListView(), getLifecycle())
+                .setRecyclerView(getListView(), getSettingsLifecycle())
                 .setIcon(IconDrawableFactory.newInstance(getContext())
                         .getBadgedIcon(mPackageInfo.applicationInfo))
                 .setLabel(mPackageInfo.applicationInfo.loadLabel(mPm))
diff --git a/src/com/android/settings/applications/AppStorageSettings.java b/src/com/android/settings/applications/AppStorageSettings.java
index 576a0a2..897cbc7 100644
--- a/src/com/android/settings/applications/AppStorageSettings.java
+++ b/src/com/android/settings/applications/AppStorageSettings.java
@@ -25,12 +25,10 @@
 import android.app.AlertDialog;
 import android.app.AppGlobals;
 import android.app.GrantedUriPermission;
-import android.app.LoaderManager;
 import android.content.ContentResolver;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.Intent;
-import android.content.Loader;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.IPackageDataObserver;
 import android.content.pm.PackageManager;
@@ -66,6 +64,8 @@
 import java.util.TreeMap;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.loader.app.LoaderManager;
+import androidx.loader.content.Loader;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
 
diff --git a/src/com/android/settings/applications/DirectoryAccessDetails.java b/src/com/android/settings/applications/DirectoryAccessDetails.java
index 970a06d..02c33c0 100644
--- a/src/com/android/settings/applications/DirectoryAccessDetails.java
+++ b/src/com/android/settings/applications/DirectoryAccessDetails.java
@@ -99,7 +99,7 @@
         final Activity activity = getActivity();
         final Preference pref = EntityHeaderController
                 .newInstance(activity, this, /* header= */ null )
-                .setRecyclerView(getListView(), getLifecycle())
+                .setRecyclerView(getListView(), getSettingsLifecycle())
                 .setIcon(IconDrawableFactory.newInstance(getPrefContext())
                         .getBadgedIcon(mPackageInfo.applicationInfo))
                 .setLabel(mPackageInfo.applicationInfo.loadLabel(mPm))
diff --git a/src/com/android/settings/applications/FetchPackageStorageAsyncLoader.java b/src/com/android/settings/applications/FetchPackageStorageAsyncLoader.java
index 9ff96c1..f3ad326 100644
--- a/src/com/android/settings/applications/FetchPackageStorageAsyncLoader.java
+++ b/src/com/android/settings/applications/FetchPackageStorageAsyncLoader.java
@@ -26,14 +26,14 @@
 import com.android.internal.util.Preconditions;
 import com.android.settingslib.applications.StorageStatsSource;
 import com.android.settingslib.applications.StorageStatsSource.AppStorageStats;
-import com.android.settingslib.utils.AsyncLoader;
+import com.android.settingslib.utils.AsyncLoaderCompat;
 
 import java.io.IOException;
 
 /**
  * Fetches the storage stats using the StorageStatsManager for a given package and user tuple.
  */
-public class FetchPackageStorageAsyncLoader extends AsyncLoader<AppStorageStats> {
+public class FetchPackageStorageAsyncLoader extends AsyncLoaderCompat<AppStorageStats> {
     private static final String TAG = "FetchPackageStorage";
     private final StorageStatsSource mSource;
     private final ApplicationInfo mInfo;
diff --git a/src/com/android/settings/applications/ProcessStatsDetail.java b/src/com/android/settings/applications/ProcessStatsDetail.java
index 1d5fcd9..3331b1c 100644
--- a/src/com/android/settings/applications/ProcessStatsDetail.java
+++ b/src/com/android/settings/applications/ProcessStatsDetail.java
@@ -129,7 +129,7 @@
         final Activity activity = getActivity();
         final Preference pref = EntityHeaderController
                 .newInstance(activity, this, null /* appHeader */)
-                .setRecyclerView(getListView(), getLifecycle())
+                .setRecyclerView(getListView(), getSettingsLifecycle())
                 .setIcon(mApp.mUiTargetApp != null
                         ? IconDrawableFactory.newInstance(activity).getBadgedIcon(mApp.mUiTargetApp)
                         : new ColorDrawable(0))
diff --git a/src/com/android/settings/applications/RecentAppsPreferenceController.java b/src/com/android/settings/applications/RecentAppsPreferenceController.java
index 57cf8e3..24ffd14 100644
--- a/src/com/android/settings/applications/RecentAppsPreferenceController.java
+++ b/src/com/android/settings/applications/RecentAppsPreferenceController.java
@@ -20,7 +20,6 @@
         .SETTINGS_APP_NOTIF_CATEGORY;
 
 import android.app.Application;
-import android.app.Fragment;
 import android.app.usage.UsageStats;
 import android.app.usage.UsageStatsManager;
 import android.content.Context;
@@ -52,6 +51,7 @@
 import java.util.Set;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceScreen;
diff --git a/src/com/android/settings/applications/RunningServiceDetails.java b/src/com/android/settings/applications/RunningServiceDetails.java
index 770b1d6..0461343 100644
--- a/src/com/android/settings/applications/RunningServiceDetails.java
+++ b/src/com/android/settings/applications/RunningServiceDetails.java
@@ -5,7 +5,6 @@
 import android.app.AlertDialog;
 import android.app.ApplicationErrorReport;
 import android.app.Dialog;
-import android.app.DialogFragment;
 import android.app.PendingIntent;
 import android.content.ActivityNotFoundException;
 import android.content.ComponentName;
@@ -45,6 +44,8 @@
 import java.util.ArrayList;
 import java.util.Collections;
 
+import androidx.fragment.app.DialogFragment;
+
 public class RunningServiceDetails extends InstrumentedFragment
         implements RunningState.OnRefreshUiListener {
     static final String TAG = "RunningServicesDetails";
diff --git a/src/com/android/settings/applications/UsageAccessDetails.java b/src/com/android/settings/applications/UsageAccessDetails.java
index 4eb5754..8c76e71 100644
--- a/src/com/android/settings/applications/UsageAccessDetails.java
+++ b/src/com/android/settings/applications/UsageAccessDetails.java
@@ -26,12 +26,12 @@
 import android.os.Bundle;
 import android.provider.Settings;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.settings.R;
 import com.android.settings.applications.AppStateUsageBridge.UsageState;
 import com.android.settings.overlay.FeatureFactory;
 
+import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.Preference.OnPreferenceChangeListener;
 import androidx.preference.Preference.OnPreferenceClickListener;
diff --git a/src/com/android/settings/applications/appinfo/AppBatteryPreferenceController.java b/src/com/android/settings/applications/appinfo/AppBatteryPreferenceController.java
index 53c5147..32fcef5 100644
--- a/src/com/android/settings/applications/appinfo/AppBatteryPreferenceController.java
+++ b/src/com/android/settings/applications/appinfo/AppBatteryPreferenceController.java
@@ -16,9 +16,7 @@
 
 package com.android.settings.applications.appinfo;
 
-import android.app.LoaderManager;
 import android.content.Context;
-import android.content.Loader;
 import android.content.pm.PackageInfo;
 import android.os.BatteryStats;
 import android.os.Bundle;
@@ -43,6 +41,8 @@
 import java.util.List;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.loader.app.LoaderManager;
+import androidx.loader.content.Loader;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
diff --git a/src/com/android/settings/applications/appinfo/AppButtonsPreferenceController.java b/src/com/android/settings/applications/appinfo/AppButtonsPreferenceController.java
index f5b5c73..69fa71d 100644
--- a/src/com/android/settings/applications/appinfo/AppButtonsPreferenceController.java
+++ b/src/com/android/settings/applications/appinfo/AppButtonsPreferenceController.java
@@ -18,7 +18,6 @@
 
 import android.app.Activity;
 import android.app.ActivityManager;
-import android.app.Fragment;
 import android.app.admin.DevicePolicyManager;
 import android.content.BroadcastReceiver;
 import android.content.ComponentName;
@@ -65,6 +64,7 @@
 import java.util.List;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.fragment.app.Fragment;
 import androidx.preference.PreferenceScreen;
 
 /**
@@ -568,7 +568,7 @@
     private void showDialogInner(@ButtonActionDialogFragment.DialogType int id) {
         ButtonActionDialogFragment newFragment = ButtonActionDialogFragment.newInstance(id);
         newFragment.setTargetFragment(mFragment, 0);
-        newFragment.show(mActivity.getFragmentManager(), "dialog " + id);
+        newFragment.show(mActivity.getSupportFragmentManager(), "dialog " + id);
     }
 
     /** Returns whether there is only one user on this device, not including the system-only user */
diff --git a/src/com/android/settings/applications/appinfo/AppDataUsagePreferenceController.java b/src/com/android/settings/applications/appinfo/AppDataUsagePreferenceController.java
index 3b324e4..61502d0 100644
--- a/src/com/android/settings/applications/appinfo/AppDataUsagePreferenceController.java
+++ b/src/com/android/settings/applications/appinfo/AppDataUsagePreferenceController.java
@@ -16,9 +16,7 @@
 
 package com.android.settings.applications.appinfo;
 
-import android.app.LoaderManager;
 import android.content.Context;
-import android.content.Loader;
 import android.net.INetworkStatsService;
 import android.net.INetworkStatsSession;
 import android.net.NetworkTemplate;
@@ -39,9 +37,11 @@
 import com.android.settingslib.core.lifecycle.events.OnPause;
 import com.android.settingslib.core.lifecycle.events.OnResume;
 import com.android.settingslib.net.ChartData;
-import com.android.settingslib.net.ChartDataLoader;
+import com.android.settingslib.net.ChartDataLoaderCompat;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.loader.app.LoaderManager;
+import androidx.loader.content.Loader;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
@@ -86,7 +86,7 @@
             final AppItem app = new AppItem(uid);
             app.addUid(uid);
             mParent.getLoaderManager().restartLoader(mParent.LOADER_CHART_DATA,
-                    ChartDataLoader.buildArgs(getTemplate(mContext), app),
+                    ChartDataLoaderCompat.buildArgs(getTemplate(mContext), app),
                     this);
         }
     }
@@ -98,7 +98,7 @@
 
     @Override
     public Loader<ChartData> onCreateLoader(int id, Bundle args) {
-        return new ChartDataLoader(mContext, mStatsSession, args);
+        return new ChartDataLoaderCompat(mContext, mStatsSession, args);
     }
 
     @Override
diff --git a/src/com/android/settings/applications/appinfo/AppInfoDashboardFragment.java b/src/com/android/settings/applications/appinfo/AppInfoDashboardFragment.java
index ae40d67..4ef5b03 100755
--- a/src/com/android/settings/applications/appinfo/AppInfoDashboardFragment.java
+++ b/src/com/android/settings/applications/appinfo/AppInfoDashboardFragment.java
@@ -44,6 +44,8 @@
 import com.android.settings.SettingsActivity;
 import com.android.settings.SettingsPreferenceFragment;
 import com.android.settings.applications.manageapplications.ManageApplications;
+import com.android.settings.applications.specialaccess.pictureinpicture
+        .PictureInPictureDetailPreferenceController;
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settingslib.RestrictedLockUtils;
@@ -236,7 +238,7 @@
         }
         final String packageName = getPackageName();
         final List<AbstractPreferenceController> controllers = new ArrayList<>();
-        final Lifecycle lifecycle = getLifecycle();
+        final Lifecycle lifecycle = getSettingsLifecycle();
 
         // The following are controllers for preferences that needs to refresh the preference state
         // when app state changes.
@@ -281,7 +283,7 @@
         mAppEntry = appEntry;
     }
 
-    PackageInfo getPackageInfo() {
+    public PackageInfo getPackageInfo() {
         return mPackageInfo;
     }
 
@@ -522,7 +524,7 @@
         }
         if (mState == null) {
             mState = ApplicationsState.getInstance(activity.getApplication());
-            mSession = mState.newSession(this, getLifecycle());
+            mSession = mState.newSession(this, getSettingsLifecycle());
         }
         mUserId = UserHandle.myUserId();
         mAppEntry = mState.getEntry(getPackageName(), UserHandle.myUserId());
diff --git a/src/com/android/settings/applications/appinfo/AppStoragePreferenceController.java b/src/com/android/settings/applications/appinfo/AppStoragePreferenceController.java
index 64713bc..7ff1301 100644
--- a/src/com/android/settings/applications/appinfo/AppStoragePreferenceController.java
+++ b/src/com/android/settings/applications/appinfo/AppStoragePreferenceController.java
@@ -16,9 +16,7 @@
 
 package com.android.settings.applications.appinfo;
 
-import android.app.LoaderManager;
 import android.content.Context;
-import android.content.Loader;
 import android.content.pm.ApplicationInfo;
 import android.os.Bundle;
 import android.os.UserHandle;
@@ -34,6 +32,8 @@
 import com.android.settingslib.core.lifecycle.events.OnResume;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.loader.app.LoaderManager;
+import androidx.loader.content.Loader;
 import androidx.preference.Preference;
 
 public class AppStoragePreferenceController extends AppInfoPreferenceControllerBase
diff --git a/src/com/android/settings/applications/appinfo/DrawOverlayDetails.java b/src/com/android/settings/applications/appinfo/DrawOverlayDetails.java
index 6c79a6e..94111cf 100644
--- a/src/com/android/settings/applications/appinfo/DrawOverlayDetails.java
+++ b/src/com/android/settings/applications/appinfo/DrawOverlayDetails.java
@@ -28,7 +28,6 @@
 import android.view.Window;
 import android.view.WindowManager;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.settings.R;
 import com.android.settings.applications.AppInfoWithHeader;
@@ -38,6 +37,7 @@
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settingslib.applications.ApplicationsState.AppEntry;
 
+import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.Preference.OnPreferenceChangeListener;
 import androidx.preference.Preference.OnPreferenceClickListener;
@@ -49,7 +49,7 @@
     private static final String KEY_APP_OPS_SETTINGS_SWITCH = "app_ops_settings_switch";
     private static final String LOG_TAG = "DrawOverlayDetails";
 
-    private static final int [] APP_OPS_OP_CODE = {
+    private static final int[] APP_OPS_OP_CODE = {
             AppOpsManager.OP_SYSTEM_ALERT_WINDOW
     };
 
@@ -122,7 +122,7 @@
         logSpecialPermissionChange(newState, mPackageName);
         mAppOpsManager.setMode(AppOpsManager.OP_SYSTEM_ALERT_WINDOW,
                 mPackageInfo.applicationInfo.uid, mPackageName, newState
-                ? AppOpsManager.MODE_ALLOWED : AppOpsManager.MODE_ERRORED);
+                        ? AppOpsManager.MODE_ALLOWED : AppOpsManager.MODE_ERRORED);
     }
 
     @VisibleForTesting
@@ -175,6 +175,7 @@
 
     public static CharSequence getSummary(Context context, OverlayState overlayState) {
         return context.getString(overlayState.isPermissible() ?
-            R.string.app_permission_summary_allowed : R.string.app_permission_summary_not_allowed);
+                R.string.app_permission_summary_allowed
+                : R.string.app_permission_summary_not_allowed);
     }
 }
diff --git a/src/com/android/settings/applications/appinfo/InstantAppButtonsPreferenceController.java b/src/com/android/settings/applications/appinfo/InstantAppButtonsPreferenceController.java
index 9c9197e..87f6cef 100644
--- a/src/com/android/settings/applications/appinfo/InstantAppButtonsPreferenceController.java
+++ b/src/com/android/settings/applications/appinfo/InstantAppButtonsPreferenceController.java
@@ -16,7 +16,6 @@
 
 package com.android.settings.applications.appinfo;
 
-import android.app.DialogFragment;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.PackageManager;
@@ -43,6 +42,7 @@
 
 import java.util.List;
 
+import androidx.fragment.app.DialogFragment;
 import androidx.preference.PreferenceScreen;
 
 public class InstantAppButtonsPreferenceController extends BasePreferenceController implements
diff --git a/src/com/android/settings/applications/appops/AppOpsCategory.java b/src/com/android/settings/applications/appops/AppOpsCategory.java
index b506ce0..bdc9689 100644
--- a/src/com/android/settings/applications/appops/AppOpsCategory.java
+++ b/src/com/android/settings/applications/appops/AppOpsCategory.java
@@ -17,14 +17,10 @@
 package com.android.settings.applications.appops;
 
 import android.app.AppOpsManager;
-import android.app.ListFragment;
-import android.app.LoaderManager;
-import android.content.AsyncTaskLoader;
 import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
 import android.content.IntentFilter;
-import android.content.Loader;
 import android.content.pm.ActivityInfo;
 import android.content.res.Configuration;
 import android.content.res.Resources;
@@ -43,6 +39,11 @@
 
 import java.util.List;
 
+import androidx.fragment.app.ListFragment;
+import androidx.loader.app.LoaderManager;
+import androidx.loader.content.AsyncTaskLoader;
+import androidx.loader.content.Loader;
+
 public class AppOpsCategory extends ListFragment implements
         LoaderManager.LoaderCallbacks<List<AppOpEntry>> {
 
diff --git a/src/com/android/settings/applications/appops/BackgroundCheckSummary.java b/src/com/android/settings/applications/appops/BackgroundCheckSummary.java
index b347e93..1d804ce 100644
--- a/src/com/android/settings/applications/appops/BackgroundCheckSummary.java
+++ b/src/com/android/settings/applications/appops/BackgroundCheckSummary.java
@@ -17,7 +17,6 @@
 package com.android.settings.applications.appops;
 
 import android.annotation.Nullable;
-import android.app.FragmentTransaction;
 import android.os.Bundle;
 import android.preference.PreferenceFrameLayout;
 import android.view.LayoutInflater;
@@ -28,6 +27,8 @@
 import com.android.settings.R;
 import com.android.settings.core.InstrumentedPreferenceFragment;
 
+import androidx.fragment.app.FragmentTransaction;
+
 public class BackgroundCheckSummary extends InstrumentedPreferenceFragment {
     // layout inflater object used to inflate views
     private LayoutInflater mInflater;
diff --git a/src/com/android/settings/applications/assist/AssistFlashScreenPreferenceController.java b/src/com/android/settings/applications/assist/AssistFlashScreenPreferenceController.java
index 12ce08d..d8ab609 100644
--- a/src/com/android/settings/applications/assist/AssistFlashScreenPreferenceController.java
+++ b/src/com/android/settings/applications/assist/AssistFlashScreenPreferenceController.java
@@ -22,7 +22,6 @@
 import android.os.UserHandle;
 import android.provider.Settings;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.app.AssistUtils;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.core.AbstractPreferenceController;
@@ -34,6 +33,7 @@
 import java.util.Arrays;
 import java.util.List;
 
+import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 import androidx.preference.TwoStatePreference;
diff --git a/src/com/android/settings/applications/assist/DefaultAssistPicker.java b/src/com/android/settings/applications/assist/DefaultAssistPicker.java
index 20428d7..f1b3269 100644
--- a/src/com/android/settings/applications/assist/DefaultAssistPicker.java
+++ b/src/com/android/settings/applications/assist/DefaultAssistPicker.java
@@ -16,6 +16,7 @@
 
 package com.android.settings.applications.assist;
 
+import android.app.ActivityManager;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
@@ -38,6 +39,8 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import androidx.annotation.VisibleForTesting;
+
 public class DefaultAssistPicker extends DefaultAppPickerFragment {
 
     private static final String TAG = "DefaultAssistPicker";
@@ -45,9 +48,12 @@
             new Intent(VoiceInteractionService.SERVICE_INTERFACE);
     private static final Intent ASSIST_ACTIVITY_PROBE =
             new Intent(Intent.ACTION_ASSIST);
-    private final List<Info> mAvailableAssistants = new ArrayList<>();
+
+    @VisibleForTesting
+    final List<Info> mAvailableAssistants = new ArrayList<>();
 
     private AssistUtils mAssistUtils;
+    private ActivityManager mActivityManager;
 
     @Override
     public int getMetricsCategory() {
@@ -63,6 +69,7 @@
     public void onAttach(Context context) {
         super.onAttach(context);
         mAssistUtils = new AssistUtils(context);
+        mActivityManager = context.getSystemService(ActivityManager.class);
     }
 
     @Override
@@ -132,7 +139,11 @@
         return mAssistUtils.getAssistComponentForUser(mUserId);
     }
 
-    private void addAssistServices() {
+    @VisibleForTesting
+    void addAssistServices() {
+        if (mActivityManager.isLowRamDevice()) {
+            return;
+        }
         final List<ResolveInfo> services = mPm.queryIntentServices(
                 ASSIST_SERVICE_PROBE, PackageManager.GET_META_DATA);
         for (ResolveInfo resolveInfo : services) {
diff --git a/src/com/android/settings/applications/assist/ManageAssist.java b/src/com/android/settings/applications/assist/ManageAssist.java
index cd85aca..8eb6a7f 100644
--- a/src/com/android/settings/applications/assist/ManageAssist.java
+++ b/src/com/android/settings/applications/assist/ManageAssist.java
@@ -54,7 +54,7 @@
 
     @Override
     protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        return buildPreferenceControllers(context, getLifecycle());
+        return buildPreferenceControllers(context, getSettingsLifecycle());
     }
 
     @Override
diff --git a/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragment.java b/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragment.java
index 485f482..d0493e9 100644
--- a/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragment.java
+++ b/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragment.java
@@ -16,11 +16,8 @@
 
 package com.android.settings.applications.defaultapps;
 
-import android.app.Activity;
 import android.app.AlertDialog;
 import android.app.Dialog;
-import android.app.DialogFragment;
-import android.app.Fragment;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.pm.PackageManager;
@@ -36,6 +33,10 @@
 import com.android.settingslib.applications.DefaultAppInfo;
 import com.android.settingslib.widget.CandidateInfo;
 
+import androidx.fragment.app.DialogFragment;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentActivity;
+
 /**
  * A generic app picker fragment that shows a list of app as radio button group.
  */
@@ -53,13 +54,13 @@
     public void onRadioButtonClicked(RadioButtonPreference selected) {
         final String selectedKey = selected.getKey();
         final CharSequence confirmationMessage = getConfirmationMessage(getCandidate(selectedKey));
-        final Activity activity = getActivity();
+        final FragmentActivity activity = getActivity();
         if (TextUtils.isEmpty(confirmationMessage)) {
             super.onRadioButtonClicked(selected);
         } else if (activity != null) {
             final DialogFragment fragment =
                     newConfirmationDialogFragment(selectedKey, confirmationMessage);
-            fragment.show(activity.getFragmentManager(), ConfirmationDialogFragment.TAG);
+            fragment.show(activity.getSupportFragmentManager(), ConfirmationDialogFragment.TAG);
         }
     }
 
diff --git a/src/com/android/settings/applications/manageapplications/FileViewHolderController.java b/src/com/android/settings/applications/manageapplications/FileViewHolderController.java
index 4e6bf26..ded0286 100644
--- a/src/com/android/settings/applications/manageapplications/FileViewHolderController.java
+++ b/src/com/android/settings/applications/manageapplications/FileViewHolderController.java
@@ -16,7 +16,7 @@
 
 package com.android.settings.applications.manageapplications;
 
-import android.app.Fragment;
+import androidx.fragment.app.Fragment;
 
 /**
  * FileViewHolderController handles adapting the AppViewHolder to work as a general purpose
diff --git a/src/com/android/settings/applications/manageapplications/ManageApplications.java b/src/com/android/settings/applications/manageapplications/ManageApplications.java
index 262281d..de4558e 100644
--- a/src/com/android/settings/applications/manageapplications/ManageApplications.java
+++ b/src/com/android/settings/applications/manageapplications/ManageApplications.java
@@ -16,6 +16,7 @@
 
 package com.android.settings.applications.manageapplications;
 
+import static androidx.recyclerview.widget.RecyclerView.SCROLL_STATE_IDLE;
 import static com.android.settings.applications.manageapplications.AppFilterRegistry
         .FILTER_APPS_ALL;
 import static com.android.settings.applications.manageapplications.AppFilterRegistry
@@ -37,8 +38,6 @@
 import static com.android.settings.applications.manageapplications.AppFilterRegistry
         .FILTER_APPS_WORK;
 
-import static androidx.recyclerview.widget.RecyclerView.SCROLL_STATE_IDLE;
-
 import android.annotation.Nullable;
 import android.annotation.StringRes;
 import android.app.Activity;
diff --git a/src/com/android/settings/applications/manageapplications/MusicViewHolderController.java b/src/com/android/settings/applications/manageapplications/MusicViewHolderController.java
index 398158e..c93ae13 100644
--- a/src/com/android/settings/applications/manageapplications/MusicViewHolderController.java
+++ b/src/com/android/settings/applications/manageapplications/MusicViewHolderController.java
@@ -16,7 +16,6 @@
 
 package com.android.settings.applications.manageapplications;
 
-import android.app.Fragment;
 import android.content.Context;
 import android.content.Intent;
 import android.os.UserHandle;
@@ -31,6 +30,7 @@
 import java.io.IOException;
 
 import androidx.annotation.WorkerThread;
+import androidx.fragment.app.Fragment;
 
 /**
  * MusicViewHolderController controls an Audio/Music file view in the ManageApplications view.
diff --git a/src/com/android/settings/applications/manageapplications/PhotosViewHolderController.java b/src/com/android/settings/applications/manageapplications/PhotosViewHolderController.java
index 039eb61..55fbc52 100644
--- a/src/com/android/settings/applications/manageapplications/PhotosViewHolderController.java
+++ b/src/com/android/settings/applications/manageapplications/PhotosViewHolderController.java
@@ -16,7 +16,6 @@
 
 package com.android.settings.applications.manageapplications;
 
-import android.app.Fragment;
 import android.content.Context;
 import android.content.Intent;
 import android.os.UserHandle;
@@ -30,6 +29,7 @@
 import java.io.IOException;
 
 import androidx.annotation.WorkerThread;
+import androidx.fragment.app.Fragment;
 
 /** PhotosViewHolderController controls an Audio/Music file view in the ManageApplications view. */
 public class PhotosViewHolderController implements FileViewHolderController {
diff --git a/src/com/android/settings/applications/managedomainurls/DomainAppPreferenceController.java b/src/com/android/settings/applications/managedomainurls/DomainAppPreferenceController.java
index a1b9ab5..cb89c9a 100644
--- a/src/com/android/settings/applications/managedomainurls/DomainAppPreferenceController.java
+++ b/src/com/android/settings/applications/managedomainurls/DomainAppPreferenceController.java
@@ -81,7 +81,7 @@
     public void setFragment(ManageDomainUrls fragment) {
         mFragment = fragment;
         mMetricsCategory = fragment.getMetricsCategory();
-        mSession = mApplicationsState.newSession(this, mFragment.getLifecycle());
+        mSession = mApplicationsState.newSession(this, mFragment.getSettingsLifecycle());
     }
 
     @Override
diff --git a/src/com/android/settings/applications/specialaccess/DataSaverController.java b/src/com/android/settings/applications/specialaccess/DataSaverController.java
index 56687d7..c169d7f 100644
--- a/src/com/android/settings/applications/specialaccess/DataSaverController.java
+++ b/src/com/android/settings/applications/specialaccess/DataSaverController.java
@@ -31,7 +31,7 @@
     @AvailabilityStatus
     public int getAvailabilityStatus() {
         return mContext.getResources().getBoolean(R.bool.config_show_data_saver)
-                ? AVAILABLE
+                ? AVAILABLE_UNSEARCHABLE
                 : UNSUPPORTED_ON_DEVICE;
     }
 }
\ No newline at end of file
diff --git a/src/com/android/settings/applications/specialaccess/ZenAccessController.java b/src/com/android/settings/applications/specialaccess/ZenAccessController.java
index 41344a3..5ae2bd3 100644
--- a/src/com/android/settings/applications/specialaccess/ZenAccessController.java
+++ b/src/com/android/settings/applications/specialaccess/ZenAccessController.java
@@ -23,14 +23,17 @@
 
 public class ZenAccessController extends BasePreferenceController {
 
+    private final ActivityManager mActivityManager;
+
     public ZenAccessController(Context context, String preferenceKey) {
         super(context, preferenceKey);
+        mActivityManager = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE);
     }
 
     @Override
     public int getAvailabilityStatus() {
-        return !ActivityManager.isLowRamDeviceStatic()
-                ? AVAILABLE
+        return !mActivityManager.isLowRamDevice()
+                ? AVAILABLE_UNSEARCHABLE
                 : UNSUPPORTED_ON_DEVICE;
     }
 }
diff --git a/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminAdd.java b/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminAdd.java
index 06e3f1a..6e0f915 100644
--- a/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminAdd.java
+++ b/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminAdd.java
@@ -62,7 +62,6 @@
 import com.android.settings.EventLogTags;
 import com.android.settings.R;
 import com.android.settings.fuelgauge.BatteryUtils;
-
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.users.UserDialogs;
 import com.android.settingslib.RestrictedLockUtils;
diff --git a/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceController.java b/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceController.java
index 2c94acc..fe4ae1d 100644
--- a/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceController.java
+++ b/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceController.java
@@ -45,7 +45,7 @@
 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.FooterPreferenceMixin;
+import com.android.settingslib.widget.FooterPreferenceMixinCompat;
 
 import java.util.ArrayList;
 import java.util.Collection;
@@ -88,7 +88,7 @@
     };
 
     private PreferenceGroup mPreferenceGroup;
-    private FooterPreferenceMixin mFooterPreferenceMixin;
+    private FooterPreferenceMixinCompat mFooterPreferenceMixin;
 
     static {
         FILTER.addAction(ACTION_DEVICE_POLICY_MANAGER_STATE_CHANGED);
@@ -103,7 +103,7 @@
     }
 
     public DeviceAdminListPreferenceController setFooterPreferenceMixin(
-            FooterPreferenceMixin mixin) {
+            FooterPreferenceMixinCompat mixin) {
         mFooterPreferenceMixin = mixin;
         return this;
     }
diff --git a/src/com/android/settings/applications/specialaccess/NotificationAccessController.java b/src/com/android/settings/applications/specialaccess/notificationaccess/NotificationAccessController.java
similarity index 90%
rename from src/com/android/settings/applications/specialaccess/NotificationAccessController.java
rename to src/com/android/settings/applications/specialaccess/notificationaccess/NotificationAccessController.java
index 773cd7d..f9e8fe3 100644
--- a/src/com/android/settings/applications/specialaccess/NotificationAccessController.java
+++ b/src/com/android/settings/applications/specialaccess/notificationaccess/NotificationAccessController.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.settings.applications.specialaccess;
+package com.android.settings.applications.specialaccess.notificationaccess;
 
 import android.app.ActivityManager;
 import android.content.Context;
@@ -30,7 +30,7 @@
     @Override
     public int getAvailabilityStatus() {
         return !ActivityManager.isLowRamDeviceStatic()
-                ? AVAILABLE
+                ? AVAILABLE_UNSEARCHABLE
                 : UNSUPPORTED_ON_DEVICE;
     }
 }
diff --git a/src/com/android/settings/applications/specialaccess/PictureInPictureController.java b/src/com/android/settings/applications/specialaccess/notificationaccess/NotificationAccessScreenPreferenceController.java
similarity index 78%
copy from src/com/android/settings/applications/specialaccess/PictureInPictureController.java
copy to src/com/android/settings/applications/specialaccess/notificationaccess/NotificationAccessScreenPreferenceController.java
index 6666605..b86489d 100644
--- a/src/com/android/settings/applications/specialaccess/PictureInPictureController.java
+++ b/src/com/android/settings/applications/specialaccess/notificationaccess/NotificationAccessScreenPreferenceController.java
@@ -14,16 +14,16 @@
  * limitations under the License.
  */
 
-package com.android.settings.applications.specialaccess;
+package com.android.settings.applications.specialaccess.notificationaccess;
 
 import android.app.ActivityManager;
 import android.content.Context;
 
 import com.android.settings.core.BasePreferenceController;
 
-public class PictureInPictureController extends BasePreferenceController {
+public class NotificationAccessScreenPreferenceController extends BasePreferenceController {
 
-    public PictureInPictureController(Context context, String preferenceKey) {
+    public NotificationAccessScreenPreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
     }
 
diff --git a/src/com/android/settings/applications/specialaccess/PictureInPictureController.java b/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureController.java
similarity index 90%
rename from src/com/android/settings/applications/specialaccess/PictureInPictureController.java
rename to src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureController.java
index 6666605..714b662 100644
--- a/src/com/android/settings/applications/specialaccess/PictureInPictureController.java
+++ b/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureController.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.settings.applications.specialaccess;
+package com.android.settings.applications.specialaccess.pictureinpicture;
 
 import android.app.ActivityManager;
 import android.content.Context;
@@ -30,7 +30,7 @@
     @Override
     public int getAvailabilityStatus() {
         return !ActivityManager.isLowRamDeviceStatic()
-                ? AVAILABLE
+                ? AVAILABLE_UNSEARCHABLE
                 : UNSUPPORTED_ON_DEVICE;
     }
 }
diff --git a/src/com/android/settings/applications/appinfo/PictureInPictureDetailPreferenceController.java b/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureDetailPreferenceController.java
similarity index 92%
rename from src/com/android/settings/applications/appinfo/PictureInPictureDetailPreferenceController.java
rename to src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureDetailPreferenceController.java
index 75582cb..a2ece72 100644
--- a/src/com/android/settings/applications/appinfo/PictureInPictureDetailPreferenceController.java
+++ b/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureDetailPreferenceController.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2017 The Android Open Source Project
+ * 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.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.settings.applications.appinfo;
+package com.android.settings.applications.specialaccess.pictureinpicture;
 
 import android.content.Context;
 import android.content.pm.PackageInfo;
@@ -23,6 +23,7 @@
 import android.util.Log;
 
 import com.android.settings.SettingsPreferenceFragment;
+import com.android.settings.applications.appinfo.AppInfoPreferenceControllerBase;
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
diff --git a/src/com/android/settings/applications/appinfo/PictureInPictureDetails.java b/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureDetails.java
similarity index 97%
rename from src/com/android/settings/applications/appinfo/PictureInPictureDetails.java
rename to src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureDetails.java
index 4f7dd9a..6af4f81 100644
--- a/src/com/android/settings/applications/appinfo/PictureInPictureDetails.java
+++ b/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureDetails.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.settings.applications.appinfo;
+package com.android.settings.applications.specialaccess.pictureinpicture;
 
 import static android.app.AppOpsManager.MODE_ALLOWED;
 import static android.app.AppOpsManager.MODE_ERRORED;
@@ -24,12 +24,12 @@
 import android.content.Context;
 import android.os.Bundle;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.settings.R;
 import com.android.settings.applications.AppInfoWithHeader;
 import com.android.settings.overlay.FeatureFactory;
 
+import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.Preference.OnPreferenceChangeListener;
 import androidx.preference.SwitchPreference;
diff --git a/src/com/android/settings/applications/specialaccess/PictureInPictureController.java b/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureScreenPreferenceController.java
similarity index 77%
copy from src/com/android/settings/applications/specialaccess/PictureInPictureController.java
copy to src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureScreenPreferenceController.java
index 6666605..def6008 100644
--- a/src/com/android/settings/applications/specialaccess/PictureInPictureController.java
+++ b/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureScreenPreferenceController.java
@@ -14,16 +14,17 @@
  * limitations under the License.
  */
 
-package com.android.settings.applications.specialaccess;
+package com.android.settings.applications.specialaccess.pictureinpicture;
 
 import android.app.ActivityManager;
 import android.content.Context;
 
 import com.android.settings.core.BasePreferenceController;
 
-public class PictureInPictureController extends BasePreferenceController {
+public class PictureInPictureScreenPreferenceController extends BasePreferenceController {
 
-    public PictureInPictureController(Context context, String preferenceKey) {
+    public PictureInPictureScreenPreferenceController(Context context,
+            String preferenceKey) {
         super(context, preferenceKey);
     }
 
diff --git a/src/com/android/settings/applications/appinfo/PictureInPictureSettings.java b/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureSettings.java
similarity index 85%
rename from src/com/android/settings/applications/appinfo/PictureInPictureSettings.java
rename to src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureSettings.java
index df96183..a399752 100644
--- a/src/com/android/settings/applications/appinfo/PictureInPictureSettings.java
+++ b/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureSettings.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.settings.applications.appinfo;
+package com.android.settings.applications.specialaccess.pictureinpicture;
 
 import static android.content.pm.PackageManager.GET_ACTIVITIES;
 
@@ -27,16 +27,19 @@
 import android.os.Bundle;
 import android.os.UserHandle;
 import android.os.UserManager;
+import android.provider.SearchIndexableResource;
 import android.util.IconDrawableFactory;
 import android.util.Pair;
 import android.view.View;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.settings.R;
 import com.android.settings.applications.AppInfoBase;
-import com.android.settings.notification.EmptyTextSettings;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settings.search.Indexable;
 import com.android.settings.widget.AppPreference;
+import com.android.settings.widget.EmptyTextSettings;
+import com.android.settingslib.search.SearchIndexable;
 
 import java.text.Collator;
 import java.util.ArrayList;
@@ -44,15 +47,17 @@
 import java.util.Comparator;
 import java.util.List;
 
+import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.Preference.OnPreferenceClickListener;
 import androidx.preference.PreferenceScreen;
 
+@SearchIndexable
 public class PictureInPictureSettings extends EmptyTextSettings {
 
-    private static final String TAG = PictureInPictureSettings.class.getSimpleName();
     @VisibleForTesting
     static final List<String> IGNORE_PACKAGE_LIST = new ArrayList<>();
+
     static {
         IGNORE_PACKAGE_LIST.add("com.android.systemui");
     }
@@ -72,9 +77,9 @@
 
         public final int compare(Pair<ApplicationInfo, Integer> a,
                 Pair<ApplicationInfo, Integer> b) {
-            CharSequence  sa = a.first.loadLabel(mPm);
+            CharSequence sa = a.first.loadLabel(mPm);
             if (sa == null) sa = a.first.name;
-            CharSequence  sb = b.first.loadLabel(mPm);
+            CharSequence sb = b.first.loadLabel(mPm);
             if (sb == null) sb = b.first.name;
             int nameCmp = mCollator.compare(sa.toString(), sb.toString());
             if (nameCmp != 0) {
@@ -92,7 +97,7 @@
 
     /**
      * @return true if the package has any activities that declare that they support
-     *         picture-in-picture.
+     * picture-in-picture.
      */
 
     public static boolean checkPackageHasPictureInPictureActivities(String packageName,
@@ -192,7 +197,7 @@
 
     /**
      * @return the list of applications for the given user and all their profiles that have
-     *         activities which support PiP.
+     * activities which support PiP.
      */
     ArrayList<Pair<ApplicationInfo, Integer>> collectPipApps(int userId) {
         final ArrayList<Pair<ApplicationInfo, Integer>> pipApps = new ArrayList<>();
@@ -213,4 +218,18 @@
         }
         return pipApps;
     }
+
+    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider() {
+                @Override
+                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
+                        boolean enabled) {
+                    final ArrayList<SearchIndexableResource> result = new ArrayList<>();
+
+                    final SearchIndexableResource sir = new SearchIndexableResource(context);
+                    sir.xmlResId = R.xml.picture_in_picture_settings;
+                    result.add(sir);
+                    return result;
+                }
+            };
 }
diff --git a/src/com/android/settings/applications/PremiumSmsAccess.java b/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsAccess.java
similarity index 80%
rename from src/com/android/settings/applications/PremiumSmsAccess.java
rename to src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsAccess.java
index ab54c45..e5907ce 100644
--- a/src/com/android/settings/applications/PremiumSmsAccess.java
+++ b/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsAccess.java
@@ -1,48 +1,58 @@
 /*
  * Copyright (C) 2016 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.applications;
+package com.android.settings.applications.specialaccess.premiumsms;
 
 import android.annotation.Nullable;
 import android.app.Application;
 import android.content.Context;
 import android.os.Bundle;
+import android.provider.SearchIndexableResource;
 import android.view.View;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.logging.nano.MetricsProto;
 import com.android.internal.telephony.SmsUsageMonitor;
 import com.android.settings.R;
 import com.android.settings.applications.AppStateBaseBridge.Callback;
+import com.android.settings.applications.AppStateSmsPremBridge;
 import com.android.settings.applications.AppStateSmsPremBridge.SmsState;
-import com.android.settings.notification.EmptyTextSettings;
 import com.android.settings.overlay.FeatureFactory;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settings.search.Indexable;
+import com.android.settings.widget.EmptyTextSettings;
 import com.android.settingslib.applications.ApplicationsState;
 import com.android.settingslib.applications.ApplicationsState.AppEntry;
 import com.android.settingslib.applications.ApplicationsState.Callbacks;
 import com.android.settingslib.applications.ApplicationsState.Session;
+import com.android.settingslib.search.SearchIndexable;
 import com.android.settingslib.widget.FooterPreference;
 
 import java.util.ArrayList;
+import java.util.List;
 
+import androidx.annotation.VisibleForTesting;
 import androidx.preference.DropDownPreference;
 import androidx.preference.Preference;
 import androidx.preference.Preference.OnPreferenceChangeListener;
 import androidx.preference.PreferenceScreen;
 import androidx.preference.PreferenceViewHolder;
 
-public class PremiumSmsAccess extends EmptyTextSettings implements Callback, Callbacks, OnPreferenceChangeListener {
+@SearchIndexable
+public class PremiumSmsAccess extends EmptyTextSettings
+        implements Callback, Callbacks, OnPreferenceChangeListener {
 
     private ApplicationsState mApplicationsState;
     private AppStateSmsPremBridge mSmsBackend;
@@ -53,7 +63,7 @@
         super.onCreate(icicle);
         mApplicationsState = ApplicationsState.getInstance((Application)
                 getContext().getApplicationContext());
-        mSession = mApplicationsState.newSession(this, getLifecycle());
+        mSession = mApplicationsState.newSession(this, getSettingsLifecycle());
         mSmsBackend = new AppStateSmsPremBridge(getContext(), mApplicationsState, this);
     }
 
@@ -233,4 +243,18 @@
             super.onBindViewHolder(holder);
         }
     }
+
+    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider() {
+                @Override
+                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
+                        boolean enabled) {
+                    final ArrayList<SearchIndexableResource> result = new ArrayList<>();
+
+                    final SearchIndexableResource sir = new SearchIndexableResource(context);
+                    sir.xmlResId = R.xml.premium_sms_settings;
+                    result.add(sir);
+                    return result;
+                }
+            };
 }
diff --git a/src/com/android/settings/applications/specialaccess/PremiumSmsController.java b/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsController.java
similarity index 90%
rename from src/com/android/settings/applications/specialaccess/PremiumSmsController.java
rename to src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsController.java
index 0e8c198..158fe3c 100644
--- a/src/com/android/settings/applications/specialaccess/PremiumSmsController.java
+++ b/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsController.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.settings.applications.specialaccess;
+package com.android.settings.applications.specialaccess.premiumsms;
 
 import android.content.Context;
 
@@ -30,7 +30,7 @@
     @AvailabilityStatus
     public int getAvailabilityStatus() {
         return mContext.getResources().getBoolean(R.bool.config_show_premium_sms)
-                ? AVAILABLE
+                ? AVAILABLE_UNSEARCHABLE
                 : UNSUPPORTED_ON_DEVICE;
     }
 }
\ No newline at end of file
diff --git a/src/com/android/settings/applications/specialaccess/PremiumSmsController.java b/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsScreenPreferenceController.java
similarity index 72%
copy from src/com/android/settings/applications/specialaccess/PremiumSmsController.java
copy to src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsScreenPreferenceController.java
index 0e8c198..582e75e 100644
--- a/src/com/android/settings/applications/specialaccess/PremiumSmsController.java
+++ b/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsScreenPreferenceController.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2017 The Android Open Source Project
+ * 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.
@@ -14,17 +14,17 @@
  * limitations under the License.
  */
 
-package com.android.settings.applications.specialaccess;
+package com.android.settings.applications.specialaccess.premiumsms;
 
 import android.content.Context;
 
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
 
-public class PremiumSmsController extends BasePreferenceController {
+public class PremiumSmsScreenPreferenceController extends BasePreferenceController {
 
-    public PremiumSmsController(Context context, String key) {
-        super(context, key);
+    public PremiumSmsScreenPreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
     }
 
     @AvailabilityStatus
@@ -33,4 +33,4 @@
                 ? AVAILABLE
                 : UNSUPPORTED_ON_DEVICE;
     }
-}
\ No newline at end of file
+}
diff --git a/src/com/android/settings/applications/specialaccess/EnabledVrListenersController.java b/src/com/android/settings/applications/specialaccess/vrlistener/EnabledVrListenersController.java
similarity index 79%
rename from src/com/android/settings/applications/specialaccess/EnabledVrListenersController.java
rename to src/com/android/settings/applications/specialaccess/vrlistener/EnabledVrListenersController.java
index 5967b0d..fd59d8d 100644
--- a/src/com/android/settings/applications/specialaccess/EnabledVrListenersController.java
+++ b/src/com/android/settings/applications/specialaccess/vrlistener/EnabledVrListenersController.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.settings.applications.specialaccess;
+package com.android.settings.applications.specialaccess.vrlistener;
 
 import android.app.ActivityManager;
 import android.content.Context;
@@ -24,15 +24,18 @@
 
 public class EnabledVrListenersController extends BasePreferenceController {
 
+    private final ActivityManager mActivityManager;
+
     public EnabledVrListenersController(Context context, String key) {
         super(context, key);
+        mActivityManager = mContext.getSystemService(ActivityManager.class);
     }
 
     @AvailabilityStatus
     public int getAvailabilityStatus() {
         return mContext.getResources().getBoolean(R.bool.config_show_enabled_vr_listeners)
-                && !ActivityManager.isLowRamDeviceStatic()
-                ? AVAILABLE
+                && !mActivityManager.isLowRamDevice()
+                ? AVAILABLE_UNSEARCHABLE
                 : UNSUPPORTED_ON_DEVICE;
     }
 }
\ No newline at end of file
diff --git a/src/com/android/settings/applications/specialaccess/EnabledVrListenersController.java b/src/com/android/settings/applications/specialaccess/vrlistener/VrListenerScreenPreferenceController.java
similarity index 67%
copy from src/com/android/settings/applications/specialaccess/EnabledVrListenersController.java
copy to src/com/android/settings/applications/specialaccess/vrlistener/VrListenerScreenPreferenceController.java
index 5967b0d..655db87 100644
--- a/src/com/android/settings/applications/specialaccess/EnabledVrListenersController.java
+++ b/src/com/android/settings/applications/specialaccess/vrlistener/VrListenerScreenPreferenceController.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2017 The Android Open Source Project
+ * 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.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.settings.applications.specialaccess;
+package com.android.settings.applications.specialaccess.vrlistener;
 
 import android.app.ActivityManager;
 import android.content.Context;
@@ -22,16 +22,19 @@
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
 
-public class EnabledVrListenersController extends BasePreferenceController {
+public class VrListenerScreenPreferenceController extends BasePreferenceController {
 
-    public EnabledVrListenersController(Context context, String key) {
+    private final ActivityManager mActivityManager;
+
+    public VrListenerScreenPreferenceController(Context context, String key) {
         super(context, key);
+        mActivityManager = mContext.getSystemService(ActivityManager.class);
     }
 
     @AvailabilityStatus
     public int getAvailabilityStatus() {
         return mContext.getResources().getBoolean(R.bool.config_show_enabled_vr_listeners)
-                && !ActivityManager.isLowRamDeviceStatic()
+                && !mActivityManager.isLowRamDevice()
                 ? AVAILABLE
                 : UNSUPPORTED_ON_DEVICE;
     }
diff --git a/src/com/android/settings/applications/VrListenerSettings.java b/src/com/android/settings/applications/specialaccess/vrlistener/VrListenerSettings.java
similarity index 70%
rename from src/com/android/settings/applications/VrListenerSettings.java
rename to src/com/android/settings/applications/specialaccess/vrlistener/VrListenerSettings.java
index ea88ae4..6cf52ec 100644
--- a/src/com/android/settings/applications/VrListenerSettings.java
+++ b/src/com/android/settings/applications/specialaccess/vrlistener/VrListenerSettings.java
@@ -13,18 +13,28 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.settings.applications;
+package com.android.settings.applications.specialaccess.vrlistener;
 
 import android.content.ComponentName;
+import android.content.Context;
+import android.provider.SearchIndexableResource;
 import android.provider.Settings;
 import android.service.vr.VrListenerService;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.settings.R;
 import com.android.settings.overlay.FeatureFactory;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settings.search.Indexable;
 import com.android.settings.utils.ManagedServiceSettings;
+import com.android.settingslib.search.SearchIndexable;
 
+import java.util.ArrayList;
+import java.util.List;
+
+import androidx.annotation.VisibleForTesting;
+
+@SearchIndexable
 public class VrListenerSettings extends ManagedServiceSettings {
     private static final String TAG = VrListenerSettings.class.getSimpleName();
     private static final Config CONFIG = new Config.Builder()
@@ -66,4 +76,19 @@
         FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider().action(getContext(),
                 logCategory, packageName);
     }
+
+    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider() {
+                @Override
+                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
+                        boolean enabled) {
+                    final List<SearchIndexableResource> result = new ArrayList<>();
+
+                    final SearchIndexableResource sir = new SearchIndexableResource(context);
+                    sir.xmlResId = R.xml.vr_listeners_settings;
+                    result.add(sir);
+                    return result;
+                }
+            };
+
 }
diff --git a/src/com/android/settings/backup/BackupSettingsActivity.java b/src/com/android/settings/backup/BackupSettingsActivity.java
index 758d3be..c17d1e7 100644
--- a/src/com/android/settings/backup/BackupSettingsActivity.java
+++ b/src/com/android/settings/backup/BackupSettingsActivity.java
@@ -16,8 +16,6 @@
 
 package com.android.settings.backup;
 
-import android.app.Activity;
-import android.app.FragmentManager;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.PackageManager;
@@ -35,6 +33,8 @@
 import java.util.List;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.fragment.app.FragmentActivity;
+import androidx.fragment.app.FragmentManager;
 
 
 /**
@@ -42,7 +42,7 @@
  * if the manufacturer provided their backup settings.
  */
 @SearchIndexable
-public class BackupSettingsActivity extends Activity implements Indexable {
+public class BackupSettingsActivity extends FragmentActivity implements Indexable {
     private static final String TAG = "BackupSettingsActivity";
     private FragmentManager mFragmentManager;
 
@@ -81,7 +81,7 @@
             }
             // mFragmentManager can be set by {@link #setFragmentManager()} for testing
             if (mFragmentManager == null) {
-                mFragmentManager = getFragmentManager();
+                mFragmentManager = getSupportFragmentManager();
             }
             mFragmentManager.beginTransaction()
                     .replace(android.R.id.content, new BackupSettingsFragment())
diff --git a/src/com/android/settings/biometrics/BiometricEnrollBase.java b/src/com/android/settings/biometrics/BiometricEnrollBase.java
index c49ddd4..298891e 100644
--- a/src/com/android/settings/biometrics/BiometricEnrollBase.java
+++ b/src/com/android/settings/biometrics/BiometricEnrollBase.java
@@ -30,29 +30,33 @@
 import com.android.settings.R;
 import com.android.settings.SetupWizardUtils;
 import com.android.settings.biometrics.fingerprint.FingerprintEnrollEnrolling;
-import com.android.settings.biometrics.fingerprint.FingerprintSettings;
 import com.android.settings.core.InstrumentedActivity;
 import com.android.settings.password.ChooseLockSettingsHelper;
 import com.android.setupwizardlib.GlifLayout;
 
 /**
- * Base activity for all fingerprint enrollment steps.
+ * Base activity for all biometric enrollment steps.
  */
 public abstract class BiometricEnrollBase extends InstrumentedActivity
         implements View.OnClickListener {
     public static final int RESULT_FINISHED = BiometricSettings.RESULT_FINISHED;
     public static final int RESULT_SKIP = BiometricSettings.RESULT_SKIP;
     public static final int RESULT_TIMEOUT = BiometricSettings.RESULT_TIMEOUT;
+    public static final String EXTRA_KEY_LAUNCHED_CONFIRM = "launched_confirm_lock";
 
+    public static final int CONFIRM_REQUEST = 1;
+    public static final int ENROLLING = 2;
+
+    protected boolean mLaunchedConfirmLock;
     protected byte[] mToken;
     protected int mUserId;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
-        mToken = getIntent().getByteArrayExtra(
-                ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN);
+        mToken = getIntent().getByteArrayExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN);
         if (savedInstanceState != null && mToken == null) {
+            mLaunchedConfirmLock = savedInstanceState.getBoolean(EXTRA_KEY_LAUNCHED_CONFIRM);
             mToken = savedInstanceState.getByteArray(
                     ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN);
         }
@@ -68,6 +72,7 @@
     @Override
     protected void onSaveInstanceState(Bundle outState) {
         super.onSaveInstanceState(outState);
+        outState.putBoolean(EXTRA_KEY_LAUNCHED_CONFIRM, mLaunchedConfirmLock);
         outState.putByteArray(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, mToken);
     }
 
@@ -77,6 +82,10 @@
         initViews();
     }
 
+    protected boolean shouldLaunchConfirmLock() {
+        return mToken == null && !mLaunchedConfirmLock;
+    }
+
     protected void initViews() {
         getWindow().setStatusBarColor(Color.TRANSPARENT);
         Button nextButton = getNextButton();
@@ -129,4 +138,25 @@
         }
         return intent;
     }
+
+    protected void launchConfirmLock(int titleResId, long challenge) {
+        ChooseLockSettingsHelper helper = new ChooseLockSettingsHelper(this);
+        boolean launchedConfirmationActivity;
+        if (mUserId == UserHandle.USER_NULL) {
+            launchedConfirmationActivity = helper.launchConfirmationActivity(CONFIRM_REQUEST,
+                    getString(titleResId),
+                    null, null, challenge);
+        } else {
+            launchedConfirmationActivity = helper.launchConfirmationActivity(CONFIRM_REQUEST,
+                    getString(titleResId),
+                    null, null, challenge, mUserId);
+        }
+        if (!launchedConfirmationActivity) {
+            // This shouldn't happen, as we should only end up at this step if a lock thingy is
+            // already set.
+            finish();
+        } else {
+            mLaunchedConfirmLock = true;
+        }
+    }
 }
diff --git a/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java b/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java
index 98775f2..beefb39 100644
--- a/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java
+++ b/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java
@@ -102,9 +102,11 @@
     protected abstract String getExtraKeyForBiometric();
 
     /**
-     * @return the intent for proceeding to the next step of enrollment
+     * @return the intent for proceeding to the next step of enrollment. For Fingerprint, this
+     * should lead to the "Find Sensor" activity. For Face, this should lead to the "Enrolling"
+     * activity.
      */
-    protected abstract Intent getFindSensorIntent();
+    protected abstract Intent getEnrollingIntent();
 
     /**
      * @param span
@@ -179,7 +181,7 @@
     }
 
     private void launchFindSensor(byte[] token) {
-        Intent intent = getFindSensorIntent();
+        Intent intent = getEnrollingIntent();
         if (token != null) {
             intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, token);
         }
diff --git a/src/com/android/settings/biometrics/BiometricEnrollSidecar.java b/src/com/android/settings/biometrics/BiometricEnrollSidecar.java
new file mode 100644
index 0000000..111fecd
--- /dev/null
+++ b/src/com/android/settings/biometrics/BiometricEnrollSidecar.java
@@ -0,0 +1,218 @@
+/*
+ * 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
+ *
+ *      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
+ */
+
+package com.android.settings.biometrics;
+
+import android.annotation.Nullable;
+import android.app.Activity;
+import android.content.Intent;
+import android.os.Bundle;
+import android.os.CancellationSignal;
+import android.os.Handler;
+import android.os.UserHandle;
+
+import com.android.settings.core.InstrumentedFragment;
+import com.android.settings.password.ChooseLockSettingsHelper;
+
+import java.util.ArrayList;
+
+/**
+ * Abstract sidecar fragment to handle the state around biometric enrollment. This sidecar manages
+ * the state of enrollment throughout the activity lifecycle so the app can continue after an
+ * event like rotation.
+ */
+public abstract class BiometricEnrollSidecar extends InstrumentedFragment {
+
+    public interface Listener {
+        void onEnrollmentHelp(CharSequence helpString);
+        void onEnrollmentError(int errMsgId, CharSequence errString);
+        void onEnrollmentProgressChange(int steps, int remaining);
+    }
+
+    private int mEnrollmentSteps = -1;
+    private int mEnrollmentRemaining = 0;
+    private Listener mListener;
+    private boolean mEnrolling;
+    private Handler mHandler = new Handler();
+    private boolean mDone;
+    private ArrayList<QueuedEvent> mQueuedEvents;
+
+    protected CancellationSignal mEnrollmentCancel;
+    protected byte[] mToken;
+    protected int mUserId;
+
+    private abstract class QueuedEvent {
+        public abstract void send(Listener listener);
+    }
+
+    private class QueuedEnrollmentProgress extends QueuedEvent {
+        int enrollmentSteps;
+        int remaining;
+        public QueuedEnrollmentProgress(int enrollmentSteps, int remaining) {
+            this.enrollmentSteps = enrollmentSteps;
+            this.remaining = remaining;
+        }
+
+        @Override
+        public void send(Listener listener) {
+            listener.onEnrollmentProgressChange(enrollmentSteps, remaining);
+        }
+    }
+
+    private class QueuedEnrollmentHelp extends QueuedEvent {
+        int helpMsgId;
+        CharSequence helpString;
+        public QueuedEnrollmentHelp(int helpMsgId, CharSequence helpString) {
+            this.helpMsgId = helpMsgId;
+            this.helpString = helpString;
+        }
+
+        @Override
+        public void send(Listener listener) {
+            listener.onEnrollmentHelp(helpString);
+        }
+    }
+
+    private class QueuedEnrollmentError extends QueuedEvent {
+        int errMsgId;
+        CharSequence errString;
+        public QueuedEnrollmentError(int errMsgId, CharSequence errString) {
+            this.errMsgId = errMsgId;
+            this.errString = errString;
+        }
+
+        @Override
+        public void send(Listener listener) {
+            listener.onEnrollmentError(errMsgId, errString);
+        }
+    }
+
+    private final Runnable mTimeoutRunnable = new Runnable() {
+        @Override
+        public void run() {
+            cancelEnrollment();
+        }
+    };
+
+    public BiometricEnrollSidecar() {
+        mQueuedEvents = new ArrayList<>();
+    }
+
+    @Override
+    public void onCreate(@Nullable Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setRetainInstance(true);
+    }
+
+    @Override
+    public void onAttach(Activity activity) {
+        super.onAttach(activity);
+        mToken = activity.getIntent().getByteArrayExtra(
+                ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN);
+        mUserId = activity.getIntent().getIntExtra(Intent.EXTRA_USER_ID, UserHandle.USER_NULL);
+    }
+
+    @Override
+    public void onStart() {
+        super.onStart();
+        if (!mEnrolling) {
+            startEnrollment();
+        }
+    }
+
+    @Override
+    public void onStop() {
+        super.onStop();
+        if (!getActivity().isChangingConfigurations()) {
+            cancelEnrollment();
+        }
+    }
+
+    protected void startEnrollment() {
+        mHandler.removeCallbacks(mTimeoutRunnable);
+        mEnrollmentSteps = -1;
+        mEnrollmentCancel = new CancellationSignal();
+        mEnrolling = true;
+    }
+
+    public boolean cancelEnrollment() {
+        mHandler.removeCallbacks(mTimeoutRunnable);
+        if (mEnrolling) {
+            mEnrollmentCancel.cancel();
+            mEnrolling = false;
+            mEnrollmentSteps = -1;
+            return true;
+        }
+        return false;
+    }
+
+    protected void onEnrollmentProgress(int remaining) {
+        if (mEnrollmentSteps == -1) {
+            mEnrollmentSteps = remaining;
+        }
+        mEnrollmentRemaining = remaining;
+        mDone = remaining == 0;
+        if (mListener != null) {
+            mListener.onEnrollmentProgressChange(mEnrollmentSteps, remaining);
+        } else {
+            mQueuedEvents.add(new QueuedEnrollmentProgress(mEnrollmentSteps, remaining));
+        }
+    }
+
+    protected void onEnrollmentHelp(int helpMsgId, CharSequence helpString) {
+        if (mListener != null) {
+            mListener.onEnrollmentHelp(helpString);
+        } else {
+            mQueuedEvents.add(new QueuedEnrollmentHelp(helpMsgId, helpString));
+        }
+    }
+
+    protected void onEnrollmentError(int errMsgId, CharSequence errString) {
+        if (mListener != null) {
+            mListener.onEnrollmentError(errMsgId, errString);
+        } else {
+            mQueuedEvents.add(new QueuedEnrollmentError(errMsgId, errString));
+        }
+        mEnrolling = false;
+    }
+
+    public void setListener(Listener listener) {
+        mListener = listener;
+        if (mListener != null) {
+            for (int i=0; i<mQueuedEvents.size(); i++) {
+                QueuedEvent event = mQueuedEvents.get(i);
+                event.send(mListener);
+            }
+            mQueuedEvents.clear();
+        }
+    }
+
+    public int getEnrollmentSteps() {
+        return mEnrollmentSteps;
+    }
+
+    public int getEnrollmentRemaining() {
+        return mEnrollmentRemaining;
+    }
+
+    public boolean isDone() {
+        return mDone;
+    }
+
+    public boolean isEnrolling() {
+        return mEnrolling;
+    }
+}
diff --git a/src/com/android/settings/biometrics/BiometricErrorDialog.java b/src/com/android/settings/biometrics/BiometricErrorDialog.java
new file mode 100644
index 0000000..4e073f1
--- /dev/null
+++ b/src/com/android/settings/biometrics/BiometricErrorDialog.java
@@ -0,0 +1,68 @@
+/*
+ * 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
+ *
+ *      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
+ */
+
+package com.android.settings.biometrics;
+
+import static com.android.settings.biometrics.BiometricSettings.RESULT_FINISHED;
+import static com.android.settings.biometrics.BiometricSettings.RESULT_TIMEOUT;
+
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.app.Dialog;
+import android.content.DialogInterface;
+import android.hardware.biometrics.BiometricConstants;
+import android.os.Bundle;
+
+import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+
+/**
+ * Abstract dialog, shown when an error occurs during biometric enrollment.
+ */
+public abstract class BiometricErrorDialog extends InstrumentedDialogFragment {
+
+    public static final String KEY_ERROR_MSG = "error_msg";
+    public static final String KEY_ERROR_ID = "error_id";
+
+    public abstract int getTitleResId();
+    public abstract int getOkButtonTextResId();
+
+    @Override
+    public Dialog onCreateDialog(Bundle savedInstanceState) {
+        AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
+        CharSequence errorString = getArguments().getCharSequence(KEY_ERROR_MSG);
+        final int errMsgId = getArguments().getInt(KEY_ERROR_ID);
+
+        builder.setTitle(getTitleResId())
+                .setMessage(errorString)
+                .setCancelable(false)
+                .setPositiveButton(getOkButtonTextResId(),
+                        new DialogInterface.OnClickListener() {
+                            @Override
+                            public void onClick(DialogInterface dialog, int which) {
+                                dialog.dismiss();
+                                boolean wasTimeout =
+                                        errMsgId == BiometricConstants.BIOMETRIC_ERROR_TIMEOUT;
+                                Activity activity = getActivity();
+                                activity.setResult(wasTimeout ?
+                                        RESULT_TIMEOUT : RESULT_FINISHED);
+                                activity.finish();
+                            }
+                        });
+        AlertDialog dialog = builder.create();
+        dialog.setCanceledOnTouchOutside(false);
+        return dialog;
+    }
+}
diff --git a/src/com/android/settings/biometrics/BiometricsEnrollEnrolling.java b/src/com/android/settings/biometrics/BiometricsEnrollEnrolling.java
new file mode 100644
index 0000000..ec7d120
--- /dev/null
+++ b/src/com/android/settings/biometrics/BiometricsEnrollEnrolling.java
@@ -0,0 +1,131 @@
+/*
+ * 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
+ *
+ *      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.
+ */
+
+package com.android.settings.biometrics;
+
+import android.content.Intent;
+import android.os.UserHandle;
+import android.view.View;
+
+import com.android.settings.R;
+import com.android.settings.password.ChooseLockSettingsHelper;
+
+/**
+ * Abstract base activity which handles the actual enrolling for biometrics.
+ */
+public abstract class BiometricsEnrollEnrolling extends BiometricEnrollBase
+        implements BiometricEnrollSidecar.Listener {
+
+    private static final String TAG_SIDECAR = "sidecar";
+
+    protected BiometricEnrollSidecar mSidecar;
+
+    /**
+     * @return the intent for the finish activity
+     */
+    protected abstract Intent getFinishIntent();
+
+    /**
+     * @return an instance of the biometric enroll sidecar
+     */
+    protected abstract BiometricEnrollSidecar getSidecar();
+
+    /**
+     * @return true if enrollment should start automatically.
+     */
+    protected abstract boolean shouldStartAutomatically();
+
+    /**
+     * @return true if enrollment should finish when onStop is called.
+     */
+    protected boolean shouldFinishOnStop() {
+        return true;
+    }
+
+    @Override
+    protected void onStart() {
+        super.onStart();
+        if (shouldStartAutomatically()) {
+            startEnrollment();
+        }
+    }
+
+    @Override
+    protected void onStop() {
+        super.onStop();
+        if (mSidecar != null) {
+            mSidecar.setListener(null);
+        }
+
+        if (shouldFinishOnStop() && !isChangingConfigurations()) {
+            if (mSidecar != null) {
+                mSidecar.cancelEnrollment();
+                getSupportFragmentManager()
+                        .beginTransaction().remove(mSidecar).commitAllowingStateLoss();
+            }
+            finish();
+        }
+    }
+
+    @Override
+    public void onBackPressed() {
+        if (mSidecar != null) {
+            mSidecar.setListener(null);
+            mSidecar.cancelEnrollment();
+            getSupportFragmentManager()
+                    .beginTransaction().remove(mSidecar).commitAllowingStateLoss();
+            mSidecar = null;
+        }
+        super.onBackPressed();
+    }
+
+    @Override
+    public void onClick(View v) {
+        switch (v.getId()) {
+            case R.id.skip_button:
+                setResult(RESULT_SKIP);
+                finish();
+                break;
+            default:
+                super.onClick(v);
+        }
+    }
+
+    public void startEnrollment() {
+        mSidecar = (BiometricEnrollSidecar) getSupportFragmentManager()
+                .findFragmentByTag(TAG_SIDECAR);
+        if (mSidecar == null) {
+            mSidecar = getSidecar();
+            getSupportFragmentManager().beginTransaction().add(mSidecar, TAG_SIDECAR).commit();
+        }
+        mSidecar.setListener(this);
+    }
+
+    protected void launchFinish(byte[] token) {
+        Intent intent = getFinishIntent();
+        intent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT
+                | Intent.FLAG_ACTIVITY_CLEAR_TOP
+                | Intent.FLAG_ACTIVITY_SINGLE_TOP);
+        intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, token);
+        if (mUserId != UserHandle.USER_NULL) {
+            intent.putExtra(Intent.EXTRA_USER_ID, mUserId);
+        }
+        startActivity(intent);
+        overridePendingTransition(R.anim.suw_slide_next_in, R.anim.suw_slide_next_out);
+        finish();
+    }
+
+}
diff --git a/src/com/android/settings/biometrics/face/FaceEnrollEnrolling.java b/src/com/android/settings/biometrics/face/FaceEnrollEnrolling.java
new file mode 100644
index 0000000..9786363
--- /dev/null
+++ b/src/com/android/settings/biometrics/face/FaceEnrollEnrolling.java
@@ -0,0 +1,191 @@
+/*
+ * 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
+ *
+ *      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.
+ */
+
+package com.android.settings.biometrics.face;
+
+import android.content.Intent;
+import android.hardware.face.FaceManager;
+import android.os.Bundle;
+import android.text.TextUtils;
+import android.util.Log;
+import android.view.View;
+import android.view.animation.AnimationUtils;
+import android.view.animation.Interpolator;
+import android.widget.Button;
+import android.widget.TextView;
+
+import com.android.internal.logging.nano.MetricsProto;
+import com.android.settings.R;
+import com.android.settings.Utils;
+import com.android.settings.biometrics.BiometricEnrollSidecar;
+import com.android.settings.biometrics.BiometricErrorDialog;
+import com.android.settings.biometrics.BiometricsEnrollEnrolling;
+import com.android.settings.password.ChooseLockSettingsHelper;
+
+
+public class FaceEnrollEnrolling extends BiometricsEnrollEnrolling {
+
+    private static final String TAG = "FaceEnrollEnrolling";
+    private static final boolean DEBUG = true;
+
+    private TextView mErrorText;
+    private Interpolator mLinearOutSlowInInterpolator;
+    private boolean mShouldFinishOnStop = true;
+
+    public static class FaceErrorDialog extends BiometricErrorDialog {
+        static FaceErrorDialog newInstance(CharSequence msg, int msgId) {
+            FaceErrorDialog dialog = new FaceErrorDialog();
+            Bundle args = new Bundle();
+            args.putCharSequence(KEY_ERROR_MSG, msg);
+            args.putInt(KEY_ERROR_ID, msgId);
+            dialog.setArguments(args);
+            return dialog;
+        }
+
+        @Override
+        public int getMetricsCategory() {
+            return MetricsProto.MetricsEvent.DIALOG_FACE_ERROR;
+        }
+
+        @Override
+        public int getTitleResId() {
+            return R.string.security_settings_face_enroll_error_dialog_title;
+        }
+
+        @Override
+        public int getOkButtonTextResId() {
+            return R.string.security_settings_face_enroll_dialog_ok;
+        }
+    }
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.face_enroll_enrolling);
+        setHeaderText(R.string.security_settings_face_enroll_repeat_title);
+        mErrorText = findViewById(R.id.error_text);
+        mLinearOutSlowInInterpolator = AnimationUtils.loadInterpolator(
+                this, android.R.interpolator.linear_out_slow_in);
+
+        Button skipButton = findViewById(R.id.skip_button);
+        skipButton.setOnClickListener(this);
+
+        if (shouldLaunchConfirmLock()) {
+            launchConfirmLock(R.string.security_settings_face_preference_title,
+                    Utils.getFaceManagerOrNull(this).preEnroll());
+            mShouldFinishOnStop = false;
+        } else {
+            startEnrollment();
+        }
+    }
+
+    @Override
+    protected Intent getFinishIntent() {
+        return new Intent(this, FaceEnrollFinish.class);
+    }
+
+    @Override
+    protected BiometricEnrollSidecar getSidecar() {
+        return new FaceEnrollSidecar();
+    }
+
+    @Override
+    protected boolean shouldStartAutomatically() {
+        return false;
+    }
+
+    @Override
+    protected boolean shouldFinishOnStop() {
+        return mShouldFinishOnStop;
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return MetricsProto.MetricsEvent.FACE_ENROLL_ENROLLING;
+    }
+
+    @Override
+    public void onEnrollmentHelp(CharSequence helpString) {
+        if (!TextUtils.isEmpty(helpString)) {
+            showError(helpString);
+        }
+    }
+
+    @Override
+    public void onEnrollmentError(int errMsgId, CharSequence errString) {
+        int msgId;
+        switch (errMsgId) {
+            case FaceManager.FACE_ERROR_TIMEOUT:
+                msgId = R.string.security_settings_face_enroll_error_timeout_dialog_message;
+                break;
+            default:
+                msgId = R.string.security_settings_face_enroll_error_generic_dialog_message;
+                break;
+        }
+        showErrorDialog(getText(msgId), errMsgId);
+    }
+
+    @Override
+    public void onEnrollmentProgressChange(int steps, int remaining) {
+        if (DEBUG) {
+            Log.v(TAG, "Steps: " + steps + " Remaining: " + remaining);
+        }
+        // TODO: Update the actual animation
+        showError("Steps: " + steps + " Remaining: " + remaining);
+    }
+
+    @Override
+    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+        if (requestCode == CONFIRM_REQUEST) {
+            if (resultCode == RESULT_OK && data != null) {
+                mShouldFinishOnStop = true;
+                mToken = data.getByteArrayExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN);
+                overridePendingTransition(R.anim.suw_slide_next_in, R.anim.suw_slide_next_out);
+                getIntent().putExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, mToken);
+                startEnrollment();
+            } else {
+                finish();
+            }
+        } else {
+            super.onActivityResult(requestCode, resultCode, data);
+        }
+    }
+
+    private void showErrorDialog(CharSequence msg, int msgId) {
+        BiometricErrorDialog dialog = FaceErrorDialog.newInstance(msg, msgId);
+        dialog.show(getSupportFragmentManager(), FaceErrorDialog.class.getName());
+    }
+
+    private void showError(CharSequence error) {
+        mErrorText.setText(error);
+        if (mErrorText.getVisibility() == View.INVISIBLE) {
+            mErrorText.setVisibility(View.VISIBLE);
+            mErrorText.setTranslationY(getResources().getDimensionPixelSize(
+                    R.dimen.fingerprint_error_text_appear_distance));
+            mErrorText.setAlpha(0f);
+            mErrorText.animate()
+                    .alpha(1f)
+                    .translationY(0f)
+                    .setDuration(200)
+                    .setInterpolator(mLinearOutSlowInInterpolator)
+                    .start();
+        } else {
+            mErrorText.animate().cancel();
+            mErrorText.setAlpha(1f);
+            mErrorText.setTranslationY(0f);
+        }
+    }
+}
diff --git a/src/com/android/settings/biometrics/face/FaceEnrollFinish.java b/src/com/android/settings/biometrics/face/FaceEnrollFinish.java
new file mode 100644
index 0000000..7062fe3
--- /dev/null
+++ b/src/com/android/settings/biometrics/face/FaceEnrollFinish.java
@@ -0,0 +1,47 @@
+/*
+ * 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
+ *
+ *      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
+ */
+
+package com.android.settings.biometrics.face;
+
+import android.os.Bundle;
+
+import com.android.internal.logging.nano.MetricsProto;
+import com.android.settings.R;
+import com.android.settings.biometrics.BiometricEnrollBase;
+
+/**
+ * Activity which concludes face enrollment.
+ */
+public class FaceEnrollFinish extends BiometricEnrollBase {
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.face_enroll_finish);
+        setHeaderText(R.string.security_settings_face_enroll_finish_title);
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return MetricsProto.MetricsEvent.FACE_ENROLL_FINISHED;
+    }
+
+    @Override
+    public void onNextButtonClick() {
+        setResult(RESULT_FINISHED);
+        finish();
+    }
+}
diff --git a/src/com/android/settings/biometrics/face/FaceEnrollIntroduction.java b/src/com/android/settings/biometrics/face/FaceEnrollIntroduction.java
index b4a33f3..cd04b22 100644
--- a/src/com/android/settings/biometrics/face/FaceEnrollIntroduction.java
+++ b/src/com/android/settings/biometrics/face/FaceEnrollIntroduction.java
@@ -113,8 +113,8 @@
     }
 
     @Override
-    protected Intent getFindSensorIntent() {
-        return null; // TODO
+    protected Intent getEnrollingIntent() {
+        return new Intent(this, FaceEnrollEnrolling.class);
     }
 
     @Override
diff --git a/src/com/android/settings/biometrics/face/FaceEnrollSidecar.java b/src/com/android/settings/biometrics/face/FaceEnrollSidecar.java
new file mode 100644
index 0000000..7b445e5
--- /dev/null
+++ b/src/com/android/settings/biometrics/face/FaceEnrollSidecar.java
@@ -0,0 +1,73 @@
+/*
+ * 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
+ *
+ *      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
+ */
+
+package com.android.settings.biometrics.face;
+
+import android.app.Activity;
+import android.hardware.face.FaceManager;
+import android.os.UserHandle;
+
+import com.android.internal.logging.nano.MetricsProto;
+import com.android.settings.Utils;
+import com.android.settings.biometrics.BiometricEnrollSidecar;
+
+/**
+ * Sidecar fragment to handle the state around face enrollment
+ */
+public class FaceEnrollSidecar extends BiometricEnrollSidecar {
+
+    private FaceManager mFaceManager;
+
+    @Override
+    public void onAttach(Activity activity) {
+        super.onAttach(activity);
+        mFaceManager = Utils.getFaceManagerOrNull(activity);
+    }
+
+    @Override
+    public void startEnrollment() {
+        super.startEnrollment();
+        if (mUserId != UserHandle.USER_NULL) {
+            mFaceManager.setActiveUser(mUserId);
+        }
+        mFaceManager.enroll(mToken, mEnrollmentCancel,
+                0 /* flags */, mUserId, mEnrollmentCallback);
+    }
+
+    private FaceManager.EnrollmentCallback mEnrollmentCallback
+            = new FaceManager.EnrollmentCallback() {
+
+        @Override
+        public void onEnrollmentProgress(int remaining) {
+            FaceEnrollSidecar.super.onEnrollmentProgress(remaining);
+        }
+
+        @Override
+        public void onEnrollmentHelp(int helpMsgId, CharSequence helpString) {
+            FaceEnrollSidecar.super.onEnrollmentHelp(helpMsgId, helpString);
+        }
+
+        @Override
+        public void onEnrollmentError(int errMsgId, CharSequence errString) {
+            FaceEnrollSidecar.super.onEnrollmentError(errMsgId, errString);
+        }
+    };
+
+    @Override
+    public int getMetricsCategory() {
+        return MetricsProto.MetricsEvent.FACE_ENROLL_SIDECAR;
+    }
+}
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
index 9b0d1a6..56d96ce 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
@@ -18,7 +18,6 @@
 
 import android.animation.Animator;
 import android.animation.ObjectAnimator;
-import android.app.Activity;
 import android.app.AlertDialog;
 import android.app.Dialog;
 import android.content.DialogInterface;
@@ -30,7 +29,6 @@
 import android.hardware.fingerprint.FingerprintManager;
 import android.media.AudioAttributes;
 import android.os.Bundle;
-import android.os.UserHandle;
 import android.os.VibrationEffect;
 import android.os.Vibrator;
 import android.text.TextUtils;
@@ -44,15 +42,15 @@
 
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.settings.R;
-import com.android.settings.biometrics.BiometricEnrollBase;
+import com.android.settings.biometrics.BiometricEnrollSidecar;
+import com.android.settings.biometrics.BiometricErrorDialog;
+import com.android.settings.biometrics.BiometricsEnrollEnrolling;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
-import com.android.settings.password.ChooseLockSettingsHelper;
 
 /**
  * Activity which handles the actual enrolling for fingerprint.
  */
-public class FingerprintEnrollEnrolling extends BiometricEnrollBase
-        implements FingerprintEnrollSidecar.Listener {
+public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
 
     static final String TAG_SIDECAR = "sidecar";
 
@@ -93,13 +91,38 @@
     private Interpolator mLinearOutSlowInInterpolator;
     private Interpolator mFastOutLinearInInterpolator;
     private int mIconTouchCount;
-    private FingerprintEnrollSidecar mSidecar;
     private boolean mAnimationCancelled;
     private AnimatedVectorDrawable mIconAnimationDrawable;
     private AnimatedVectorDrawable mIconBackgroundBlinksDrawable;
     private boolean mRestoring;
     private Vibrator mVibrator;
 
+    public static class FingerprintErrorDialog extends BiometricErrorDialog {
+        static FingerprintErrorDialog newInstance(CharSequence msg, int msgId) {
+            FingerprintErrorDialog dialog = new FingerprintErrorDialog();
+            Bundle args = new Bundle();
+            args.putCharSequence(KEY_ERROR_MSG, msg);
+            args.putInt(KEY_ERROR_ID, msgId);
+            dialog.setArguments(args);
+            return dialog;
+        }
+
+        @Override
+        public int getMetricsCategory() {
+            return MetricsEvent.DIALOG_FINGERPINT_ERROR;
+        }
+
+        @Override
+        public int getTitleResId() {
+            return R.string.security_settings_fingerprint_enroll_error_dialog_title;
+        }
+
+        @Override
+        public int getOkButtonTextResId() {
+            return R.string.security_settings_fingerprint_enroll_dialog_ok;
+        }
+    }
+
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
@@ -148,14 +171,18 @@
     }
 
     @Override
+    protected BiometricEnrollSidecar getSidecar() {
+        return new FingerprintEnrollSidecar();
+    }
+
+    @Override
+    protected boolean shouldStartAutomatically() {
+        return true;
+    }
+
+    @Override
     protected void onStart() {
         super.onStart();
-        mSidecar = (FingerprintEnrollSidecar) getFragmentManager().findFragmentByTag(TAG_SIDECAR);
-        if (mSidecar == null) {
-            mSidecar = new FingerprintEnrollSidecar();
-            getFragmentManager().beginTransaction().add(mSidecar, TAG_SIDECAR).commit();
-        }
-        mSidecar.setListener(this);
         updateProgress(false /* animate */);
         updateDescription();
         if (mRestoring) {
@@ -182,40 +209,7 @@
     @Override
     protected void onStop() {
         super.onStop();
-        if (mSidecar != null) {
-            mSidecar.setListener(null);
-        }
         stopIconAnimation();
-        if (!isChangingConfigurations()) {
-            if (mSidecar != null) {
-                mSidecar.cancelEnrollment();
-                getFragmentManager().beginTransaction().remove(mSidecar).commitAllowingStateLoss();
-            }
-            finish();
-        }
-    }
-
-    @Override
-    public void onBackPressed() {
-        if (mSidecar != null) {
-            mSidecar.setListener(null);
-            mSidecar.cancelEnrollment();
-            getFragmentManager().beginTransaction().remove(mSidecar).commitAllowingStateLoss();
-            mSidecar = null;
-        }
-        super.onBackPressed();
-    }
-
-    @Override
-    public void onClick(View v) {
-        switch (v.getId()) {
-            case R.id.skip_button:
-                setResult(RESULT_SKIP);
-                finish();
-                break;
-            default:
-                super.onClick(v);
-        }
     }
 
     private void animateProgress(int progress) {
@@ -235,20 +229,6 @@
         mIconBackgroundBlinksDrawable.start();
     }
 
-    private void launchFinish(byte[] token) {
-        Intent intent = getFinishIntent();
-        intent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT
-                | Intent.FLAG_ACTIVITY_CLEAR_TOP
-                | Intent.FLAG_ACTIVITY_SINGLE_TOP);
-        intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, token);
-        if (mUserId != UserHandle.USER_NULL) {
-            intent.putExtra(Intent.EXTRA_USER_ID, mUserId);
-        }
-        startActivity(intent);
-        overridePendingTransition(R.anim.suw_slide_next_in, R.anim.suw_slide_next_out);
-        finish();
-    }
-
     protected Intent getFinishIntent() {
         return new Intent(this, FingerprintEnrollFinish.class);
     }
@@ -263,7 +243,6 @@
         }
     }
 
-
     @Override
     public void onEnrollmentHelp(CharSequence helpString) {
         if (!TextUtils.isEmpty(helpString)) {
@@ -323,13 +302,13 @@
     }
 
     private void showErrorDialog(CharSequence msg, int msgId) {
-        ErrorDialog dlg = ErrorDialog.newInstance(msg, msgId);
-        dlg.show(getFragmentManager(), ErrorDialog.class.getName());
+        BiometricErrorDialog dlg = FingerprintErrorDialog.newInstance(msg, msgId);
+        dlg.show(getSupportFragmentManager(), FingerprintErrorDialog.class.getName());
     }
 
     private void showIconTouchDialog() {
         mIconTouchCount = 0;
-        new IconTouchDialog().show(getFragmentManager(), null /* tag */);
+        new IconTouchDialog().show(getSupportFragmentManager(), null /* tag */);
     }
 
     private void showError(CharSequence error) {
@@ -455,54 +434,4 @@
             return MetricsEvent.DIALOG_FINGERPRINT_ICON_TOUCH;
         }
     }
-
-    public static class ErrorDialog extends InstrumentedDialogFragment {
-
-        /**
-         * Create a new instance of ErrorDialog.
-         *
-         * @param msg the string to show for message text
-         * @param msgId the FingerprintManager error id so we know the cause
-         * @return a new ErrorDialog
-         */
-        static ErrorDialog newInstance(CharSequence msg, int msgId) {
-            ErrorDialog dlg = new ErrorDialog();
-            Bundle args = new Bundle();
-            args.putCharSequence("error_msg", msg);
-            args.putInt("error_id", msgId);
-            dlg.setArguments(args);
-            return dlg;
-        }
-
-        @Override
-        public Dialog onCreateDialog(Bundle savedInstanceState) {
-            AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
-            CharSequence errorString = getArguments().getCharSequence("error_msg");
-            final int errMsgId = getArguments().getInt("error_id");
-            builder.setTitle(R.string.security_settings_fingerprint_enroll_error_dialog_title)
-                    .setMessage(errorString)
-                    .setCancelable(false)
-                    .setPositiveButton(R.string.security_settings_fingerprint_enroll_dialog_ok,
-                            new DialogInterface.OnClickListener() {
-                                @Override
-                                public void onClick(DialogInterface dialog, int which) {
-                                    dialog.dismiss();
-                                    boolean wasTimeout =
-                                        errMsgId == FingerprintManager.FINGERPRINT_ERROR_TIMEOUT;
-                                    Activity activity = getActivity();
-                                    activity.setResult(wasTimeout ?
-                                            RESULT_TIMEOUT : RESULT_FINISHED);
-                                    activity.finish();
-                                }
-                            });
-            AlertDialog dialog = builder.create();
-            dialog.setCanceledOnTouchOutside(false);
-            return dialog;
-        }
-
-        @Override
-        public int getMetricsCategory() {
-            return MetricsEvent.DIALOG_FINGERPINT_ERROR;
-        }
-    }
 }
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java
index 047dda8..927b5eb 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java
@@ -19,16 +19,14 @@
 import android.content.Intent;
 import android.hardware.fingerprint.FingerprintManager;
 import android.os.Bundle;
-import android.os.UserHandle;
 import android.view.View;
 import android.widget.Button;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.settings.R;
 import com.android.settings.Utils;
 import com.android.settings.biometrics.BiometricEnrollBase;
-import com.android.settings.biometrics.fingerprint.FingerprintEnrollSidecar.Listener;
+import com.android.settings.biometrics.BiometricEnrollSidecar.Listener;
 import com.android.settings.password.ChooseLockSettingsHelper;
 
 import androidx.annotation.Nullable;
@@ -38,14 +36,9 @@
  */
 public class FingerprintEnrollFindSensor extends BiometricEnrollBase {
 
-    @VisibleForTesting
-    static final int CONFIRM_REQUEST = 1;
-    private static final int ENROLLING = 2;
-    public static final String EXTRA_KEY_LAUNCHED_CONFIRM = "launched_confirm_lock";
-
     @Nullable
     private FingerprintFindSensorAnimation mAnimation;
-    private boolean mLaunchedConfirmLock;
+
     private FingerprintEnrollSidecar mSidecar;
     private boolean mNextClicked;
 
@@ -57,13 +50,10 @@
         skipButton.setOnClickListener(this);
 
         setHeaderText(R.string.security_settings_fingerprint_enroll_find_sensor_title);
-        if (savedInstanceState != null) {
-            mLaunchedConfirmLock = savedInstanceState.getBoolean(EXTRA_KEY_LAUNCHED_CONFIRM);
-            mToken = savedInstanceState.getByteArray(
-                    ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN);
-        }
-        if (mToken == null && !mLaunchedConfirmLock) {
-            launchConfirmLock();
+
+        if (shouldLaunchConfirmLock()) {
+            launchConfirmLock(R.string.security_settings_fingerprint_preference_title,
+                    Utils.getFingerprintManagerOrNull(this).preEnroll());
         } else if (mToken != null) {
             startLookingForFingerprint(); // already confirmed, so start looking for fingerprint
         }
@@ -88,12 +78,13 @@
     }
 
     private void startLookingForFingerprint() {
-        mSidecar = (FingerprintEnrollSidecar) getFragmentManager().findFragmentByTag(
+        mSidecar = (FingerprintEnrollSidecar) getSupportFragmentManager().findFragmentByTag(
                 FingerprintEnrollEnrolling.TAG_SIDECAR);
         if (mSidecar == null) {
             mSidecar = new FingerprintEnrollSidecar();
-            getFragmentManager().beginTransaction()
-                    .add(mSidecar, FingerprintEnrollEnrolling.TAG_SIDECAR).commit();
+            getSupportFragmentManager().beginTransaction()
+                    .add(mSidecar, FingerprintEnrollEnrolling.TAG_SIDECAR)
+                    .commitAllowingStateLoss();
         }
         mSidecar.setListener(new Listener() {
             @Override
@@ -133,13 +124,6 @@
     }
 
     @Override
-    public void onSaveInstanceState(Bundle outState) {
-        super.onSaveInstanceState(outState);
-        outState.putBoolean(EXTRA_KEY_LAUNCHED_CONFIRM, mLaunchedConfirmLock);
-        outState.putByteArray(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, mToken);
-    }
-
-    @Override
     public void onClick(View v) {
         switch (v.getId()) {
             case R.id.skip_button:
@@ -165,7 +149,8 @@
                     return;
                 }
             }
-            getFragmentManager().beginTransaction().remove(mSidecar).commitAllowingStateLoss();
+            getSupportFragmentManager().beginTransaction().remove(mSidecar).
+                    commitAllowingStateLoss();
             mSidecar = null;
             startActivityForResult(getFingerprintEnrollingIntent(), ENROLLING);
         }
@@ -209,28 +194,6 @@
         }
     }
 
-    private void launchConfirmLock() {
-        long challenge = Utils.getFingerprintManagerOrNull(this).preEnroll();
-        ChooseLockSettingsHelper helper = new ChooseLockSettingsHelper(this);
-        boolean launchedConfirmationActivity = false;
-        if (mUserId == UserHandle.USER_NULL) {
-            launchedConfirmationActivity = helper.launchConfirmationActivity(CONFIRM_REQUEST,
-                getString(R.string.security_settings_fingerprint_preference_title),
-                null, null, challenge);
-        } else {
-            launchedConfirmationActivity = helper.launchConfirmationActivity(CONFIRM_REQUEST,
-                    getString(R.string.security_settings_fingerprint_preference_title),
-                    null, null, challenge, mUserId);
-        }
-        if (!launchedConfirmationActivity) {
-            // This shouldn't happen, as we should only end up at this step if a lock thingy is
-            // already set.
-            finish();
-        } else {
-            mLaunchedConfirmLock = true;
-        }
-    }
-
     @Override
     public int getMetricsCategory() {
         return MetricsEvent.FINGERPRINT_FIND_SENSOR;
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroduction.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroduction.java
index ed111f4..41bf86f 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroduction.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroduction.java
@@ -117,7 +117,7 @@
     }
 
     @Override
-    protected Intent getFindSensorIntent() {
+    protected Intent getEnrollingIntent() {
         return new Intent(this, FingerprintEnrollFindSensor.class);
     }
 
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollSidecar.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollSidecar.java
index af56310..27d71cd 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollSidecar.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollSidecar.java
@@ -16,164 +16,35 @@
 
 package com.android.settings.biometrics.fingerprint;
 
-import android.annotation.Nullable;
 import android.app.Activity;
-import android.content.Intent;
 import android.hardware.fingerprint.FingerprintManager;
-import android.os.Bundle;
-import android.os.CancellationSignal;
-import android.os.Handler;
 import android.os.UserHandle;
 
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.settings.Utils;
-import com.android.settings.core.InstrumentedFragment;
-import com.android.settings.password.ChooseLockSettingsHelper;
-
-import java.util.ArrayList;
+import com.android.settings.biometrics.BiometricEnrollSidecar;
 
 /**
  * Sidecar fragment to handle the state around fingerprint enrollment.
  */
-public class FingerprintEnrollSidecar extends InstrumentedFragment {
+public class FingerprintEnrollSidecar extends BiometricEnrollSidecar {
 
-    private int mEnrollmentSteps = -1;
-    private int mEnrollmentRemaining = 0;
-    private Listener mListener;
-    private boolean mEnrolling;
-    private CancellationSignal mEnrollmentCancel;
-    private Handler mHandler = new Handler();
-    private byte[] mToken;
-    private boolean mDone;
-    private int mUserId;
     private FingerprintManager mFingerprintManager;
-    private ArrayList<QueuedEvent> mQueuedEvents;
-
-    private abstract class QueuedEvent {
-        public abstract void send(Listener listener);
-    }
-
-    private class QueuedEnrollmentProgress extends QueuedEvent {
-        int enrollmentSteps;
-        int remaining;
-        public QueuedEnrollmentProgress(int enrollmentSteps, int remaining) {
-            this.enrollmentSteps = enrollmentSteps;
-            this.remaining = remaining;
-        }
-
-        @Override
-        public void send(Listener listener) {
-            listener.onEnrollmentProgressChange(enrollmentSteps, remaining);
-        }
-    }
-
-    private class QueuedEnrollmentHelp extends QueuedEvent {
-        int helpMsgId;
-        CharSequence helpString;
-        public QueuedEnrollmentHelp(int helpMsgId, CharSequence helpString) {
-            this.helpMsgId = helpMsgId;
-            this.helpString = helpString;
-        }
-
-        @Override
-        public void send(Listener listener) {
-            listener.onEnrollmentHelp(helpString);
-        }
-    }
-
-    private class QueuedEnrollmentError extends QueuedEvent {
-        int errMsgId;
-        CharSequence errString;
-        public QueuedEnrollmentError(int errMsgId, CharSequence errString) {
-            this.errMsgId = errMsgId;
-            this.errString = errString;
-        }
-
-        @Override
-        public void send(Listener listener) {
-            listener.onEnrollmentError(errMsgId, errString);
-        }
-    }
-
-    public FingerprintEnrollSidecar() {
-        mQueuedEvents = new ArrayList<>();
-    }
-
-    @Override
-    public void onCreate(@Nullable Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setRetainInstance(true);
-    }
 
     @Override
     public void onAttach(Activity activity) {
         super.onAttach(activity);
         mFingerprintManager = Utils.getFingerprintManagerOrNull(activity);
-        mToken = activity.getIntent().getByteArrayExtra(
-                ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN);
-        mUserId = activity.getIntent().getIntExtra(Intent.EXTRA_USER_ID, UserHandle.USER_NULL);
     }
 
     @Override
-    public void onStart() {
-        super.onStart();
-        if (!mEnrolling) {
-            startEnrollment();
-        }
-    }
-
-    @Override
-    public void onStop() {
-        super.onStop();
-        if (!getActivity().isChangingConfigurations()) {
-            cancelEnrollment();
-        }
-    }
-
-    private void startEnrollment() {
-        mHandler.removeCallbacks(mTimeoutRunnable);
-        mEnrollmentSteps = -1;
-        mEnrollmentCancel = new CancellationSignal();
+    protected void startEnrollment() {
+        super.startEnrollment();
         if (mUserId != UserHandle.USER_NULL) {
             mFingerprintManager.setActiveUser(mUserId);
         }
         mFingerprintManager.enroll(mToken, mEnrollmentCancel,
                 0 /* flags */, mUserId, mEnrollmentCallback);
-        mEnrolling = true;
-    }
-
-    boolean cancelEnrollment() {
-        mHandler.removeCallbacks(mTimeoutRunnable);
-        if (mEnrolling) {
-            mEnrollmentCancel.cancel();
-            mEnrolling = false;
-            mEnrollmentSteps = -1;
-            return true;
-        }
-        return false;
-    }
-
-    public void setListener(Listener listener) {
-        mListener = listener;
-        if (mListener != null) {
-            for (int i=0; i<mQueuedEvents.size(); i++) {
-                QueuedEvent event = mQueuedEvents.get(i);
-                event.send(mListener);
-            }
-            mQueuedEvents.clear();
-        }
-    }
-
-    public int getEnrollmentSteps() {
-        return mEnrollmentSteps;
-    }
-
-    public int getEnrollmentRemaining() {
-        return mEnrollmentRemaining;
-    }
-
-    public boolean isDone() {
-        return mDone;
     }
 
     private FingerprintManager.EnrollmentCallback mEnrollmentCallback
@@ -181,42 +52,17 @@
 
         @Override
         public void onEnrollmentProgress(int remaining) {
-            if (mEnrollmentSteps == -1) {
-                mEnrollmentSteps = remaining;
-            }
-            mEnrollmentRemaining = remaining;
-            mDone = remaining == 0;
-            if (mListener != null) {
-                mListener.onEnrollmentProgressChange(mEnrollmentSteps, remaining);
-            } else {
-                mQueuedEvents.add(new QueuedEnrollmentProgress(mEnrollmentSteps, remaining));
-            }
+            FingerprintEnrollSidecar.super.onEnrollmentProgress(remaining);
         }
 
         @Override
         public void onEnrollmentHelp(int helpMsgId, CharSequence helpString) {
-            if (mListener != null) {
-                mListener.onEnrollmentHelp(helpString);
-            } else {
-                mQueuedEvents.add(new QueuedEnrollmentHelp(helpMsgId, helpString));
-            }
+            FingerprintEnrollSidecar.super.onEnrollmentHelp(helpMsgId, helpString);
         }
 
         @Override
         public void onEnrollmentError(int errMsgId, CharSequence errString) {
-            if (mListener != null) {
-                mListener.onEnrollmentError(errMsgId, errString);
-            } else {
-                mQueuedEvents.add(new QueuedEnrollmentError(errMsgId, errString));
-            }
-            mEnrolling = false;
-        }
-    };
-
-    private final Runnable mTimeoutRunnable = new Runnable() {
-        @Override
-        public void run() {
-            cancelEnrollment();
+            FingerprintEnrollSidecar.super.onEnrollmentError(errMsgId, errString);
         }
     };
 
@@ -224,14 +70,4 @@
     public int getMetricsCategory() {
         return MetricsEvent.FINGERPRINT_ENROLL_SIDECAR;
     }
-
-    public interface Listener {
-        void onEnrollmentHelp(CharSequence helpString);
-        void onEnrollmentError(int errMsgId, CharSequence errString);
-        void onEnrollmentProgressChange(int steps, int remaining);
-    }
-
-    public boolean isEnrolling() {
-        return mEnrolling;
-    }
 }
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java b/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java
index 5539016..76ee78b 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java
@@ -41,7 +41,6 @@
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.settings.R;
 import com.android.settings.SettingsPreferenceFragment;
-import com.android.settings.SubSettings;
 import com.android.settings.Utils;
 import com.android.settings.biometrics.BiometricSettings;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
diff --git a/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFindSensor.java b/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFindSensor.java
index 40275c3..4529277 100644
--- a/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFindSensor.java
+++ b/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFindSensor.java
@@ -19,7 +19,6 @@
 import android.app.Activity;
 import android.app.AlertDialog;
 import android.app.Dialog;
-import android.app.FragmentManager;
 import android.content.DialogInterface;
 import android.content.Intent;
 import android.os.Bundle;
@@ -33,6 +32,7 @@
 import com.android.settings.password.ChooseLockSettingsHelper;
 
 import androidx.annotation.NonNull;
+import androidx.fragment.app.FragmentManager;
 
 public class SetupFingerprintEnrollFindSensor extends FingerprintEnrollFindSensor {
 
@@ -54,7 +54,7 @@
 
     @Override
     protected void onSkipButtonClick() {
-        new SkipFingerprintDialog().show(getFragmentManager());
+        new SkipFingerprintDialog().show(getSupportFragmentManager());
     }
 
     @Override
diff --git a/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollIntroduction.java b/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollIntroduction.java
index 9fcbbf5..6ffc096 100644
--- a/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollIntroduction.java
+++ b/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollIntroduction.java
@@ -70,7 +70,7 @@
     }
 
     @Override
-    protected Intent getFindSensorIntent() {
+    protected Intent getEnrollingIntent() {
         final Intent intent = new Intent(this, SetupFingerprintEnrollFindSensor.class);
         SetupWizardUtils.copySetupExtras(getIntent(), intent);
         return intent;
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsButtonsController.java b/src/com/android/settings/bluetooth/BluetoothDetailsButtonsController.java
index a3f444c..d7249b3 100644
--- a/src/com/android/settings/bluetooth/BluetoothDetailsButtonsController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsButtonsController.java
@@ -23,7 +23,7 @@
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
-import androidx.preference.PreferenceFragment;
+import androidx.preference.PreferenceFragmentCompat;
 import androidx.preference.PreferenceScreen;
 
 /**
@@ -37,7 +37,7 @@
     private boolean mConnectButtonInitialized;
     private ActionButtonPreference mActionButtons;
 
-    public BluetoothDetailsButtonsController(Context context, PreferenceFragment fragment,
+    public BluetoothDetailsButtonsController(Context context, PreferenceFragmentCompat fragment,
             CachedBluetoothDevice device, Lifecycle lifecycle) {
         super(context, fragment, device, lifecycle);
         mIsConnected = device.isConnected();
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsController.java b/src/com/android/settings/bluetooth/BluetoothDetailsController.java
index 7bf165c..deb38fd 100644
--- a/src/com/android/settings/bluetooth/BluetoothDetailsController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsController.java
@@ -26,7 +26,7 @@
 import com.android.settingslib.core.lifecycle.events.OnPause;
 import com.android.settingslib.core.lifecycle.events.OnResume;
 
-import androidx.preference.PreferenceFragment;
+import androidx.preference.PreferenceFragmentCompat;
 import androidx.preference.PreferenceScreen;
 
 /**
@@ -38,10 +38,10 @@
         OnPause, OnResume {
 
     protected final Context mContext;
-    protected final PreferenceFragment mFragment;
+    protected final PreferenceFragmentCompat mFragment;
     protected final CachedBluetoothDevice mCachedDevice;
 
-    public BluetoothDetailsController(Context context, PreferenceFragment fragment,
+    public BluetoothDetailsController(Context context, PreferenceFragmentCompat fragment,
             CachedBluetoothDevice device, Lifecycle lifecycle) {
         super(context);
         mContext = context;
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsHeaderController.java b/src/com/android/settings/bluetooth/BluetoothDetailsHeaderController.java
index 200dcc2..3c10e6d 100644
--- a/src/com/android/settings/bluetooth/BluetoothDetailsHeaderController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsHeaderController.java
@@ -20,7 +20,6 @@
 import android.graphics.drawable.Drawable;
 import android.util.Pair;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.R;
 import com.android.settings.applications.LayoutPreference;
 import com.android.settings.widget.EntityHeaderController;
@@ -30,7 +29,8 @@
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
-import androidx.preference.PreferenceFragment;
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.PreferenceFragmentCompat;
 import androidx.preference.PreferenceScreen;
 
 /**
@@ -43,7 +43,7 @@
     private LocalBluetoothManager mLocalManager;
     private CachedBluetoothDeviceManager mDeviceManager;
 
-    public BluetoothDetailsHeaderController(Context context, PreferenceFragment fragment,
+    public BluetoothDetailsHeaderController(Context context, PreferenceFragmentCompat fragment,
             CachedBluetoothDevice device, Lifecycle lifecycle,
             LocalBluetoothManager bluetoothManager) {
         super(context, fragment, device, lifecycle);
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsMacAddressController.java b/src/com/android/settings/bluetooth/BluetoothDetailsMacAddressController.java
index 8433482..b48a59f 100644
--- a/src/com/android/settings/bluetooth/BluetoothDetailsMacAddressController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsMacAddressController.java
@@ -22,24 +22,24 @@
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.widget.FooterPreference;
-import com.android.settingslib.widget.FooterPreferenceMixin;
+import com.android.settingslib.widget.FooterPreferenceMixinCompat;
 
-import androidx.preference.PreferenceFragment;
+import androidx.preference.PreferenceFragmentCompat;
 import androidx.preference.PreferenceScreen;
 
 /**
  * This class adds the device MAC address to a footer.
  */
 public class BluetoothDetailsMacAddressController extends BluetoothDetailsController {
-    FooterPreferenceMixin mFooterPreferenceMixin;
+    FooterPreferenceMixinCompat mFooterPreferenceMixin;
     FooterPreference mFooterPreference;
 
     public BluetoothDetailsMacAddressController(Context context,
-            PreferenceFragment fragment,
+            PreferenceFragmentCompat fragment,
             CachedBluetoothDevice device,
             Lifecycle lifecycle) {
         super(context, fragment, device, lifecycle);
-        mFooterPreferenceMixin = new FooterPreferenceMixin(fragment, lifecycle);
+        mFooterPreferenceMixin = new FooterPreferenceMixinCompat(fragment, lifecycle);
     }
 
     @Override
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java b/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java
index ed51a52..a26e961 100644
--- a/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java
@@ -36,7 +36,7 @@
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
-import androidx.preference.PreferenceFragment;
+import androidx.preference.PreferenceFragmentCompat;
 import androidx.preference.PreferenceScreen;
 import androidx.preference.SwitchPreference;
 
@@ -56,7 +56,7 @@
     private CachedBluetoothDevice mCachedDevice;
     private PreferenceCategory mProfilesContainer;
 
-    public BluetoothDetailsProfilesController(Context context, PreferenceFragment fragment,
+    public BluetoothDetailsProfilesController(Context context, PreferenceFragmentCompat fragment,
             LocalBluetoothManager manager, CachedBluetoothDevice device, Lifecycle lifecycle) {
         super(context, fragment, device, lifecycle);
         mManager = manager;
diff --git a/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java b/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java
index 7083137..719a61b 100644
--- a/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java
+++ b/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java
@@ -120,7 +120,7 @@
         ArrayList<AbstractPreferenceController> controllers = new ArrayList<>();
 
         if (mCachedDevice != null) {
-            Lifecycle lifecycle = getLifecycle();
+            Lifecycle lifecycle = getSettingsLifecycle();
             controllers.add(new BluetoothDetailsHeaderController(context, this, mCachedDevice,
                     lifecycle, mManager));
             controllers.add(new BluetoothDetailsButtonsController(context, this, mCachedDevice,
diff --git a/src/com/android/settings/bluetooth/BluetoothDeviceRenamePreferenceController.java b/src/com/android/settings/bluetooth/BluetoothDeviceRenamePreferenceController.java
index d9246ef..0fb2f87 100644
--- a/src/com/android/settings/bluetooth/BluetoothDeviceRenamePreferenceController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDeviceRenamePreferenceController.java
@@ -16,7 +16,6 @@
 
 package com.android.settings.bluetooth;
 
-import android.app.Fragment;
 import android.content.Context;
 import android.text.TextUtils;
 
@@ -26,6 +25,7 @@
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
 
 public class BluetoothDeviceRenamePreferenceController extends
diff --git a/src/com/android/settings/bluetooth/BluetoothEnabler.java b/src/com/android/settings/bluetooth/BluetoothEnabler.java
index c1bcf50..98a4b9c 100644
--- a/src/com/android/settings/bluetooth/BluetoothEnabler.java
+++ b/src/com/android/settings/bluetooth/BluetoothEnabler.java
@@ -25,7 +25,6 @@
 import android.provider.Settings;
 import android.widget.Toast;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.R;
 import com.android.settings.widget.SwitchWidgetController;
 import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
@@ -34,6 +33,8 @@
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
+import androidx.annotation.VisibleForTesting;
+
 /**
  * BluetoothEnabler is a helper to manage the Bluetooth on/off checkbox
  * preference. It turns on/off Bluetooth and ensures the summary of the
diff --git a/src/com/android/settings/bluetooth/BluetoothPairingDialog.java b/src/com/android/settings/bluetooth/BluetoothPairingDialog.java
index 8133005..060c174 100644
--- a/src/com/android/settings/bluetooth/BluetoothPairingDialog.java
+++ b/src/com/android/settings/bluetooth/BluetoothPairingDialog.java
@@ -17,7 +17,6 @@
 package com.android.settings.bluetooth;
 
 import android.annotation.Nullable;
-import android.app.Activity;
 import android.bluetooth.BluetoothDevice;
 import android.content.BroadcastReceiver;
 import android.content.Context;
@@ -26,12 +25,13 @@
 import android.os.Bundle;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.fragment.app.FragmentActivity;
 
 /**
  * BluetoothPairingDialog asks the user to enter a PIN / Passkey / simple confirmation
  * for pairing with a remote Bluetooth device. It is an activity that appears as a dialog.
  */
-public class BluetoothPairingDialog extends Activity {
+public class BluetoothPairingDialog extends FragmentActivity {
     public static final String FRAGMENT_TAG = "bluetooth.pairing.fragment";
 
     private BluetoothPairingController mBluetoothPairingController;
@@ -70,7 +70,8 @@
         boolean fragmentFound = true;
         // check if the fragment has been preloaded
         BluetoothPairingDialogFragment bluetoothFragment =
-            (BluetoothPairingDialogFragment) getFragmentManager().findFragmentByTag(FRAGMENT_TAG);
+            (BluetoothPairingDialogFragment) getSupportFragmentManager().
+                    findFragmentByTag(FRAGMENT_TAG);
         // dismiss the fragment if it is already used
         if (bluetoothFragment != null && (bluetoothFragment.isPairingControllerSet()
             || bluetoothFragment.isPairingDialogActivitySet())) {
@@ -86,7 +87,7 @@
         bluetoothFragment.setPairingDialogActivity(this);
         // pass the fragment to the manager when it is created from scratch
         if (!fragmentFound) {
-            bluetoothFragment.show(getFragmentManager(), FRAGMENT_TAG);
+            bluetoothFragment.show(getSupportFragmentManager(), FRAGMENT_TAG);
         }
         /*
          * Leave this registered through pause/resume since we still want to
diff --git a/src/com/android/settings/bluetooth/BluetoothPairingDialogFragment.java b/src/com/android/settings/bluetooth/BluetoothPairingDialogFragment.java
index 18839dc..580a26f 100644
--- a/src/com/android/settings/bluetooth/BluetoothPairingDialogFragment.java
+++ b/src/com/android/settings/bluetooth/BluetoothPairingDialogFragment.java
@@ -35,11 +35,12 @@
 import android.widget.EditText;
 import android.widget.TextView;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.settings.R;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 
+import androidx.annotation.VisibleForTesting;
+
 /**
  * A dialogFragment used by {@link BluetoothPairingDialog} to create an appropriately styled dialog
  * for the bluetooth device.
diff --git a/src/com/android/settings/bluetooth/BluetoothSwitchPreferenceController.java b/src/com/android/settings/bluetooth/BluetoothSwitchPreferenceController.java
index bbc90c4..c6658e1 100644
--- a/src/com/android/settings/bluetooth/BluetoothSwitchPreferenceController.java
+++ b/src/com/android/settings/bluetooth/BluetoothSwitchPreferenceController.java
@@ -18,7 +18,6 @@
 import android.content.Context;
 import android.view.View;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.logging.nano.MetricsProto;
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.settings.R;
@@ -34,6 +33,8 @@
 import com.android.settingslib.core.lifecycle.events.OnStop;
 import com.android.settingslib.widget.FooterPreference;
 
+import androidx.annotation.VisibleForTesting;
+
 /**
  * PreferenceController to update of bluetooth state. All behavior except managing the footer text
  * is delegated to the SwitchWidgetController it uses.
diff --git a/src/com/android/settings/bluetooth/DeviceProfilesSettings.java b/src/com/android/settings/bluetooth/DeviceProfilesSettings.java
deleted file mode 100644
index e30fe86..0000000
--- a/src/com/android/settings/bluetooth/DeviceProfilesSettings.java
+++ /dev/null
@@ -1,434 +0,0 @@
-/*
- * Copyright (C) 2011 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
- *
- *      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.
- */
-
-package com.android.settings.bluetooth;
-
-import android.app.AlertDialog;
-import android.app.Dialog;
-import android.bluetooth.BluetoothDevice;
-import android.bluetooth.BluetoothProfile;
-import android.content.Context;
-import android.content.DialogInterface;
-import android.os.Bundle;
-import android.text.Html;
-import android.text.TextUtils;
-import android.util.Log;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.View.OnClickListener;
-import android.view.ViewGroup;
-import android.widget.CheckBox;
-import android.widget.EditText;
-import android.widget.TextView;
-
-import com.android.internal.logging.nano.MetricsProto;
-import com.android.settings.R;
-import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
-import com.android.settingslib.bluetooth.A2dpProfile;
-import com.android.settingslib.bluetooth.CachedBluetoothDevice;
-import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager;
-import com.android.settingslib.bluetooth.LocalBluetoothManager;
-import com.android.settingslib.bluetooth.LocalBluetoothProfile;
-import com.android.settingslib.bluetooth.LocalBluetoothProfileManager;
-import com.android.settingslib.bluetooth.MapProfile;
-import com.android.settingslib.bluetooth.PanProfile;
-import com.android.settingslib.bluetooth.PbapServerProfile;
-
-import androidx.annotation.VisibleForTesting;
-
-public final class DeviceProfilesSettings extends InstrumentedDialogFragment implements
-        CachedBluetoothDevice.Callback, DialogInterface.OnClickListener, OnClickListener {
-    private static final String TAG = "DeviceProfilesSettings";
-
-    public static final String ARG_DEVICE_ADDRESS = "device_address";
-
-    private static final String KEY_PROFILE_CONTAINER = "profile_container";
-    private static final String KEY_UNPAIR = "unpair";
-    private static final String KEY_PBAP_SERVER = "PBAP Server";
-    @VisibleForTesting
-    static final String HIGH_QUALITY_AUDIO_PREF_TAG = "A2dpProfileHighQualityAudio";
-
-    private CachedBluetoothDevice mCachedDevice;
-    private LocalBluetoothManager mManager;
-    private LocalBluetoothProfileManager mProfileManager;
-
-    private ViewGroup mProfileContainer;
-    private TextView mProfileLabel;
-
-    private AlertDialog mDisconnectDialog;
-    private boolean mProfileGroupIsRemoved;
-
-    private View mRootView;
-
-    @Override
-    public int getMetricsCategory() {
-        return MetricsProto.MetricsEvent.DIALOG_BLUETOOTH_PAIRED_DEVICE_PROFILE;
-    }
-
-    @Override
-    public void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-
-        mManager = Utils.getLocalBtManager(getActivity());
-        CachedBluetoothDeviceManager deviceManager = mManager.getCachedDeviceManager();
-
-        String address = getArguments().getString(ARG_DEVICE_ADDRESS);
-        BluetoothDevice remoteDevice = mManager.getBluetoothAdapter().getRemoteDevice(address);
-
-        mCachedDevice = deviceManager.findDevice(remoteDevice);
-        if (mCachedDevice == null) {
-            mCachedDevice = deviceManager.addDevice(mManager.getBluetoothAdapter(),
-                    mManager.getProfileManager(), remoteDevice);
-        }
-        mProfileManager = mManager.getProfileManager();
-    }
-
-    @Override
-    public Dialog onCreateDialog(Bundle savedInstanceState) {
-        mRootView = LayoutInflater.from(getContext()).inflate(R.layout.device_profiles_settings,
-                null);
-        mProfileContainer = (ViewGroup) mRootView.findViewById(R.id.profiles_section);
-        mProfileLabel = (TextView) mRootView.findViewById(R.id.profiles_label);
-        final EditText deviceName = (EditText) mRootView.findViewById(R.id.name);
-        deviceName.setText(mCachedDevice.getName(), TextView.BufferType.EDITABLE);
-        return new AlertDialog.Builder(getContext())
-                .setView(mRootView)
-                .setNeutralButton(R.string.forget, this)
-                .setPositiveButton(R.string.okay, this)
-                .setTitle(R.string.bluetooth_preference_paired_devices)
-                .create();
-    }
-
-    @Override
-    public void onClick(DialogInterface dialog, int which) {
-        switch (which) {
-            case DialogInterface.BUTTON_POSITIVE:
-                EditText deviceName = (EditText) mRootView.findViewById(R.id.name);
-                mCachedDevice.setName(deviceName.getText().toString());
-                break;
-            case DialogInterface.BUTTON_NEUTRAL:
-                mCachedDevice.unpair();
-                break;
-        }
-    }
-
-    @Override
-    public void onDestroy() {
-        super.onDestroy();
-        if (mDisconnectDialog != null) {
-            mDisconnectDialog.dismiss();
-            mDisconnectDialog = null;
-        }
-        if (mCachedDevice != null) {
-            mCachedDevice.unregisterCallback(this);
-        }
-    }
-
-    @Override
-    public void onSaveInstanceState(Bundle outState) {
-        super.onSaveInstanceState(outState);
-    }
-
-    @Override
-    public void onResume() {
-        super.onResume();
-
-        mManager.setForegroundActivity(getActivity());
-        if (mCachedDevice != null) {
-            mCachedDevice.registerCallback(this);
-            if (mCachedDevice.getBondState() == BluetoothDevice.BOND_NONE) {
-                dismiss();
-                return;
-            }
-            addPreferencesForProfiles();
-            refresh();
-        }
-    }
-
-    @Override
-    public void onPause() {
-        super.onPause();
-
-        if (mCachedDevice != null) {
-            mCachedDevice.unregisterCallback(this);
-        }
-
-        mManager.setForegroundActivity(null);
-    }
-
-    private void addPreferencesForProfiles() {
-        mProfileContainer.removeAllViews();
-        for (LocalBluetoothProfile profile : mCachedDevice.getConnectableProfiles()) {
-            CheckBox pref = createProfilePreference(profile);
-            // MAP and PBAP profiles would be added based on permission access
-            if (!((profile instanceof PbapServerProfile) ||
-                (profile instanceof MapProfile))) {
-                mProfileContainer.addView(pref);
-            }
-
-            if (profile instanceof A2dpProfile) {
-                BluetoothDevice device = mCachedDevice.getDevice();
-                A2dpProfile a2dpProfile = (A2dpProfile) profile;
-                if (a2dpProfile.supportsHighQualityAudio(device)) {
-                    CheckBox highQualityPref = new CheckBox(getActivity());
-                    highQualityPref.setTag(HIGH_QUALITY_AUDIO_PREF_TAG);
-                    highQualityPref.setOnClickListener(v -> {
-                        a2dpProfile.setHighQualityAudioEnabled(device, highQualityPref.isChecked());
-                    });
-                    highQualityPref.setVisibility(View.GONE);
-                    mProfileContainer.addView(highQualityPref);
-                }
-                refreshProfilePreference(pref, profile);
-            }
-        }
-
-        final int pbapPermission = mCachedDevice.getPhonebookPermissionChoice();
-        Log.d(TAG, "addPreferencesForProfiles: pbapPermission = " + pbapPermission);
-        // Only provide PBAP cabability if the client device has requested PBAP.
-        if (pbapPermission != CachedBluetoothDevice.ACCESS_UNKNOWN) {
-            final PbapServerProfile psp = mManager.getProfileManager().getPbapProfile();
-            CheckBox pbapPref = createProfilePreference(psp);
-            mProfileContainer.addView(pbapPref);
-        }
-
-        final MapProfile mapProfile = mManager.getProfileManager().getMapProfile();
-        final int mapPermission = mCachedDevice.getMessagePermissionChoice();
-        Log.d(TAG, "addPreferencesForProfiles: mapPermission = " + mapPermission);
-        if (mapPermission != CachedBluetoothDevice.ACCESS_UNKNOWN) {
-            CheckBox mapPreference = createProfilePreference(mapProfile);
-            mProfileContainer.addView(mapPreference);
-        }
-
-        showOrHideProfileGroup();
-    }
-
-    private void showOrHideProfileGroup() {
-        int numProfiles = mProfileContainer.getChildCount();
-        if (!mProfileGroupIsRemoved && numProfiles == 0) {
-            mProfileContainer.setVisibility(View.GONE);
-            mProfileLabel.setVisibility(View.GONE);
-            mProfileGroupIsRemoved = true;
-        } else if (mProfileGroupIsRemoved && numProfiles != 0) {
-            mProfileContainer.setVisibility(View.VISIBLE);
-            mProfileLabel.setVisibility(View.VISIBLE);
-            mProfileGroupIsRemoved = false;
-        }
-    }
-
-    /**
-     * Creates a checkbox preference for the particular profile. The key will be
-     * the profile's name.
-     *
-     * @param profile The profile for which the preference controls.
-     * @return A preference that allows the user to choose whether this profile
-     *         will be connected to.
-     */
-    private CheckBox createProfilePreference(LocalBluetoothProfile profile) {
-        CheckBox pref = new CheckBox(getActivity());
-        pref.setTag(profile.toString());
-        pref.setText(profile.getNameResource(mCachedDevice.getDevice()));
-        pref.setOnClickListener(this);
-
-        refreshProfilePreference(pref, profile);
-
-        return pref;
-    }
-
-    @Override
-    public void onClick(View v) {
-        if (v instanceof CheckBox) {
-            LocalBluetoothProfile prof = getProfileOf(v);
-            onProfileClicked(prof, (CheckBox) v);
-        }
-    }
-
-    private void onProfileClicked(LocalBluetoothProfile profile, CheckBox profilePref) {
-        BluetoothDevice device = mCachedDevice.getDevice();
-
-        if (!profilePref.isChecked()) {
-            // Recheck it, until the dialog is done.
-            profilePref.setChecked(true);
-            askDisconnect(mManager.getForegroundActivity(), profile);
-        } else {
-            if (profile instanceof MapProfile) {
-                mCachedDevice.setMessagePermissionChoice(BluetoothDevice.ACCESS_ALLOWED);
-            }
-            if (profile instanceof PbapServerProfile) {
-                mCachedDevice.setPhonebookPermissionChoice(BluetoothDevice.ACCESS_ALLOWED);
-                refreshProfilePreference(profilePref, profile);
-                // PBAP server is not preffered profile and cannot initiate connection, so return
-                return;
-            }
-            if (profile.isPreferred(device)) {
-                // profile is preferred but not connected: disable auto-connect
-                if (profile instanceof PanProfile) {
-                    mCachedDevice.connectProfile(profile);
-                } else {
-                    profile.setPreferred(device, false);
-                }
-            } else {
-                profile.setPreferred(device, true);
-                mCachedDevice.connectProfile(profile);
-            }
-            refreshProfilePreference(profilePref, profile);
-        }
-    }
-
-    private void askDisconnect(Context context,
-            final LocalBluetoothProfile profile) {
-        // local reference for callback
-        final CachedBluetoothDevice device = mCachedDevice;
-        String name = device.getName();
-        if (TextUtils.isEmpty(name)) {
-            name = context.getString(R.string.bluetooth_device);
-        }
-
-        String profileName = context.getString(profile.getNameResource(device.getDevice()));
-
-        String title = context.getString(R.string.bluetooth_disable_profile_title);
-        String message = context.getString(R.string.bluetooth_disable_profile_message,
-                profileName, name);
-
-        DialogInterface.OnClickListener disconnectListener =
-                new DialogInterface.OnClickListener() {
-            public void onClick(DialogInterface dialog, int which) {
-
-                // Disconnect only when user has selected OK otherwise ignore
-                if (which == DialogInterface.BUTTON_POSITIVE) {
-                    device.disconnect(profile);
-                    profile.setPreferred(device.getDevice(), false);
-                    if (profile instanceof MapProfile) {
-                        device.setMessagePermissionChoice(BluetoothDevice.ACCESS_REJECTED);
-                    }
-                    if (profile instanceof PbapServerProfile) {
-                        device.setPhonebookPermissionChoice(BluetoothDevice.ACCESS_REJECTED);
-                    }
-                }
-                refreshProfilePreference(findProfile(profile.toString()), profile);
-            }
-        };
-
-        mDisconnectDialog = Utils.showDisconnectDialog(context,
-                mDisconnectDialog, disconnectListener, title, Html.fromHtml(message));
-    }
-
-    @Override
-    public void onDeviceAttributesChanged() {
-        refresh();
-    }
-
-    private void refresh() {
-        final EditText deviceNameField = (EditText) mRootView.findViewById(R.id.name);
-        if (deviceNameField != null) {
-            deviceNameField.setText(mCachedDevice.getName());
-            com.android.settings.Utils.setEditTextCursorPosition(deviceNameField);
-        }
-
-        refreshProfiles();
-    }
-
-    private void refreshProfiles() {
-        for (LocalBluetoothProfile profile : mCachedDevice.getConnectableProfiles()) {
-            CheckBox profilePref = findProfile(profile.toString());
-            if (profilePref == null) {
-                profilePref = createProfilePreference(profile);
-                mProfileContainer.addView(profilePref);
-            } else {
-                refreshProfilePreference(profilePref, profile);
-            }
-        }
-        for (LocalBluetoothProfile profile : mCachedDevice.getRemovedProfiles()) {
-            CheckBox profilePref = findProfile(profile.toString());
-            if (profilePref != null) {
-
-                if (profile instanceof PbapServerProfile) {
-                    final int pbapPermission = mCachedDevice.getPhonebookPermissionChoice();
-                    Log.d(TAG, "refreshProfiles: pbapPermission = " + pbapPermission);
-                    if (pbapPermission != CachedBluetoothDevice.ACCESS_UNKNOWN)
-                        continue;
-                }
-                if (profile instanceof MapProfile) {
-                    final int mapPermission = mCachedDevice.getMessagePermissionChoice();
-                    Log.d(TAG, "refreshProfiles: mapPermission = " + mapPermission);
-                    if (mapPermission != CachedBluetoothDevice.ACCESS_UNKNOWN)
-                        continue;
-                }
-                Log.d(TAG, "Removing " + profile.toString() + " from profile list");
-                mProfileContainer.removeView(profilePref);
-            }
-        }
-
-        showOrHideProfileGroup();
-    }
-
-    private CheckBox findProfile(String profile) {
-        return (CheckBox) mProfileContainer.findViewWithTag(profile);
-    }
-
-    private void refreshProfilePreference(CheckBox profilePref,
-            LocalBluetoothProfile profile) {
-        BluetoothDevice device = mCachedDevice.getDevice();
-
-        // Gray out checkbox while connecting and disconnecting.
-        profilePref.setEnabled(!mCachedDevice.isBusy());
-
-        if (profile instanceof MapProfile) {
-            profilePref.setChecked(mCachedDevice.getMessagePermissionChoice()
-                    == CachedBluetoothDevice.ACCESS_ALLOWED);
-
-        } else if (profile instanceof PbapServerProfile) {
-            profilePref.setChecked(mCachedDevice.getPhonebookPermissionChoice()
-                    == CachedBluetoothDevice.ACCESS_ALLOWED);
-
-        } else if (profile instanceof PanProfile) {
-            profilePref.setChecked(profile.getConnectionStatus(device) ==
-                    BluetoothProfile.STATE_CONNECTED);
-
-        } else {
-            profilePref.setChecked(profile.isPreferred(device));
-        }
-        if (profile instanceof A2dpProfile) {
-            A2dpProfile a2dpProfile = (A2dpProfile) profile;
-            View v = mProfileContainer.findViewWithTag(HIGH_QUALITY_AUDIO_PREF_TAG);
-            if (v instanceof CheckBox) {
-                CheckBox highQualityPref = (CheckBox) v;
-                highQualityPref.setText(a2dpProfile.getHighQualityAudioOptionLabel(device));
-                highQualityPref.setChecked(a2dpProfile.isHighQualityAudioEnabled(device));
-
-                if (a2dpProfile.isPreferred(device)) {
-                    v.setVisibility(View.VISIBLE);
-                    v.setEnabled(!mCachedDevice.isBusy());
-                } else {
-                    v.setVisibility(View.GONE);
-                }
-            }
-        }
-    }
-
-    private LocalBluetoothProfile getProfileOf(View v) {
-        if (!(v instanceof CheckBox)) {
-            return null;
-        }
-        String key = (String) v.getTag();
-        if (TextUtils.isEmpty(key)) return null;
-
-        try {
-            return mProfileManager.getProfileByName(key);
-        } catch (IllegalArgumentException ignored) {
-            return null;
-        }
-    }
-}
diff --git a/src/com/android/settings/bluetooth/ForgetDeviceDialogFragment.java b/src/com/android/settings/bluetooth/ForgetDeviceDialogFragment.java
index 1f3a689..32edb23 100644
--- a/src/com/android/settings/bluetooth/ForgetDeviceDialogFragment.java
+++ b/src/com/android/settings/bluetooth/ForgetDeviceDialogFragment.java
@@ -24,13 +24,14 @@
 import android.content.DialogInterface;
 import android.os.Bundle;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.logging.nano.MetricsProto;
 import com.android.settings.R;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
 
+import androidx.annotation.VisibleForTesting;
+
 /** Implements an AlertDialog for confirming that a user wishes to unpair or "forget" a paired
  *  device*/
 public class ForgetDeviceDialogFragment extends InstrumentedDialogFragment {
diff --git a/src/com/android/settings/bluetooth/RemoteDeviceNameDialogFragment.java b/src/com/android/settings/bluetooth/RemoteDeviceNameDialogFragment.java
index 4e5acefe..44e3a91 100644
--- a/src/com/android/settings/bluetooth/RemoteDeviceNameDialogFragment.java
+++ b/src/com/android/settings/bluetooth/RemoteDeviceNameDialogFragment.java
@@ -20,12 +20,13 @@
 import android.content.Context;
 import android.os.Bundle;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.logging.nano.MetricsProto;
 import com.android.settings.R;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
 
+import androidx.annotation.VisibleForTesting;
+
 /** Provides a dialog for changing the display name of a remote bluetooth device. */
 public class RemoteDeviceNameDialogFragment extends BluetoothNameDialogFragment {
     public static final String TAG = "RemoteDeviceName";
diff --git a/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdater.java b/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdater.java
index c9fa056..db11164 100644
--- a/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdater.java
+++ b/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdater.java
@@ -18,8 +18,8 @@
 import android.bluetooth.BluetoothDevice;
 import android.bluetooth.BluetoothProfile;
 import android.content.Context;
-
 import android.util.Log;
+
 import com.android.settings.connecteddevice.DevicePreferenceCallback;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
diff --git a/src/com/android/settings/connecteddevice/AdvancedConnectedDeviceDashboardFragment.java b/src/com/android/settings/connecteddevice/AdvancedConnectedDeviceDashboardFragment.java
index e9d291d..e58ac1f 100644
--- a/src/com/android/settings/connecteddevice/AdvancedConnectedDeviceDashboardFragment.java
+++ b/src/com/android/settings/connecteddevice/AdvancedConnectedDeviceDashboardFragment.java
@@ -66,7 +66,7 @@
 
     @Override
     protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        return buildControllers(context, getLifecycle());
+        return buildControllers(context, getSettingsLifecycle());
     }
 
     private static List<AbstractPreferenceController> buildControllers(Context context,
diff --git a/src/com/android/settings/connecteddevice/BluetoothDashboardFragment.java b/src/com/android/settings/connecteddevice/BluetoothDashboardFragment.java
index a8d92a9..b5a9ffb 100644
--- a/src/com/android/settings/connecteddevice/BluetoothDashboardFragment.java
+++ b/src/com/android/settings/connecteddevice/BluetoothDashboardFragment.java
@@ -92,7 +92,7 @@
         mSwitchBar = activity.getSwitchBar();
         mController = new BluetoothSwitchPreferenceController(activity,
                 new SwitchBarController(mSwitchBar), mFooterPreference);
-        Lifecycle lifecycle = getLifecycle();
+        Lifecycle lifecycle = getSettingsLifecycle();
         if (lifecycle != null) {
             lifecycle.addObserver(mController);
         }
diff --git a/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragment.java b/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragment.java
index 27dcac4..380e8a5 100644
--- a/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragment.java
+++ b/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragment.java
@@ -66,7 +66,7 @@
 
     @Override
     protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        return buildPreferenceControllers(context, getLifecycle());
+        return buildPreferenceControllers(context, getSettingsLifecycle());
     }
 
     private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
diff --git a/src/com/android/settings/connecteddevice/DiscoverableFooterPreferenceController.java b/src/com/android/settings/connecteddevice/DiscoverableFooterPreferenceController.java
index 384ec48..e5e1a70 100644
--- a/src/com/android/settings/connecteddevice/DiscoverableFooterPreferenceController.java
+++ b/src/com/android/settings/connecteddevice/DiscoverableFooterPreferenceController.java
@@ -36,7 +36,7 @@
 import com.android.settingslib.core.lifecycle.events.OnPause;
 import com.android.settingslib.core.lifecycle.events.OnResume;
 import com.android.settingslib.widget.FooterPreference;
-import com.android.settingslib.widget.FooterPreferenceMixin;
+import com.android.settingslib.widget.FooterPreferenceMixinCompat;
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.PreferenceScreen;
@@ -52,7 +52,7 @@
     BroadcastReceiver mBluetoothChangedReceiver;
     @VisibleForTesting
     LocalBluetoothManager mLocalManager;
-    private FooterPreferenceMixin mFooterPreferenceMixin;
+    private FooterPreferenceMixinCompat mFooterPreferenceMixin;
     private FooterPreference mPreference;
     private LocalBluetoothAdapter mLocalAdapter;
     private AlwaysDiscoverable mAlwaysDiscoverable;
@@ -82,11 +82,12 @@
     }
 
     public void init(DashboardFragment fragment) {
-        mFooterPreferenceMixin = new FooterPreferenceMixin(fragment, fragment.getLifecycle());
+        mFooterPreferenceMixin = new FooterPreferenceMixinCompat(fragment,
+                fragment.getSettingsLifecycle());
     }
 
     @VisibleForTesting
-    void init(FooterPreferenceMixin footerPreferenceMixin, FooterPreference preference,
+    void init(FooterPreferenceMixinCompat footerPreferenceMixin, FooterPreference preference,
             AlwaysDiscoverable alwaysDiscoverable) {
         mFooterPreferenceMixin = footerPreferenceMixin;
         mPreference = preference;
diff --git a/src/com/android/settings/connecteddevice/usb/UsbDefaultFragment.java b/src/com/android/settings/connecteddevice/usb/UsbDefaultFragment.java
index e1b3d70..471486b 100644
--- a/src/com/android/settings/connecteddevice/usb/UsbDefaultFragment.java
+++ b/src/com/android/settings/connecteddevice/usb/UsbDefaultFragment.java
@@ -20,19 +20,20 @@
 import android.graphics.drawable.Drawable;
 import android.os.Bundle;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.logging.nano.MetricsProto;
 import com.android.settings.R;
 import com.android.settings.Utils;
 import com.android.settings.widget.RadioButtonPickerFragment;
 import com.android.settingslib.widget.CandidateInfo;
 import com.android.settingslib.widget.FooterPreference;
-import com.android.settingslib.widget.FooterPreferenceMixin;
+import com.android.settingslib.widget.FooterPreferenceMixinCompat;
 
 import com.google.android.collect.Lists;
 
 import java.util.List;
 
+import androidx.annotation.VisibleForTesting;
+
 /**
  * Provides options for selecting the default USB mode.
  */
@@ -49,7 +50,8 @@
     @Override
     public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
         super.onCreatePreferences(savedInstanceState, rootKey);
-        FooterPreferenceMixin footer = new FooterPreferenceMixin(this, this.getLifecycle());
+        FooterPreferenceMixinCompat footer = new FooterPreferenceMixinCompat(this,
+                this.getSettingsLifecycle());
         FooterPreference pref = footer.createFooterPreference();
         pref.setTitle(R.string.usb_default_info);
     }
diff --git a/src/com/android/settings/connecteddevice/usb/UsbDetailsController.java b/src/com/android/settings/connecteddevice/usb/UsbDetailsController.java
index fbcd5d1..bd0cd8a 100644
--- a/src/com/android/settings/connecteddevice/usb/UsbDetailsController.java
+++ b/src/com/android/settings/connecteddevice/usb/UsbDetailsController.java
@@ -19,11 +19,11 @@
 import android.content.Context;
 import android.os.Handler;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.core.AbstractPreferenceController;
 
 import androidx.annotation.UiThread;
+import androidx.annotation.VisibleForTesting;
 
 /**
  * This class provides common members and refresh functionality for usb controllers.
diff --git a/src/com/android/settings/connecteddevice/usb/UsbDetailsFragment.java b/src/com/android/settings/connecteddevice/usb/UsbDetailsFragment.java
index 7b1026c..8fd0902 100644
--- a/src/com/android/settings/connecteddevice/usb/UsbDetailsFragment.java
+++ b/src/com/android/settings/connecteddevice/usb/UsbDetailsFragment.java
@@ -85,7 +85,7 @@
         mControllers = createControllerList(context, mUsbBackend, this);
         mUsbReceiver = new UsbConnectionBroadcastReceiver(context, mUsbConnectionListener,
                 mUsbBackend);
-        this.getLifecycle().addObserver(mUsbReceiver);
+        this.getSettingsLifecycle().addObserver(mUsbReceiver);
 
         return new ArrayList<>(mControllers);
     }
diff --git a/src/com/android/settings/core/InstrumentedActivity.java b/src/com/android/settings/core/InstrumentedActivity.java
index 5ec8505..be350a8 100644
--- a/src/com/android/settings/core/InstrumentedActivity.java
+++ b/src/com/android/settings/core/InstrumentedActivity.java
@@ -32,7 +32,7 @@
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         // Mixin that logs visibility change for activity.
-        getLifecycle().addObserver(new VisibilityLoggerMixin(getMetricsCategory(),
+        getSettingsLifecycle().addObserver(new VisibilityLoggerMixin(getMetricsCategory(),
                 FeatureFactory.getFactory(this).getMetricsFeatureProvider()));
     }
 }
diff --git a/src/com/android/settings/core/InstrumentedFragment.java b/src/com/android/settings/core/InstrumentedFragment.java
index b1215b9..427e33a 100644
--- a/src/com/android/settings/core/InstrumentedFragment.java
+++ b/src/com/android/settings/core/InstrumentedFragment.java
@@ -37,8 +37,8 @@
         mVisibilityLoggerMixin = new VisibilityLoggerMixin(getMetricsCategory(),
                 mMetricsFeatureProvider);
         // Mixin that logs visibility change for activity.
-        getLifecycle().addObserver(mVisibilityLoggerMixin);
-        getLifecycle().addObserver(new SurveyMixin(this, getClass().getSimpleName()));
+        getSettingsLifecycle().addObserver(mVisibilityLoggerMixin);
+        getSettingsLifecycle().addObserver(new SurveyMixin(this, getClass().getSimpleName()));
         super.onAttach(context);
     }
 
diff --git a/src/com/android/settings/core/InstrumentedPreferenceFragment.java b/src/com/android/settings/core/InstrumentedPreferenceFragment.java
index 30157e9..2bcf895 100644
--- a/src/com/android/settings/core/InstrumentedPreferenceFragment.java
+++ b/src/com/android/settings/core/InstrumentedPreferenceFragment.java
@@ -53,8 +53,8 @@
         // Mixin that logs visibility change for activity.
         mVisibilityLoggerMixin = new VisibilityLoggerMixin(getMetricsCategory(),
                 mMetricsFeatureProvider);
-        getLifecycle().addObserver(mVisibilityLoggerMixin);
-        getLifecycle().addObserver(new SurveyMixin(this, getClass().getSimpleName()));
+        getSettingsLifecycle().addObserver(mVisibilityLoggerMixin);
+        getSettingsLifecycle().addObserver(new SurveyMixin(this, getClass().getSimpleName()));
         super.onAttach(context);
     }
 
diff --git a/src/com/android/settings/core/SubSettingLauncher.java b/src/com/android/settings/core/SubSettingLauncher.java
index 3268399..f3f3748 100644
--- a/src/com/android/settings/core/SubSettingLauncher.java
+++ b/src/com/android/settings/core/SubSettingLauncher.java
@@ -17,7 +17,6 @@
 package com.android.settings.core;
 
 import android.annotation.StringRes;
-import android.app.Fragment;
 import android.content.Context;
 import android.content.Intent;
 import android.os.Bundle;
@@ -29,6 +28,7 @@
 import com.android.settingslib.core.instrumentation.VisibilityLoggerMixin;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.fragment.app.Fragment;
 
 public class SubSettingLauncher {
 
diff --git a/src/com/android/settings/core/gateway/SettingsGateway.java b/src/com/android/settings/core/gateway/SettingsGateway.java
index 64afd94..1569ff0 100644
--- a/src/com/android/settings/core/gateway/SettingsGateway.java
+++ b/src/com/android/settings/core/gateway/SettingsGateway.java
@@ -38,18 +38,18 @@
 import com.android.settings.applications.ProcessStatsSummary;
 import com.android.settings.applications.ProcessStatsUi;
 import com.android.settings.applications.UsageAccessDetails;
-import com.android.settings.applications.VrListenerSettings;
+import com.android.settings.applications.specialaccess.vrlistener.VrListenerSettings;
 import com.android.settings.applications.appinfo.AppInfoDashboardFragment;
 import com.android.settings.applications.appinfo.DrawOverlayDetails;
 import com.android.settings.applications.appinfo.ExternalSourcesDetails;
-import com.android.settings.applications.appinfo.PictureInPictureDetails;
-import com.android.settings.applications.appinfo.PictureInPictureSettings;
 import com.android.settings.applications.appinfo.WriteSettingsDetails;
 import com.android.settings.applications.appops.BackgroundCheckSummary;
 import com.android.settings.applications.assist.ManageAssist;
 import com.android.settings.applications.manageapplications.ManageApplications;
 import com.android.settings.applications.managedomainurls.ManageDomainUrls;
 import com.android.settings.applications.specialaccess.deviceadmin.DeviceAdminSettings;
+import com.android.settings.applications.specialaccess.pictureinpicture.PictureInPictureDetails;
+import com.android.settings.applications.specialaccess.pictureinpicture.PictureInPictureSettings;
 import com.android.settings.backup.PrivacySettings;
 import com.android.settings.backup.ToggleBackupSettingFragment;
 import com.android.settings.bluetooth.BluetoothDeviceDetailsFragment;
diff --git a/src/com/android/settings/dashboard/DashboardAdapter.java b/src/com/android/settings/dashboard/DashboardAdapter.java
index 936164c..a76414d 100644
--- a/src/com/android/settings/dashboard/DashboardAdapter.java
+++ b/src/com/android/settings/dashboard/DashboardAdapter.java
@@ -45,7 +45,7 @@
 import com.android.settingslib.drawer.DashboardCategory;
 import com.android.settingslib.drawer.Tile;
 import com.android.settingslib.drawer.TileUtils;
-import com.android.settingslib.suggestions.SuggestionControllerMixin;
+import com.android.settingslib.suggestions.SuggestionControllerMixinCompat;
 import com.android.settingslib.utils.IconCache;
 
 import java.util.List;
@@ -84,7 +84,7 @@
     };
 
     public DashboardAdapter(Context context, Bundle savedInstanceState,
-            List<Condition> conditions, SuggestionControllerMixin suggestionControllerMixin,
+            List<Condition> conditions, SuggestionControllerMixinCompat suggestionControllerMixin,
             Lifecycle lifecycle) {
 
         DashboardCategory category = null;
diff --git a/src/com/android/settings/dashboard/DashboardFragment.java b/src/com/android/settings/dashboard/DashboardFragment.java
index 67ffb76..2a962c1 100644
--- a/src/com/android/settings/dashboard/DashboardFragment.java
+++ b/src/com/android/settings/dashboard/DashboardFragment.java
@@ -89,7 +89,7 @@
         controllers.addAll(uniqueControllerFromXml);
 
         // And wire up with lifecycle.
-        final Lifecycle lifecycle = getLifecycle();
+        final Lifecycle lifecycle = getSettingsLifecycle();
         uniqueControllerFromXml
                 .stream()
                 .filter(controller -> controller instanceof LifecycleObserver)
diff --git a/src/com/android/settings/dashboard/DashboardSummary.java b/src/com/android/settings/dashboard/DashboardSummary.java
index 1b9b75f..c6b69e9 100644
--- a/src/com/android/settings/dashboard/DashboardSummary.java
+++ b/src/com/android/settings/dashboard/DashboardSummary.java
@@ -17,7 +17,6 @@
 package com.android.settings.dashboard;
 
 import android.app.Activity;
-import android.app.LoaderManager;
 import android.content.Context;
 import android.os.Bundle;
 import android.os.Handler;
@@ -42,18 +41,19 @@
 import com.android.settings.widget.ActionBarShadowController;
 import com.android.settingslib.drawer.CategoryKey;
 import com.android.settingslib.drawer.DashboardCategory;
-import com.android.settingslib.suggestions.SuggestionControllerMixin;
+import com.android.settingslib.suggestions.SuggestionControllerMixinCompat;
 import com.android.settingslib.utils.ThreadUtils;
 
 import java.util.List;
 
 import androidx.annotation.VisibleForTesting;
 import androidx.annotation.WorkerThread;
+import androidx.loader.app.LoaderManager;
 import androidx.recyclerview.widget.LinearLayoutManager;
 
 public class DashboardSummary extends InstrumentedFragment
         implements CategoryListener, ConditionListener,
-        FocusListener, SuggestionControllerMixin.SuggestionControllerHost {
+        FocusListener, SuggestionControllerMixinCompat.SuggestionControllerHost {
     public static final boolean DEBUG = false;
     private static final boolean DEBUG_TIMING = false;
     private static final int MAX_WAIT_MILLIS = 3000;
@@ -69,7 +69,7 @@
     private SummaryLoader mSummaryLoader;
     private ConditionManager mConditionManager;
     private LinearLayoutManager mLayoutManager;
-    private SuggestionControllerMixin mSuggestionControllerMixin;
+    private SuggestionControllerMixinCompat mSuggestionControllerMixin;
     private DashboardFeatureProvider mDashboardFeatureProvider;
     @VisibleForTesting
     boolean mIsOnCategoriesChangedCalled;
@@ -86,14 +86,14 @@
     @Override
     public void onAttach(Context context) {
         super.onAttach(context);
-        Log.d(TAG, "Creating SuggestionControllerMixin");
+        Log.d(TAG, "Creating SuggestionControllerMixinCompat");
         final SuggestionFeatureProvider suggestionFeatureProvider = FeatureFactory
                 .getFactory(context)
                 .getSuggestionFeatureProvider(context);
         if (suggestionFeatureProvider.isSuggestionEnabled(context)) {
-            mSuggestionControllerMixin = new SuggestionControllerMixin(context, this /* host */,
-                    getLifecycle(), suggestionFeatureProvider
-                    .getSuggestionServiceComponent());
+            mSuggestionControllerMixin = new SuggestionControllerMixinCompat(
+                    context, this /* host */, getSettingsLifecycle(),
+                    suggestionFeatureProvider.getSuggestionServiceComponent());
         }
     }
 
@@ -117,7 +117,7 @@
         mSummaryLoader = new SummaryLoader(activity, CategoryKey.CATEGORY_HOMEPAGE);
 
         mConditionManager = ConditionManager.get(activity, false);
-        getLifecycle().addObserver(mConditionManager);
+        getSettingsLifecycle().addObserver(mConditionManager);
         if (savedInstanceState != null) {
             mIsOnCategoriesChangedCalled =
                     savedInstanceState.getBoolean(STATE_CATEGORIES_CHANGE_CALLED);
@@ -209,11 +209,13 @@
         mDashboard.setListener(this);
         mDashboard.setItemAnimator(new DashboardItemAnimator());
         mAdapter = new DashboardAdapter(getContext(), bundle,
-                mConditionManager.getConditions(), mSuggestionControllerMixin, getLifecycle());
+                mConditionManager.getConditions(), mSuggestionControllerMixin,
+                getSettingsLifecycle());
         mDashboard.setAdapter(mAdapter);
         mSummaryLoader.setSummaryConsumer(mAdapter);
         ActionBarShadowController.attachToRecyclerView(
-                getActivity().findViewById(R.id.search_bar_container), getLifecycle(), mDashboard);
+                getActivity().findViewById(R.id.search_bar_container), getSettingsLifecycle(),
+                mDashboard);
         rebuildUI();
         if (DEBUG_TIMING) {
             Log.d(TAG, "onCreateView took "
diff --git a/src/com/android/settings/dashboard/suggestions/SuggestionAdapter.java b/src/com/android/settings/dashboard/suggestions/SuggestionAdapter.java
index 9b964e1..95d1502 100644
--- a/src/com/android/settings/dashboard/suggestions/SuggestionAdapter.java
+++ b/src/com/android/settings/dashboard/suggestions/SuggestionAdapter.java
@@ -41,7 +41,7 @@
 import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
 import com.android.settingslib.core.lifecycle.events.OnSaveInstanceState;
-import com.android.settingslib.suggestions.SuggestionControllerMixin;
+import com.android.settingslib.suggestions.SuggestionControllerMixinCompat;
 import com.android.settingslib.utils.IconCache;
 
 import java.util.ArrayList;
@@ -63,7 +63,7 @@
     private final IconCache mCache;
     private final ArrayList<String> mSuggestionsShownLogged;
     private final SuggestionFeatureProvider mSuggestionFeatureProvider;
-    private final SuggestionControllerMixin mSuggestionControllerMixin;
+    private final SuggestionControllerMixinCompat mSuggestionControllerMixin;
     private final Callback mCallback;
     private final CardConfig mConfig;
 
@@ -76,8 +76,9 @@
         void onSuggestionClosed(Suggestion suggestion);
     }
 
-    public SuggestionAdapter(Context context, SuggestionControllerMixin suggestionControllerMixin,
-        Bundle savedInstanceState, Callback callback, Lifecycle lifecycle) {
+    public SuggestionAdapter(Context context,
+            SuggestionControllerMixinCompat suggestionControllerMixin, Bundle savedInstanceState,
+            Callback callback, Lifecycle lifecycle) {
         mContext = context;
         mSuggestionControllerMixin = suggestionControllerMixin;
         mCache = new IconCache(context);
diff --git a/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProvider.java b/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProvider.java
index ce2d118..1564b9f 100644
--- a/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProvider.java
+++ b/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProvider.java
@@ -23,7 +23,7 @@
 import android.util.Pair;
 
 import com.android.settingslib.drawer.Tile;
-import com.android.settingslib.suggestions.SuggestionControllerMixin;
+import com.android.settingslib.suggestions.SuggestionControllerMixinCompat;
 
 import java.util.List;
 
@@ -63,7 +63,7 @@
     /**
      * Dismisses a suggestion.
      */
-    void dismissSuggestion(Context context, SuggestionControllerMixin suggestionMixin,
+    void dismissSuggestion(Context context, SuggestionControllerMixinCompat suggestionMixin,
             Suggestion suggestion);
 
     /**
diff --git a/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImpl.java b/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImpl.java
index 1d58ed5..e1cf1a3 100644
--- a/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImpl.java
+++ b/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImpl.java
@@ -27,19 +27,18 @@
 import com.android.internal.logging.nano.MetricsProto;
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.settings.Settings.NightDisplaySuggestionActivity;
-import com.android.settings.display.NightDisplayPreferenceController;
 import com.android.settings.biometrics.fingerprint.FingerprintEnrollSuggestionActivity;
 import com.android.settings.biometrics.fingerprint.FingerprintSuggestionActivity;
+import com.android.settings.display.NightDisplayPreferenceController;
 import com.android.settings.notification.ZenOnboardingActivity;
 import com.android.settings.notification.ZenSuggestionActivity;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.password.ScreenLockSuggestionActivity;
-import com.android.settings.support.NewDeviceIntroSuggestionActivity;
 import com.android.settings.wallpaper.WallpaperSuggestionActivity;
 import com.android.settings.wifi.calling.WifiCallingSuggestionActivity;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 import com.android.settingslib.drawer.Tile;
-import com.android.settingslib.suggestions.SuggestionControllerMixin;
+import com.android.settingslib.suggestions.SuggestionControllerMixinCompat;
 
 import java.util.List;
 
@@ -88,8 +87,6 @@
             return WifiCallingSuggestionActivity.isSuggestionComplete(context);
         } else if (className.equals(NightDisplaySuggestionActivity.class.getName())) {
             return NightDisplayPreferenceController.isSuggestionComplete(context);
-        } else if (className.equals(NewDeviceIntroSuggestionActivity.class.getName())) {
-            return NewDeviceIntroSuggestionActivity.isSuggestionComplete(context);
         } else if (className.equals(ZenSuggestionActivity.class.getName())) {
             return ZenOnboardingActivity.isSuggestionComplete(context);
         }
@@ -119,7 +116,7 @@
     }
 
     @Override
-    public void dismissSuggestion(Context context, SuggestionControllerMixin mixin,
+    public void dismissSuggestion(Context context, SuggestionControllerMixinCompat mixin,
             Suggestion suggestion) {
         if (mixin == null || suggestion == null || context == null) {
             return;
diff --git a/src/com/android/settings/datausage/AppDataUsage.java b/src/com/android/settings/datausage/AppDataUsage.java
index d2950b3..ed1920c 100644
--- a/src/com/android/settings/datausage/AppDataUsage.java
+++ b/src/com/android/settings/datausage/AppDataUsage.java
@@ -17,10 +17,8 @@
 import static android.net.NetworkPolicyManager.POLICY_REJECT_METERED_BACKGROUND;
 
 import android.app.Activity;
-import android.app.LoaderManager;
 import android.content.Context;
 import android.content.Intent;
-import android.content.Loader;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageManager;
 import android.graphics.drawable.Drawable;
@@ -47,11 +45,13 @@
 import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
 import com.android.settingslib.RestrictedSwitchPreference;
 import com.android.settingslib.net.ChartData;
-import com.android.settingslib.net.ChartDataLoader;
+import com.android.settingslib.net.ChartDataLoaderCompat;
 import com.android.settingslib.net.UidDetail;
 import com.android.settingslib.net.UidDetailProvider;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.loader.app.LoaderManager;
+import androidx.loader.content.Loader;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
 
@@ -222,7 +222,7 @@
         }
         mPolicy = services.mPolicyEditor.getPolicy(mTemplate);
         getLoaderManager().restartLoader(LOADER_CHART_DATA,
-                ChartDataLoader.buildArgs(mTemplate, mAppItem), mChartDataCallbacks);
+                ChartDataLoaderCompat.buildArgs(mTemplate, mAppItem), mChartDataCallbacks);
         updatePrefs();
     }
 
@@ -345,7 +345,7 @@
         final Activity activity = getActivity();
         final Preference pref = EntityHeaderController
                 .newInstance(activity, this, null /* header */)
-                .setRecyclerView(getListView(), getLifecycle())
+                .setRecyclerView(getListView(), getSettingsLifecycle())
                 .setUid(uid)
                 .setHasAppInfoLink(showInfoButton)
                 .setButtonActions(EntityHeaderController.ActionType.ACTION_NONE,
@@ -383,7 +383,7 @@
             new LoaderManager.LoaderCallbacks<ChartData>() {
         @Override
         public Loader<ChartData> onCreateLoader(int id, Bundle args) {
-            return new ChartDataLoader(getActivity(), mStatsSession, args);
+            return new ChartDataLoaderCompat(getActivity(), mStatsSession, args);
         }
 
         @Override
diff --git a/src/com/android/settings/datausage/AppPrefLoader.java b/src/com/android/settings/datausage/AppPrefLoader.java
index 63c5c53..501d142 100644
--- a/src/com/android/settings/datausage/AppPrefLoader.java
+++ b/src/com/android/settings/datausage/AppPrefLoader.java
@@ -21,11 +21,11 @@
 import android.content.pm.PackageManager;
 import android.util.ArraySet;
 
-import com.android.settingslib.utils.AsyncLoader;
+import com.android.settingslib.utils.AsyncLoaderCompat;
 
 import androidx.preference.Preference;
 
-public class AppPrefLoader extends AsyncLoader<ArraySet<Preference>> {
+public class AppPrefLoader extends AsyncLoaderCompat<ArraySet<Preference>> {
     private ArraySet<String> mPackages;
     private PackageManager mPackageManager;
     private Context mPrefContext;
diff --git a/src/com/android/settings/datausage/BillingCycleSettings.java b/src/com/android/settings/datausage/BillingCycleSettings.java
index 8360df8..2e89e59 100644
--- a/src/com/android/settings/datausage/BillingCycleSettings.java
+++ b/src/com/android/settings/datausage/BillingCycleSettings.java
@@ -19,13 +19,13 @@
 
 import android.app.AlertDialog;
 import android.app.Dialog;
-import android.app.Fragment;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.res.Resources;
 import android.net.NetworkPolicy;
 import android.net.NetworkTemplate;
 import android.os.Bundle;
+import android.provider.SearchIndexableResource;
 import android.text.format.Time;
 import android.util.Log;
 import android.view.LayoutInflater;
@@ -34,16 +34,24 @@
 import android.widget.NumberPicker;
 import android.widget.Spinner;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.settings.R;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settings.search.Indexable;
 import com.android.settingslib.NetworkPolicyEditor;
 import com.android.settingslib.net.DataUsageController;
+import com.android.settingslib.search.SearchIndexable;
 
+import java.util.ArrayList;
+import java.util.List;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
 import androidx.preference.SwitchPreference;
 
+@SearchIndexable
 public class BillingCycleSettings extends DataUsageBase implements
         Preference.OnPreferenceChangeListener, DataUsageEditController {
 
@@ -450,4 +458,24 @@
                     .putBoolean(KEY_SET_DATA_LIMIT, true).apply();
         }
     }
+
+    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider() {
+                @Override
+                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
+                        boolean enabled) {
+                    final ArrayList<SearchIndexableResource> result = new ArrayList<>();
+
+                    final SearchIndexableResource sir = new SearchIndexableResource(context);
+                    sir.xmlResId = R.xml.billing_cycle;
+                    result.add(sir);
+                    return result;
+                }
+
+                @Override
+                protected boolean isPageSearchEnabled(Context context) {
+                    return DataUsageUtils.hasMobileData(context);
+                }
+            };
+
 }
diff --git a/src/com/android/settings/datausage/CellDataPreference.java b/src/com/android/settings/datausage/CellDataPreference.java
index 508b2d0..e46a235 100644
--- a/src/com/android/settings/datausage/CellDataPreference.java
+++ b/src/com/android/settings/datausage/CellDataPreference.java
@@ -14,7 +14,6 @@
 
 package com.android.settings.datausage;
 
-import android.app.AlertDialog;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.database.ContentObserver;
@@ -37,15 +36,16 @@
 import com.android.settings.R;
 import com.android.settings.Utils;
 import com.android.settings.overlay.FeatureFactory;
-import com.android.settingslib.CustomDialogPreference;
+import com.android.settingslib.CustomDialogPreferenceCompat;
 
 import java.util.List;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.appcompat.app.AlertDialog.Builder;
 import androidx.core.content.res.TypedArrayUtils;
 import androidx.preference.PreferenceViewHolder;
 
-public class CellDataPreference extends CustomDialogPreference implements TemplatePreference {
+public class CellDataPreference extends CustomDialogPreferenceCompat implements TemplatePreference {
 
     private static final String TAG = "CellDataPreference";
 
@@ -196,7 +196,7 @@
     }
 
     @Override
-    protected void onPrepareDialogBuilder(AlertDialog.Builder builder,
+    protected void onPrepareDialogBuilder(Builder builder,
             DialogInterface.OnClickListener listener) {
         if (mMultiSimDialog) {
             showMultiSimDialog(builder, listener);
@@ -205,7 +205,7 @@
         }
     }
 
-    private void showDisableDialog(AlertDialog.Builder builder,
+    private void showDisableDialog(Builder builder,
             DialogInterface.OnClickListener listener) {
         builder.setTitle(null)
                 .setMessage(R.string.data_usage_disable_mobile)
@@ -213,7 +213,7 @@
                 .setNegativeButton(android.R.string.cancel, null);
     }
 
-    private void showMultiSimDialog(AlertDialog.Builder builder,
+    private void showMultiSimDialog(Builder builder,
             DialogInterface.OnClickListener listener) {
         final SubscriptionInfo currentSir = mSubscriptionManager.getActiveSubscriptionInfo(mSubId);
         final SubscriptionInfo nextSir = mSubscriptionManager.getDefaultDataSubscriptionInfo();
diff --git a/src/com/android/settings/datausage/DataSaverSummary.java b/src/com/android/settings/datausage/DataSaverSummary.java
index 6482f87..24e8740 100644
--- a/src/com/android/settings/datausage/DataSaverSummary.java
+++ b/src/com/android/settings/datausage/DataSaverSummary.java
@@ -15,7 +15,10 @@
 package com.android.settings.datausage;
 
 import android.app.Application;
+import android.content.Context;
 import android.os.Bundle;
+import android.provider.SearchIndexableResource;
+import android.telephony.SubscriptionManager;
 import android.widget.Switch;
 
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
@@ -24,17 +27,22 @@
 import com.android.settings.SettingsPreferenceFragment;
 import com.android.settings.applications.AppStateBaseBridge.Callback;
 import com.android.settings.datausage.DataSaverBackend.Listener;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settings.search.Indexable;
 import com.android.settings.widget.SwitchBar;
 import com.android.settings.widget.SwitchBar.OnSwitchChangeListener;
 import com.android.settingslib.applications.ApplicationsState;
 import com.android.settingslib.applications.ApplicationsState.AppEntry;
 import com.android.settingslib.applications.ApplicationsState.Callbacks;
 import com.android.settingslib.applications.ApplicationsState.Session;
+import com.android.settingslib.search.SearchIndexable;
 
 import java.util.ArrayList;
+import java.util.List;
 
 import androidx.preference.Preference;
 
+@SearchIndexable
 public class DataSaverSummary extends SettingsPreferenceFragment
         implements OnSwitchChangeListener, Listener, Callback, Callbacks {
 
@@ -62,7 +70,7 @@
                 (Application) getContext().getApplicationContext());
         mDataSaverBackend = new DataSaverBackend(getContext());
         mDataUsageBridge = new AppStateDataUsageBridge(mApplicationsState, this, mDataSaverBackend);
-        mSession = mApplicationsState.newSession(this, getLifecycle());
+        mSession = mApplicationsState.newSession(this, getSettingsLifecycle());
     }
 
     @Override
@@ -94,7 +102,7 @@
 
     @Override
     public void onSwitchChanged(Switch switchView, boolean isChecked) {
-        synchronized(this) {
+        synchronized (this) {
             if (mSwitching) {
                 return;
             }
@@ -115,7 +123,7 @@
 
     @Override
     public void onDataSaverChanged(boolean isDataSaving) {
-        synchronized(this) {
+        synchronized (this) {
             mSwitchBar.setChecked(isDataSaving);
             mSwitching = false;
         }
@@ -190,4 +198,25 @@
     public void onLoadEntriesCompleted() {
 
     }
+
+    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider() {
+                @Override
+                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
+                        boolean enabled) {
+                    final ArrayList<SearchIndexableResource> result = new ArrayList<>();
+
+                    final SearchIndexableResource sir = new SearchIndexableResource(context);
+                    sir.xmlResId = R.xml.data_saver;
+                    result.add(sir);
+                    return result;
+                }
+
+                @Override
+                protected boolean isPageSearchEnabled(Context context) {
+                    return DataUsageUtils.hasMobileData(context)
+                            && DataUsageUtils.getDefaultSubscriptionId(context)
+                            != SubscriptionManager.INVALID_SUBSCRIPTION_ID;
+                }
+            };
 }
diff --git a/src/com/android/settings/datausage/DataUsageList.java b/src/com/android/settings/datausage/DataUsageList.java
index 59f3c0e..d912462 100644
--- a/src/com/android/settings/datausage/DataUsageList.java
+++ b/src/com/android/settings/datausage/DataUsageList.java
@@ -21,10 +21,8 @@
 import static android.telephony.TelephonyManager.SIM_STATE_READY;
 
 import android.app.ActivityManager;
-import android.app.LoaderManager.LoaderCallbacks;
 import android.content.Context;
 import android.content.Intent;
-import android.content.Loader;
 import android.content.pm.UserInfo;
 import android.graphics.Color;
 import android.net.ConnectivityManager;
@@ -59,8 +57,8 @@
 import com.android.settings.widget.LoadingViewController;
 import com.android.settingslib.AppItem;
 import com.android.settingslib.net.ChartData;
-import com.android.settingslib.net.ChartDataLoader;
-import com.android.settingslib.net.SummaryForAllUidLoader;
+import com.android.settingslib.net.ChartDataLoaderCompat;
+import com.android.settingslib.net.SummaryForAllUidLoaderCompat;
 import com.android.settingslib.net.UidDetailProvider;
 
 import java.util.ArrayList;
@@ -68,6 +66,8 @@
 import java.util.List;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.loader.app.LoaderManager.LoaderCallbacks;
+import androidx.loader.content.Loader;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceGroup;
 
@@ -262,7 +262,7 @@
         // TODO: consider chaining two loaders together instead of reloading
         // network history when showing app detail.
         getLoaderManager().restartLoader(LOADER_CHART_DATA,
-                ChartDataLoader.buildArgs(mTemplate, null), mChartDataCallbacks);
+                ChartDataLoaderCompat.buildArgs(mTemplate, null), mChartDataCallbacks);
 
         // detail mode can change visible menus, invalidate
         getActivity().invalidateOptionsMenu();
@@ -326,7 +326,7 @@
 
         // kick off loader for detailed stats
         getLoaderManager().restartLoader(LOADER_SUMMARY,
-                SummaryForAllUidLoader.buildArgs(mTemplate, start, end), mSummaryCallbacks);
+                SummaryForAllUidLoaderCompat.buildArgs(mTemplate, start, end), mSummaryCallbacks);
 
         final long totalBytes = entry != null ? entry.rxBytes + entry.txBytes : 0;
         final CharSequence totalPhrase = DataUsageUtils.formatDataUsage(context, totalBytes);
@@ -548,7 +548,7 @@
             ChartData>() {
         @Override
         public Loader<ChartData> onCreateLoader(int id, Bundle args) {
-            return new ChartDataLoader(getActivity(), mStatsSession, args);
+            return new ChartDataLoaderCompat(getActivity(), mStatsSession, args);
         }
 
         @Override
@@ -572,7 +572,7 @@
             NetworkStats>() {
         @Override
         public Loader<NetworkStats> onCreateLoader(int id, Bundle args) {
-            return new SummaryForAllUidLoader(getActivity(), mStatsSession, args);
+            return new SummaryForAllUidLoaderCompat(getActivity(), mStatsSession, args);
         }
 
         @Override
diff --git a/src/com/android/settings/datausage/DataUsagePreference.java b/src/com/android/settings/datausage/DataUsagePreference.java
index 09465f7..1658c46 100644
--- a/src/com/android/settings/datausage/DataUsagePreference.java
+++ b/src/com/android/settings/datausage/DataUsagePreference.java
@@ -21,12 +21,12 @@
 import android.os.Bundle;
 import android.util.AttributeSet;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.logging.nano.MetricsProto;
 import com.android.settings.R;
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settingslib.net.DataUsageController;
 
+import androidx.annotation.VisibleForTesting;
 import androidx.core.content.res.TypedArrayUtils;
 import androidx.preference.Preference;
 
diff --git a/src/com/android/settings/datausage/DataUsageSummary.java b/src/com/android/settings/datausage/DataUsageSummary.java
index 58a5a8f..d8f8f02 100644
--- a/src/com/android/settings/datausage/DataUsageSummary.java
+++ b/src/com/android/settings/datausage/DataUsageSummary.java
@@ -51,8 +51,7 @@
  * Settings preference fragment that displays data usage summary.
  */
 @SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
-public class DataUsageSummary extends DataUsageBaseFragment implements Indexable,
-        DataUsageEditController {
+public class DataUsageSummary extends DataUsageBaseFragment implements DataUsageEditController {
 
     private static final String TAG = "DataUsageSummary";
 
@@ -142,9 +141,9 @@
         final Activity activity = getActivity();
         final ArrayList<AbstractPreferenceController> controllers = new ArrayList<>();
         mSummaryController =
-                new DataUsageSummaryPreferenceController(activity, getLifecycle(), this);
+                new DataUsageSummaryPreferenceController(activity, getSettingsLifecycle(), this);
         controllers.add(mSummaryController);
-        getLifecycle().addObserver(mSummaryController);
+        getSettingsLifecycle().addObserver(mSummaryController);
         return controllers;
     }
 
@@ -369,7 +368,6 @@
                     keys.add(KEY_MOBILE_USAGE_TITLE);
                     keys.add(KEY_MOBILE_DATA_USAGE_TOGGLE);
                     keys.add(KEY_MOBILE_DATA_USAGE);
-                    keys.add(KEY_MOBILE_BILLING_CYCLE);
                 }
 
                 if (!DataUsageUtils.hasWifiRadio(context)) {
@@ -379,6 +377,11 @@
                 // This title is named Wifi, and will confuse users.
                 keys.add(KEY_WIFI_USAGE_TITLE);
 
+                // Duplicate entry for "Data saver"
+                keys.add(KEY_RESTRICT_BACKGROUND);
+                // Duplicate entry for "Data warning & limit"
+                keys.add(KEY_MOBILE_BILLING_CYCLE);
+
                 return keys;
             }
         };
diff --git a/src/com/android/settings/datausage/DataUsageSummaryPreference.java b/src/com/android/settings/datausage/DataUsageSummaryPreference.java
index ee9798d..8744560 100644
--- a/src/com/android/settings/datausage/DataUsageSummaryPreference.java
+++ b/src/com/android/settings/datausage/DataUsageSummaryPreference.java
@@ -33,7 +33,6 @@
 import android.widget.ProgressBar;
 import android.widget.TextView;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.logging.nano.MetricsProto;
 import com.android.settings.R;
 import com.android.settings.core.SubSettingLauncher;
@@ -44,6 +43,7 @@
 import java.util.Objects;
 import java.util.concurrent.TimeUnit;
 
+import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceViewHolder;
 
diff --git a/src/com/android/settings/datausage/UnrestrictedDataAccess.java b/src/com/android/settings/datausage/UnrestrictedDataAccess.java
index 17fb67e..ff516ee 100644
--- a/src/com/android/settings/datausage/UnrestrictedDataAccess.java
+++ b/src/com/android/settings/datausage/UnrestrictedDataAccess.java
@@ -16,6 +16,7 @@
 
 import android.content.Context;
 import android.os.Bundle;
+import android.provider.SearchIndexableResource;
 import android.view.Menu;
 import android.view.MenuInflater;
 import android.view.MenuItem;
@@ -24,9 +25,16 @@
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settings.search.Indexable;
 import com.android.settingslib.applications.ApplicationsState;
 import com.android.settingslib.applications.ApplicationsState.AppFilter;
+import com.android.settingslib.search.SearchIndexable;
 
+import java.util.ArrayList;
+import java.util.List;
+
+@SearchIndexable
 public class UnrestrictedDataAccess extends DashboardFragment {
 
     private static final String TAG = "UnrestrictedDataAccess";
@@ -85,7 +93,7 @@
         super.onAttach(context);
         mFilter = mShowSystem ? ApplicationsState.FILTER_ALL_ENABLED
                 : ApplicationsState.FILTER_DOWNLOADED_AND_LAUNCHER;
-        use(UnrestrictedDataAccessPreferenceController.class).setSession(getLifecycle());
+        use(UnrestrictedDataAccessPreferenceController.class).setSession(getSettingsLifecycle());
         use(UnrestrictedDataAccessPreferenceController.class).setFilter(mFilter);
     }
 
@@ -108,4 +116,18 @@
     protected int getPreferenceScreenResId() {
         return R.xml.unrestricted_data_access_settings;
     }
+
+    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider() {
+                @Override
+                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
+                        boolean enabled) {
+                    final ArrayList<SearchIndexableResource> result = new ArrayList<>();
+
+                    final SearchIndexableResource sir = new SearchIndexableResource(context);
+                    sir.xmlResId = R.xml.unrestricted_data_access_settings;
+                    result.add(sir);
+                    return result;
+                }
+            };
 }
diff --git a/src/com/android/settings/datausage/UnrestrictedDataAccessPreferenceController.java b/src/com/android/settings/datausage/UnrestrictedDataAccessPreferenceController.java
index dc6b7fe..d686d98 100644
--- a/src/com/android/settings/datausage/UnrestrictedDataAccessPreferenceController.java
+++ b/src/com/android/settings/datausage/UnrestrictedDataAccessPreferenceController.java
@@ -19,8 +19,8 @@
 import android.content.Context;
 import android.os.UserHandle;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
+import com.android.settings.R;
 import com.android.settings.applications.AppStateBaseBridge;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.dashboard.DashboardFragment;
@@ -38,6 +38,7 @@
 import java.util.Set;
 import java.util.TreeSet;
 
+import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
@@ -83,7 +84,9 @@
 
     @Override
     public int getAvailabilityStatus() {
-        return AVAILABLE;
+        return mContext.getResources().getBoolean(R.bool.config_show_data_saver)
+                ? AVAILABLE_UNSEARCHABLE
+                : UNSUPPORTED_ON_DEVICE;
     }
 
     @Override
diff --git a/src/com/android/settings/datetime/timezone/model/TimeZoneDataLoader.java b/src/com/android/settings/datetime/timezone/model/TimeZoneDataLoader.java
index 9223207..7ca157e 100644
--- a/src/com/android/settings/datetime/timezone/model/TimeZoneDataLoader.java
+++ b/src/com/android/settings/datetime/timezone/model/TimeZoneDataLoader.java
@@ -16,14 +16,15 @@
 
 package com.android.settings.datetime.timezone.model;
 
-import android.app.LoaderManager;
 import android.content.Context;
-import android.content.Loader;
 import android.os.Bundle;
 
-import com.android.settingslib.utils.AsyncLoader;
+import com.android.settingslib.utils.AsyncLoaderCompat;
 
-public class TimeZoneDataLoader extends AsyncLoader<TimeZoneData> {
+import androidx.loader.app.LoaderManager;
+import androidx.loader.content.Loader;
+
+public class TimeZoneDataLoader extends AsyncLoaderCompat<TimeZoneData> {
 
     public TimeZoneDataLoader(Context context) {
         super(context);
diff --git a/src/com/android/settings/deletionhelper/ActivationWarningFragment.java b/src/com/android/settings/deletionhelper/ActivationWarningFragment.java
index 1f6fb6b..1618e2a 100644
--- a/src/com/android/settings/deletionhelper/ActivationWarningFragment.java
+++ b/src/com/android/settings/deletionhelper/ActivationWarningFragment.java
@@ -18,11 +18,12 @@
 
 import android.app.AlertDialog;
 import android.app.Dialog;
-import android.app.DialogFragment;
 import android.os.Bundle;
 
 import com.android.settings.R;
 
+import androidx.fragment.app.DialogFragment;
+
 /**
  * Fragment to warn the user about activating the storage manager.
  */
diff --git a/src/com/android/settings/deletionhelper/AutomaticStorageManagerSwitchBarController.java b/src/com/android/settings/deletionhelper/AutomaticStorageManagerSwitchBarController.java
index 6d6b544..3182d8a 100644
--- a/src/com/android/settings/deletionhelper/AutomaticStorageManagerSwitchBarController.java
+++ b/src/com/android/settings/deletionhelper/AutomaticStorageManagerSwitchBarController.java
@@ -16,7 +16,6 @@
 
 package com.android.settings.deletionhelper;
 
-import android.app.FragmentManager;
 import android.content.Context;
 import android.os.SystemProperties;
 import android.provider.Settings;
@@ -28,6 +27,7 @@
 import com.android.settingslib.Utils;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
+import androidx.fragment.app.FragmentManager;
 import androidx.preference.Preference;
 
 /** Handles the logic for flipping the storage management toggle on a {@link SwitchBar}. */
diff --git a/src/com/android/settings/development/BluetoothA2dpHwOffloadRebootDialog.java b/src/com/android/settings/development/BluetoothA2dpHwOffloadRebootDialog.java
index d315517..03e1143 100644
--- a/src/com/android/settings/development/BluetoothA2dpHwOffloadRebootDialog.java
+++ b/src/com/android/settings/development/BluetoothA2dpHwOffloadRebootDialog.java
@@ -18,7 +18,6 @@
 
 import android.app.AlertDialog;
 import android.app.Dialog;
-import android.app.FragmentManager;
 import android.content.DialogInterface;
 import android.os.Bundle;
 import android.os.PowerManager;
@@ -27,6 +26,8 @@
 import com.android.settings.R;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 
+import androidx.fragment.app.FragmentManager;
+
 public class BluetoothA2dpHwOffloadRebootDialog extends InstrumentedDialogFragment
         implements DialogInterface.OnClickListener {
 
@@ -34,7 +35,7 @@
 
     public static void show(DevelopmentSettingsDashboardFragment host,
             BluetoothA2dpHwOffloadPreferenceController controller) {
-        final FragmentManager manager = host.getActivity().getFragmentManager();
+        final FragmentManager manager = host.getActivity().getSupportFragmentManager();
         if (manager.findFragmentByTag(TAG) == null) {
             final BluetoothA2dpHwOffloadRebootDialog dialog =
                     new BluetoothA2dpHwOffloadRebootDialog();
diff --git a/src/com/android/settings/development/CameraLaserSensorPreferenceController.java b/src/com/android/settings/development/CameraLaserSensorPreferenceController.java
index 253eed8..845e58a 100644
--- a/src/com/android/settings/development/CameraLaserSensorPreferenceController.java
+++ b/src/com/android/settings/development/CameraLaserSensorPreferenceController.java
@@ -20,11 +20,11 @@
 import android.os.SystemProperties;
 import android.text.TextUtils;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
 
+import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.SwitchPreference;
 
diff --git a/src/com/android/settings/development/ClearAdbKeysWarningDialog.java b/src/com/android/settings/development/ClearAdbKeysWarningDialog.java
index 61b55a0..e930759 100644
--- a/src/com/android/settings/development/ClearAdbKeysWarningDialog.java
+++ b/src/com/android/settings/development/ClearAdbKeysWarningDialog.java
@@ -18,8 +18,6 @@
 
 import android.app.AlertDialog;
 import android.app.Dialog;
-import android.app.Fragment;
-import android.app.FragmentManager;
 import android.content.DialogInterface;
 import android.os.Bundle;
 
@@ -27,13 +25,16 @@
 import com.android.settings.R;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+
 public class ClearAdbKeysWarningDialog extends InstrumentedDialogFragment implements
         DialogInterface.OnClickListener, DialogInterface.OnDismissListener {
 
     public static final String TAG = "ClearAdbKeysDlg";
 
     public static void show(Fragment host) {
-        final FragmentManager manager = host.getActivity().getFragmentManager();
+        final FragmentManager manager = host.getActivity().getSupportFragmentManager();
         if (manager.findFragmentByTag(TAG) == null) {
             final ClearAdbKeysWarningDialog dialog =
                     new ClearAdbKeysWarningDialog();
diff --git a/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java b/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java
index c97ed52..82ca54b 100644
--- a/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java
+++ b/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java
@@ -166,7 +166,8 @@
         // Set up master switch
         mSwitchBar = ((SettingsActivity) getActivity()).getSwitchBar();
         mSwitchBarController = new DevelopmentSwitchBarController(
-                this /* DevelopmentSettings */, mSwitchBar, mIsAvailable, getLifecycle());
+                this /* DevelopmentSettings */, mSwitchBar, mIsAvailable,
+                getSettingsLifecycle());
         mSwitchBar.show();
 
         // Restore UI state based on whether developer options is enabled
@@ -318,8 +319,8 @@
             mPreferenceControllers = new ArrayList<>();
             return null;
         }
-        mPreferenceControllers = buildPreferenceControllers(context, getActivity(), getLifecycle(),
-                this /* devOptionsDashboardFragment */,
+        mPreferenceControllers = buildPreferenceControllers(context, getActivity(),
+                getSettingsLifecycle(), this /* devOptionsDashboardFragment */,
                 new BluetoothA2dpConfigStore());
         return mPreferenceControllers;
     }
diff --git a/src/com/android/settings/development/DisableLogPersistWarningDialog.java b/src/com/android/settings/development/DisableLogPersistWarningDialog.java
index 1ab3a92..fbe2b05 100644
--- a/src/com/android/settings/development/DisableLogPersistWarningDialog.java
+++ b/src/com/android/settings/development/DisableLogPersistWarningDialog.java
@@ -18,8 +18,6 @@
 
 import android.app.AlertDialog;
 import android.app.Dialog;
-import android.app.Fragment;
-import android.app.FragmentManager;
 import android.content.DialogInterface;
 import android.os.Bundle;
 
@@ -27,6 +25,9 @@
 import com.android.settings.R;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+
 public class DisableLogPersistWarningDialog extends InstrumentedDialogFragment implements
         DialogInterface.OnClickListener, DialogInterface.OnDismissListener {
 
@@ -37,7 +38,7 @@
             return;
         }
         final Fragment hostFragment = (Fragment) host;
-        final FragmentManager manager = hostFragment.getActivity().getFragmentManager();
+        final FragmentManager manager = hostFragment.getActivity().getSupportFragmentManager();
         if (manager.findFragmentByTag(TAG) == null) {
             final DisableLogPersistWarningDialog dialog =
                     new DisableLogPersistWarningDialog();
diff --git a/src/com/android/settings/development/EnableAdbWarningDialog.java b/src/com/android/settings/development/EnableAdbWarningDialog.java
index 9829f70..e1354ce 100644
--- a/src/com/android/settings/development/EnableAdbWarningDialog.java
+++ b/src/com/android/settings/development/EnableAdbWarningDialog.java
@@ -18,8 +18,6 @@
 
 import android.app.AlertDialog;
 import android.app.Dialog;
-import android.app.Fragment;
-import android.app.FragmentManager;
 import android.content.DialogInterface;
 import android.os.Bundle;
 
@@ -27,13 +25,16 @@
 import com.android.settings.R;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+
 public class EnableAdbWarningDialog extends InstrumentedDialogFragment implements
         DialogInterface.OnClickListener, DialogInterface.OnDismissListener {
 
     public static final String TAG = "EnableAdbDialog";
 
     public static void show(Fragment host) {
-        final FragmentManager manager = host.getActivity().getFragmentManager();
+        final FragmentManager manager = host.getActivity().getSupportFragmentManager();
         if (manager.findFragmentByTag(TAG) == null) {
             final EnableAdbWarningDialog dialog = new EnableAdbWarningDialog();
             dialog.setTargetFragment(host, 0 /* requestCode */);
diff --git a/src/com/android/settings/development/EnableDevelopmentSettingWarningDialog.java b/src/com/android/settings/development/EnableDevelopmentSettingWarningDialog.java
index 3c3d645..51532f3 100644
--- a/src/com/android/settings/development/EnableDevelopmentSettingWarningDialog.java
+++ b/src/com/android/settings/development/EnableDevelopmentSettingWarningDialog.java
@@ -18,7 +18,6 @@
 
 import android.app.AlertDialog;
 import android.app.Dialog;
-import android.app.FragmentManager;
 import android.content.DialogInterface;
 import android.os.Bundle;
 
@@ -26,6 +25,8 @@
 import com.android.settings.R;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 
+import androidx.fragment.app.FragmentManager;
+
 public class EnableDevelopmentSettingWarningDialog extends InstrumentedDialogFragment
         implements DialogInterface.OnClickListener {
 
@@ -36,7 +37,7 @@
         final EnableDevelopmentSettingWarningDialog dialog =
                 new EnableDevelopmentSettingWarningDialog();
         dialog.setTargetFragment(host, 0 /* requestCode */);
-        final FragmentManager manager = host.getActivity().getFragmentManager();
+        final FragmentManager manager = host.getActivity().getSupportFragmentManager();
         if (manager.findFragmentByTag(TAG) == null) {
             dialog.show(manager, TAG);
         }
diff --git a/src/com/android/settings/development/EnableOemUnlockSettingWarningDialog.java b/src/com/android/settings/development/EnableOemUnlockSettingWarningDialog.java
index 2486ef5..09d2ffe 100644
--- a/src/com/android/settings/development/EnableOemUnlockSettingWarningDialog.java
+++ b/src/com/android/settings/development/EnableOemUnlockSettingWarningDialog.java
@@ -18,8 +18,6 @@
 
 import android.app.AlertDialog;
 import android.app.Dialog;
-import android.app.Fragment;
-import android.app.FragmentManager;
 import android.content.DialogInterface;
 import android.os.Bundle;
 
@@ -27,13 +25,16 @@
 import com.android.settings.R;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+
 public class EnableOemUnlockSettingWarningDialog extends InstrumentedDialogFragment implements
         DialogInterface.OnClickListener, DialogInterface.OnDismissListener {
 
     public static final String TAG = "EnableOemUnlockDlg";
 
     public static void show(Fragment host) {
-        final FragmentManager manager = host.getActivity().getFragmentManager();
+        final FragmentManager manager = host.getActivity().getSupportFragmentManager();
         if (manager.findFragmentByTag(TAG) == null) {
             final EnableOemUnlockSettingWarningDialog dialog =
                     new EnableOemUnlockSettingWarningDialog();
diff --git a/src/com/android/settings/development/OemLockInfoDialog.java b/src/com/android/settings/development/OemLockInfoDialog.java
index 6d75812..74babf2 100644
--- a/src/com/android/settings/development/OemLockInfoDialog.java
+++ b/src/com/android/settings/development/OemLockInfoDialog.java
@@ -18,14 +18,15 @@
 
 import android.app.AlertDialog;
 import android.app.Dialog;
-import android.app.Fragment;
-import android.app.FragmentManager;
 import android.os.Bundle;
 
 import com.android.internal.logging.nano.MetricsProto;
 import com.android.settings.R;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+
 public class OemLockInfoDialog extends InstrumentedDialogFragment {
 
     private static final String TAG = "OemLockInfoDialog";
diff --git a/src/com/android/settings/development/featureflags/FeatureFlagFooterPreferenceController.java b/src/com/android/settings/development/featureflags/FeatureFlagFooterPreferenceController.java
index a86b8bb..a0d7036 100644
--- a/src/com/android/settings/development/featureflags/FeatureFlagFooterPreferenceController.java
+++ b/src/com/android/settings/development/featureflags/FeatureFlagFooterPreferenceController.java
@@ -22,18 +22,18 @@
 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.widget.FooterPreferenceMixin;
+import com.android.settingslib.widget.FooterPreferenceMixinCompat;
 
 public class FeatureFlagFooterPreferenceController extends BasePreferenceController
         implements LifecycleObserver, OnStart {
 
-    private FooterPreferenceMixin mFooterMixin;
+    private FooterPreferenceMixinCompat mFooterMixin;
 
     public FeatureFlagFooterPreferenceController(Context context) {
         super(context, "feature_flag_footer_pref");
     }
 
-    public void setFooterMixin(FooterPreferenceMixin mixin) {
+    public void setFooterMixin(FooterPreferenceMixinCompat mixin) {
         mFooterMixin = mixin;
     }
 
diff --git a/src/com/android/settings/development/featureflags/FeatureFlagPersistent.java b/src/com/android/settings/development/featureflags/FeatureFlagPersistent.java
index 731dc6f..4892bc0 100644
--- a/src/com/android/settings/development/featureflags/FeatureFlagPersistent.java
+++ b/src/com/android/settings/development/featureflags/FeatureFlagPersistent.java
@@ -20,7 +20,6 @@
 import android.os.SystemProperties;
 import android.text.TextUtils;
 import android.util.FeatureFlagUtils;
-import android.util.Log;
 
 import com.android.settings.core.FeatureFlags;
 
diff --git a/src/com/android/settings/development/featureflags/FeatureFlagPreference.java b/src/com/android/settings/development/featureflags/FeatureFlagPreference.java
index ebf35de..0e0c7a6 100644
--- a/src/com/android/settings/development/featureflags/FeatureFlagPreference.java
+++ b/src/com/android/settings/development/featureflags/FeatureFlagPreference.java
@@ -18,7 +18,6 @@
 
 import android.content.Context;
 import android.util.FeatureFlagUtils;
-import android.util.Log;
 
 import androidx.preference.SwitchPreference;
 
diff --git a/src/com/android/settings/development/featureflags/FeatureFlagsDashboard.java b/src/com/android/settings/development/featureflags/FeatureFlagsDashboard.java
index 2e9cac9..0307727 100644
--- a/src/com/android/settings/development/featureflags/FeatureFlagsDashboard.java
+++ b/src/com/android/settings/development/featureflags/FeatureFlagsDashboard.java
@@ -17,16 +17,22 @@
 package com.android.settings.development.featureflags;
 
 import android.content.Context;
+import android.provider.SearchIndexableResource;
 
 import com.android.internal.logging.nano.MetricsProto;
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settings.search.Indexable;
 import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.development.DevelopmentSettingsEnabler;
+import com.android.settingslib.search.SearchIndexable;
 
 import java.util.ArrayList;
 import java.util.List;
 
+@SearchIndexable
 public class FeatureFlagsDashboard extends DashboardFragment {
 
     private static final String TAG = "FeatureFlagsDashboard";
@@ -59,13 +65,43 @@
 
     @Override
     protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
+        return buildPrefControllers(context, getSettingsLifecycle());
+    }
+
+    private static List<AbstractPreferenceController> buildPrefControllers(Context context,
+            Lifecycle lifecycle) {
         final List<AbstractPreferenceController> controllers = new ArrayList<>();
-        final Lifecycle lifecycle = getLifecycle();
         final FeatureFlagFooterPreferenceController footerController =
                 new FeatureFlagFooterPreferenceController(context);
-        controllers.add(new FeatureFlagsPreferenceController(context, lifecycle));
+        if (lifecycle != null) {
+            lifecycle.addObserver(footerController);
+        }
         controllers.add(footerController);
-        lifecycle.addObserver(footerController);
         return controllers;
     }
+
+    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider() {
+                @Override
+                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
+                        boolean enabled) {
+                    final List<SearchIndexableResource> result = new ArrayList<>();
+
+                    final SearchIndexableResource sir = new SearchIndexableResource(context);
+                    sir.xmlResId = R.xml.feature_flags_settings;
+                    result.add(sir);
+                    return result;
+                }
+
+                @Override
+                protected boolean isPageSearchEnabled(Context context) {
+                    return DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(context);
+                }
+
+                @Override
+                public List<AbstractPreferenceController> createPreferenceControllers(
+                        Context context) {
+                    return buildPrefControllers(context, null /* lifecycle */);
+                }
+            };
 }
diff --git a/src/com/android/settings/development/featureflags/FeatureFlagsPreferenceController.java b/src/com/android/settings/development/featureflags/FeatureFlagsPreferenceController.java
index 33ee3b7..6de83a8 100644
--- a/src/com/android/settings/development/featureflags/FeatureFlagsPreferenceController.java
+++ b/src/com/android/settings/development/featureflags/FeatureFlagsPreferenceController.java
@@ -19,57 +19,48 @@
 import android.content.Context;
 import android.util.FeatureFlagUtils;
 
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settings.core.BasePreferenceController;
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
 import com.android.settingslib.core.lifecycle.events.OnStart;
 
 import java.util.Map;
 
+import androidx.preference.PreferenceGroup;
 import androidx.preference.PreferenceScreen;
 
-public class FeatureFlagsPreferenceController extends AbstractPreferenceController
-        implements PreferenceControllerMixin, LifecycleObserver, OnStart {
+public class FeatureFlagsPreferenceController extends BasePreferenceController
+        implements LifecycleObserver, OnStart {
 
-    private PreferenceScreen mScreen;
+    private PreferenceGroup mGroup;
 
-    public FeatureFlagsPreferenceController(Context context, Lifecycle lifecycle) {
-        super(context);
-        if (lifecycle != null) {
-            lifecycle.addObserver(this);
-        }
+    public FeatureFlagsPreferenceController(Context context, String key) {
+        super(context, key);
     }
 
     @Override
-    public boolean isAvailable() {
-        return true;
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return null;
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
     }
 
     @Override
     public void displayPreference(PreferenceScreen screen) {
         super.displayPreference(screen);
-        mScreen = screen;
+        mGroup = (PreferenceGroup) screen.findPreference(getPreferenceKey());
     }
 
     @Override
     public void onStart() {
-        if (mScreen == null) {
+        if (mGroup == null) {
             return;
         }
         final Map<String, String> featureMap = FeatureFlagUtils.getAllFeatureFlags();
         if (featureMap == null) {
             return;
         }
-        mScreen.removeAll();
-        final Context prefContext = mScreen.getContext();
+        mGroup.removeAll();
+        final Context prefContext = mGroup.getContext();
         for (String feature : featureMap.keySet()) {
-            mScreen.addPreference(new FeatureFlagPreference(prefContext, feature));
+            mGroup.addPreference(new FeatureFlagPreference(prefContext, feature));
         }
     }
 }
diff --git a/src/com/android/settings/development/qstile/DevelopmentTileConfigFragment.java b/src/com/android/settings/development/qstile/DevelopmentTileConfigFragment.java
index 24bb5d1..795d26c 100644
--- a/src/com/android/settings/development/qstile/DevelopmentTileConfigFragment.java
+++ b/src/com/android/settings/development/qstile/DevelopmentTileConfigFragment.java
@@ -17,15 +17,20 @@
 package com.android.settings.development.qstile;
 
 import android.content.Context;
+import android.provider.SearchIndexableResource;
 
 import com.android.internal.logging.nano.MetricsProto;
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
-import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settings.search.Indexable;
+import com.android.settingslib.development.DevelopmentSettingsEnabler;
+import com.android.settingslib.search.SearchIndexable;
 
 import java.util.ArrayList;
 import java.util.List;
 
+@SearchIndexable
 public class DevelopmentTileConfigFragment extends DashboardFragment {
     private static final String TAG = "DevelopmentTileConfig";
 
@@ -40,14 +45,26 @@
     }
 
     @Override
-    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        final List<AbstractPreferenceController> controllers = new ArrayList<>();
-        controllers.add(new DevelopmentTilePreferenceController(context));
-        return controllers;
-    }
-
-    @Override
     public int getMetricsCategory() {
         return MetricsProto.MetricsEvent.DEVELOPMENT_QS_TILE_CONFIG;
     }
+
+    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider() {
+                @Override
+                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
+                        boolean enabled) {
+                    final List<SearchIndexableResource> result = new ArrayList<>();
+
+                    final SearchIndexableResource sir = new SearchIndexableResource(context);
+                    sir.xmlResId = R.xml.development_tile_settings;
+                    result.add(sir);
+                    return result;
+                }
+
+                @Override
+                protected boolean isPageSearchEnabled(Context context) {
+                    return DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(context);
+                }
+            };
 }
diff --git a/src/com/android/settings/development/qstile/DevelopmentTilePreferenceController.java b/src/com/android/settings/development/qstile/DevelopmentTilePreferenceController.java
index 7834aa9..4d12b39 100644
--- a/src/com/android/settings/development/qstile/DevelopmentTilePreferenceController.java
+++ b/src/com/android/settings/development/qstile/DevelopmentTilePreferenceController.java
@@ -28,7 +28,7 @@
 import android.util.Log;
 
 import com.android.internal.statusbar.IStatusBarService;
-import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settings.core.BasePreferenceController;
 
 import java.util.List;
 
@@ -37,33 +37,28 @@
 import androidx.preference.PreferenceScreen;
 import androidx.preference.SwitchPreference;
 
-public class DevelopmentTilePreferenceController extends AbstractPreferenceController {
+public class DevelopmentTilePreferenceController extends BasePreferenceController {
 
     private static final String TAG = "DevTilePrefController";
     private final OnChangeHandler mOnChangeHandler;
     private final PackageManager mPackageManager;
 
-    public DevelopmentTilePreferenceController(Context context) {
-        super(context);
+    public DevelopmentTilePreferenceController(Context context, String key) {
+        super(context, key);
         mOnChangeHandler = new OnChangeHandler(context);
         mPackageManager = context.getPackageManager();
     }
 
     @Override
-    public boolean isAvailable() {
-        return true;
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return null;
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
     }
 
     @Override
     public void displayPreference(PreferenceScreen screen) {
         super.displayPreference(screen);
-        Context context = screen.getContext();
-        Intent intent = new Intent(TileService.ACTION_QS_TILE)
+        final Context context = screen.getContext();
+        final Intent intent = new Intent(TileService.ACTION_QS_TILE)
                 .setPackage(context.getPackageName());
         final List<ResolveInfo> resolveInfos = mPackageManager.queryIntentServices(intent,
                 PackageManager.MATCH_DISABLED_COMPONENTS);
diff --git a/src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java b/src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java
index f3be9e2..171a6d3 100644
--- a/src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java
@@ -17,7 +17,6 @@
 package com.android.settings.deviceinfo;
 
 import android.app.Activity;
-import android.app.Fragment;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
@@ -44,6 +43,7 @@
 import com.android.settingslib.core.lifecycle.events.OnResume;
 import com.android.settingslib.development.DevelopmentSettingsEnabler;
 
+import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
diff --git a/src/com/android/settings/deviceinfo/DeviceModelPreferenceController.java b/src/com/android/settings/deviceinfo/DeviceModelPreferenceController.java
index 5ea9c2d..9040227 100644
--- a/src/com/android/settings/deviceinfo/DeviceModelPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/DeviceModelPreferenceController.java
@@ -15,7 +15,6 @@
  */
 package com.android.settings.deviceinfo;
 
-import android.app.Fragment;
 import android.content.Context;
 import android.os.Build;
 import android.text.TextUtils;
@@ -29,6 +28,7 @@
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.FutureTask;
 
+import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
diff --git a/src/com/android/settings/deviceinfo/FeedbackPreferenceController.java b/src/com/android/settings/deviceinfo/FeedbackPreferenceController.java
index 169b6bb..cd91b57 100644
--- a/src/com/android/settings/deviceinfo/FeedbackPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/FeedbackPreferenceController.java
@@ -15,7 +15,6 @@
  */
 package com.android.settings.deviceinfo;
 
-import android.app.Fragment;
 import android.content.Context;
 import android.content.Intent;
 import android.text.TextUtils;
@@ -24,6 +23,7 @@
 import com.android.settingslib.DeviceInfoUtils;
 import com.android.settingslib.core.AbstractPreferenceController;
 
+import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
 
 public class FeedbackPreferenceController extends AbstractPreferenceController implements
diff --git a/src/com/android/settings/deviceinfo/PrivateVolumeForget.java b/src/com/android/settings/deviceinfo/PrivateVolumeForget.java
index d9cbc60..8c7fa09 100644
--- a/src/com/android/settings/deviceinfo/PrivateVolumeForget.java
+++ b/src/com/android/settings/deviceinfo/PrivateVolumeForget.java
@@ -18,7 +18,6 @@
 
 import android.app.AlertDialog;
 import android.app.Dialog;
-import android.app.Fragment;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.os.Bundle;
@@ -39,6 +38,7 @@
 import com.android.settings.search.actionbar.SearchMenuController;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.fragment.app.Fragment;
 
 public class PrivateVolumeForget extends InstrumentedFragment {
     @VisibleForTesting
diff --git a/src/com/android/settings/deviceinfo/PrivateVolumeSettings.java b/src/com/android/settings/deviceinfo/PrivateVolumeSettings.java
index b248279..8d6714d 100644
--- a/src/com/android/settings/deviceinfo/PrivateVolumeSettings.java
+++ b/src/com/android/settings/deviceinfo/PrivateVolumeSettings.java
@@ -18,7 +18,6 @@
 
 import android.app.AlertDialog;
 import android.app.Dialog;
-import android.app.Fragment;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.Intent;
@@ -66,6 +65,7 @@
 import java.util.List;
 import java.util.Objects;
 
+import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceGroup;
@@ -203,7 +203,7 @@
         setTitle();
 
         // Valid options may have changed
-        getFragmentManager().invalidateOptionsMenu();
+        getActivity().invalidateOptionsMenu();
 
         final Context context = getActivity();
         final PreferenceScreen screen = getPreferenceScreen();
diff --git a/src/com/android/settings/deviceinfo/StorageDashboardFragment.java b/src/com/android/settings/deviceinfo/StorageDashboardFragment.java
index 395740c..03a2ada 100644
--- a/src/com/android/settings/deviceinfo/StorageDashboardFragment.java
+++ b/src/com/android/settings/deviceinfo/StorageDashboardFragment.java
@@ -17,10 +17,8 @@
 package com.android.settings.deviceinfo;
 
 import android.app.Activity;
-import android.app.LoaderManager;
 import android.app.usage.StorageStatsManager;
 import android.content.Context;
-import android.content.Loader;
 import android.graphics.drawable.Drawable;
 import android.os.Bundle;
 import android.os.UserHandle;
@@ -57,6 +55,8 @@
 import java.util.List;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.loader.app.LoaderManager;
+import androidx.loader.content.Loader;
 
 @SearchIndexable
 public class StorageDashboardFragment extends DashboardFragment
@@ -105,7 +105,7 @@
     void initializeOptionsMenu(Activity activity) {
         mOptionMenuController = new PrivateVolumeOptionMenuController(
                 activity, mVolume, activity.getPackageManager());
-        getLifecycle().addObserver(mOptionMenuController);
+        getSettingsLifecycle().addObserver(mOptionMenuController);
         setHasOptionsMenu(true);
         activity.invalidateOptionsMenu();
     }
@@ -119,7 +119,7 @@
         final Activity activity = getActivity();
         EntityHeaderController.newInstance(activity, this /*fragment*/,
                 null /* header view */)
-                .setRecyclerView(getListView(), getLifecycle())
+                .setRecyclerView(getListView(), getSettingsLifecycle())
                 .styleActionBar(activity);
 
     }
diff --git a/src/com/android/settings/deviceinfo/StorageProfileFragment.java b/src/com/android/settings/deviceinfo/StorageProfileFragment.java
index 29b838b..06c9802 100644
--- a/src/com/android/settings/deviceinfo/StorageProfileFragment.java
+++ b/src/com/android/settings/deviceinfo/StorageProfileFragment.java
@@ -16,9 +16,7 @@
 
 package com.android.settings.deviceinfo;
 
-import android.app.LoaderManager;
 import android.content.Context;
-import android.content.Loader;
 import android.os.Bundle;
 import android.os.UserHandle;
 import android.os.UserManager;
@@ -41,6 +39,8 @@
 import java.util.List;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.loader.app.LoaderManager;
+import androidx.loader.content.Loader;
 
 /**
  * StorageProfileFragment is a fragment which shows the storage results for a profile of the
diff --git a/src/com/android/settings/deviceinfo/StorageSettings.java b/src/com/android/settings/deviceinfo/StorageSettings.java
index a4e900b..90da85c 100644
--- a/src/com/android/settings/deviceinfo/StorageSettings.java
+++ b/src/com/android/settings/deviceinfo/StorageSettings.java
@@ -20,7 +20,6 @@
 
 import android.app.AlertDialog;
 import android.app.Dialog;
-import android.app.Fragment;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.Intent;
@@ -62,6 +61,7 @@
 
 import androidx.annotation.NonNull;
 import androidx.annotation.VisibleForTesting;
+import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
 
diff --git a/src/com/android/settings/deviceinfo/StorageWizardBase.java b/src/com/android/settings/deviceinfo/StorageWizardBase.java
index cae39e2..c6d0b2f 100644
--- a/src/com/android/settings/deviceinfo/StorageWizardBase.java
+++ b/src/com/android/settings/deviceinfo/StorageWizardBase.java
@@ -22,7 +22,6 @@
 
 import android.annotation.LayoutRes;
 import android.annotation.NonNull;
-import android.app.Activity;
 import android.content.Intent;
 import android.graphics.drawable.Drawable;
 import android.os.Bundle;
@@ -48,7 +47,9 @@
 import java.util.List;
 import java.util.Objects;
 
-public abstract class StorageWizardBase extends Activity {
+import androidx.fragment.app.FragmentActivity;
+
+public abstract class StorageWizardBase extends FragmentActivity {
     protected static final String EXTRA_FORMAT_FORGET_UUID = "format_forget_uuid";
     protected static final String EXTRA_FORMAT_PRIVATE = "format_private";
     protected static final String EXTRA_FORMAT_SLOW = "format_slow";
diff --git a/src/com/android/settings/deviceinfo/StorageWizardFormatConfirm.java b/src/com/android/settings/deviceinfo/StorageWizardFormatConfirm.java
index 51e17c6..85e5929 100644
--- a/src/com/android/settings/deviceinfo/StorageWizardFormatConfirm.java
+++ b/src/com/android/settings/deviceinfo/StorageWizardFormatConfirm.java
@@ -20,7 +20,6 @@
 import static com.android.settings.deviceinfo.StorageWizardBase.EXTRA_FORMAT_FORGET_UUID;
 import static com.android.settings.deviceinfo.StorageWizardBase.EXTRA_FORMAT_PRIVATE;
 
-import android.app.Activity;
 import android.app.AlertDialog;
 import android.app.Dialog;
 import android.content.Context;
@@ -34,22 +33,24 @@
 import com.android.settings.R;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 
+import androidx.fragment.app.FragmentActivity;
+
 public class StorageWizardFormatConfirm extends InstrumentedDialogFragment {
     private static final String TAG_FORMAT_WARNING = "format_warning";
 
-    public static void showPublic(Activity activity, String diskId) {
+    public static void showPublic(FragmentActivity activity, String diskId) {
         show(activity, diskId, null, false);
     }
 
-    public static void showPublic(Activity activity, String diskId, String forgetUuid) {
+    public static void showPublic(FragmentActivity activity, String diskId, String forgetUuid) {
         show(activity, diskId, forgetUuid, false);
     }
 
-    public static void showPrivate(Activity activity, String diskId) {
+    public static void showPrivate(FragmentActivity activity, String diskId) {
         show(activity, diskId, null, true);
     }
 
-    private static void show(Activity activity, String diskId, String formatForgetUuid,
+    private static void show(FragmentActivity activity, String diskId, String formatForgetUuid,
             boolean formatPrivate) {
         final Bundle args = new Bundle();
         args.putString(EXTRA_DISK_ID, diskId);
@@ -58,7 +59,8 @@
 
         final StorageWizardFormatConfirm fragment = new StorageWizardFormatConfirm();
         fragment.setArguments(args);
-        fragment.showAllowingStateLoss(activity.getFragmentManager(), TAG_FORMAT_WARNING);
+        // TODO (b/111150236) : Need to check it again.
+        fragment.show(activity.getSupportFragmentManager(), TAG_FORMAT_WARNING);
     }
 
     @Override
diff --git a/src/com/android/settings/deviceinfo/StorageWizardFormatProgress.java b/src/com/android/settings/deviceinfo/StorageWizardFormatProgress.java
index d7949a2..287cc3f 100644
--- a/src/com/android/settings/deviceinfo/StorageWizardFormatProgress.java
+++ b/src/com/android/settings/deviceinfo/StorageWizardFormatProgress.java
@@ -59,7 +59,8 @@
         setHeaderText(R.string.storage_wizard_format_progress_title, getDiskShortDescription());
         setBodyText(R.string.storage_wizard_format_progress_body, getDiskDescription());
 
-        mTask = (PartitionTask) getLastNonConfigurationInstance();
+        // TODO (b/111151113) : Need to check it again.
+        mTask = (PartitionTask) getLastCustomNonConfigurationInstance();
         if (mTask == null) {
             mTask = new PartitionTask();
             mTask.setActivity(this);
@@ -68,9 +69,9 @@
             mTask.setActivity(this);
         }
     }
-
+    // TODO (b/111151113) : Need to check it again.
     @Override
-    public Object onRetainNonConfigurationInstance() {
+    public Object onRetainCustomNonConfigurationInstance() {
         return mTask;
     }
 
diff --git a/src/com/android/settings/deviceinfo/aboutphone/DeviceNameWarningDialog.java b/src/com/android/settings/deviceinfo/aboutphone/DeviceNameWarningDialog.java
index 9808069..45f39d9 100644
--- a/src/com/android/settings/deviceinfo/aboutphone/DeviceNameWarningDialog.java
+++ b/src/com/android/settings/deviceinfo/aboutphone/DeviceNameWarningDialog.java
@@ -18,7 +18,6 @@
 
 import android.app.AlertDialog;
 import android.app.Dialog;
-import android.app.FragmentManager;
 import android.content.DialogInterface;
 import android.os.Bundle;
 
@@ -26,6 +25,8 @@
 import com.android.settings.R;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 
+import androidx.fragment.app.FragmentManager;
+
 /**
  * Warning dialog to let the user know where the device name will be shown before setting it.
  */
@@ -35,7 +36,7 @@
     public static final String TAG = "DeviceNameWarningDlg";
 
     public static void show(MyDeviceInfoFragment host) {
-        final FragmentManager manager = host.getActivity().getFragmentManager();
+        final FragmentManager manager = host.getActivity().getSupportFragmentManager();
         if (manager.findFragmentByTag(TAG) != null) {
             return;
         }
diff --git a/src/com/android/settings/deviceinfo/aboutphone/MyDeviceInfoFragment.java b/src/com/android/settings/deviceinfo/aboutphone/MyDeviceInfoFragment.java
index 00be8be..976a254 100644
--- a/src/com/android/settings/deviceinfo/aboutphone/MyDeviceInfoFragment.java
+++ b/src/com/android/settings/deviceinfo/aboutphone/MyDeviceInfoFragment.java
@@ -104,7 +104,7 @@
     @Override
     protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
         return buildPreferenceControllers(context, getActivity(), this /* fragment */,
-                getLifecycle());
+                getSettingsLifecycle());
     }
 
     private static List<AbstractPreferenceController> buildPreferenceControllers(
@@ -156,7 +156,7 @@
         final Bundle bundle = getArguments();
         final EntityHeaderController controller = EntityHeaderController
                 .newInstance(context, this, appSnippet)
-                .setRecyclerView(getListView(), getLifecycle())
+                .setRecyclerView(getListView(), getSettingsLifecycle())
                 .setButtonActions(EntityHeaderController.ActionType.ACTION_NONE,
                         EntityHeaderController.ActionType.ACTION_NONE);
 
diff --git a/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionDialogFragment.java b/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionDialogFragment.java
index 0087444..17a9692 100644
--- a/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionDialogFragment.java
+++ b/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionDialogFragment.java
@@ -18,8 +18,6 @@
 
 import android.app.AlertDialog;
 import android.app.Dialog;
-import android.app.Fragment;
-import android.app.FragmentManager;
 import android.os.Bundle;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -29,6 +27,9 @@
 import com.android.settings.R;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+
 public class FirmwareVersionDialogFragment extends InstrumentedDialogFragment {
 
     private static final String TAG = "firmwareVersionDialog";
diff --git a/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionPreferenceController.java b/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionPreferenceController.java
index 9019c6e..f31a504 100644
--- a/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionPreferenceController.java
@@ -16,13 +16,13 @@
 
 package com.android.settings.deviceinfo.firmwareversion;
 
-import android.app.Fragment;
 import android.content.Context;
 import android.os.Build;
 import android.text.TextUtils;
 
 import com.android.settings.core.BasePreferenceController;
 
+import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
 
 public class FirmwareVersionPreferenceController extends BasePreferenceController {
diff --git a/src/com/android/settings/deviceinfo/imei/ImeiInfoDialogFragment.java b/src/com/android/settings/deviceinfo/imei/ImeiInfoDialogFragment.java
index db68a5f..01fb04a 100644
--- a/src/com/android/settings/deviceinfo/imei/ImeiInfoDialogFragment.java
+++ b/src/com/android/settings/deviceinfo/imei/ImeiInfoDialogFragment.java
@@ -18,8 +18,6 @@
 
 import android.app.AlertDialog;
 import android.app.Dialog;
-import android.app.Fragment;
-import android.app.FragmentManager;
 import android.os.Bundle;
 import android.text.TextUtils;
 import android.view.LayoutInflater;
@@ -32,6 +30,8 @@
 
 import androidx.annotation.NonNull;
 import androidx.annotation.VisibleForTesting;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
 
 public class ImeiInfoDialogFragment extends InstrumentedDialogFragment {
 
diff --git a/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceController.java b/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceController.java
index 043773e..75a1333 100644
--- a/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceController.java
@@ -18,7 +18,6 @@
 
 import static android.telephony.TelephonyManager.PHONE_TYPE_CDMA;
 
-import android.app.Fragment;
 import android.content.Context;
 import android.telephony.TelephonyManager;
 
@@ -30,6 +29,7 @@
 import java.util.List;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
diff --git a/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogFragment.java b/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogFragment.java
index a15cb81..ef51185 100644
--- a/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogFragment.java
+++ b/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogFragment.java
@@ -18,8 +18,6 @@
 
 import android.app.AlertDialog;
 import android.app.Dialog;
-import android.app.Fragment;
-import android.app.FragmentManager;
 import android.os.Bundle;
 import android.text.TextUtils;
 import android.view.LayoutInflater;
@@ -30,6 +28,9 @@
 import com.android.settings.R;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+
 public class SimStatusDialogFragment extends InstrumentedDialogFragment {
 
     private static final String SIM_SLOT_BUNDLE_KEY = "arg_key_sim_slot";
diff --git a/src/com/android/settings/deviceinfo/simstatus/SimStatusPreferenceController.java b/src/com/android/settings/deviceinfo/simstatus/SimStatusPreferenceController.java
index e80434b..7c211c2 100644
--- a/src/com/android/settings/deviceinfo/simstatus/SimStatusPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/simstatus/SimStatusPreferenceController.java
@@ -16,7 +16,6 @@
 
 package com.android.settings.deviceinfo.simstatus;
 
-import android.app.Fragment;
 import android.content.Context;
 import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
@@ -30,6 +29,7 @@
 import java.util.List;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
diff --git a/src/com/android/settings/deviceinfo/storage/AutomaticStorageManagementSwitchPreferenceController.java b/src/com/android/settings/deviceinfo/storage/AutomaticStorageManagementSwitchPreferenceController.java
index fad2c8e..02965af 100644
--- a/src/com/android/settings/deviceinfo/storage/AutomaticStorageManagementSwitchPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/storage/AutomaticStorageManagementSwitchPreferenceController.java
@@ -17,7 +17,6 @@
 package com.android.settings.deviceinfo.storage;
 
 import android.app.ActivityManager;
-import android.app.FragmentManager;
 import android.content.Context;
 import android.os.SystemProperties;
 import android.provider.Settings;
@@ -35,6 +34,7 @@
 import com.android.settingslib.core.lifecycle.events.OnResume;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.fragment.app.FragmentManager;
 import androidx.preference.PreferenceScreen;
 
 public class AutomaticStorageManagementSwitchPreferenceController extends
diff --git a/src/com/android/settings/deviceinfo/storage/StorageAsyncLoader.java b/src/com/android/settings/deviceinfo/storage/StorageAsyncLoader.java
index 5001548..9d10a1d 100644
--- a/src/com/android/settings/deviceinfo/storage/StorageAsyncLoader.java
+++ b/src/com/android/settings/deviceinfo/storage/StorageAsyncLoader.java
@@ -33,7 +33,7 @@
 import android.util.SparseArray;
 
 import com.android.settingslib.applications.StorageStatsSource;
-import com.android.settingslib.utils.AsyncLoader;
+import com.android.settingslib.utils.AsyncLoaderCompat;
 
 import java.io.IOException;
 import java.util.Collections;
@@ -45,7 +45,7 @@
  * users
  */
 public class StorageAsyncLoader
-        extends AsyncLoader<SparseArray<StorageAsyncLoader.AppsStorageResult>> {
+        extends AsyncLoaderCompat<SparseArray<StorageAsyncLoader.AppsStorageResult>> {
     private UserManager mUserManager;
     private static final String TAG = "StorageAsyncLoader";
 
diff --git a/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceController.java b/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceController.java
index b7dc24f..fa1e8e2 100644
--- a/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceController.java
@@ -16,7 +16,6 @@
 
 package com.android.settings.deviceinfo.storage;
 
-import android.app.Fragment;
 import android.content.ActivityNotFoundException;
 import android.content.Context;
 import android.content.Intent;
@@ -48,6 +47,7 @@
 import java.util.Map;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
diff --git a/src/com/android/settings/deviceinfo/storage/UserIconLoader.java b/src/com/android/settings/deviceinfo/storage/UserIconLoader.java
index e85bf08..8273e68 100644
--- a/src/com/android/settings/deviceinfo/storage/UserIconLoader.java
+++ b/src/com/android/settings/deviceinfo/storage/UserIconLoader.java
@@ -24,12 +24,12 @@
 
 import com.android.internal.util.Preconditions;
 import com.android.settings.Utils;
-import com.android.settingslib.utils.AsyncLoader;
+import com.android.settingslib.utils.AsyncLoaderCompat;
 
 /**
  * Fetches a user icon as a loader using a given icon loading lambda.
  */
-public class UserIconLoader extends AsyncLoader<SparseArray<Drawable>> {
+public class UserIconLoader extends AsyncLoaderCompat<SparseArray<Drawable>> {
     private FetchUserIconTask mTask;
 
     /**
diff --git a/src/com/android/settings/deviceinfo/storage/VolumeSizesLoader.java b/src/com/android/settings/deviceinfo/storage/VolumeSizesLoader.java
index 844c195..2d3de81 100644
--- a/src/com/android/settings/deviceinfo/storage/VolumeSizesLoader.java
+++ b/src/com/android/settings/deviceinfo/storage/VolumeSizesLoader.java
@@ -22,13 +22,13 @@
 
 import com.android.settingslib.deviceinfo.PrivateStorageInfo;
 import com.android.settingslib.deviceinfo.StorageVolumeProvider;
-import com.android.settingslib.utils.AsyncLoader;
+import com.android.settingslib.utils.AsyncLoaderCompat;
 
 import java.io.IOException;
 
 import androidx.annotation.VisibleForTesting;
 
-public class VolumeSizesLoader extends AsyncLoader<PrivateStorageInfo> {
+public class VolumeSizesLoader extends AsyncLoaderCompat<PrivateStorageInfo> {
     private StorageVolumeProvider mVolumeProvider;
     private StorageStatsManager mStats;
     private VolumeInfo mVolume;
diff --git a/src/com/android/settings/display/AutoBrightnessPreferenceController.java b/src/com/android/settings/display/AutoBrightnessPreferenceController.java
index 3661056..3b7a076 100644
--- a/src/com/android/settings/display/AutoBrightnessPreferenceController.java
+++ b/src/com/android/settings/display/AutoBrightnessPreferenceController.java
@@ -21,6 +21,7 @@
 import android.provider.Settings;
 import android.text.TextUtils;
 
+import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
 
 
@@ -59,4 +60,11 @@
     public boolean isSliceable() {
         return TextUtils.equals(getPreferenceKey(), "auto_brightness");
     }
+
+    @Override
+    public CharSequence getSummary() {
+        return mContext.getText(isChecked()
+                ? R.string.auto_brightness_summary_on
+                : R.string.auto_brightness_summary_off);
+    }
 }
\ No newline at end of file
diff --git a/src/com/android/settings/display/ColorModePreferenceController.java b/src/com/android/settings/display/ColorModePreferenceController.java
index 6a86cd9..e85bbf9 100644
--- a/src/com/android/settings/display/ColorModePreferenceController.java
+++ b/src/com/android/settings/display/ColorModePreferenceController.java
@@ -20,11 +20,12 @@
 import android.os.ServiceManager;
 import android.util.Log;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.app.ColorDisplayController;
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
 
+import androidx.annotation.VisibleForTesting;
+
 public class ColorModePreferenceController extends BasePreferenceController {
     private static final String TAG = "ColorModePreference";
 
diff --git a/src/com/android/settings/display/DensityPreference.java b/src/com/android/settings/display/DensityPreference.java
index e55e578..61c5729 100644
--- a/src/com/android/settings/display/DensityPreference.java
+++ b/src/com/android/settings/display/DensityPreference.java
@@ -27,12 +27,12 @@
 
 import com.android.settings.R;
 import com.android.settings.Utils;
-import com.android.settingslib.CustomEditTextPreference;
+import com.android.settingslib.CustomEditTextPreferenceCompat;
 import com.android.settingslib.display.DisplayDensityUtils;
 
 import java.text.NumberFormat;
 
-public class DensityPreference extends CustomEditTextPreference {
+public class DensityPreference extends CustomEditTextPreferenceCompat {
     private static final String TAG = "DensityPreference";
 
     public DensityPreference(Context context, AttributeSet attrs) {
diff --git a/src/com/android/settings/display/TimeoutListPreference.java b/src/com/android/settings/display/TimeoutListPreference.java
index 7512a14..34b2e11 100644
--- a/src/com/android/settings/display/TimeoutListPreference.java
+++ b/src/com/android/settings/display/TimeoutListPreference.java
@@ -18,7 +18,6 @@
 
 import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
 
-import android.app.AlertDialog;
 import android.app.Dialog;
 import android.app.admin.DevicePolicyManager;
 import android.content.Context;
@@ -33,6 +32,9 @@
 
 import java.util.ArrayList;
 
+import androidx.appcompat.app.AlertDialog.Builder;
+
+
 public class TimeoutListPreference extends RestrictedListPreference {
     private static final String TAG = "TimeoutListPreference";
     private EnforcedAdmin mAdmin;
@@ -46,7 +48,7 @@
     }
 
     @Override
-    protected void onPrepareDialogBuilder(AlertDialog.Builder builder,
+    protected void onPrepareDialogBuilder(Builder builder,
             DialogInterface.OnClickListener listener) {
         super.onPrepareDialogBuilder(builder, listener);
         if (mAdmin != null) {
diff --git a/src/com/android/settings/dream/CurrentDreamPreferenceController.java b/src/com/android/settings/dream/CurrentDreamPreferenceController.java
index 00cf24b..880cb8c 100644
--- a/src/com/android/settings/dream/CurrentDreamPreferenceController.java
+++ b/src/com/android/settings/dream/CurrentDreamPreferenceController.java
@@ -18,9 +18,8 @@
 
 import android.content.Context;
 
-import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.core.BasePreferenceController;
 import com.android.settings.widget.GearPreference;
-import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.dream.DreamBackend;
 import com.android.settingslib.dream.DreamBackend.DreamInfo;
 
@@ -28,40 +27,38 @@
 
 import androidx.preference.Preference;
 
-public class CurrentDreamPreferenceController extends AbstractPreferenceController implements
-        PreferenceControllerMixin {
-    private final DreamBackend mBackend;
-    private final static String TAG = "CurrentDreamPreferenceController";
-    private final static String CURRENT_SCREENSAVER = "current_screensaver";
+public class CurrentDreamPreferenceController extends BasePreferenceController {
 
-    public CurrentDreamPreferenceController(Context context) {
-        super(context);
+    private final DreamBackend mBackend;
+
+    public CurrentDreamPreferenceController(Context context, String key) {
+        super(context, key);
         mBackend = DreamBackend.getInstance(context);
     }
 
     @Override
-    public boolean isAvailable() {
-        return mBackend.getDreamInfos().size() > 0;
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return CURRENT_SCREENSAVER;
+    public int getAvailabilityStatus() {
+        return mBackend.getDreamInfos().size() > 0 ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
     }
 
     @Override
     public void updateState(Preference preference) {
         super.updateState(preference);
-
-        preference.setSummary(mBackend.getActiveDreamName());
         setGearClickListenerForPreference(preference);
     }
 
-    private void setGearClickListenerForPreference(Preference preference) {
-        if (!(preference instanceof GearPreference)) return;
+    @Override
+    public CharSequence getSummary() {
+        return mBackend.getActiveDreamName();
+    }
 
-        GearPreference gearPreference = (GearPreference)preference;
-        Optional<DreamInfo> info = getActiveDreamInfo();
+    private void setGearClickListenerForPreference(Preference preference) {
+        if (!(preference instanceof GearPreference)) {
+            return;
+        }
+
+        final GearPreference gearPreference = (GearPreference) preference;
+        final Optional<DreamInfo> info = getActiveDreamInfo();
         if (!info.isPresent() || info.get().settingsComponentName == null) {
             gearPreference.setOnGearClickListener(null);
             return;
@@ -70,9 +67,9 @@
     }
 
     private void launchScreenSaverSettings() {
-        Optional<DreamInfo> info = getActiveDreamInfo();
+        final Optional<DreamInfo> info = getActiveDreamInfo();
         if (!info.isPresent()) return;
-        mBackend.launchSettings(info.get());
+        mBackend.launchSettings(mContext, info.get());
     }
 
     private Optional<DreamInfo> getActiveDreamInfo() {
diff --git a/src/com/android/settings/dream/DreamSettings.java b/src/com/android/settings/dream/DreamSettings.java
index 9c9566e..9a46b1e 100644
--- a/src/com/android/settings/dream/DreamSettings.java
+++ b/src/com/android/settings/dream/DreamSettings.java
@@ -132,7 +132,6 @@
 
     private static List<AbstractPreferenceController> buildPreferenceControllers(Context context) {
         List<AbstractPreferenceController> controllers = new ArrayList<>();
-        controllers.add(new CurrentDreamPreferenceController(context));
         controllers.add(new WhenToDreamPreferenceController(context));
         controllers.add(new StartNowPreferenceController(context));
         return controllers;
diff --git a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
index 8fe5090..c71468b 100644
--- a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
+++ b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
@@ -19,10 +19,8 @@
 import android.annotation.UserIdInt;
 import android.app.Activity;
 import android.app.ActivityManager;
-import android.app.LoaderManager;
 import android.content.Context;
 import android.content.Intent;
-import android.content.Loader;
 import android.content.pm.PackageManager;
 import android.os.BatteryStats;
 import android.os.Bundle;
@@ -61,6 +59,8 @@
 import java.util.List;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.loader.app.LoaderManager;
+import androidx.loader.content.Loader;
 import androidx.preference.Preference;
 
 /**
@@ -246,7 +246,7 @@
         final Bundle bundle = getArguments();
         EntityHeaderController controller = EntityHeaderController
                 .newInstance(context, this, appSnippet)
-                .setRecyclerView(getListView(), getLifecycle())
+                .setRecyclerView(getListView(), getSettingsLifecycle())
                 .setButtonActions(EntityHeaderController.ActionType.ACTION_NONE,
                         EntityHeaderController.ActionType.ACTION_NONE);
 
@@ -327,7 +327,7 @@
         controllers.add(new BatteryOptimizationPreferenceController(
                 (SettingsActivity) getActivity(), this, packageName));
         mAppButtonsPreferenceController = new AppButtonsPreferenceController(
-                (SettingsActivity) getActivity(), this, getLifecycle(), packageName, mState,
+                (SettingsActivity) getActivity(), this, getSettingsLifecycle(), packageName, mState,
                 REQUEST_UNINSTALL, REQUEST_REMOVE_DEVICE_ADMIN);
         controllers.add(mAppButtonsPreferenceController);
 
diff --git a/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceController.java b/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceController.java
index 593cc77..71eb554 100644
--- a/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceController.java
@@ -36,7 +36,7 @@
 import com.android.settingslib.core.lifecycle.events.OnStart;
 
 import androidx.annotation.VisibleForTesting;
-import androidx.preference.PreferenceFragment;
+import androidx.preference.PreferenceFragmentCompat;
 import androidx.preference.PreferenceScreen;
 
 /**
@@ -57,14 +57,14 @@
     TextView mSummary2;
 
     private final Activity mActivity;
-    private final PreferenceFragment mHost;
+    private final PreferenceFragmentCompat mHost;
     private final Lifecycle mLifecycle;
     private final PowerManager mPowerManager;
 
     private LayoutPreference mBatteryLayoutPref;
 
     public BatteryHeaderPreferenceController(Context context, Activity activity,
-            PreferenceFragment host, Lifecycle lifecycle) {
+            PreferenceFragmentCompat host, Lifecycle lifecycle) {
         super(context);
         mActivity = activity;
         mHost = host;
diff --git a/src/com/android/settings/fuelgauge/BatteryInfoLoader.java b/src/com/android/settings/fuelgauge/BatteryInfoLoader.java
index 22efaf6..b7ebaf9 100644
--- a/src/com/android/settings/fuelgauge/BatteryInfoLoader.java
+++ b/src/com/android/settings/fuelgauge/BatteryInfoLoader.java
@@ -17,16 +17,17 @@
 
 import android.content.Context;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.os.BatteryStatsHelper;
-import com.android.settingslib.utils.AsyncLoader;
+import com.android.settingslib.utils.AsyncLoaderCompat;
+
+import androidx.annotation.VisibleForTesting;
 
 /**
  * Loader that can be used by classes to load BatteryInfo in a background thread. This loader will
  * automatically grab enhanced battery estimates if available or fall back to the system estimate
  * when not available.
  */
-public class BatteryInfoLoader extends AsyncLoader<BatteryInfo>{
+public class BatteryInfoLoader extends AsyncLoaderCompat<BatteryInfo>{
 
     BatteryStatsHelper mStatsHelper;
     private static final String LOG_TAG = "BatteryInfoLoader";
diff --git a/src/com/android/settings/fuelgauge/BatteryStatsHelperLoader.java b/src/com/android/settings/fuelgauge/BatteryStatsHelperLoader.java
index cb260af..7369ed8 100644
--- a/src/com/android/settings/fuelgauge/BatteryStatsHelperLoader.java
+++ b/src/com/android/settings/fuelgauge/BatteryStatsHelperLoader.java
@@ -20,14 +20,14 @@
 import android.os.UserManager;
 
 import com.android.internal.os.BatteryStatsHelper;
-import com.android.settingslib.utils.AsyncLoader;
+import com.android.settingslib.utils.AsyncLoaderCompat;
 
 import androidx.annotation.VisibleForTesting;
 
 /**
  * Loader to get new {@link BatteryStatsHelper} in the background
  */
-public class BatteryStatsHelperLoader extends AsyncLoader<BatteryStatsHelper> {
+public class BatteryStatsHelperLoader extends AsyncLoaderCompat<BatteryStatsHelper> {
     @VisibleForTesting
     UserManager mUserManager;
     @VisibleForTesting
diff --git a/src/com/android/settings/fuelgauge/DebugEstimatesLoader.java b/src/com/android/settings/fuelgauge/DebugEstimatesLoader.java
index f58ad96..d27e4dc 100644
--- a/src/com/android/settings/fuelgauge/DebugEstimatesLoader.java
+++ b/src/com/android/settings/fuelgauge/DebugEstimatesLoader.java
@@ -23,13 +23,13 @@
 
 import com.android.internal.os.BatteryStatsHelper;
 import com.android.settings.overlay.FeatureFactory;
-import com.android.settingslib.utils.AsyncLoader;
+import com.android.settingslib.utils.AsyncLoaderCompat;
 import com.android.settingslib.utils.PowerUtil;
 
 import java.util.ArrayList;
 import java.util.List;
 
-public class DebugEstimatesLoader extends AsyncLoader<List<BatteryInfo>> {
+public class DebugEstimatesLoader extends AsyncLoaderCompat<List<BatteryInfo>> {
     private BatteryStatsHelper mStatsHelper;
 
     public DebugEstimatesLoader(Context context, BatteryStatsHelper statsHelper) {
diff --git a/src/com/android/settings/fuelgauge/HighPowerDetail.java b/src/com/android/settings/fuelgauge/HighPowerDetail.java
index 7dfa0be..84120d7 100644
--- a/src/com/android/settings/fuelgauge/HighPowerDetail.java
+++ b/src/com/android/settings/fuelgauge/HighPowerDetail.java
@@ -19,7 +19,6 @@
 import android.app.AlertDialog;
 import android.app.AppOpsManager;
 import android.app.Dialog;
-import android.app.Fragment;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.DialogInterface.OnClickListener;
@@ -30,7 +29,6 @@
 import android.widget.Checkable;
 import android.widget.TextView;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.logging.nano.MetricsProto;
 import com.android.settings.R;
 import com.android.settings.applications.AppInfoBase;
@@ -39,6 +37,9 @@
 import com.android.settingslib.applications.ApplicationsState.AppEntry;
 import com.android.settingslib.fuelgauge.PowerWhitelistBackend;
 
+import androidx.annotation.VisibleForTesting;
+import androidx.fragment.app.Fragment;
+
 public class HighPowerDetail extends InstrumentedDialogFragment implements OnClickListener,
         View.OnClickListener {
 
diff --git a/src/com/android/settings/fuelgauge/PowerUsageAdvanced.java b/src/com/android/settings/fuelgauge/PowerUsageAdvanced.java
index 8e3c8de..9e9e7af 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageAdvanced.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageAdvanced.java
@@ -135,7 +135,7 @@
         final List<AbstractPreferenceController> controllers = new ArrayList<>();
 
         mBatteryAppListPreferenceController = new BatteryAppListPreferenceController(context,
-                KEY_APP_LIST, getLifecycle(), (SettingsActivity) getActivity(), this);
+                KEY_APP_LIST, getSettingsLifecycle(), (SettingsActivity) getActivity(), this);
         controllers.add(mBatteryAppListPreferenceController);
 
         return controllers;
diff --git a/src/com/android/settings/fuelgauge/PowerUsageAnomalyDetails.java b/src/com/android/settings/fuelgauge/PowerUsageAnomalyDetails.java
index c056814..68412c7 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageAnomalyDetails.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageAnomalyDetails.java
@@ -23,7 +23,7 @@
 import android.os.UserHandle;
 import android.util.IconDrawableFactory;
 
-import com.android.internal.annotations.VisibleForTesting;
+import androidx.annotation.VisibleForTesting;
 import com.android.internal.logging.nano.MetricsProto;
 import com.android.settings.R;
 import com.android.settings.SettingsActivity;
diff --git a/src/com/android/settings/fuelgauge/PowerUsageBase.java b/src/com/android/settings/fuelgauge/PowerUsageBase.java
index 41bf06e..06200a3 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageBase.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageBase.java
@@ -18,9 +18,7 @@
 import static com.android.settings.fuelgauge.BatteryBroadcastReceiver.BatteryUpdateType;
 
 import android.app.Activity;
-import android.app.LoaderManager;
 import android.content.Context;
-import android.content.Loader;
 import android.os.Bundle;
 import android.os.UserManager;
 import android.view.Menu;
@@ -29,6 +27,8 @@
 import com.android.settings.dashboard.DashboardFragment;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.loader.app.LoaderManager;
+import androidx.loader.content.Loader;
 
 /**
  * Common base class for things that need to show the battery usage graph.
diff --git a/src/com/android/settings/fuelgauge/PowerUsageSummary.java b/src/com/android/settings/fuelgauge/PowerUsageSummary.java
index 828b34b..3d13d04 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageSummary.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageSummary.java
@@ -19,10 +19,7 @@
 import static com.android.settings.fuelgauge.BatteryBroadcastReceiver.BatteryUpdateType;
 
 import android.app.Activity;
-import android.app.LoaderManager;
-import android.app.LoaderManager.LoaderCallbacks;
 import android.content.Context;
-import android.content.Loader;
 import android.os.BatteryStats;
 import android.os.Bundle;
 import android.provider.SearchIndexableResource;
@@ -62,6 +59,9 @@
 import java.util.List;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.loader.app.LoaderManager;
+import androidx.loader.app.LoaderManager.LoaderCallbacks;
+import androidx.loader.content.Loader;
 
 /**
  * Displays a list of apps and subsystems that consume power, ordered by how much power was
@@ -241,7 +241,7 @@
 
     @Override
     protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        final Lifecycle lifecycle = getLifecycle();
+        final Lifecycle lifecycle = getSettingsLifecycle();
         final SettingsActivity activity = (SettingsActivity) getActivity();
         final List<AbstractPreferenceController> controllers = new ArrayList<>();
         mBatteryHeaderPreferenceController = new BatteryHeaderPreferenceController(
diff --git a/src/com/android/settings/fuelgauge/RestrictedAppDetails.java b/src/com/android/settings/fuelgauge/RestrictedAppDetails.java
index 5d92bfd..4934bce 100644
--- a/src/com/android/settings/fuelgauge/RestrictedAppDetails.java
+++ b/src/com/android/settings/fuelgauge/RestrictedAppDetails.java
@@ -23,7 +23,6 @@
 import android.os.UserHandle;
 import android.util.IconDrawableFactory;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.logging.nano.MetricsProto;
 import com.android.settings.R;
 import com.android.settings.Utils;
@@ -38,10 +37,11 @@
 import com.android.settings.fuelgauge.batterytip.tips.UnrestrictAppTip;
 import com.android.settings.widget.AppCheckBoxPreference;
 import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.widget.FooterPreferenceMixin;
+import com.android.settingslib.widget.FooterPreferenceMixinCompat;
 
 import java.util.List;
 
+import androidx.annotation.VisibleForTesting;
 import androidx.preference.CheckBoxPreference;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceGroup;
@@ -68,8 +68,8 @@
     BatteryUtils mBatteryUtils;
     @VisibleForTesting
     PackageManager mPackageManager;
-    private final FooterPreferenceMixin mFooterPreferenceMixin =
-            new FooterPreferenceMixin(this, getLifecycle());
+    private final FooterPreferenceMixinCompat mFooterPreferenceMixin =
+            new FooterPreferenceMixinCompat(this, getSettingsLifecycle());
 
     public static void startRestrictedAppDetails(InstrumentedPreferenceFragment fragment,
             List<AppInfo> appInfos) {
diff --git a/src/com/android/settings/fuelgauge/anomaly/AnomalyLoader.java b/src/com/android/settings/fuelgauge/anomaly/AnomalyLoader.java
index 8917e35..c7d6ba4 100644
--- a/src/com/android/settings/fuelgauge/anomaly/AnomalyLoader.java
+++ b/src/com/android/settings/fuelgauge/anomaly/AnomalyLoader.java
@@ -24,7 +24,7 @@
 import android.util.Log;
 
 import com.android.internal.os.BatteryStatsHelper;
-import com.android.settingslib.utils.AsyncLoader;
+import com.android.settingslib.utils.AsyncLoaderCompat;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -35,7 +35,7 @@
  * Loader to compute which apps are anomaly and return a anomaly list. It will return
  * an empty list if there is no anomaly.
  */
-public class AnomalyLoader extends AsyncLoader<List<Anomaly>> {
+public class AnomalyLoader extends AsyncLoaderCompat<List<Anomaly>> {
     private static final String TAG = "AnomalyLoader";
 
     private static final boolean USE_FAKE_DATA = false;
diff --git a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverSettings.java b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverSettings.java
index 5288970..8b0409c 100644
--- a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverSettings.java
+++ b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverSettings.java
@@ -62,7 +62,7 @@
 
     @Override
     protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        return buildPreferenceControllers(context, getLifecycle());
+        return buildPreferenceControllers(context, getSettingsLifecycle());
     }
 
     @Override
diff --git a/src/com/android/settings/fuelgauge/batterytip/BatteryTipLoader.java b/src/com/android/settings/fuelgauge/batterytip/BatteryTipLoader.java
index b46c12e..916ee85 100644
--- a/src/com/android/settings/fuelgauge/batterytip/BatteryTipLoader.java
+++ b/src/com/android/settings/fuelgauge/batterytip/BatteryTipLoader.java
@@ -31,7 +31,7 @@
 import com.android.settings.fuelgauge.batterytip.tips.BatteryTip;
 import com.android.settings.fuelgauge.batterytip.tips.LowBatteryTip;
 import com.android.settings.fuelgauge.batterytip.tips.SummaryTip;
-import com.android.settingslib.utils.AsyncLoader;
+import com.android.settingslib.utils.AsyncLoaderCompat;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -43,7 +43,7 @@
  * Loader to compute and return a battery tip list. It will always return a full length list even
  * though some tips may have state {@code BaseBatteryTip.StateType.INVISIBLE}.
  */
-public class BatteryTipLoader extends AsyncLoader<List<BatteryTip>> {
+public class BatteryTipLoader extends AsyncLoaderCompat<List<BatteryTip>> {
     private static final String TAG = "BatteryTipLoader";
 
     private static final boolean USE_FAKE_DATA = false;
diff --git a/src/com/android/settings/fuelgauge/batterytip/BatteryTipPreferenceController.java b/src/com/android/settings/fuelgauge/batterytip/BatteryTipPreferenceController.java
index 2632795..0a9a4c7 100644
--- a/src/com/android/settings/fuelgauge/batterytip/BatteryTipPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/batterytip/BatteryTipPreferenceController.java
@@ -107,6 +107,7 @@
         mPreferenceGroup.removeAll();
         for (int i = 0, size = batteryTips.size(); i < size; i++) {
             final BatteryTip batteryTip = mBatteryTips.get(i);
+            batteryTip.sanityCheck(mContext);
             if (batteryTip.getState() != BatteryTip.StateType.INVISIBLE) {
                 final Preference preference = batteryTip.buildPreference(mPrefContext);
                 mBatteryTipMap.put(preference.getKey(), batteryTip);
diff --git a/src/com/android/settings/fuelgauge/batterytip/actions/SmartBatteryAction.java b/src/com/android/settings/fuelgauge/batterytip/actions/SmartBatteryAction.java
index a28e134..ba65028 100644
--- a/src/com/android/settings/fuelgauge/batterytip/actions/SmartBatteryAction.java
+++ b/src/com/android/settings/fuelgauge/batterytip/actions/SmartBatteryAction.java
@@ -16,8 +16,6 @@
 
 package com.android.settings.fuelgauge.batterytip.actions;
 
-import android.app.Fragment;
-
 import com.android.internal.logging.nano.MetricsProto;
 import com.android.settings.R;
 import com.android.settings.SettingsActivity;
@@ -25,6 +23,8 @@
 import com.android.settings.fuelgauge.SmartBatterySettings;
 import com.android.settingslib.core.instrumentation.Instrumentable;
 
+import androidx.fragment.app.Fragment;
+
 public class SmartBatteryAction extends BatteryTipAction {
     private SettingsActivity mSettingsActivity;
     private Fragment mFragment;
diff --git a/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTip.java b/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTip.java
index 496320f..61a1157 100644
--- a/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTip.java
+++ b/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTip.java
@@ -16,6 +16,7 @@
 
 package com.android.settings.fuelgauge.batterytip.tips;
 
+import android.content.ContentResolver;
 import android.content.Context;
 import android.os.Parcel;
 import android.os.Parcelable;
@@ -134,6 +135,14 @@
     public abstract void updateState(BatteryTip tip);
 
     /**
+     * Check whether data is still make sense. If not, try recover.
+     * @param context used to do sanity check
+     */
+    public void sanityCheck(Context context) {
+        // do nothing
+    }
+
+    /**
      * Log the battery tip
      */
     public abstract void log(Context context, MetricsFeatureProvider metricsFeatureProvider);
diff --git a/src/com/android/settings/fuelgauge/batterytip/tips/RestrictAppTip.java b/src/com/android/settings/fuelgauge/batterytip/tips/RestrictAppTip.java
index 818a467..8a2d86d 100644
--- a/src/com/android/settings/fuelgauge/batterytip/tips/RestrictAppTip.java
+++ b/src/com/android/settings/fuelgauge/batterytip/tips/RestrictAppTip.java
@@ -22,7 +22,6 @@
 import android.os.Parcel;
 import android.util.Pair;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.logging.nano.MetricsProto;
 import com.android.settings.R;
 import com.android.settings.Utils;
@@ -32,6 +31,8 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import androidx.annotation.VisibleForTesting;
+
 /**
  * Tip to suggest user to restrict some bad apps
  */
@@ -107,6 +108,17 @@
     }
 
     @Override
+    public void sanityCheck(Context context) {
+        super.sanityCheck(context);
+
+        // Set it invisible if there is no valid app
+        mRestrictAppList.removeIf(new AppLabelPredicate(context));
+        if (mRestrictAppList.isEmpty()) {
+            mState = StateType.INVISIBLE;
+        }
+    }
+
+    @Override
     public void log(Context context, MetricsFeatureProvider metricsFeatureProvider) {
         metricsFeatureProvider.action(context, MetricsProto.MetricsEvent.ACTION_APP_RESTRICTION_TIP,
                 mState);
diff --git a/src/com/android/settings/fuelgauge/batterytip/tips/UnrestrictAppTip.java b/src/com/android/settings/fuelgauge/batterytip/tips/UnrestrictAppTip.java
index 18ab3c2..9964f05 100644
--- a/src/com/android/settings/fuelgauge/batterytip/tips/UnrestrictAppTip.java
+++ b/src/com/android/settings/fuelgauge/batterytip/tips/UnrestrictAppTip.java
@@ -19,10 +19,11 @@
 import android.content.Context;
 import android.os.Parcel;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.fuelgauge.batterytip.AppInfo;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
+import androidx.annotation.VisibleForTesting;
+
 /**
  * Tip to suggest user to remove app restriction. This is the empty tip and it is only used in
  * {@link com.android.settings.fuelgauge.AdvancedPowerUsageDetail} to create dialog.
diff --git a/src/com/android/settings/gestures/AssistGestureSettings.java b/src/com/android/settings/gestures/AssistGestureSettings.java
index ffe2234..bbd148c 100644
--- a/src/com/android/settings/gestures/AssistGestureSettings.java
+++ b/src/com/android/settings/gestures/AssistGestureSettings.java
@@ -54,7 +54,7 @@
 
     @Override
     protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        return buildPreferenceControllers(context, getLifecycle());
+        return buildPreferenceControllers(context, getSettingsLifecycle());
     }
 
     private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
diff --git a/src/com/android/settings/gestures/AssistGestureSettingsPreferenceController.java b/src/com/android/settings/gestures/AssistGestureSettingsPreferenceController.java
index 21c1062..f8b86b0 100644
--- a/src/com/android/settings/gestures/AssistGestureSettingsPreferenceController.java
+++ b/src/com/android/settings/gestures/AssistGestureSettingsPreferenceController.java
@@ -22,10 +22,10 @@
 import android.content.Context;
 import android.provider.Settings;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.R;
 import com.android.settings.overlay.FeatureFactory;
 
+import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
diff --git a/src/com/android/settings/homepage/HomepageFragment.java b/src/com/android/settings/homepage/HomepageFragment.java
index 3b0ca2b..9ccb8e2 100644
--- a/src/com/android/settings/homepage/HomepageFragment.java
+++ b/src/com/android/settings/homepage/HomepageFragment.java
@@ -26,8 +26,6 @@
 import android.view.ViewGroup;
 import android.widget.Toolbar;
 
-import androidx.annotation.NonNull;
-
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.settings.R;
 import com.android.settings.SettingsHomepageActivity;
@@ -41,6 +39,8 @@
 import com.google.android.material.bottomsheet.BottomSheetBehavior;
 import com.google.android.material.floatingactionbutton.FloatingActionButton;
 
+import androidx.annotation.NonNull;
+
 public class HomepageFragment extends InstrumentedFragment {
 
     private static final String TAG = "HomepageFragment";
diff --git a/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragment.java b/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragment.java
index 75bf724..0410176 100644
--- a/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragment.java
+++ b/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragment.java
@@ -38,7 +38,7 @@
 import com.android.settings.R;
 import com.android.settings.SettingsPreferenceFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settingslib.inputmethod.InputMethodAndSubtypeUtil;
+import com.android.settingslib.inputmethod.InputMethodAndSubtypeUtilCompat;
 import com.android.settingslib.inputmethod.InputMethodPreference;
 import com.android.settingslib.inputmethod.InputMethodSettingValuesWrapper;
 import com.android.settingslib.search.SearchIndexable;
@@ -79,7 +79,7 @@
     public void onSaveInputMethodPreference(final InputMethodPreference pref) {
         final boolean hasHardwareKeyboard = getResources().getConfiguration().keyboard
                 == Configuration.KEYBOARD_QWERTY;
-        InputMethodAndSubtypeUtil.saveInputMethodSubtypeList(this, getContentResolver(),
+        InputMethodAndSubtypeUtilCompat.saveInputMethodSubtypeList(this, getContentResolver(),
                 mImm.getInputMethodList(), hasHardwareKeyboard);
         // Update input method settings and preference list.
         mInputMethodSettingValues.refreshAllInputMethodAndSubtypes();
@@ -164,7 +164,7 @@
             final InputMethodPreference pref = mInputMethodPreferenceList.get(i);
             pref.setOrder(i);
             getPreferenceScreen().addPreference(pref);
-            InputMethodAndSubtypeUtil.removeUnnecessaryNonPersistentPreference(pref);
+            InputMethodAndSubtypeUtilCompat.removeUnnecessaryNonPersistentPreference(pref);
             pref.updatePreferenceViews();
         }
     }
diff --git a/src/com/android/settings/inputmethod/InputMethodAndSubtypePreferenceController.java b/src/com/android/settings/inputmethod/InputMethodAndSubtypePreferenceController.java
index 625289c..4c08e01 100644
--- a/src/com/android/settings/inputmethod/InputMethodAndSubtypePreferenceController.java
+++ b/src/com/android/settings/inputmethod/InputMethodAndSubtypePreferenceController.java
@@ -22,26 +22,26 @@
 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.inputmethod.InputMethodAndSubtypeEnablerManager;
+import com.android.settingslib.inputmethod.InputMethodAndSubtypeEnablerManagerCompat;
 
-import androidx.preference.PreferenceFragment;
+import androidx.preference.PreferenceFragmentCompat;
 import androidx.preference.PreferenceScreen;
 
 public class InputMethodAndSubtypePreferenceController extends BasePreferenceController implements
         LifecycleObserver, OnStart, OnStop {
 
-    private PreferenceFragment mFragment;
-    private InputMethodAndSubtypeEnablerManager mManager;
+    private PreferenceFragmentCompat mFragment;
+    private InputMethodAndSubtypeEnablerManagerCompat mManager;
     private String mTargetImi;
 
     public InputMethodAndSubtypePreferenceController(Context context, String key) {
         super(context, key);
     }
 
-    public void initialize(PreferenceFragment fragment, String imi) {
+    public void initialize(PreferenceFragmentCompat fragment, String imi) {
         mFragment = fragment;
         mTargetImi = imi;
-        mManager = new InputMethodAndSubtypeEnablerManager(mFragment);
+        mManager = new InputMethodAndSubtypeEnablerManagerCompat(mFragment);
     }
 
     @Override
diff --git a/src/com/android/settings/inputmethod/KeyboardLayoutDialogFragment.java b/src/com/android/settings/inputmethod/KeyboardLayoutDialogFragment.java
index 62c0470..1a7fe22 100644
--- a/src/com/android/settings/inputmethod/KeyboardLayoutDialogFragment.java
+++ b/src/com/android/settings/inputmethod/KeyboardLayoutDialogFragment.java
@@ -19,12 +19,9 @@
 import android.app.Activity;
 import android.app.AlertDialog;
 import android.app.Dialog;
-import android.app.LoaderManager.LoaderCallbacks;
-import android.content.AsyncTaskLoader;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.Intent;
-import android.content.Loader;
 import android.hardware.input.InputDeviceIdentifier;
 import android.hardware.input.InputManager;
 import android.hardware.input.InputManager.InputDeviceListener;
@@ -46,6 +43,10 @@
 import java.util.ArrayList;
 import java.util.Collections;
 
+import androidx.loader.app.LoaderManager.LoaderCallbacks;
+import androidx.loader.content.AsyncTaskLoader;
+import androidx.loader.content.Loader;
+
 public class KeyboardLayoutDialogFragment extends InstrumentedDialogFragment
         implements InputDeviceListener, LoaderCallbacks<KeyboardLayoutDialogFragment.Keyboards> {
     private static final String KEY_INPUT_DEVICE_IDENTIFIER = "inputDeviceIdentifier";
@@ -156,7 +157,7 @@
     @Override
     public void onActivityResult(int requestCode, int resultCode, Intent data) {
         super.onActivityResult(requestCode, resultCode, data);
-        show(getActivity().getFragmentManager(), "layout");
+        show(getActivity().getSupportFragmentManager(), "layout");
     }
 
     private void onKeyboardLayoutClicked(int which) {
diff --git a/src/com/android/settings/inputmethod/KeyboardLayoutPickerController.java b/src/com/android/settings/inputmethod/KeyboardLayoutPickerController.java
index 3ea1016..63fe147 100644
--- a/src/com/android/settings/inputmethod/KeyboardLayoutPickerController.java
+++ b/src/com/android/settings/inputmethod/KeyboardLayoutPickerController.java
@@ -17,7 +17,6 @@
 package com.android.settings.inputmethod;
 
 
-import android.app.Fragment;
 import android.content.Context;
 import android.hardware.input.InputDeviceIdentifier;
 import android.hardware.input.InputManager;
@@ -33,6 +32,7 @@
 import java.util.HashMap;
 import java.util.Map;
 
+import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 import androidx.preference.SwitchPreference;
diff --git a/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java b/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java
index 765a834..cc1978f 100644
--- a/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java
+++ b/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java
@@ -182,7 +182,7 @@
         KeyboardLayoutDialogFragment fragment = new KeyboardLayoutDialogFragment(
                 inputDeviceIdentifier);
         fragment.setTargetFragment(this, 0);
-        fragment.show(getActivity().getFragmentManager(), "keyboardLayout");
+        fragment.show(getActivity().getSupportFragmentManager(), "keyboardLayout");
     }
 
     private void registerShowVirtualKeyboardSettingsObserver() {
diff --git a/src/com/android/settings/inputmethod/SpellCheckerPreference.java b/src/com/android/settings/inputmethod/SpellCheckerPreference.java
index 83d24d9..8cd73f7 100644
--- a/src/com/android/settings/inputmethod/SpellCheckerPreference.java
+++ b/src/com/android/settings/inputmethod/SpellCheckerPreference.java
@@ -16,7 +16,6 @@
 
 package com.android.settings.inputmethod;
 
-import android.app.AlertDialog.Builder;
 import android.content.ActivityNotFoundException;
 import android.content.Context;
 import android.content.DialogInterface;
@@ -29,6 +28,7 @@
 import com.android.settings.CustomListPreference;
 import com.android.settings.R;
 
+import androidx.appcompat.app.AlertDialog.Builder;
 import androidx.preference.PreferenceViewHolder;
 
 /**
diff --git a/src/com/android/settings/inputmethod/SpellCheckerPreferenceController.java b/src/com/android/settings/inputmethod/SpellCheckerPreferenceController.java
index 10d8414..cdc1c3a 100644
--- a/src/com/android/settings/inputmethod/SpellCheckerPreferenceController.java
+++ b/src/com/android/settings/inputmethod/SpellCheckerPreferenceController.java
@@ -23,7 +23,7 @@
 import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.inputmethod.InputMethodAndSubtypeUtil;
+import com.android.settingslib.inputmethod.InputMethodAndSubtypeUtilCompat;
 
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
@@ -46,7 +46,7 @@
         super.displayPreference(screen);
         final Preference preference = screen.findPreference(KEY_SPELL_CHECKERS);
         if (preference != null) {
-            InputMethodAndSubtypeUtil.removeUnnecessaryNonPersistentPreference(preference);
+            InputMethodAndSubtypeUtilCompat.removeUnnecessaryNonPersistentPreference(preference);
         }
     }
 
diff --git a/src/com/android/settings/inputmethod/UserDictionaryCursorLoader.java b/src/com/android/settings/inputmethod/UserDictionaryCursorLoader.java
index 73602dc..5f13402 100644
--- a/src/com/android/settings/inputmethod/UserDictionaryCursorLoader.java
+++ b/src/com/android/settings/inputmethod/UserDictionaryCursorLoader.java
@@ -17,7 +17,6 @@
 package com.android.settings.inputmethod;
 
 import android.content.Context;
-import android.content.CursorLoader;
 import android.database.Cursor;
 import android.database.MatrixCursor;
 import android.provider.UserDictionary;
@@ -28,6 +27,7 @@
 import java.util.Set;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.loader.content.CursorLoader;
 
 public class UserDictionaryCursorLoader extends CursorLoader {
 
diff --git a/src/com/android/settings/inputmethod/UserDictionaryList.java b/src/com/android/settings/inputmethod/UserDictionaryList.java
index 46723bc..b3ea47e 100644
--- a/src/com/android/settings/inputmethod/UserDictionaryList.java
+++ b/src/com/android/settings/inputmethod/UserDictionaryList.java
@@ -19,11 +19,19 @@
 import android.content.Context;
 import android.content.Intent;
 import android.os.Bundle;
+import android.provider.SearchIndexableResource;
 
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settings.search.Indexable;
+import com.android.settingslib.search.SearchIndexable;
 
+import java.util.ArrayList;
+import java.util.List;
+
+@SearchIndexable
 public class UserDictionaryList extends DashboardFragment {
 
     private static final String TAG = "UserDictionaryList";
@@ -66,4 +74,18 @@
     protected String getLogTag() {
         return TAG;
     }
+
+    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider() {
+                @Override
+                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
+                        boolean enabled) {
+                    final ArrayList<SearchIndexableResource> result = new ArrayList<>();
+
+                    final SearchIndexableResource sir = new SearchIndexableResource(context);
+                    sir.xmlResId = R.xml.user_dictionary_list_fragment;
+                    result.add(sir);
+                    return result;
+                }
+            };
 }
diff --git a/src/com/android/settings/inputmethod/UserDictionarySettings.java b/src/com/android/settings/inputmethod/UserDictionarySettings.java
index 2613d97..1e912f1 100644
--- a/src/com/android/settings/inputmethod/UserDictionarySettings.java
+++ b/src/com/android/settings/inputmethod/UserDictionarySettings.java
@@ -18,12 +18,9 @@
 
 import android.annotation.Nullable;
 import android.app.ActionBar;
-import android.app.ListFragment;
-import android.app.LoaderManager;
 import android.content.ContentResolver;
 import android.content.Context;
 import android.content.Intent;
-import android.content.Loader;
 import android.database.Cursor;
 import android.os.Bundle;
 import android.provider.UserDictionary;
@@ -48,6 +45,10 @@
 import com.android.settingslib.core.instrumentation.Instrumentable;
 import com.android.settingslib.core.instrumentation.VisibilityLoggerMixin;
 
+import androidx.fragment.app.ListFragment;
+import androidx.loader.app.LoaderManager;
+import androidx.loader.content.Loader;
+
 public class UserDictionarySettings extends ListFragment implements Instrumentable,
         LoaderManager.LoaderCallbacks<Cursor> {
 
diff --git a/src/com/android/settings/inputmethod/VirtualKeyboardFragment.java b/src/com/android/settings/inputmethod/VirtualKeyboardFragment.java
index 939309d..024fe60 100644
--- a/src/com/android/settings/inputmethod/VirtualKeyboardFragment.java
+++ b/src/com/android/settings/inputmethod/VirtualKeyboardFragment.java
@@ -33,7 +33,7 @@
 import com.android.settings.SettingsPreferenceFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.search.Indexable;
-import com.android.settingslib.inputmethod.InputMethodAndSubtypeUtil;
+import com.android.settingslib.inputmethod.InputMethodAndSubtypeUtilCompat;
 import com.android.settingslib.inputmethod.InputMethodPreference;
 import com.android.settingslib.search.SearchIndexable;
 
@@ -113,7 +113,7 @@
             final InputMethodPreference pref = mInputMethodPreferenceList.get(i);
             pref.setOrder(i);
             getPreferenceScreen().addPreference(pref);
-            InputMethodAndSubtypeUtil.removeUnnecessaryNonPersistentPreference(pref);
+            InputMethodAndSubtypeUtilCompat.removeUnnecessaryNonPersistentPreference(pref);
             pref.updatePreferenceViews();
         }
         mAddVirtualKeyboardScreen.setIcon(R.drawable.ic_add_24dp);
diff --git a/src/com/android/settings/language/LanguageAndInputSettings.java b/src/com/android/settings/language/LanguageAndInputSettings.java
index 01b7a6c..c983c07 100644
--- a/src/com/android/settings/language/LanguageAndInputSettings.java
+++ b/src/com/android/settings/language/LanguageAndInputSettings.java
@@ -57,7 +57,6 @@
     private static final String KEY_KEYBOARDS_CATEGORY = "keyboards_category";
     private static final String KEY_TEXT_TO_SPEECH = "tts_settings_summary";
     private static final String KEY_POINTER_AND_TTS_CATEGORY = "pointer_and_tts_category";
-    private static final String KEY_GAME_CONTROLLER_CATEGORY = "game_controller_settings_category";
     private static final String KEY_PHYSICAL_KEYBOARD = "physical_keyboard_pref";
 
     @Override
@@ -90,7 +89,7 @@
 
     @Override
     protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        return buildPreferenceControllers(context, getLifecycle());
+        return buildPreferenceControllers(context, getSettingsLifecycle());
     }
 
     private static List<AbstractPreferenceController> buildPreferenceControllers(
@@ -124,7 +123,6 @@
         // Input Assistance
         controllers.add(new SpellCheckerPreferenceController(context));
         controllers.add(new DefaultAutofillPreferenceController(context));
-        controllers.add(new UserDictionaryPreferenceController(context));
 
         return controllers;
     }
diff --git a/src/com/android/settings/language/UserDictionaryPreferenceController.java b/src/com/android/settings/language/UserDictionaryPreferenceController.java
index 0238dc2..cc54b04 100644
--- a/src/com/android/settings/language/UserDictionaryPreferenceController.java
+++ b/src/com/android/settings/language/UserDictionaryPreferenceController.java
@@ -16,37 +16,28 @@
 
 package com.android.settings.language;
 
-import android.app.Fragment;
 import android.content.Context;
 import android.os.Bundle;
 
-import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.core.BasePreferenceController;
 import com.android.settings.inputmethod.UserDictionaryList;
 import com.android.settings.inputmethod.UserDictionaryListPreferenceController;
 import com.android.settings.inputmethod.UserDictionarySettings;
-import com.android.settingslib.core.AbstractPreferenceController;
 
 import java.util.TreeSet;
 
+import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
 
-public class UserDictionaryPreferenceController extends AbstractPreferenceController
-        implements PreferenceControllerMixin {
+public class UserDictionaryPreferenceController extends BasePreferenceController {
 
-    private static final String KEY_USER_DICTIONARY_SETTINGS = "key_user_dictionary_settings";
-
-    public UserDictionaryPreferenceController(Context context) {
-        super(context);
+    public UserDictionaryPreferenceController(Context context, String key) {
+        super(context, key);
     }
 
     @Override
-    public boolean isAvailable() {
-        return true;
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY_USER_DICTIONARY_SETTINGS;
+    public int getAvailabilityStatus() {
+        return AVAILABLE_UNSEARCHABLE;
     }
 
     @Override
diff --git a/src/com/android/settings/localepicker/LocaleListEditor.java b/src/com/android/settings/localepicker/LocaleListEditor.java
index d20d5cd..87c19dd 100644
--- a/src/com/android/settings/localepicker/LocaleListEditor.java
+++ b/src/com/android/settings/localepicker/LocaleListEditor.java
@@ -19,7 +19,6 @@
 import static android.os.UserManager.DISALLOW_CONFIG_LOCALE;
 
 import android.app.AlertDialog;
-import android.app.FragmentTransaction;
 import android.content.DialogInterface;
 import android.os.Bundle;
 import android.os.LocaleList;
@@ -32,7 +31,6 @@
 import android.widget.TextView;
 
 import com.android.internal.app.LocalePicker;
-import com.android.internal.app.LocalePickerWithRegion;
 import com.android.internal.app.LocaleStore;
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.settings.R;
@@ -42,6 +40,7 @@
 import java.util.List;
 import java.util.Locale;
 
+import androidx.fragment.app.FragmentTransaction;
 import androidx.recyclerview.widget.RecyclerView;
 
 /**
diff --git a/src/com/android/settings/localepicker/LocalePickerWithRegion.java b/src/com/android/settings/localepicker/LocalePickerWithRegion.java
new file mode 100644
index 0000000..e8a91bc
--- /dev/null
+++ b/src/com/android/settings/localepicker/LocalePickerWithRegion.java
@@ -0,0 +1,278 @@
+/*
+ * 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
+ *
+ *      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.
+ */
+
+package com.android.settings.localepicker;
+
+import android.content.Context;
+import android.os.Bundle;
+import android.os.LocaleList;
+import android.text.TextUtils;
+import android.view.Menu;
+import android.view.MenuInflater;
+import android.view.MenuItem;
+import android.view.View;
+import android.widget.ListView;
+import android.widget.SearchView;
+
+import com.android.internal.R;
+import com.android.internal.app.LocaleHelper;
+import com.android.internal.app.LocalePicker;
+import com.android.internal.app.LocaleStore;
+import com.android.internal.app.SuggestedLocaleAdapter;
+
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Locale;
+import java.util.Set;
+
+import androidx.fragment.app.FragmentManager;
+import androidx.fragment.app.FragmentTransaction;
+import androidx.fragment.app.ListFragment;
+
+/**
+ * A two-step locale picker. It shows a language, then a country.
+ *
+ * <p>It shows suggestions at the top, then the rest of the locales.
+ * Allows the user to search for locales using both their native name and their name in the
+ * default locale.</p>
+ */
+public class LocalePickerWithRegion extends ListFragment implements SearchView.OnQueryTextListener {
+    private static final String PARENT_FRAGMENT_NAME = "localeListEditor";
+
+    private SuggestedLocaleAdapter mAdapter;
+    private LocaleSelectedListener mListener;
+    private Set<LocaleStore.LocaleInfo> mLocaleList;
+    private LocaleStore.LocaleInfo mParentLocale;
+    private boolean mTranslatedOnly = false;
+    private SearchView mSearchView = null;
+    private CharSequence mPreviousSearch = null;
+    private boolean mPreviousSearchHadFocus = false;
+    private int mFirstVisiblePosition = 0;
+    private int mTopDistance = 0;
+
+    /**
+     * Other classes can register to be notified when a locale was selected.
+     *
+     * <p>This is the mechanism to "return" the result of the selection.</p>
+     */
+    public interface LocaleSelectedListener {
+        /**
+         * The classes that want to retrieve the locale picked should implement this method.
+         * @param locale    the locale picked.
+         */
+        void onLocaleSelected(LocaleStore.LocaleInfo locale);
+    }
+
+    private static LocalePickerWithRegion createCountryPicker(Context context,
+            LocaleSelectedListener listener, LocaleStore.LocaleInfo parent,
+            boolean translatedOnly) {
+        LocalePickerWithRegion
+                localePicker = new LocalePickerWithRegion();
+        boolean shouldShowTheList = localePicker.setListener(context, listener, parent,
+                translatedOnly);
+        return shouldShowTheList ? localePicker : null;
+    }
+
+    public static LocalePickerWithRegion createLanguagePicker(Context context,
+            LocaleSelectedListener listener, boolean translatedOnly) {
+        LocalePickerWithRegion
+                localePicker = new LocalePickerWithRegion();
+        localePicker.setListener(context, listener, /* parent */ null, translatedOnly);
+        return localePicker;
+    }
+
+    /**
+     * Sets the listener and initializes the locale list.
+     *
+     * <p>Returns true if we need to show the list, false if not.</p>
+     *
+     * <p>Can return false because of an error, trying to show a list of countries,
+     * but no parent locale was provided.</p>
+     *
+     * <p>It can also return false if the caller tries to show the list in country mode and
+     * there is only one country available (i.e. Japanese => Japan).
+     * In this case we don't even show the list, we call the listener with that locale,
+     * "pretending" it was selected, and return false.</p>
+     */
+    private boolean setListener(Context context, LocaleSelectedListener listener,
+            LocaleStore.LocaleInfo parent, boolean translatedOnly) {
+        this.mParentLocale = parent;
+        this.mListener = listener;
+        this.mTranslatedOnly = translatedOnly;
+        setRetainInstance(true);
+
+        final HashSet<String> langTagsToIgnore = new HashSet<>();
+        if (!translatedOnly) {
+            final LocaleList userLocales = LocalePicker.getLocales();
+            final String[] langTags = userLocales.toLanguageTags().split(",");
+            Collections.addAll(langTagsToIgnore, langTags);
+        }
+
+        if (parent != null) {
+            mLocaleList = LocaleStore.getLevelLocales(context,
+                    langTagsToIgnore, parent, translatedOnly);
+            if (mLocaleList.size() <= 1) {
+                if (listener != null && (mLocaleList.size() == 1)) {
+                    listener.onLocaleSelected(mLocaleList.iterator().next());
+                }
+                return false;
+            }
+        } else {
+            mLocaleList = LocaleStore.getLevelLocales(context, langTagsToIgnore,
+                    null /* no parent */, translatedOnly);
+        }
+
+        return true;
+    }
+
+    private void returnToParentFrame() {
+        getFragmentManager().popBackStack(PARENT_FRAGMENT_NAME,
+                FragmentManager.POP_BACK_STACK_INCLUSIVE);
+    }
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setHasOptionsMenu(true);
+
+        if (mLocaleList == null) {
+            // The fragment was killed and restored by the FragmentManager.
+            // At this point we have no data, no listener. Just return, to prevend a NPE.
+            // Fixes b/28748150. Created b/29400003 for a cleaner solution.
+            returnToParentFrame();
+            return;
+        }
+
+        final boolean countryMode = mParentLocale != null;
+        final Locale sortingLocale = countryMode ? mParentLocale.getLocale() : Locale.getDefault();
+        mAdapter = new SuggestedLocaleAdapter(mLocaleList, countryMode);
+        final LocaleHelper.LocaleInfoComparator comp =
+                new LocaleHelper.LocaleInfoComparator(sortingLocale, countryMode);
+        mAdapter.sort(comp);
+        setListAdapter(mAdapter);
+    }
+
+    @Override
+    public boolean onOptionsItemSelected(MenuItem menuItem) {
+        int id = menuItem.getItemId();
+        switch (id) {
+            case android.R.id.home:
+                getFragmentManager().popBackStack();
+                return true;
+        }
+        return super.onOptionsItemSelected(menuItem);
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+
+        if (mParentLocale != null) {
+            getActivity().setTitle(mParentLocale.getFullNameNative());
+        } else {
+            getActivity().setTitle(R.string.language_selection_title);
+        }
+
+        getListView().requestFocus();
+    }
+
+    @Override
+    public void onPause() {
+        super.onPause();
+
+        // Save search status
+        if (mSearchView != null) {
+            mPreviousSearchHadFocus = mSearchView.hasFocus();
+            mPreviousSearch = mSearchView.getQuery();
+        } else {
+            mPreviousSearchHadFocus = false;
+            mPreviousSearch = null;
+        }
+
+        // Save scroll position
+        final ListView list = getListView();
+        final View firstChild = list.getChildAt(0);
+        mFirstVisiblePosition = list.getFirstVisiblePosition();
+        mTopDistance = (firstChild == null) ? 0 : (firstChild.getTop() - list.getPaddingTop());
+    }
+
+    @Override
+    public void onListItemClick(ListView l, View v, int position, long id) {
+        final LocaleStore.LocaleInfo locale =
+                (LocaleStore.LocaleInfo) getListAdapter().getItem(position);
+
+        if (locale.getParent() != null) {
+            if (mListener != null) {
+                mListener.onLocaleSelected(locale);
+            }
+            returnToParentFrame();
+        } else {
+            LocalePickerWithRegion
+                    selector = LocalePickerWithRegion.createCountryPicker(
+                    getContext(), mListener, locale, mTranslatedOnly /* translate only */);
+            if (selector != null) {
+                getFragmentManager().beginTransaction()
+                        .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
+                        .replace(getId(), selector).addToBackStack(null)
+                        .commit();
+            } else {
+                returnToParentFrame();
+            }
+        }
+    }
+
+    @Override
+    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
+        if (mParentLocale == null) {
+            inflater.inflate(R.menu.language_selection_list, menu);
+
+            final MenuItem searchMenuItem = menu.findItem(R.id.locale_search_menu);
+            mSearchView = (SearchView) searchMenuItem.getActionView();
+
+            mSearchView.setQueryHint(getText(R.string.search_language_hint));
+            mSearchView.setOnQueryTextListener(this);
+
+            // Restore previous search status
+            if (!TextUtils.isEmpty(mPreviousSearch)) {
+                searchMenuItem.expandActionView();
+                mSearchView.setIconified(false);
+                mSearchView.setActivated(true);
+                if (mPreviousSearchHadFocus) {
+                    mSearchView.requestFocus();
+                }
+                mSearchView.setQuery(mPreviousSearch, true /* submit */);
+            } else {
+                mSearchView.setQuery(null, false /* submit */);
+            }
+
+            // Restore previous scroll position
+            getListView().setSelectionFromTop(mFirstVisiblePosition, mTopDistance);
+        }
+    }
+
+    @Override
+    public boolean onQueryTextSubmit(String query) {
+        return false;
+    }
+
+    @Override
+    public boolean onQueryTextChange(String newText) {
+        if (mAdapter != null) {
+            mAdapter.getFilter().filter(newText);
+        }
+        return false;
+    }
+}
diff --git a/src/com/android/settings/location/LocationSettings.java b/src/com/android/settings/location/LocationSettings.java
index 638518c..18b1033 100644
--- a/src/com/android/settings/location/LocationSettings.java
+++ b/src/com/android/settings/location/LocationSettings.java
@@ -81,7 +81,8 @@
         final SwitchBar switchBar = activity.getSwitchBar();
         switchBar.setSwitchBarText(R.string.location_settings_master_switch_title,
                 R.string.location_settings_master_switch_title);
-        mSwitchBarController = new LocationSwitchBarController(activity, switchBar, getLifecycle());
+        mSwitchBarController = new LocationSwitchBarController(activity, switchBar,
+                getSettingsLifecycle());
         switchBar.show();
     }
 
@@ -97,7 +98,7 @@
 
     @Override
     protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        return buildPreferenceControllers(context, this, getLifecycle());
+        return buildPreferenceControllers(context, this, getSettingsLifecycle());
     }
 
     static void addPreferencesSorted(List<Preference> prefs, PreferenceGroup container) {
diff --git a/src/com/android/settings/location/RecentLocationRequestSeeAllFragment.java b/src/com/android/settings/location/RecentLocationRequestSeeAllFragment.java
index 8a15734..d256b9b 100644
--- a/src/com/android/settings/location/RecentLocationRequestSeeAllFragment.java
+++ b/src/com/android/settings/location/RecentLocationRequestSeeAllFragment.java
@@ -59,7 +59,7 @@
 
     @Override
     protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        return buildPreferenceControllers(context, getLifecycle(), this);
+        return buildPreferenceControllers(context, getSettingsLifecycle(), this);
     }
 
     private static List<AbstractPreferenceController> buildPreferenceControllers(
diff --git a/src/com/android/settings/mobilenetwork/Enhanced4gLteSliceHelper.java b/src/com/android/settings/mobilenetwork/Enhanced4gLteSliceHelper.java
index 657f5b0..f8f1447 100644
--- a/src/com/android/settings/mobilenetwork/Enhanced4gLteSliceHelper.java
+++ b/src/com/android/settings/mobilenetwork/Enhanced4gLteSliceHelper.java
@@ -31,7 +31,6 @@
 import android.util.Log;
 
 import com.android.ims.ImsManager;
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.R;
 import com.android.settings.Utils;
 import com.android.settings.slices.SettingsSliceProvider;
@@ -46,6 +45,7 @@
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
 
+import androidx.annotation.VisibleForTesting;
 import androidx.core.graphics.drawable.IconCompat;
 import androidx.slice.Slice;
 import androidx.slice.builders.ListBuilder;
diff --git a/src/com/android/settings/network/AirplaneModePreferenceController.java b/src/com/android/settings/network/AirplaneModePreferenceController.java
index 8272b73..094cefa 100644
--- a/src/com/android/settings/network/AirplaneModePreferenceController.java
+++ b/src/com/android/settings/network/AirplaneModePreferenceController.java
@@ -17,7 +17,6 @@
 
 import static android.provider.SettingsSlicesContract.KEY_AIRPLANE_MODE;
 
-import android.app.Fragment;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.PackageManager;
@@ -35,6 +34,7 @@
 import com.android.settingslib.core.lifecycle.events.OnPause;
 import com.android.settingslib.core.lifecycle.events.OnResume;
 
+import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 import androidx.preference.SwitchPreference;
diff --git a/src/com/android/settings/network/ApnEditor.java b/src/com/android/settings/network/ApnEditor.java
index 111e0ba..3b4189b 100644
--- a/src/com/android/settings/network/ApnEditor.java
+++ b/src/com/android/settings/network/ApnEditor.java
@@ -314,13 +314,23 @@
     static String formatInteger(String value) {
         try {
             final int intValue = Integer.parseInt(value);
-            return String.format("%d", intValue);
+            return String.format(getCorrectDigitsFormat(value), intValue);
         } catch (NumberFormatException e) {
             return value;
         }
     }
 
     /**
+     * Get the digits format so we preserve leading 0's.
+     * MCCs are 3 digits and MNCs are either 2 or 3.
+     */
+    static String getCorrectDigitsFormat(String value) {
+        if (value.length() == 2) return "%02d";
+        else return "%03d";
+    }
+
+
+    /**
      * Check if passed in array of APN types indicates all APN types
      * @param apnTypes array of APN types. "*" indicates all types.
      * @return true if all apn types are included in the array, false otherwise
diff --git a/src/com/android/settings/network/NetworkDashboardFragment.java b/src/com/android/settings/network/NetworkDashboardFragment.java
index 0ab38bf..31a8435 100644
--- a/src/com/android/settings/network/NetworkDashboardFragment.java
+++ b/src/com/android/settings/network/NetworkDashboardFragment.java
@@ -21,7 +21,6 @@
 import android.app.Activity;
 import android.app.AlertDialog;
 import android.app.Dialog;
-import android.app.Fragment;
 import android.content.Context;
 import android.icu.text.ListFormatter;
 import android.provider.SearchIndexableResource;
@@ -45,6 +44,7 @@
 import java.util.List;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.fragment.app.Fragment;
 
 @SearchIndexable
 public class NetworkDashboardFragment extends DashboardFragment implements
@@ -81,9 +81,8 @@
 
     @Override
     protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        return buildPreferenceControllers(context, getLifecycle(), mMetricsFeatureProvider, this
-                /* fragment */,
-                this /* mobilePlanHost */);
+        return buildPreferenceControllers(context, getSettingsLifecycle(), mMetricsFeatureProvider,
+                this /* fragment */, this /* mobilePlanHost */);
     }
 
     private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
diff --git a/src/com/android/settings/network/PrivateDnsModeDialogPreference.java b/src/com/android/settings/network/PrivateDnsModeDialogPreference.java
index 7bdc14e..ad90e72 100644
--- a/src/com/android/settings/network/PrivateDnsModeDialogPreference.java
+++ b/src/com/android/settings/network/PrivateDnsModeDialogPreference.java
@@ -22,7 +22,6 @@
 import static android.system.OsConstants.AF_INET;
 import static android.system.OsConstants.AF_INET6;
 
-import android.app.AlertDialog;
 import android.content.ActivityNotFoundException;
 import android.content.ContentResolver;
 import android.content.Context;
@@ -45,18 +44,19 @@
 import com.android.settings.R;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.utils.AnnotationSpan;
-import com.android.settingslib.CustomDialogPreference;
+import com.android.settingslib.CustomDialogPreferenceCompat;
 import com.android.settingslib.HelpUtils;
 
 import java.util.HashMap;
 import java.util.Map;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.appcompat.app.AlertDialog;
 
 /**
  * Dialog to set the Private DNS
  */
-public class PrivateDnsModeDialogPreference extends CustomDialogPreference implements
+public class PrivateDnsModeDialogPreference extends CustomDialogPreferenceCompat implements
         DialogInterface.OnClickListener, RadioGroup.OnCheckedChangeListener, TextWatcher {
 
     public static final String ANNOTATION_URL = "url";
@@ -72,7 +72,7 @@
         PRIVATE_DNS_MAP.put(PRIVATE_DNS_MODE_PROVIDER_HOSTNAME, R.id.private_dns_mode_provider);
     }
 
-    private static final int[] ADDRESS_FAMILIES = new int[]{AF_INET, AF_INET6};
+    private static final int[] ADDRESS_FAMILIES = new int[] {AF_INET, AF_INET6};
 
     @VisibleForTesting
     static final String MODE_KEY = Settings.Global.PRIVATE_DNS_MODE;
diff --git a/src/com/android/settings/nfc/NfcPaymentPreference.java b/src/com/android/settings/nfc/NfcPaymentPreference.java
index 456115a..f5275ec 100644
--- a/src/com/android/settings/nfc/NfcPaymentPreference.java
+++ b/src/com/android/settings/nfc/NfcPaymentPreference.java
@@ -15,23 +15,23 @@
  */
 package com.android.settings.nfc;
 
-import android.app.AlertDialog;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.util.AttributeSet;
 
-import com.android.settingslib.CustomDialogPreference;
+import com.android.settingslib.CustomDialogPreferenceCompat;
 
+import androidx.appcompat.app.AlertDialog.Builder;
 import androidx.preference.PreferenceViewHolder;
 
-public class NfcPaymentPreference extends CustomDialogPreference {
+public class NfcPaymentPreference extends CustomDialogPreferenceCompat {
 
     private Listener mListener;
 
     interface Listener {
         void onBindViewHolder(PreferenceViewHolder view);
 
-        void onPrepareDialogBuilder(AlertDialog.Builder builder,
+        void onPrepareDialogBuilder(Builder builder,
                 DialogInterface.OnClickListener listener);
     }
 
@@ -62,7 +62,7 @@
     }
 
     @Override
-    protected void onPrepareDialogBuilder(AlertDialog.Builder builder,
+    protected void onPrepareDialogBuilder(Builder builder,
             DialogInterface.OnClickListener listener) {
         super.onPrepareDialogBuilder(builder, listener);
 
diff --git a/src/com/android/settings/nfc/NfcPaymentPreferenceController.java b/src/com/android/settings/nfc/NfcPaymentPreferenceController.java
index 783e05e..8996cb1 100644
--- a/src/com/android/settings/nfc/NfcPaymentPreferenceController.java
+++ b/src/com/android/settings/nfc/NfcPaymentPreferenceController.java
@@ -13,13 +13,13 @@
  */
 package com.android.settings.nfc;
 
-import android.app.AlertDialog;
 import android.app.Dialog;
 import android.content.ActivityNotFoundException;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.Intent;
 import android.content.pm.PackageManager;
+import android.nfc.NfcAdapter;
 import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -38,6 +38,7 @@
 
 import java.util.List;
 
+import androidx.appcompat.app.AlertDialog.Builder;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 import androidx.preference.PreferenceViewHolder;
@@ -82,6 +83,9 @@
         if (!pm.hasSystemFeature(PackageManager.FEATURE_NFC)) {
             return UNSUPPORTED_ON_DEVICE;
         }
+        if (NfcAdapter.getDefaultAdapter(mContext) == null) {
+            return UNSUPPORTED_ON_DEVICE;
+        }
         if (mPaymentBackend == null) {
             mPaymentBackend = new PaymentBackend(mContext);
         }
@@ -130,7 +134,7 @@
     }
 
     @Override
-    public void onPrepareDialogBuilder(AlertDialog.Builder builder,
+    public void onPrepareDialogBuilder(Builder builder,
             DialogInterface.OnClickListener listener) {
         builder.setSingleChoiceItems(mAdapter, 0, listener);
     }
diff --git a/src/com/android/settings/notification/AbstractZenModeAutomaticRulePreferenceController.java b/src/com/android/settings/notification/AbstractZenModeAutomaticRulePreferenceController.java
index e12b93f..530a226 100644
--- a/src/com/android/settings/notification/AbstractZenModeAutomaticRulePreferenceController.java
+++ b/src/com/android/settings/notification/AbstractZenModeAutomaticRulePreferenceController.java
@@ -17,7 +17,6 @@
 package com.android.settings.notification;
 
 import android.app.AutomaticZenRule;
-import android.app.Fragment;
 import android.app.NotificationManager;
 import android.content.ComponentName;
 import android.content.Context;
@@ -38,6 +37,7 @@
 import java.util.Map;
 import java.util.Set;
 
+import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
 
 abstract public class AbstractZenModeAutomaticRulePreferenceController extends
diff --git a/src/com/android/settings/notification/AbstractZenModePreferenceController.java b/src/com/android/settings/notification/AbstractZenModePreferenceController.java
index d8fc0e4..5d92279 100644
--- a/src/com/android/settings/notification/AbstractZenModePreferenceController.java
+++ b/src/com/android/settings/notification/AbstractZenModePreferenceController.java
@@ -30,7 +30,6 @@
 import android.service.notification.ScheduleCalendar;
 import android.service.notification.ZenModeConfig;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settingslib.core.AbstractPreferenceController;
@@ -40,6 +39,7 @@
 import com.android.settingslib.core.lifecycle.events.OnPause;
 import com.android.settingslib.core.lifecycle.events.OnResume;
 
+import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
diff --git a/src/com/android/settings/notification/AdjustVolumeRestrictedPreferenceController.java b/src/com/android/settings/notification/AdjustVolumeRestrictedPreferenceController.java
index bc605b8..6af4d06 100644
--- a/src/com/android/settings/notification/AdjustVolumeRestrictedPreferenceController.java
+++ b/src/com/android/settings/notification/AdjustVolumeRestrictedPreferenceController.java
@@ -22,12 +22,12 @@
 import android.os.UserHandle;
 import android.os.UserManager;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.accounts.AccountRestrictionHelper;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settings.core.SliderPreferenceController;
 import com.android.settingslib.RestrictedPreference;
 
+import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 
 /**
diff --git a/src/com/android/settings/notification/ConfigureNotificationSettings.java b/src/com/android/settings/notification/ConfigureNotificationSettings.java
index 96a4eb6..2b5a8ab 100644
--- a/src/com/android/settings/notification/ConfigureNotificationSettings.java
+++ b/src/com/android/settings/notification/ConfigureNotificationSettings.java
@@ -18,7 +18,6 @@
 
 import android.app.Activity;
 import android.app.Application;
-import android.app.Fragment;
 import android.content.Context;
 import android.content.Intent;
 import android.os.Bundle;
@@ -41,6 +40,7 @@
 import java.util.List;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
 
 @SearchIndexable
@@ -87,7 +87,7 @@
         } else {
             app = null;
         }
-        return buildPreferenceControllers(context, getLifecycle(), app, this);
+        return buildPreferenceControllers(context, getSettingsLifecycle(), app, this);
     }
 
     private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
@@ -119,7 +119,7 @@
         if (preference instanceof RingtonePreference) {
             mRequestPreference = (RingtonePreference) preference;
             mRequestPreference.onPrepareRingtonePickerIntent(mRequestPreference.getIntent());
-            startActivityForResultAsUser(
+            getActivity().startActivityForResultAsUser(
                     mRequestPreference.getIntent(),
                     REQUEST_CODE,
                     null,
diff --git a/src/com/android/settings/notification/HeaderPreferenceController.java b/src/com/android/settings/notification/HeaderPreferenceController.java
index bfede5d..6ddafc3 100644
--- a/src/com/android/settings/notification/HeaderPreferenceController.java
+++ b/src/com/android/settings/notification/HeaderPreferenceController.java
@@ -34,16 +34,16 @@
 import androidx.lifecycle.LifecycleObserver;
 import androidx.lifecycle.OnLifecycleEvent;
 import androidx.preference.Preference;
-import androidx.preference.PreferenceFragment;
+import androidx.preference.PreferenceFragmentCompat;
 
 public class HeaderPreferenceController extends NotificationPreferenceController
         implements PreferenceControllerMixin, LifecycleObserver {
 
-    private final PreferenceFragment mFragment;
+    private final PreferenceFragmentCompat mFragment;
     private EntityHeaderController mHeaderController;
     private boolean mStarted = false;
 
-    public HeaderPreferenceController(Context context, PreferenceFragment fragment) {
+    public HeaderPreferenceController(Context context, PreferenceFragmentCompat fragment) {
         super(context, null);
         mFragment = fragment;
     }
diff --git a/src/com/android/settings/notification/NotificationAccessSettings.java b/src/com/android/settings/notification/NotificationAccessSettings.java
index 4180a53..17739f9 100644
--- a/src/com/android/settings/notification/NotificationAccessSettings.java
+++ b/src/com/android/settings/notification/NotificationAccessSettings.java
@@ -18,28 +18,37 @@
 
 import android.app.AlertDialog;
 import android.app.Dialog;
-import android.app.Fragment;
 import android.app.NotificationManager;
 import android.content.ComponentName;
 import android.content.Context;
 import android.os.AsyncTask;
 import android.os.Bundle;
+import android.provider.SearchIndexableResource;
 import android.provider.Settings;
 import android.service.notification.NotificationListenerService;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.settings.R;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 import com.android.settings.overlay.FeatureFactory;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settings.search.Indexable;
 import com.android.settings.utils.ManagedServiceSettings;
+import com.android.settingslib.search.SearchIndexable;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.fragment.app.Fragment;
 
 /**
  * Settings screen for managing notification listener permissions
  */
+@SearchIndexable
 public class NotificationAccessSettings extends ManagedServiceSettings {
-    private static final String TAG = NotificationAccessSettings.class.getSimpleName();
-    private static final Config CONFIG =  new Config.Builder()
+    private static final String TAG = "NotificationAccessSettings";
+    private static final Config CONFIG = new Config.Builder()
             .setTag(TAG)
             .setSetting(Settings.Secure.ENABLED_NOTIFICATION_LISTENERS)
             .setIntentAction(NotificationListenerService.SERVICE_INTERFACE)
@@ -166,4 +175,18 @@
                     .create();
         }
     }
+
+    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider() {
+                @Override
+                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
+                        boolean enabled) {
+                    final List<SearchIndexableResource> result = new ArrayList<>();
+
+                    final SearchIndexableResource sir = new SearchIndexableResource(context);
+                    sir.xmlResId = R.xml.notification_access_settings;
+                    result.add(sir);
+                    return result;
+                }
+            };
 }
diff --git a/src/com/android/settings/notification/NotificationBackend.java b/src/com/android/settings/notification/NotificationBackend.java
index a2474fc..83e427b 100644
--- a/src/com/android/settings/notification/NotificationBackend.java
+++ b/src/com/android/settings/notification/NotificationBackend.java
@@ -38,7 +38,6 @@
 import android.util.IconDrawableFactory;
 import android.util.Log;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.settingslib.R;
 import com.android.settingslib.Utils;
 import com.android.settingslib.utils.StringUtil;
@@ -48,6 +47,8 @@
 import java.util.List;
 import java.util.Map;
 
+import androidx.annotation.VisibleForTesting;
+
 public class NotificationBackend {
     private static final String TAG = "NotificationBackend";
 
diff --git a/src/com/android/settings/notification/NotificationLockscreenPreference.java b/src/com/android/settings/notification/NotificationLockscreenPreference.java
index b3f39f9..af912af 100644
--- a/src/com/android/settings/notification/NotificationLockscreenPreference.java
+++ b/src/com/android/settings/notification/NotificationLockscreenPreference.java
@@ -36,6 +36,8 @@
 import com.android.settings.Utils;
 import com.android.settingslib.RestrictedLockUtils;
 
+import androidx.appcompat.app.AlertDialog.Builder;
+
 public class NotificationLockscreenPreference extends RestrictedListPreference {
 
     private boolean mAllowRemoteInput;
@@ -72,7 +74,7 @@
     }
 
     @Override
-    protected void onPrepareDialogBuilder(AlertDialog.Builder builder,
+    protected void onPrepareDialogBuilder(Builder builder,
             DialogInterface.OnClickListener innerListener) {
 
         mListener = new Listener(innerListener);
diff --git a/src/com/android/settings/notification/NotificationSettingsBase.java b/src/com/android/settings/notification/NotificationSettingsBase.java
index ccef262..44f77cf 100644
--- a/src/com/android/settings/notification/NotificationSettingsBase.java
+++ b/src/com/android/settings/notification/NotificationSettingsBase.java
@@ -120,7 +120,7 @@
         loadChannelGroup();
         collectConfigActivities();
 
-        getLifecycle().addObserver(use(HeaderPreferenceController.class));
+        getSettingsLifecycle().addObserver(use(HeaderPreferenceController.class));
 
         for (NotificationPreferenceController controller : mControllers) {
             controller.onResume(mAppRow, mChannel, mChannelGroup, mSuspendedAppsAdmin);
diff --git a/src/com/android/settings/notification/RecentNotifyingAppsPreferenceController.java b/src/com/android/settings/notification/RecentNotifyingAppsPreferenceController.java
index c014ae7..c7a3201 100644
--- a/src/com/android/settings/notification/RecentNotifyingAppsPreferenceController.java
+++ b/src/com/android/settings/notification/RecentNotifyingAppsPreferenceController.java
@@ -17,7 +17,6 @@
 package com.android.settings.notification;
 
 import android.app.Application;
-import android.app.Fragment;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.PackageManager;
@@ -49,6 +48,7 @@
 import java.util.Set;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceScreen;
diff --git a/src/com/android/settings/notification/SettingPrefController.java b/src/com/android/settings/notification/SettingPrefController.java
index 89c9871..71f02f1 100644
--- a/src/com/android/settings/notification/SettingPrefController.java
+++ b/src/com/android/settings/notification/SettingPrefController.java
@@ -22,7 +22,6 @@
 import android.net.Uri;
 import android.os.Handler;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.SettingsPreferenceFragment;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.core.AbstractPreferenceController;
@@ -31,6 +30,7 @@
 import com.android.settingslib.core.lifecycle.events.OnPause;
 import com.android.settingslib.core.lifecycle.events.OnResume;
 
+import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
diff --git a/src/com/android/settings/notification/SoundSettings.java b/src/com/android/settings/notification/SoundSettings.java
index dbac1c2..dafc538 100644
--- a/src/com/android/settings/notification/SoundSettings.java
+++ b/src/com/android/settings/notification/SoundSettings.java
@@ -117,7 +117,7 @@
         if (preference instanceof RingtonePreference) {
             mRequestPreference = (RingtonePreference) preference;
             mRequestPreference.onPrepareRingtonePickerIntent(mRequestPreference.getIntent());
-            startActivityForResultAsUser(
+            getActivity().startActivityForResultAsUser(
                     mRequestPreference.getIntent(),
                     REQUEST_CODE,
                     null,
@@ -156,7 +156,7 @@
 
     @Override
     protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        return buildPreferenceControllers(context, this, getLifecycle());
+        return buildPreferenceControllers(context, this, getSettingsLifecycle());
     }
 
     @Override
@@ -195,7 +195,7 @@
 
         for (VolumeSeekBarPreferenceController controller : volumeControllers) {
             controller.setCallback(mVolumeCallback);
-            getLifecycle().addObserver(controller);
+            getSettingsLifecycle().addObserver(controller);
         }
     }
 
diff --git a/src/com/android/settings/notification/VolumeSeekBarPreferenceController.java b/src/com/android/settings/notification/VolumeSeekBarPreferenceController.java
index 62a0e2e..7df1dcf 100644
--- a/src/com/android/settings/notification/VolumeSeekBarPreferenceController.java
+++ b/src/com/android/settings/notification/VolumeSeekBarPreferenceController.java
@@ -18,10 +18,10 @@
 
 import android.content.Context;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.notification.VolumeSeekBarPreference.Callback;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
+import androidx.annotation.VisibleForTesting;
 import androidx.lifecycle.LifecycleObserver;
 import androidx.lifecycle.OnLifecycleEvent;
 import androidx.preference.PreferenceScreen;
diff --git a/src/com/android/settings/notification/WorkSoundPreferenceController.java b/src/com/android/settings/notification/WorkSoundPreferenceController.java
index c11fbc8..44796f8 100644
--- a/src/com/android/settings/notification/WorkSoundPreferenceController.java
+++ b/src/com/android/settings/notification/WorkSoundPreferenceController.java
@@ -19,7 +19,6 @@
 import android.annotation.UserIdInt;
 import android.app.AlertDialog;
 import android.app.Dialog;
-import android.app.FragmentManager;
 import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.DialogInterface;
@@ -33,7 +32,6 @@
 import android.os.UserManager;
 import android.provider.Settings;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.settings.DefaultRingtonePreference;
 import com.android.settings.R;
@@ -48,6 +46,8 @@
 
 import java.util.List;
 
+import androidx.annotation.VisibleForTesting;
+import androidx.fragment.app.FragmentManager;
 import androidx.preference.Preference;
 import androidx.preference.Preference.OnPreferenceChangeListener;
 import androidx.preference.PreferenceGroup;
diff --git a/src/com/android/settings/notification/ZenAccessSettings.java b/src/com/android/settings/notification/ZenAccessSettings.java
index 8c69f63..4af8158 100644
--- a/src/com/android/settings/notification/ZenAccessSettings.java
+++ b/src/com/android/settings/notification/ZenAccessSettings.java
@@ -36,28 +36,34 @@
 import android.os.Handler;
 import android.os.Looper;
 import android.os.RemoteException;
+import android.provider.SearchIndexableResource;
 import android.provider.Settings.Secure;
 import android.text.TextUtils;
 import android.util.ArraySet;
 import android.util.Log;
 import android.view.View;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.settings.R;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 import com.android.settings.overlay.FeatureFactory;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settings.search.Indexable;
 import com.android.settings.widget.AppSwitchPreference;
+import com.android.settings.widget.EmptyTextSettings;
+import com.android.settingslib.search.SearchIndexable;
 
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 
+import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.Preference.OnPreferenceChangeListener;
 import androidx.preference.PreferenceScreen;
 import androidx.preference.SwitchPreference;
 
+@SearchIndexable
 public class ZenAccessSettings extends EmptyTextSettings {
     private final String TAG = "ZenAccessSettings";
 
@@ -336,4 +342,18 @@
                     .create();
         }
     }
+
+    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider() {
+                @Override
+                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
+                        boolean enabled) {
+                    final ArrayList<SearchIndexableResource> result = new ArrayList<>();
+
+                    final SearchIndexableResource sir = new SearchIndexableResource(context);
+                    sir.xmlResId = R.xml.zen_access_settings;
+                    result.add(sir);
+                    return result;
+                }
+            };
 }
diff --git a/src/com/android/settings/notification/ZenAutomaticRuleHeaderPreferenceController.java b/src/com/android/settings/notification/ZenAutomaticRuleHeaderPreferenceController.java
index 9fe463b..6468f1d 100644
--- a/src/com/android/settings/notification/ZenAutomaticRuleHeaderPreferenceController.java
+++ b/src/com/android/settings/notification/ZenAutomaticRuleHeaderPreferenceController.java
@@ -19,7 +19,6 @@
 import static com.android.settings.widget.EntityHeaderController.PREF_KEY_APP_HEADER;
 
 import android.app.AutomaticZenRule;
-import android.app.Fragment;
 import android.content.Context;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageManager;
@@ -35,20 +34,21 @@
 import com.android.settings.widget.EntityHeaderController;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
+import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
-import androidx.preference.PreferenceFragment;
+import androidx.preference.PreferenceFragmentCompat;
 
 public class ZenAutomaticRuleHeaderPreferenceController extends AbstractZenModePreferenceController
         implements PreferenceControllerMixin {
 
     private final String KEY = PREF_KEY_APP_HEADER;
-    private final PreferenceFragment mFragment;
+    private final PreferenceFragmentCompat mFragment;
     private AutomaticZenRule mRule;
     private String mId;
     private EntityHeaderController mController;
 
-    public ZenAutomaticRuleHeaderPreferenceController(Context context, PreferenceFragment fragment,
-            Lifecycle lifecycle) {
+    public ZenAutomaticRuleHeaderPreferenceController(Context context,
+            PreferenceFragmentCompat fragment, Lifecycle lifecycle) {
         super(context, PREF_KEY_APP_HEADER, lifecycle);
         mFragment = fragment;
     }
diff --git a/src/com/android/settings/notification/ZenAutomaticRuleSwitchPreferenceController.java b/src/com/android/settings/notification/ZenAutomaticRuleSwitchPreferenceController.java
index 7b288b9..c980d90 100644
--- a/src/com/android/settings/notification/ZenAutomaticRuleSwitchPreferenceController.java
+++ b/src/com/android/settings/notification/ZenAutomaticRuleSwitchPreferenceController.java
@@ -17,7 +17,6 @@
 package com.android.settings.notification;
 
 import android.app.AutomaticZenRule;
-import android.app.Fragment;
 import android.content.Context;
 import android.widget.Switch;
 
@@ -26,6 +25,7 @@
 import com.android.settings.widget.SwitchBar;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
+import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
diff --git a/src/com/android/settings/notification/ZenDeleteRuleDialog.java b/src/com/android/settings/notification/ZenDeleteRuleDialog.java
index d9061d3..2783e3b 100644
--- a/src/com/android/settings/notification/ZenDeleteRuleDialog.java
+++ b/src/com/android/settings/notification/ZenDeleteRuleDialog.java
@@ -18,7 +18,6 @@
 
 import android.app.AlertDialog;
 import android.app.Dialog;
-import android.app.Fragment;
 import android.content.DialogInterface;
 import android.os.Bundle;
 import android.view.View;
@@ -27,6 +26,8 @@
 import com.android.settings.R;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 
+import androidx.fragment.app.Fragment;
+
 public class ZenDeleteRuleDialog extends InstrumentedDialogFragment {
     protected static final String TAG = "ZenDeleteRuleDialog";
     private static final String EXTRA_ZEN_RULE_NAME = "zen_rule_name";
diff --git a/src/com/android/settings/notification/ZenModeAddAutomaticRulePreferenceController.java b/src/com/android/settings/notification/ZenModeAddAutomaticRulePreferenceController.java
index 9935f40..ffe07ee 100644
--- a/src/com/android/settings/notification/ZenModeAddAutomaticRulePreferenceController.java
+++ b/src/com/android/settings/notification/ZenModeAddAutomaticRulePreferenceController.java
@@ -16,13 +16,13 @@
 
 package com.android.settings.notification;
 
-import android.app.Fragment;
 import android.content.Context;
 import android.content.Intent;
 
 import com.android.settings.utils.ZenServiceListing;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
+import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
diff --git a/src/com/android/settings/notification/ZenModeAutomaticRulesPreferenceController.java b/src/com/android/settings/notification/ZenModeAutomaticRulesPreferenceController.java
index fba24b1..665d5e9 100644
--- a/src/com/android/settings/notification/ZenModeAutomaticRulesPreferenceController.java
+++ b/src/com/android/settings/notification/ZenModeAutomaticRulesPreferenceController.java
@@ -17,7 +17,6 @@
 package com.android.settings.notification;
 
 import android.app.AutomaticZenRule;
-import android.app.Fragment;
 import android.content.Context;
 
 import com.android.settingslib.core.lifecycle.Lifecycle;
@@ -25,6 +24,7 @@
 import java.util.Map;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceScreen;
diff --git a/src/com/android/settings/notification/ZenModeAutomationSettings.java b/src/com/android/settings/notification/ZenModeAutomationSettings.java
index 74bc93d..ee85c4e 100644
--- a/src/com/android/settings/notification/ZenModeAutomationSettings.java
+++ b/src/com/android/settings/notification/ZenModeAutomationSettings.java
@@ -16,7 +16,6 @@
 
 package com.android.settings.notification;
 
-import android.app.Fragment;
 import android.content.Context;
 import android.provider.SearchIndexableResource;
 import android.service.notification.ConditionProviderService;
@@ -34,6 +33,8 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import androidx.fragment.app.Fragment;
+
 @SearchIndexable
 public class ZenModeAutomationSettings extends ZenModeSettingsBase {
     protected final ManagedServiceSettings.Config CONFIG = getConditionProviderConfig();
@@ -42,7 +43,7 @@
     protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
         ZenServiceListing serviceListing = new ZenServiceListing(getContext(), CONFIG);
         serviceListing.reloadApprovedServices();
-        return buildPreferenceControllers(context, this, serviceListing, getLifecycle());
+        return buildPreferenceControllers(context, this, serviceListing, getSettingsLifecycle());
     }
 
     private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
diff --git a/src/com/android/settings/notification/ZenModeBlockedEffectsSettings.java b/src/com/android/settings/notification/ZenModeBlockedEffectsSettings.java
index 2bda243..c105a1a 100644
--- a/src/com/android/settings/notification/ZenModeBlockedEffectsSettings.java
+++ b/src/com/android/settings/notification/ZenModeBlockedEffectsSettings.java
@@ -51,7 +51,7 @@
 
     @Override
     protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        return buildPreferenceControllers(context, getLifecycle());
+        return buildPreferenceControllers(context, getSettingsLifecycle());
     }
 
     private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
diff --git a/src/com/android/settings/notification/ZenModeButtonPreferenceController.java b/src/com/android/settings/notification/ZenModeButtonPreferenceController.java
index c1f0eda..ac9aaba 100644
--- a/src/com/android/settings/notification/ZenModeButtonPreferenceController.java
+++ b/src/com/android/settings/notification/ZenModeButtonPreferenceController.java
@@ -16,7 +16,6 @@
 
 package com.android.settings.notification;
 
-import android.app.FragmentManager;
 import android.content.Context;
 import android.provider.Settings;
 import android.view.View;
@@ -28,6 +27,7 @@
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
+import androidx.fragment.app.FragmentManager;
 import androidx.preference.Preference;
 
 public class ZenModeButtonPreferenceController extends AbstractZenModePreferenceController
diff --git a/src/com/android/settings/notification/ZenModeCallsPreferenceController.java b/src/com/android/settings/notification/ZenModeCallsPreferenceController.java
index 0623b00..ced28cd 100644
--- a/src/com/android/settings/notification/ZenModeCallsPreferenceController.java
+++ b/src/com/android/settings/notification/ZenModeCallsPreferenceController.java
@@ -21,10 +21,10 @@
 import android.provider.Settings;
 import android.text.TextUtils;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.R;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
+import androidx.annotation.VisibleForTesting;
 import androidx.preference.ListPreference;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
diff --git a/src/com/android/settings/notification/ZenModeCallsSettings.java b/src/com/android/settings/notification/ZenModeCallsSettings.java
index d771ef2..bff1c9f 100644
--- a/src/com/android/settings/notification/ZenModeCallsSettings.java
+++ b/src/com/android/settings/notification/ZenModeCallsSettings.java
@@ -37,7 +37,7 @@
 
     @Override
     protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        return buildPreferenceControllers(context, getLifecycle());
+        return buildPreferenceControllers(context, getSettingsLifecycle());
     }
 
     private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
diff --git a/src/com/android/settings/notification/ZenModeDurationPreferenceController.java b/src/com/android/settings/notification/ZenModeDurationPreferenceController.java
index baee2cd..0f884dd 100644
--- a/src/com/android/settings/notification/ZenModeDurationPreferenceController.java
+++ b/src/com/android/settings/notification/ZenModeDurationPreferenceController.java
@@ -16,13 +16,13 @@
 
 package com.android.settings.notification;
 
-import android.app.FragmentManager;
 import android.content.Context;
 
 import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
+import androidx.fragment.app.FragmentManager;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
diff --git a/src/com/android/settings/notification/ZenModeEventRuleSettings.java b/src/com/android/settings/notification/ZenModeEventRuleSettings.java
index 9d1d49b..a6aba11 100644
--- a/src/com/android/settings/notification/ZenModeEventRuleSettings.java
+++ b/src/com/android/settings/notification/ZenModeEventRuleSettings.java
@@ -82,8 +82,9 @@
     protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
         List<AbstractPreferenceController> controllers = new ArrayList<>();
         mHeader = new ZenAutomaticRuleHeaderPreferenceController(context, this,
-                getLifecycle());
-        mSwitch = new ZenAutomaticRuleSwitchPreferenceController(context, this, getLifecycle());
+                getSettingsLifecycle());
+        mSwitch = new ZenAutomaticRuleSwitchPreferenceController(context, this,
+                getSettingsLifecycle());
         controllers.add(mHeader);
         controllers.add(mSwitch);
         return controllers;
diff --git a/src/com/android/settings/notification/ZenModeMessagesPreferenceController.java b/src/com/android/settings/notification/ZenModeMessagesPreferenceController.java
index ba4fa04..1e2bdc2 100644
--- a/src/com/android/settings/notification/ZenModeMessagesPreferenceController.java
+++ b/src/com/android/settings/notification/ZenModeMessagesPreferenceController.java
@@ -5,10 +5,10 @@
 import android.provider.Settings;
 import android.text.TextUtils;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.R;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
+import androidx.annotation.VisibleForTesting;
 import androidx.preference.ListPreference;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
diff --git a/src/com/android/settings/notification/ZenModeMsgEventReminderSettings.java b/src/com/android/settings/notification/ZenModeMsgEventReminderSettings.java
index e3a721f..b61b76e 100644
--- a/src/com/android/settings/notification/ZenModeMsgEventReminderSettings.java
+++ b/src/com/android/settings/notification/ZenModeMsgEventReminderSettings.java
@@ -37,7 +37,7 @@
 
     @Override
     protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        return buildPreferenceControllers(context, getLifecycle());
+        return buildPreferenceControllers(context, getSettingsLifecycle());
     }
 
     private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
diff --git a/src/com/android/settings/notification/ZenModeRestrictNotificationsSettings.java b/src/com/android/settings/notification/ZenModeRestrictNotificationsSettings.java
index 737c646..bf170df 100644
--- a/src/com/android/settings/notification/ZenModeRestrictNotificationsSettings.java
+++ b/src/com/android/settings/notification/ZenModeRestrictNotificationsSettings.java
@@ -42,7 +42,7 @@
 
     @Override
     protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        return buildPreferenceControllers(context, getLifecycle());
+        return buildPreferenceControllers(context, getSettingsLifecycle());
     }
 
     @Override
diff --git a/src/com/android/settings/notification/ZenModeScheduleRuleSettings.java b/src/com/android/settings/notification/ZenModeScheduleRuleSettings.java
index a235603..56f9081 100644
--- a/src/com/android/settings/notification/ZenModeScheduleRuleSettings.java
+++ b/src/com/android/settings/notification/ZenModeScheduleRuleSettings.java
@@ -19,7 +19,6 @@
 import android.app.AlertDialog;
 import android.app.AutomaticZenRule;
 import android.app.Dialog;
-import android.app.FragmentManager;
 import android.app.TimePickerDialog;
 import android.content.Context;
 import android.content.DialogInterface;
@@ -43,6 +42,7 @@
 import java.util.Calendar;
 import java.util.List;
 
+import androidx.fragment.app.FragmentManager;
 import androidx.preference.Preference;
 import androidx.preference.Preference.OnPreferenceClickListener;
 import androidx.preference.PreferenceScreen;
@@ -200,8 +200,9 @@
     protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
         List<AbstractPreferenceController> controllers = new ArrayList<>();
         mHeader = new ZenAutomaticRuleHeaderPreferenceController(context, this,
-                getLifecycle());
-        mSwitch = new ZenAutomaticRuleSwitchPreferenceController(context, this, getLifecycle());
+                getSettingsLifecycle());
+        mSwitch = new ZenAutomaticRuleSwitchPreferenceController(context, this,
+                getSettingsLifecycle());
 
         controllers.add(mHeader);
         controllers.add(mSwitch);
diff --git a/src/com/android/settings/notification/ZenModeSettings.java b/src/com/android/settings/notification/ZenModeSettings.java
index 26b0e8d..ce8fe4d 100644
--- a/src/com/android/settings/notification/ZenModeSettings.java
+++ b/src/com/android/settings/notification/ZenModeSettings.java
@@ -26,7 +26,6 @@
 import static android.app.NotificationManager.Policy.PRIORITY_CATEGORY_SYSTEM;
 
 import android.app.AutomaticZenRule;
-import android.app.FragmentManager;
 import android.app.NotificationManager;
 import android.app.NotificationManager.Policy;
 import android.content.Context;
@@ -51,6 +50,7 @@
 import java.util.function.Predicate;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.fragment.app.FragmentManager;
 
 @SearchIndexable
 public class ZenModeSettings extends ZenModeSettingsBase {
@@ -71,7 +71,7 @@
 
     @Override
     protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        return buildPreferenceControllers(context, getLifecycle(), getFragmentManager());
+        return buildPreferenceControllers(context, getSettingsLifecycle(), getFragmentManager());
     }
 
     @Override
diff --git a/src/com/android/settings/notification/ZenModeSoundVibrationSettings.java b/src/com/android/settings/notification/ZenModeSoundVibrationSettings.java
index b72460c..32ff2d1 100644
--- a/src/com/android/settings/notification/ZenModeSoundVibrationSettings.java
+++ b/src/com/android/settings/notification/ZenModeSoundVibrationSettings.java
@@ -35,7 +35,7 @@
 
     @Override
     protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        return buildPreferenceControllers(context, getLifecycle());
+        return buildPreferenceControllers(context, getSettingsLifecycle());
     }
 
     private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
diff --git a/src/com/android/settings/notification/ZenModeStarredContactsPreferenceController.java b/src/com/android/settings/notification/ZenModeStarredContactsPreferenceController.java
index 622f994..1813a57 100644
--- a/src/com/android/settings/notification/ZenModeStarredContactsPreferenceController.java
+++ b/src/com/android/settings/notification/ZenModeStarredContactsPreferenceController.java
@@ -28,13 +28,13 @@
 import android.provider.Contacts;
 import android.provider.ContactsContract;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.R;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
 import java.util.ArrayList;
 import java.util.List;
 
+import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
diff --git a/src/com/android/settings/notification/ZenRuleNameDialog.java b/src/com/android/settings/notification/ZenRuleNameDialog.java
index 819ba5b..4314454 100644
--- a/src/com/android/settings/notification/ZenRuleNameDialog.java
+++ b/src/com/android/settings/notification/ZenRuleNameDialog.java
@@ -18,7 +18,6 @@
 
 import android.app.AlertDialog;
 import android.app.Dialog;
-import android.app.Fragment;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.net.Uri;
@@ -33,6 +32,8 @@
 import com.android.settings.R;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 
+import androidx.fragment.app.Fragment;
+
 public class ZenRuleNameDialog extends InstrumentedDialogFragment {
     protected static final String TAG = "ZenRuleNameDialog";
     private static final String EXTRA_ZEN_RULE_NAME = "zen_rule_name";
diff --git a/src/com/android/settings/notification/ZenRulePreference.java b/src/com/android/settings/notification/ZenRulePreference.java
index 1be5857..e0873c5 100644
--- a/src/com/android/settings/notification/ZenRulePreference.java
+++ b/src/com/android/settings/notification/ZenRulePreference.java
@@ -17,7 +17,6 @@
 package com.android.settings.notification;
 
 import android.app.AutomaticZenRule;
-import android.app.Fragment;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.pm.ApplicationInfo;
@@ -35,6 +34,7 @@
 
 import java.util.Map;
 
+import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceViewHolder;
 
diff --git a/src/com/android/settings/notification/ZenRuleSelectionDialog.java b/src/com/android/settings/notification/ZenRuleSelectionDialog.java
index 9beac7c..40b79f7 100644
--- a/src/com/android/settings/notification/ZenRuleSelectionDialog.java
+++ b/src/com/android/settings/notification/ZenRuleSelectionDialog.java
@@ -20,7 +20,6 @@
 
 import android.app.AlertDialog;
 import android.app.Dialog;
-import android.app.Fragment;
 import android.app.NotificationManager;
 import android.content.Context;
 import android.content.DialogInterface;
@@ -48,6 +47,8 @@
 import java.util.Set;
 import java.util.TreeSet;
 
+import androidx.fragment.app.Fragment;
+
 public class ZenRuleSelectionDialog extends InstrumentedDialogFragment {
     private static final String TAG = "ZenRuleSelectionDialog";
     private static final boolean DEBUG = ZenModeSettings.DEBUG;
diff --git a/src/com/android/settings/password/ChooseLockGeneric.java b/src/com/android/settings/password/ChooseLockGeneric.java
index e59cbc3..3e478d1 100644
--- a/src/com/android/settings/password/ChooseLockGeneric.java
+++ b/src/com/android/settings/password/ChooseLockGeneric.java
@@ -18,7 +18,6 @@
 
 import static android.app.admin.DevicePolicyManager.ACTION_SET_NEW_PARENT_PROFILE_PASSWORD;
 import static android.app.admin.DevicePolicyManager.ACTION_SET_NEW_PASSWORD;
-
 import static com.android.settings.password.ChooseLockPassword.ChooseLockPasswordFragment
         .RESULT_FINISHED;
 
@@ -26,8 +25,6 @@
 import android.app.Activity;
 import android.app.AlertDialog;
 import android.app.Dialog;
-import android.app.Fragment;
-import android.app.FragmentManager;
 import android.app.admin.DevicePolicyManager;
 import android.content.Context;
 import android.content.Intent;
@@ -66,6 +63,8 @@
 
 import androidx.annotation.StringRes;
 import androidx.annotation.VisibleForTesting;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
diff --git a/src/com/android/settings/password/ChooseLockPassword.java b/src/com/android/settings/password/ChooseLockPassword.java
index 15dd72f..f65b3ad 100644
--- a/src/com/android/settings/password/ChooseLockPassword.java
+++ b/src/com/android/settings/password/ChooseLockPassword.java
@@ -23,7 +23,6 @@
 import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_NUMERIC_COMPLEX;
 
 import android.app.Activity;
-import android.app.Fragment;
 import android.app.admin.DevicePolicyManager;
 import android.app.admin.PasswordMetrics;
 import android.content.Context;
@@ -70,6 +69,7 @@
 import java.util.List;
 
 import androidx.annotation.StringRes;
+import androidx.fragment.app.Fragment;
 import androidx.recyclerview.widget.LinearLayoutManager;
 import androidx.recyclerview.widget.RecyclerView;
 
diff --git a/src/com/android/settings/password/ChooseLockPattern.java b/src/com/android/settings/password/ChooseLockPattern.java
index 855f7ae..a6cf36f 100644
--- a/src/com/android/settings/password/ChooseLockPattern.java
+++ b/src/com/android/settings/password/ChooseLockPattern.java
@@ -17,7 +17,6 @@
 package com.android.settings.password;
 
 import android.app.Activity;
-import android.app.Fragment;
 import android.content.Context;
 import android.content.Intent;
 import android.content.res.ColorStateList;
@@ -55,6 +54,8 @@
 import java.util.Collections;
 import java.util.List;
 
+import androidx.fragment.app.Fragment;
+
 /**
  * If the user has a lock pattern set already, makes them confirm the existing one.
  *
diff --git a/src/com/android/settings/password/ChooseLockSettingsHelper.java b/src/com/android/settings/password/ChooseLockSettingsHelper.java
index 4839154..652db17 100644
--- a/src/com/android/settings/password/ChooseLockSettingsHelper.java
+++ b/src/com/android/settings/password/ChooseLockSettingsHelper.java
@@ -18,7 +18,6 @@
 
 import android.annotation.Nullable;
 import android.app.Activity;
-import android.app.Fragment;
 import android.app.KeyguardManager;
 import android.app.admin.DevicePolicyManager;
 import android.content.Intent;
@@ -26,12 +25,14 @@
 import android.os.Bundle;
 import android.os.UserManager;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.widget.LockPatternUtils;
 import com.android.settings.SettingsActivity;
 import com.android.settings.Utils;
 import com.android.setupwizardlib.util.WizardManagerHelper;
 
+import androidx.annotation.VisibleForTesting;
+import androidx.fragment.app.Fragment;
+
 public final class ChooseLockSettingsHelper {
 
     public static final String EXTRA_KEY_TYPE = "type";
diff --git a/src/com/android/settings/password/ChooseLockTypeDialogFragment.java b/src/com/android/settings/password/ChooseLockTypeDialogFragment.java
index 1050a54..8969eec 100644
--- a/src/com/android/settings/password/ChooseLockTypeDialogFragment.java
+++ b/src/com/android/settings/password/ChooseLockTypeDialogFragment.java
@@ -17,10 +17,7 @@
 package com.android.settings.password;
 
 import android.app.Activity;
-import android.app.AlertDialog;
-import android.app.AlertDialog.Builder;
 import android.app.Dialog;
-import android.app.Fragment;
 import android.app.admin.DevicePolicyManager;
 import android.content.Context;
 import android.content.DialogInterface;
@@ -43,6 +40,9 @@
 
 import java.util.List;
 
+import androidx.appcompat.app.AlertDialog.Builder;
+import androidx.fragment.app.Fragment;
+
 /**
  * A dialog fragment similar to {@link ChooseLockGeneric} where the user can select from a few
  * lock screen types.
@@ -132,7 +132,7 @@
         mAdapter = new ScreenLockAdapter(context, locks, mController);
         builder.setAdapter(mAdapter, this);
         builder.setTitle(R.string.setup_lock_settings_options_dialog_title);
-        AlertDialog alertDialog = builder.create();
+        Dialog alertDialog = builder.create();
         return alertDialog;
     }
 
diff --git a/src/com/android/settings/password/ConfirmDeviceCredentialBaseActivity.java b/src/com/android/settings/password/ConfirmDeviceCredentialBaseActivity.java
index 1775394..3818ac9 100644
--- a/src/com/android/settings/password/ConfirmDeviceCredentialBaseActivity.java
+++ b/src/com/android/settings/password/ConfirmDeviceCredentialBaseActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.settings.password;
 
-import android.app.Fragment;
 import android.app.KeyguardManager;
 import android.os.Bundle;
 import android.os.UserManager;
@@ -29,6 +28,8 @@
 import com.android.settings.SetupWizardUtils;
 import com.android.settings.Utils;
 
+import androidx.fragment.app.Fragment;
+
 public abstract class ConfirmDeviceCredentialBaseActivity extends SettingsActivity {
 
     private static final String STATE_IS_KEYGUARD_LOCKED = "STATE_IS_KEYGUARD_LOCKED";
@@ -123,7 +124,7 @@
     }
 
     private ConfirmDeviceCredentialBaseFragment getFragment() {
-        Fragment fragment = getFragmentManager().findFragmentById(R.id.main_content);
+        Fragment fragment = getSupportFragmentManager().findFragmentById(R.id.main_content);
         if (fragment != null && fragment instanceof ConfirmDeviceCredentialBaseFragment) {
             return (ConfirmDeviceCredentialBaseFragment) fragment;
         }
diff --git a/src/com/android/settings/password/ConfirmDeviceCredentialBaseFragment.java b/src/com/android/settings/password/ConfirmDeviceCredentialBaseFragment.java
index 74207cd..fc1fab0 100644
--- a/src/com/android/settings/password/ConfirmDeviceCredentialBaseFragment.java
+++ b/src/com/android/settings/password/ConfirmDeviceCredentialBaseFragment.java
@@ -22,8 +22,6 @@
 import android.app.ActivityOptions;
 import android.app.AlertDialog;
 import android.app.Dialog;
-import android.app.DialogFragment;
-import android.app.FragmentManager;
 import android.app.IActivityManager;
 import android.app.KeyguardManager;
 import android.app.admin.DevicePolicyManager;
@@ -52,8 +50,11 @@
 import com.android.internal.widget.LockPatternUtils;
 import com.android.settings.R;
 import com.android.settings.Utils;
-import com.android.settings.core.InstrumentedFragment;
 import com.android.settings.biometrics.fingerprint.FingerprintUiHelper;
+import com.android.settings.core.InstrumentedFragment;
+
+import androidx.fragment.app.DialogFragment;
+import androidx.fragment.app.FragmentManager;
 
 /**
  * Base fragment to be shared for PIN/Pattern/Password confirmation fragments.
diff --git a/src/com/android/settings/password/ConfirmLockPassword.java b/src/com/android/settings/password/ConfirmLockPassword.java
index a7059da..b381226 100644
--- a/src/com/android/settings/password/ConfirmLockPassword.java
+++ b/src/com/android/settings/password/ConfirmLockPassword.java
@@ -16,7 +16,6 @@
 
 package com.android.settings.password;
 
-import android.app.Fragment;
 import android.app.admin.DevicePolicyManager;
 import android.content.Context;
 import android.content.Intent;
@@ -51,6 +50,8 @@
 
 import java.util.ArrayList;
 
+import androidx.fragment.app.Fragment;
+
 public class ConfirmLockPassword extends ConfirmDeviceCredentialBaseActivity {
 
     // The index of the array is isStrongAuth << 2 + isProfile << 1 + isAlpha.
@@ -84,7 +85,7 @@
     @Override
     public void onWindowFocusChanged(boolean hasFocus) {
         super.onWindowFocusChanged(hasFocus);
-        Fragment fragment = getFragmentManager().findFragmentById(R.id.main_content);
+        Fragment fragment = getSupportFragmentManager().findFragmentById(R.id.main_content);
         if (fragment != null && fragment instanceof ConfirmLockPasswordFragment) {
             ((ConfirmLockPasswordFragment)fragment).onWindowFocusChanged(hasFocus);
         }
diff --git a/src/com/android/settings/password/CredentialCheckResultTracker.java b/src/com/android/settings/password/CredentialCheckResultTracker.java
index a17939c..1993ec6 100644
--- a/src/com/android/settings/password/CredentialCheckResultTracker.java
+++ b/src/com/android/settings/password/CredentialCheckResultTracker.java
@@ -16,10 +16,11 @@
 
 package com.android.settings.password;
 
-import android.app.Fragment;
 import android.content.Intent;
 import android.os.Bundle;
 
+import androidx.fragment.app.Fragment;
+
 /**
  * An invisible retained fragment to track lock check result.
  */
diff --git a/src/com/android/settings/password/SaveChosenLockWorkerBase.java b/src/com/android/settings/password/SaveChosenLockWorkerBase.java
index 95980e9..f76ffd9 100644
--- a/src/com/android/settings/password/SaveChosenLockWorkerBase.java
+++ b/src/com/android/settings/password/SaveChosenLockWorkerBase.java
@@ -16,7 +16,6 @@
 
 package com.android.settings.password;
 
-import android.app.Fragment;
 import android.content.Context;
 import android.content.Intent;
 import android.os.AsyncTask;
@@ -25,6 +24,8 @@
 
 import com.android.internal.widget.LockPatternUtils;
 
+import androidx.fragment.app.Fragment;
+
 /**
  * An invisible retained worker fragment to track the AsyncWork that saves (and optionally
  * verifies if a challenge is given) the chosen lock credential (pattern/pin/password).
diff --git a/src/com/android/settings/password/SetNewPasswordController.java b/src/com/android/settings/password/SetNewPasswordController.java
index ecbaec7..94bc928 100644
--- a/src/com/android/settings/password/SetNewPasswordController.java
+++ b/src/com/android/settings/password/SetNewPasswordController.java
@@ -34,10 +34,11 @@
 import android.os.IBinder;
 import android.os.UserManager;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.widget.LockPatternUtils;
 import com.android.settings.Utils;
 
+import androidx.annotation.VisibleForTesting;
+
 /**
  * Business logic for {@link SetNewPasswordActivity}.
  *
diff --git a/src/com/android/settings/password/SetupChooseLockGeneric.java b/src/com/android/settings/password/SetupChooseLockGeneric.java
index 190cc0f..6ca0916 100644
--- a/src/com/android/settings/password/SetupChooseLockGeneric.java
+++ b/src/com/android/settings/password/SetupChooseLockGeneric.java
@@ -36,7 +36,7 @@
 import com.android.setupwizardlib.GlifPreferenceLayout;
 
 import androidx.preference.Preference;
-import androidx.preference.PreferenceFragment;
+import androidx.preference.PreferenceFragmentCompat;
 import androidx.recyclerview.widget.RecyclerView;
 
 /**
@@ -56,7 +56,7 @@
     }
 
     @Override
-    /* package */ Class<? extends PreferenceFragment> getFragmentClass() {
+    /* package */ Class<? extends PreferenceFragmentCompat> getFragmentClass() {
         return SetupChooseLockGenericFragment.class;
     }
 
diff --git a/src/com/android/settings/password/SetupChooseLockPassword.java b/src/com/android/settings/password/SetupChooseLockPassword.java
index f900e9a..56c6a7b 100644
--- a/src/com/android/settings/password/SetupChooseLockPassword.java
+++ b/src/com/android/settings/password/SetupChooseLockPassword.java
@@ -17,7 +17,6 @@
 package com.android.settings.password;
 
 import android.app.Activity;
-import android.app.Fragment;
 import android.app.admin.DevicePolicyManager;
 import android.content.Context;
 import android.content.Intent;
@@ -32,6 +31,7 @@
 import com.android.settings.password.ChooseLockTypeDialogFragment.OnLockTypeSelectedListener;
 
 import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
 
 /**
  * Setup Wizard's version of ChooseLockPassword screen. It inherits the logic and basic structure
diff --git a/src/com/android/settings/password/SetupChooseLockPattern.java b/src/com/android/settings/password/SetupChooseLockPattern.java
index 26e1990..cc1633a 100644
--- a/src/com/android/settings/password/SetupChooseLockPattern.java
+++ b/src/com/android/settings/password/SetupChooseLockPattern.java
@@ -16,7 +16,6 @@
 
 package com.android.settings.password;
 
-import android.app.Fragment;
 import android.content.Context;
 import android.content.Intent;
 import android.os.Bundle;
@@ -29,6 +28,7 @@
 import com.android.settings.SetupRedactionInterstitial;
 
 import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
 
 /**
  * Setup Wizard's version of ChooseLockPattern screen. It inherits the logic and basic structure
diff --git a/src/com/android/settings/password/SetupSkipDialog.java b/src/com/android/settings/password/SetupSkipDialog.java
index fff6ad1..98a2482 100644
--- a/src/com/android/settings/password/SetupSkipDialog.java
+++ b/src/com/android/settings/password/SetupSkipDialog.java
@@ -19,7 +19,6 @@
 import android.app.Activity;
 import android.app.AlertDialog;
 import android.app.Dialog;
-import android.app.FragmentManager;
 import android.content.DialogInterface;
 import android.os.Bundle;
 
@@ -28,6 +27,7 @@
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 
 import androidx.annotation.NonNull;
+import androidx.fragment.app.FragmentManager;
 
 public class SetupSkipDialog extends InstrumentedDialogFragment
         implements DialogInterface.OnClickListener {
diff --git a/src/com/android/settings/print/PrintServiceSettingsFragment.java b/src/com/android/settings/print/PrintServiceSettingsFragment.java
index a47bb97..4629360 100644
--- a/src/com/android/settings/print/PrintServiceSettingsFragment.java
+++ b/src/com/android/settings/print/PrintServiceSettingsFragment.java
@@ -17,12 +17,10 @@
 package com.android.settings.print;
 
 import android.app.Activity;
-import android.app.LoaderManager;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
 import android.content.IntentSender.SendIntentException;
-import android.content.Loader;
 import android.content.pm.ResolveInfo;
 import android.database.DataSetObserver;
 import android.graphics.Color;
@@ -30,7 +28,6 @@
 import android.graphics.drawable.Drawable;
 import android.os.Bundle;
 import android.print.PrintManager;
-import android.print.PrintServicesLoader;
 import android.print.PrinterDiscoverySession;
 import android.print.PrinterDiscoverySession.OnPrintersChangeListener;
 import android.print.PrinterId;
@@ -70,6 +67,9 @@
 import java.util.List;
 import java.util.Map;
 
+import androidx.loader.app.LoaderManager;
+import androidx.loader.content.Loader;
+
 /**
  * Fragment with print service settings.
  */
diff --git a/src/com/android/settings/print/PrintServicesLoader.java b/src/com/android/settings/print/PrintServicesLoader.java
new file mode 100644
index 0000000..57cddb9
--- /dev/null
+++ b/src/com/android/settings/print/PrintServicesLoader.java
@@ -0,0 +1,126 @@
+/*
+ * 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
+ *
+ *      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.
+ */
+
+package com.android.settings.print;
+
+import android.annotation.NonNull;
+import android.content.Context;
+import android.os.Handler;
+import android.os.Message;
+import android.print.PrintManager;
+import android.printservice.PrintServiceInfo;
+
+import com.android.internal.util.Preconditions;
+
+import java.util.List;
+
+import androidx.loader.content.Loader;
+
+/**
+ * Loader for the list of print services. Can be parametrized to select a subset.
+ *
+ */
+public class PrintServicesLoader extends Loader<List<PrintServiceInfo>> {
+    /** What type of services to load. */
+    private final int mSelectionFlags;
+
+    /** The print manager to be used by this object */
+    private final @NonNull PrintManager mPrintManager;
+
+    /** Handler to sequentialize the delivery of the results to the main thread */
+    private final @NonNull Handler mHandler;
+
+    /** Listens for updates to the data from the platform */
+    private PrintManager.PrintServicesChangeListener mListener;
+
+    /**
+     * Create a new PrintServicesLoader.
+     *
+     * @param printManager   The print manager supplying the data
+     * @param context        Context of the using object
+     * @param selectionFlags What type of services to load.
+     */
+    public PrintServicesLoader(@NonNull PrintManager printManager, @NonNull Context context,
+            int selectionFlags) {
+        super(Preconditions.checkNotNull(context));
+        mHandler = new MyHandler();
+        mPrintManager = Preconditions.checkNotNull(printManager);
+        mSelectionFlags = Preconditions.checkFlagsArgument(selectionFlags,
+                PrintManager.ALL_SERVICES);
+    }
+
+    @Override
+    protected void onForceLoad() {
+        queueNewResult();
+    }
+
+    /**
+     * Read the print services and queue it to be delivered on the main thread.
+     */
+    private void queueNewResult() {
+        Message m = mHandler.obtainMessage(0);
+        m.obj = mPrintManager.getPrintServices(mSelectionFlags);
+        mHandler.sendMessage(m);
+    }
+
+    @Override
+    protected void onStartLoading() {
+        mListener = new PrintManager.PrintServicesChangeListener() {
+            @Override public void onPrintServicesChanged() {
+                queueNewResult();
+            }
+        };
+
+        mPrintManager.addPrintServicesChangeListener(mListener, null);
+
+        // Immediately deliver a result
+        deliverResult(mPrintManager.getPrintServices(mSelectionFlags));
+    }
+
+    @Override
+    protected void onStopLoading() {
+        if (mListener != null) {
+            mPrintManager.removePrintServicesChangeListener(mListener);
+            mListener = null;
+        }
+
+        mHandler.removeMessages(0);
+    }
+
+    @Override
+    protected void onReset() {
+        onStopLoading();
+    }
+
+    /**
+     * Handler to sequentialize all the updates to the main thread.
+     */
+    private class MyHandler extends Handler {
+        /**
+         * Create a new handler on the main thread.
+         */
+        public MyHandler() {
+            super(getContext().getMainLooper());
+        }
+
+        @Override
+        public void handleMessage(Message msg) {
+            if (isStarted()) {
+                deliverResult((List<PrintServiceInfo>) msg.obj);
+            }
+        }
+    }
+}
diff --git a/src/com/android/settings/print/PrintSettingsFragment.java b/src/com/android/settings/print/PrintSettingsFragment.java
index dd97667..a6b3d7e 100644
--- a/src/com/android/settings/print/PrintSettingsFragment.java
+++ b/src/com/android/settings/print/PrintSettingsFragment.java
@@ -18,13 +18,10 @@
 
 import static com.android.settings.print.PrintSettingPreferenceController.shouldShowToUser;
 
-import android.app.LoaderManager.LoaderCallbacks;
 import android.content.ActivityNotFoundException;
-import android.content.AsyncTaskLoader;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
-import android.content.Loader;
 import android.content.pm.PackageManager;
 import android.content.res.TypedArray;
 import android.graphics.drawable.Drawable;
@@ -35,7 +32,6 @@
 import android.print.PrintJobInfo;
 import android.print.PrintManager;
 import android.print.PrintManager.PrintJobStateChangeListener;
-import android.print.PrintServicesLoader;
 import android.printservice.PrintServiceInfo;
 import android.provider.SearchIndexableResource;
 import android.provider.Settings;
@@ -61,6 +57,9 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import androidx.loader.app.LoaderManager.LoaderCallbacks;
+import androidx.loader.content.AsyncTaskLoader;
+import androidx.loader.content.Loader;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
 
diff --git a/src/com/android/settings/search/DeviceIndexUpdateJobService.java b/src/com/android/settings/search/DeviceIndexUpdateJobService.java
index 99b1530..b8f35a6 100644
--- a/src/com/android/settings/search/DeviceIndexUpdateJobService.java
+++ b/src/com/android/settings/search/DeviceIndexUpdateJobService.java
@@ -28,7 +28,6 @@
 import android.provider.SettingsSlicesContract;
 import android.util.Log;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.slices.SettingsSliceProvider;
 import com.android.settings.slices.SliceDeepLinkSpringBoard;
@@ -36,6 +35,7 @@
 import java.util.Collection;
 import java.util.concurrent.CountDownLatch;
 
+import androidx.annotation.VisibleForTesting;
 import androidx.slice.Slice;
 import androidx.slice.SliceItem;
 import androidx.slice.SliceMetadata;
diff --git a/src/com/android/settings/search/actionbar/SearchMenuController.java b/src/com/android/settings/search/actionbar/SearchMenuController.java
index 1729ccd..2fcc048 100644
--- a/src/com/android/settings/search/actionbar/SearchMenuController.java
+++ b/src/com/android/settings/search/actionbar/SearchMenuController.java
@@ -17,7 +17,6 @@
 package com.android.settings.search.actionbar;
 
 import android.annotation.NonNull;
-import android.app.Fragment;
 import android.content.Intent;
 import android.os.Bundle;
 import android.view.Menu;
@@ -32,6 +31,8 @@
 import com.android.settingslib.core.lifecycle.ObservablePreferenceFragment;
 import com.android.settingslib.core.lifecycle.events.OnCreateOptionsMenu;
 
+import androidx.fragment.app.Fragment;
+
 public class SearchMenuController implements LifecycleObserver, OnCreateOptionsMenu {
 
     public static final String NEED_SEARCH_ICON_IN_ACTION_BAR = "need_search_icon_in_action_bar";
@@ -39,11 +40,11 @@
     private final Fragment mHost;
 
     public static void init(@NonNull ObservablePreferenceFragment host) {
-        host.getLifecycle().addObserver(new SearchMenuController(host));
+        host.getSettingsLifecycle().addObserver(new SearchMenuController(host));
     }
 
     public static void init(@NonNull ObservableFragment host) {
-        host.getLifecycle().addObserver(new SearchMenuController(host));
+        host.getSettingsLifecycle().addObserver(new SearchMenuController(host));
     }
 
     private SearchMenuController(@NonNull Fragment host) {
diff --git a/src/com/android/settings/security/EncryptionAndCredential.java b/src/com/android/settings/security/EncryptionAndCredential.java
index 9096486..7f50c5d 100644
--- a/src/com/android/settings/security/EncryptionAndCredential.java
+++ b/src/com/android/settings/security/EncryptionAndCredential.java
@@ -56,7 +56,7 @@
 
     @Override
     protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        return buildPreferenceControllers(context, getLifecycle());
+        return buildPreferenceControllers(context, getSettingsLifecycle());
     }
 
     @Override
diff --git a/src/com/android/settings/security/LockscreenDashboardFragment.java b/src/com/android/settings/security/LockscreenDashboardFragment.java
index eaaf51d..e214720 100644
--- a/src/com/android/settings/security/LockscreenDashboardFragment.java
+++ b/src/com/android/settings/security/LockscreenDashboardFragment.java
@@ -100,7 +100,7 @@
     @Override
     protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
         final List<AbstractPreferenceController> controllers = new ArrayList<>();
-        final Lifecycle lifecycle = getLifecycle();
+        final Lifecycle lifecycle = getSettingsLifecycle();
         final LockScreenNotificationPreferenceController notificationController =
                 new LockScreenNotificationPreferenceController(context,
                         KEY_LOCK_SCREEN_NOTIFICATON,
diff --git a/src/com/android/settings/security/OwnerInfoPreferenceController.java b/src/com/android/settings/security/OwnerInfoPreferenceController.java
index 19b1dd1..a462916 100644
--- a/src/com/android/settings/security/OwnerInfoPreferenceController.java
+++ b/src/com/android/settings/security/OwnerInfoPreferenceController.java
@@ -15,7 +15,6 @@
  */
 package com.android.settings.security;
 
-import android.app.Fragment;
 import android.content.Context;
 import android.os.UserHandle;
 
@@ -31,6 +30,7 @@
 import com.android.settingslib.core.lifecycle.events.OnResume;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
 import androidx.preference.Preference.OnPreferenceClickListener;
 import androidx.preference.PreferenceScreen;
diff --git a/src/com/android/settings/security/SecuritySettings.java b/src/com/android/settings/security/SecuritySettings.java
index ed6b4e9..effbd51 100644
--- a/src/com/android/settings/security/SecuritySettings.java
+++ b/src/com/android/settings/security/SecuritySettings.java
@@ -79,7 +79,7 @@
 
     @Override
     protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        return buildPreferenceControllers(context, getLifecycle(), this /* host*/);
+        return buildPreferenceControllers(context, getSettingsLifecycle(), this /* host*/);
     }
 
     /**
diff --git a/src/com/android/settings/security/UnificationConfirmationDialog.java b/src/com/android/settings/security/UnificationConfirmationDialog.java
index 95f2528..f82ece6 100644
--- a/src/com/android/settings/security/UnificationConfirmationDialog.java
+++ b/src/com/android/settings/security/UnificationConfirmationDialog.java
@@ -18,7 +18,6 @@
 
 import android.app.AlertDialog;
 import android.app.Dialog;
-import android.app.FragmentManager;
 import android.content.DialogInterface;
 import android.os.Bundle;
 
@@ -26,6 +25,8 @@
 import com.android.settings.R;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 
+import androidx.fragment.app.FragmentManager;
+
 public class UnificationConfirmationDialog extends InstrumentedDialogFragment {
 
     static final String TAG_UNIFICATION_DIALOG = "unification_dialog";
diff --git a/src/com/android/settings/security/screenlock/LockAfterTimeoutPreferenceController.java b/src/com/android/settings/security/screenlock/LockAfterTimeoutPreferenceController.java
index af1c01a..f6db180 100644
--- a/src/com/android/settings/security/screenlock/LockAfterTimeoutPreferenceController.java
+++ b/src/com/android/settings/security/screenlock/LockAfterTimeoutPreferenceController.java
@@ -27,8 +27,8 @@
 
 import com.android.internal.widget.LockPatternUtils;
 import com.android.settings.R;
-import com.android.settings.display.TimeoutListPreference;
 import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.display.TimeoutListPreference;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.security.trustagent.TrustAgentManager;
 import com.android.settingslib.RestrictedLockUtils;
diff --git a/src/com/android/settings/security/screenlock/ScreenLockSettings.java b/src/com/android/settings/security/screenlock/ScreenLockSettings.java
index 6c6e862..abb4b33 100644
--- a/src/com/android/settings/security/screenlock/ScreenLockSettings.java
+++ b/src/com/android/settings/security/screenlock/ScreenLockSettings.java
@@ -16,7 +16,6 @@
 
 package com.android.settings.security.screenlock;
 
-import android.app.Fragment;
 import android.content.Context;
 import android.os.UserHandle;
 import android.provider.SearchIndexableResource;
@@ -35,6 +34,8 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import androidx.fragment.app.Fragment;
+
 @SearchIndexable
 public class ScreenLockSettings extends DashboardFragment
         implements OwnerInfoPreferenceController.OwnerInfoCallback {
@@ -64,7 +65,7 @@
     @Override
     protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
         mLockPatternUtils = new LockPatternUtils(context);
-        return buildPreferenceControllers(context, this /* parent */, getLifecycle(),
+        return buildPreferenceControllers(context, this /* parent */, getSettingsLifecycle(),
                 mLockPatternUtils);
     }
 
diff --git a/src/com/android/settings/slices/SliceDataConverter.java b/src/com/android/settings/slices/SliceDataConverter.java
index bfe090e..7b98fe4 100644
--- a/src/com/android/settings/slices/SliceDataConverter.java
+++ b/src/com/android/settings/slices/SliceDataConverter.java
@@ -39,7 +39,6 @@
 import android.util.Xml;
 import android.view.accessibility.AccessibilityManager;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.R;
 import com.android.settings.accessibility.AccessibilitySettings;
 import com.android.settings.accessibility.AccessibilitySlicePreferenceController;
@@ -62,6 +61,8 @@
 import java.util.List;
 import java.util.Set;
 
+import androidx.annotation.VisibleForTesting;
+
 /**
  * Converts all Slice sources into {@link SliceData}.
  * This includes:
diff --git a/src/com/android/settings/sound/AudioSwitchPreferenceController.java b/src/com/android/settings/sound/AudioSwitchPreferenceController.java
index 274819c..dcbed15 100644
--- a/src/com/android/settings/sound/AudioSwitchPreferenceController.java
+++ b/src/com/android/settings/sound/AudioSwitchPreferenceController.java
@@ -17,11 +17,6 @@
 package com.android.settings.sound;
 
 import static android.media.AudioManager.STREAM_DEVICES_CHANGED_ACTION;
-import static android.media.AudioManager.STREAM_MUSIC;
-import static android.media.AudioManager.STREAM_VOICE_CALL;
-import static android.media.AudioSystem.DEVICE_OUT_ALL_A2DP;
-import static android.media.AudioSystem.DEVICE_OUT_ALL_SCO;
-import static android.media.AudioSystem.DEVICE_OUT_HEARING_AID;
 import static android.media.MediaRouter.ROUTE_TYPE_REMOTE_DISPLAY;
 
 import android.bluetooth.BluetoothDevice;
@@ -309,28 +304,16 @@
     }
 
     /**
-     * According to different stream and output device, find the active device from
-     * the corresponding profile. Hearing aid device could stream both STREAM_MUSIC
-     * and STREAM_VOICE_CALL.
-     *
-     * @param streamType the type of audio streams.
-     * @return the active device. Return null if the active device is current device
-     * or streamType is not STREAM_MUSIC or STREAM_VOICE_CALL.
+     * Find active hearing aid device
      */
-    protected BluetoothDevice findActiveDevice(int streamType) {
-        if (streamType != STREAM_MUSIC && streamType != STREAM_VOICE_CALL) {
-            return null;
-        }
-        if (isStreamFromOutputDevice(STREAM_MUSIC, DEVICE_OUT_ALL_A2DP)) {
-            return mProfileManager.getA2dpProfile().getActiveDevice();
-        } else if (isStreamFromOutputDevice(STREAM_VOICE_CALL, DEVICE_OUT_ALL_SCO)) {
-            return mProfileManager.getHeadsetProfile().getActiveDevice();
-        } else if (isStreamFromOutputDevice(streamType, DEVICE_OUT_HEARING_AID)) {
+    protected BluetoothDevice findActiveHearingAidDevice() {
+        final HearingAidProfile hearingAidProfile = mProfileManager.getHearingAidProfile();
+
+        if (hearingAidProfile != null) {
             // The first element is the left active device; the second element is
             // the right active device. And they will have same hiSyncId. If either
             // or both side is not active, it will be null on that position.
-            List<BluetoothDevice> activeDevices =
-                    mProfileManager.getHearingAidProfile().getActiveDevices();
+            List<BluetoothDevice> activeDevices = hearingAidProfile.getActiveDevices();
             for (BluetoothDevice btDevice : activeDevices) {
                 if (btDevice != null && mConnectedDevices.contains(btDevice)) {
                     // also need to check mConnectedDevices, because one of
@@ -342,6 +325,14 @@
         return null;
     }
 
+    /**
+     * Find the active device from the corresponding profile.
+     *
+     * @return the active device. Return null if the
+     * corresponding profile don't have active device.
+     */
+    public abstract BluetoothDevice findActiveDevice();
+
     int getDefaultDeviceIndex() {
         // Default device is after all connected devices.
         return mConnectedDevices.size();
diff --git a/src/com/android/settings/sound/HandsFreeProfileOutputPreferenceController.java b/src/com/android/settings/sound/HandsFreeProfileOutputPreferenceController.java
index c93b00d..348d7d3 100644
--- a/src/com/android/settings/sound/HandsFreeProfileOutputPreferenceController.java
+++ b/src/com/android/settings/sound/HandsFreeProfileOutputPreferenceController.java
@@ -17,8 +17,6 @@
 package com.android.settings.sound;
 
 import static android.bluetooth.IBluetoothHearingAid.HI_SYNC_ID_INVALID;
-import static android.media.AudioManager.STREAM_VOICE_CALL;
-import static android.media.AudioSystem.DEVICE_OUT_USB_HEADSET;
 
 import android.bluetooth.BluetoothDevice;
 import android.content.Context;
@@ -79,12 +77,7 @@
         CharSequence[] mediaValues = new CharSequence[numDevices + 1];
 
         // Setup devices entries, select active connected device
-        setupPreferenceEntries(mediaOutputs, mediaValues, findActiveDevice(STREAM_VOICE_CALL));
-
-        if (isStreamFromOutputDevice(STREAM_VOICE_CALL, DEVICE_OUT_USB_HEADSET)) {
-            // If wired headset is plugged in and active, select to default device.
-            mSelectedIndex = getDefaultDeviceIndex();
-        }
+        setupPreferenceEntries(mediaOutputs, mediaValues, findActiveDevice());
 
         // Display connected devices, default device and show the active device
         setPreference(mediaOutputs, mediaValues, preference);
@@ -109,4 +102,15 @@
             hfpProfile.setActiveDevice(device);
         }
     }
+
+    @Override
+    public BluetoothDevice findActiveDevice() {
+        BluetoothDevice activeDevice = findActiveHearingAidDevice();
+        final HeadsetProfile headsetProfile = mProfileManager.getHeadsetProfile();
+
+        if (activeDevice == null && headsetProfile != null) {
+            activeDevice = headsetProfile.getActiveDevice();
+        }
+        return activeDevice;
+    }
 }
diff --git a/src/com/android/settings/sound/MediaOutputPreferenceController.java b/src/com/android/settings/sound/MediaOutputPreferenceController.java
index c2de56d..dba82eb 100644
--- a/src/com/android/settings/sound/MediaOutputPreferenceController.java
+++ b/src/com/android/settings/sound/MediaOutputPreferenceController.java
@@ -19,7 +19,6 @@
 import static android.bluetooth.IBluetoothHearingAid.HI_SYNC_ID_INVALID;
 import static android.media.AudioManager.STREAM_MUSIC;
 import static android.media.AudioSystem.DEVICE_OUT_REMOTE_SUBMIX;
-import static android.media.AudioSystem.DEVICE_OUT_USB_HEADSET;
 
 import android.bluetooth.BluetoothDevice;
 import android.content.Context;
@@ -91,12 +90,7 @@
         CharSequence[] mediaValues = new CharSequence[numDevices + 1];
 
         // Setup devices entries, select active connected device
-        setupPreferenceEntries(mediaOutputs, mediaValues, findActiveDevice(STREAM_MUSIC));
-
-        if (isStreamFromOutputDevice(STREAM_MUSIC, DEVICE_OUT_USB_HEADSET)) {
-            // If wired headset is plugged in and active, select to default device.
-            mSelectedIndex = getDefaultDeviceIndex();
-        }
+        setupPreferenceEntries(mediaOutputs, mediaValues, findActiveDevice());
 
         // Display connected devices, default device and show the active device
         setPreference(mediaOutputs, mediaValues, preference);
@@ -121,4 +115,15 @@
             a2dpProfile.setActiveDevice(device);
         }
     }
+
+    @Override
+    public BluetoothDevice findActiveDevice() {
+        BluetoothDevice activeDevice = findActiveHearingAidDevice();
+        final A2dpProfile a2dpProfile = mProfileManager.getA2dpProfile();
+
+        if (activeDevice == null && a2dpProfile != null) {
+            activeDevice = a2dpProfile.getActiveDevice();
+        }
+        return activeDevice;
+    }
 }
diff --git a/src/com/android/settings/support/NewDeviceIntroSuggestionActivity.java b/src/com/android/settings/support/NewDeviceIntroSuggestionActivity.java
deleted file mode 100644
index e025c60..0000000
--- a/src/com/android/settings/support/NewDeviceIntroSuggestionActivity.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * Copyright (C) 2017 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
- *
- *      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.
- */
-
-package com.android.settings.support;
-
-import android.app.Activity;
-import android.content.Context;
-import android.content.Intent;
-import android.content.SharedPreferences;
-import android.content.pm.PackageInfo;
-import android.content.pm.PackageManager;
-import android.content.pm.ResolveInfo;
-import android.net.Uri;
-import android.os.Bundle;
-import android.text.TextUtils;
-import android.text.format.DateUtils;
-import android.util.Log;
-
-import com.android.settings.R;
-import com.android.settings.dashboard.suggestions.SuggestionFeatureProvider;
-import com.android.settings.overlay.FeatureFactory;
-import com.android.settings.overlay.SupportFeatureProvider;
-
-import java.util.List;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.VisibleForTesting;
-
-public class NewDeviceIntroSuggestionActivity extends Activity {
-
-    private static final String TAG = "NewDeviceIntroSugg";
-    @VisibleForTesting
-    static final String PREF_KEY_SUGGGESTION_FIRST_DISPLAY_TIME =
-            "pref_new_device_intro_suggestion_first_display_time_ms";
-    @VisibleForTesting
-    static final String PREF_KEY_SUGGGESTION_COMPLETE =
-            "pref_new_device_intro_suggestion_complete";
-    @VisibleForTesting
-    static final long PERMANENT_DISMISS_THRESHOLD = DateUtils.DAY_IN_MILLIS * 14;
-
-    public static final String TIPS_PACKAGE_NAME = "com.google.android.apps.tips";
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        final Intent intent = getLaunchIntent(this);
-        if (intent != null) {
-            final SuggestionFeatureProvider featureProvider = FeatureFactory.getFactory(this)
-                    .getSuggestionFeatureProvider(this);
-            final SharedPreferences prefs = featureProvider.getSharedPrefs(this);
-            prefs.edit().putBoolean(PREF_KEY_SUGGGESTION_COMPLETE, true).commit();
-            startActivity(intent);
-        }
-        finish();
-    }
-
-    public static boolean isSuggestionComplete(Context context) {
-        // Always returns 'true' if Tips application exists. Check b/77652536 for more details.
-        return isTipsInstalledAsSystemApp(context)
-                || !isSupported(context)
-                || isExpired(context)
-                || hasLaunchedBefore(context)
-                || !canOpenUrlInBrowser(context);
-    }
-
-    private static boolean isSupported(Context context) {
-        return context.getResources()
-                .getBoolean(R.bool.config_new_device_intro_suggestion_supported);
-    }
-
-    private static boolean isExpired(Context context) {
-        final SuggestionFeatureProvider featureProvider = FeatureFactory.getFactory(context)
-                .getSuggestionFeatureProvider(context);
-        final SharedPreferences prefs = featureProvider.getSharedPrefs(context);
-        final long currentTimeMs = System.currentTimeMillis();
-        final long firstDisplayTimeMs;
-
-        if (!prefs.contains(PREF_KEY_SUGGGESTION_FIRST_DISPLAY_TIME)) {
-            firstDisplayTimeMs = currentTimeMs;
-            prefs.edit().putLong(PREF_KEY_SUGGGESTION_FIRST_DISPLAY_TIME, currentTimeMs).commit();
-        } else {
-            firstDisplayTimeMs = prefs.getLong(PREF_KEY_SUGGGESTION_FIRST_DISPLAY_TIME, -1);
-        }
-
-        final long dismissTimeMs = firstDisplayTimeMs + PERMANENT_DISMISS_THRESHOLD;
-
-        final boolean expired = currentTimeMs > dismissTimeMs;
-
-        Log.d(TAG, "is suggestion expired: " + expired);
-        return expired;
-    }
-
-    private static boolean canOpenUrlInBrowser(Context context) {
-        final Intent intent = getLaunchIntent(context);
-        if (intent == null) {
-            // No url/intent to launch.
-            return false;
-        }
-        // Make sure we can handle the intent.
-        final List<ResolveInfo> resolveInfos =
-                context.getPackageManager().queryIntentActivities(intent, 0);
-        return resolveInfos != null && resolveInfos.size() != 0;
-    }
-
-    private static boolean hasLaunchedBefore(Context context) {
-        final SuggestionFeatureProvider featureProvider = FeatureFactory.getFactory(context)
-                .getSuggestionFeatureProvider(context);
-        final SharedPreferences prefs = featureProvider.getSharedPrefs(context);
-        return prefs.getBoolean(PREF_KEY_SUGGGESTION_COMPLETE, false);
-    }
-
-    @VisibleForTesting
-    static Intent getLaunchIntent(Context context) {
-        final SupportFeatureProvider supportProvider = FeatureFactory.getFactory(context)
-                .getSupportFeatureProvider(context);
-        if (supportProvider == null) {
-            return null;
-        }
-        final String url = supportProvider.getNewDeviceIntroUrl(context);
-        if (TextUtils.isEmpty(url)) {
-            return null;
-        }
-        return new Intent()
-                .setAction(Intent.ACTION_VIEW)
-                .addCategory(Intent.CATEGORY_BROWSABLE)
-                .setData(Uri.parse(url));
-    }
-
-    /**
-     * Check if the specified package exists and is marked with <i>FLAG_SYSTEM</i>
-     */
-    private static boolean isTipsInstalledAsSystemApp(@NonNull Context context) {
-        try {
-            final PackageInfo info = context.getPackageManager().getPackageInfo(TIPS_PACKAGE_NAME,
-                    PackageManager.MATCH_SYSTEM_ONLY);
-            return info != null;
-        } catch (PackageManager.NameNotFoundException e) {
-            Log.w(TAG, "Cannot find the package: " + TIPS_PACKAGE_NAME, e);
-            return false;
-        }
-    }
-}
diff --git a/src/com/android/settings/support/actionbar/HelpMenuController.java b/src/com/android/settings/support/actionbar/HelpMenuController.java
index 1188fc2..3ac248c 100644
--- a/src/com/android/settings/support/actionbar/HelpMenuController.java
+++ b/src/com/android/settings/support/actionbar/HelpMenuController.java
@@ -20,7 +20,6 @@
 
 import android.annotation.NonNull;
 import android.app.Activity;
-import android.app.Fragment;
 import android.os.Bundle;
 import android.view.Menu;
 import android.view.MenuInflater;
@@ -31,6 +30,8 @@
 import com.android.settingslib.core.lifecycle.ObservablePreferenceFragment;
 import com.android.settingslib.core.lifecycle.events.OnCreateOptionsMenu;
 
+import androidx.fragment.app.Fragment;
+
 /**
  * A controller that adds help menu to any Settings page.
  */
@@ -39,11 +40,11 @@
     private final Fragment mHost;
 
     public static void init(@NonNull ObservablePreferenceFragment host) {
-        host.getLifecycle().addObserver(new HelpMenuController(host));
+        host.getSettingsLifecycle().addObserver(new HelpMenuController(host));
     }
 
     public static void init(@NonNull ObservableFragment host) {
-        host.getLifecycle().addObserver(new HelpMenuController(host));
+        host.getSettingsLifecycle().addObserver(new HelpMenuController(host));
     }
 
     private HelpMenuController(@NonNull Fragment host) {
diff --git a/src/com/android/settings/survey/SurveyMixin.java b/src/com/android/settings/survey/SurveyMixin.java
index 552ed92..ab2e21a 100644
--- a/src/com/android/settings/survey/SurveyMixin.java
+++ b/src/com/android/settings/survey/SurveyMixin.java
@@ -16,7 +16,6 @@
 package com.android.settings.survey;
 
 import android.app.Activity;
-import android.app.Fragment;
 import android.content.BroadcastReceiver;
 
 import com.android.settings.overlay.FeatureFactory;
@@ -25,6 +24,8 @@
 import com.android.settingslib.core.lifecycle.events.OnPause;
 import com.android.settingslib.core.lifecycle.events.OnResume;
 
+import androidx.fragment.app.Fragment;
+
 /**
  * attaches extra, survey related work to the onResume method of registered observable classes
  * in settings. This allows new classes to automatically support settings provided the extend
diff --git a/src/com/android/settings/system/ResetDashboardFragment.java b/src/com/android/settings/system/ResetDashboardFragment.java
index 153177a..772f18b 100644
--- a/src/com/android/settings/system/ResetDashboardFragment.java
+++ b/src/com/android/settings/system/ResetDashboardFragment.java
@@ -55,7 +55,7 @@
 
     @Override
     protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        return buildPreferenceControllers(context, getLifecycle());
+        return buildPreferenceControllers(context, getSettingsLifecycle());
     }
 
     private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
diff --git a/src/com/android/settings/users/AutoSyncDataPreferenceController.java b/src/com/android/settings/users/AutoSyncDataPreferenceController.java
index c1f0e28..7d840ca 100644
--- a/src/com/android/settings/users/AutoSyncDataPreferenceController.java
+++ b/src/com/android/settings/users/AutoSyncDataPreferenceController.java
@@ -18,7 +18,6 @@
 import android.app.ActivityManager;
 import android.app.AlertDialog;
 import android.app.Dialog;
-import android.app.Fragment;
 import android.content.ContentResolver;
 import android.content.Context;
 import android.content.DialogInterface;
@@ -34,6 +33,7 @@
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 import com.android.settingslib.core.AbstractPreferenceController;
 
+import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
 import androidx.preference.SwitchPreference;
 
diff --git a/src/com/android/settings/users/AutoSyncPersonalDataPreferenceController.java b/src/com/android/settings/users/AutoSyncPersonalDataPreferenceController.java
index 79099ad..2530977 100644
--- a/src/com/android/settings/users/AutoSyncPersonalDataPreferenceController.java
+++ b/src/com/android/settings/users/AutoSyncPersonalDataPreferenceController.java
@@ -15,10 +15,11 @@
  */
 package com.android.settings.users;
 
-import android.app.Fragment;
 import android.content.Context;
 import android.os.UserHandle;
 
+import androidx.fragment.app.Fragment;
+
 public class AutoSyncPersonalDataPreferenceController extends AutoSyncDataPreferenceController {
 
     private static final String TAG = "AutoSyncPersonalData";
diff --git a/src/com/android/settings/users/AutoSyncWorkDataPreferenceController.java b/src/com/android/settings/users/AutoSyncWorkDataPreferenceController.java
index 5e8ad2c..de7c24a 100644
--- a/src/com/android/settings/users/AutoSyncWorkDataPreferenceController.java
+++ b/src/com/android/settings/users/AutoSyncWorkDataPreferenceController.java
@@ -15,12 +15,13 @@
  */
 package com.android.settings.users;
 
-import android.app.Fragment;
 import android.content.Context;
 import android.os.UserHandle;
 
 import com.android.settings.Utils;
 
+import androidx.fragment.app.Fragment;
+
 public class AutoSyncWorkDataPreferenceController extends AutoSyncPersonalDataPreferenceController {
 
     private static final String TAG = "AutoSyncWorkData";
diff --git a/src/com/android/settings/users/EditUserInfoController.java b/src/com/android/settings/users/EditUserInfoController.java
index 315ebcb..072c8cd 100644
--- a/src/com/android/settings/users/EditUserInfoController.java
+++ b/src/com/android/settings/users/EditUserInfoController.java
@@ -19,7 +19,6 @@
 import android.app.Activity;
 import android.app.AlertDialog;
 import android.app.Dialog;
-import android.app.Fragment;
 import android.content.DialogInterface;
 import android.content.Intent;
 import android.content.pm.UserInfo;
@@ -42,6 +41,8 @@
 
 import java.io.File;
 
+import androidx.fragment.app.Fragment;
+
 /**
  * This class encapsulates a Dialog for editing the user nickname and photo.
  */
diff --git a/src/com/android/settings/users/EditUserPhotoController.java b/src/com/android/settings/users/EditUserPhotoController.java
index d24815e..4685bb1 100644
--- a/src/com/android/settings/users/EditUserPhotoController.java
+++ b/src/com/android/settings/users/EditUserPhotoController.java
@@ -17,7 +17,6 @@
 package com.android.settings.users;
 
 import android.app.Activity;
-import android.app.Fragment;
 import android.content.ClipData;
 import android.content.ContentResolver;
 import android.content.Context;
@@ -65,6 +64,7 @@
 import java.util.List;
 
 import androidx.core.content.FileProvider;
+import androidx.fragment.app.Fragment;
 
 public class EditUserPhotoController {
     private static final String TAG = "EditUserPhotoController";
diff --git a/src/com/android/settings/users/MultiUserFooterPreferenceController.java b/src/com/android/settings/users/MultiUserFooterPreferenceController.java
index 877df58..f42f190 100644
--- a/src/com/android/settings/users/MultiUserFooterPreferenceController.java
+++ b/src/com/android/settings/users/MultiUserFooterPreferenceController.java
@@ -21,7 +21,7 @@
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settingslib.widget.FooterPreference;
-import com.android.settingslib.widget.FooterPreferenceMixin;
+import com.android.settingslib.widget.FooterPreferenceMixinCompat;
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
@@ -31,14 +31,15 @@
     @VisibleForTesting
     final UserCapabilities mUserCaps;
 
-    private FooterPreferenceMixin mFooterMixin;
+    private FooterPreferenceMixinCompat mFooterMixin;
 
     public MultiUserFooterPreferenceController(Context context) {
         super(context, "dummy_key");
         mUserCaps = UserCapabilities.create(context);
     }
 
-    public MultiUserFooterPreferenceController setFooterMixin(FooterPreferenceMixin footerMixin) {
+    public MultiUserFooterPreferenceController setFooterMixin(
+            FooterPreferenceMixinCompat footerMixin) {
         mFooterMixin = footerMixin;
         return this;
     }
diff --git a/src/com/android/settings/users/OwnerInfoSettings.java b/src/com/android/settings/users/OwnerInfoSettings.java
index 582431f..0f99360 100644
--- a/src/com/android/settings/users/OwnerInfoSettings.java
+++ b/src/com/android/settings/users/OwnerInfoSettings.java
@@ -18,7 +18,6 @@
 
 import android.app.AlertDialog;
 import android.app.Dialog;
-import android.app.Fragment;
 import android.content.DialogInterface;
 import android.content.DialogInterface.OnClickListener;
 import android.os.Bundle;
@@ -34,6 +33,8 @@
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 import com.android.settings.security.OwnerInfoPreferenceController.OwnerInfoCallback;
 
+import androidx.fragment.app.Fragment;
+
 public class OwnerInfoSettings extends InstrumentedDialogFragment implements OnClickListener {
 
     private static final String TAG_OWNER_INFO = "ownerInfo";
diff --git a/src/com/android/settings/users/UserSettings.java b/src/com/android/settings/users/UserSettings.java
index 931fdcf..7d84d99 100644
--- a/src/com/android/settings/users/UserSettings.java
+++ b/src/com/android/settings/users/UserSettings.java
@@ -216,7 +216,7 @@
         final SwitchBar switchBar = activity.getSwitchBar();
         mSwitchBarController = new MultiUserSwitchBarController(activity,
                 new SwitchBarController(switchBar), this /* listener */);
-        getLifecycle().addObserver(mSwitchBarController);
+        getSettingsLifecycle().addObserver(mSwitchBarController);
         switchBar.show();
     }
 
diff --git a/src/com/android/settings/utils/ManagedServiceSettings.java b/src/com/android/settings/utils/ManagedServiceSettings.java
index 8344333..87c6b8e 100644
--- a/src/com/android/settings/utils/ManagedServiceSettings.java
+++ b/src/com/android/settings/utils/ManagedServiceSettings.java
@@ -20,7 +20,6 @@
 import android.app.ActivityManager;
 import android.app.AlertDialog;
 import android.app.Dialog;
-import android.app.Fragment;
 import android.app.admin.DevicePolicyManager;
 import android.content.ComponentName;
 import android.content.Context;
@@ -38,12 +37,13 @@
 import com.android.settings.R;
 import com.android.settings.Utils;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
-import com.android.settings.notification.EmptyTextSettings;
 import com.android.settings.widget.AppSwitchPreference;
+import com.android.settings.widget.EmptyTextSettings;
 import com.android.settingslib.applications.ServiceListing;
 
 import java.util.List;
 
+import androidx.fragment.app.Fragment;
 import androidx.preference.PreferenceScreen;
 import androidx.preference.SwitchPreference;
 
diff --git a/src/com/android/settings/vpn2/AppDialogFragment.java b/src/com/android/settings/vpn2/AppDialogFragment.java
index f8e6af0..2f7a6bb 100644
--- a/src/com/android/settings/vpn2/AppDialogFragment.java
+++ b/src/com/android/settings/vpn2/AppDialogFragment.java
@@ -18,7 +18,6 @@
 
 import android.app.AlertDialog;
 import android.app.Dialog;
-import android.app.Fragment;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.pm.PackageInfo;
@@ -35,6 +34,8 @@
 import com.android.settings.R;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 
+import androidx.fragment.app.Fragment;
+
 /**
  * Fragment wrapper around an {@link AppDialog}.
  */
diff --git a/src/com/android/settings/vpn2/AppManagementFragment.java b/src/com/android/settings/vpn2/AppManagementFragment.java
index f0908fb..145e86f 100644
--- a/src/com/android/settings/vpn2/AppManagementFragment.java
+++ b/src/com/android/settings/vpn2/AppManagementFragment.java
@@ -21,7 +21,6 @@
 import android.app.AlertDialog;
 import android.app.AppOpsManager;
 import android.app.Dialog;
-import android.app.DialogFragment;
 import android.content.Context;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageInfo;
@@ -37,7 +36,6 @@
 import android.text.TextUtils;
 import android.util.Log;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.internal.net.VpnConfig;
 import com.android.internal.util.ArrayUtils;
@@ -50,6 +48,8 @@
 
 import java.util.List;
 
+import androidx.annotation.VisibleForTesting;
+import androidx.fragment.app.DialogFragment;
 import androidx.preference.Preference;
 
 public class AppManagementFragment extends SettingsPreferenceFragment
diff --git a/src/com/android/settings/vpn2/ConfirmLockdownFragment.java b/src/com/android/settings/vpn2/ConfirmLockdownFragment.java
index d4b2677..5c2c9d7 100644
--- a/src/com/android/settings/vpn2/ConfirmLockdownFragment.java
+++ b/src/com/android/settings/vpn2/ConfirmLockdownFragment.java
@@ -17,7 +17,6 @@
 
 import android.app.AlertDialog;
 import android.app.Dialog;
-import android.app.Fragment;
 import android.content.DialogInterface;
 import android.os.Bundle;
 
@@ -25,6 +24,8 @@
 import com.android.settings.R;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 
+import androidx.fragment.app.Fragment;
+
 public class ConfirmLockdownFragment extends InstrumentedDialogFragment
         implements DialogInterface.OnClickListener {
     public interface ConfirmLockdownListener {
diff --git a/src/com/android/settings/vpn2/VpnSettings.java b/src/com/android/settings/vpn2/VpnSettings.java
index 4d7c855..00c4e49 100644
--- a/src/com/android/settings/vpn2/VpnSettings.java
+++ b/src/com/android/settings/vpn2/VpnSettings.java
@@ -50,7 +50,6 @@
 import android.view.MenuItem;
 
 import com.android.internal.annotations.GuardedBy;
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.internal.net.LegacyVpnInfo;
 import com.android.internal.net.VpnConfig;
@@ -71,6 +70,7 @@
 import java.util.Map;
 import java.util.Set;
 
+import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceGroup;
 
diff --git a/src/com/android/settings/widget/DonutView.java b/src/com/android/settings/widget/DonutView.java
index 0489d6a..458b75c 100644
--- a/src/com/android/settings/widget/DonutView.java
+++ b/src/com/android/settings/widget/DonutView.java
@@ -36,13 +36,13 @@
 import android.util.AttributeSet;
 import android.view.View;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.R;
 import com.android.settings.Utils;
 
 import java.util.Locale;
 
 import androidx.annotation.ColorRes;
+import androidx.annotation.VisibleForTesting;
 
 /**
  * DonutView represents a donut graph. It visualizes a certain percentage of fullness with a
diff --git a/src/com/android/settings/notification/EmptyTextSettings.java b/src/com/android/settings/widget/EmptyTextSettings.java
similarity index 97%
rename from src/com/android/settings/notification/EmptyTextSettings.java
rename to src/com/android/settings/widget/EmptyTextSettings.java
index 4ac3d52..24f0a82 100644
--- a/src/com/android/settings/notification/EmptyTextSettings.java
+++ b/src/com/android/settings/widget/EmptyTextSettings.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.settings.notification;
+package com.android.settings.widget;
 
 import android.annotation.Nullable;
 import android.os.Bundle;
diff --git a/src/com/android/settings/widget/EntityHeaderController.java b/src/com/android/settings/widget/EntityHeaderController.java
index 9b2edff..6eaa9b2 100644
--- a/src/com/android/settings/widget/EntityHeaderController.java
+++ b/src/com/android/settings/widget/EntityHeaderController.java
@@ -23,7 +23,6 @@
 import android.annotation.UserIdInt;
 import android.app.ActionBar;
 import android.app.Activity;
-import android.app.Fragment;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.PackageInfo;
@@ -54,6 +53,7 @@
 
 import androidx.annotation.IntDef;
 import androidx.annotation.VisibleForTesting;
+import androidx.fragment.app.Fragment;
 import androidx.recyclerview.widget.RecyclerView;
 
 public class EntityHeaderController {
diff --git a/src/com/android/settings/widget/SingleTargetGearPreference.java b/src/com/android/settings/widget/SingleTargetGearPreference.java
new file mode 100644
index 0000000..8def647
--- /dev/null
+++ b/src/com/android/settings/widget/SingleTargetGearPreference.java
@@ -0,0 +1,50 @@
+/*
+ * 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
+ *
+ *      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.
+ */
+
+package com.android.settings.widget;
+
+import android.content.Context;
+
+import androidx.core.content.res.TypedArrayUtils;
+import androidx.preference.Preference;
+import android.util.AttributeSet;
+
+import com.android.settings.R;
+
+/**
+ * A preference with single target and a gear icon on the side.
+ */
+public class SingleTargetGearPreference extends Preference {
+
+    public SingleTargetGearPreference(Context context, AttributeSet attrs,
+            int defStyleAttr, int defStyleRes) {
+        super(context, attrs, defStyleAttr, defStyleRes);
+        setWidgetLayoutResource(R.layout.preference_widget_gear_no_bg);
+    }
+
+    public SingleTargetGearPreference(Context context, AttributeSet attrs, int defStyleAttr) {
+        this(context, attrs, defStyleAttr, 0 /* defStyleRes */);
+    }
+
+    public SingleTargetGearPreference(Context context, AttributeSet attrs) {
+        this(context, attrs, TypedArrayUtils.getAttr(context, R.attr.preferenceStyle,
+                android.R.attr.preferenceStyle));
+    }
+
+    public SingleTargetGearPreference(Context context) {
+        this(context, null /* attrs */);
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/widget/UpdatableListPreferenceDialogFragment.java b/src/com/android/settings/widget/UpdatableListPreferenceDialogFragment.java
index 5877078..4d54192 100644
--- a/src/com/android/settings/widget/UpdatableListPreferenceDialogFragment.java
+++ b/src/com/android/settings/widget/UpdatableListPreferenceDialogFragment.java
@@ -15,7 +15,6 @@
  */
 package com.android.settings.widget;
 
-import android.app.AlertDialog;
 import android.content.res.TypedArray;
 import android.os.Bundle;
 import android.widget.ArrayAdapter;
@@ -25,14 +24,15 @@
 import java.util.ArrayList;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.appcompat.app.AlertDialog.Builder;
 import androidx.preference.ListPreference;
-import androidx.preference.PreferenceDialogFragment;
+import androidx.preference.PreferenceDialogFragmentCompat;
 
 /**
- * {@link PreferenceDialogFragment} that updates the available options
+ * {@link PreferenceDialogFragmentCompat} that updates the available options
  * when {@code onListPreferenceUpdated} is called."
  */
-public class UpdatableListPreferenceDialogFragment extends PreferenceDialogFragment implements
+public class UpdatableListPreferenceDialogFragment extends PreferenceDialogFragmentCompat implements
         Instrumentable {
 
     private static final String SAVE_STATE_INDEX = "UpdatableListPreferenceDialogFragment.index";
@@ -115,7 +115,7 @@
     }
 
     @Override
-    protected void onPrepareDialogBuilder(AlertDialog.Builder builder) {
+    protected void onPrepareDialogBuilder(Builder builder) {
         super.onPrepareDialogBuilder(builder);
         final TypedArray a = getContext().obtainStyledAttributes(
                 null,
diff --git a/src/com/android/settings/widget/ValidatedEditTextPreference.java b/src/com/android/settings/widget/ValidatedEditTextPreference.java
index 35be502..76d8bcc 100644
--- a/src/com/android/settings/widget/ValidatedEditTextPreference.java
+++ b/src/com/android/settings/widget/ValidatedEditTextPreference.java
@@ -16,7 +16,6 @@
 
 package com.android.settings.widget;
 
-import android.app.AlertDialog;
 import android.content.Context;
 import android.text.Editable;
 import android.text.InputType;
@@ -27,15 +26,16 @@
 import android.widget.EditText;
 import android.widget.TextView;
 
-import com.android.settingslib.CustomEditTextPreference;
+import com.android.settingslib.CustomEditTextPreferenceCompat;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.appcompat.app.AlertDialog;
 import androidx.preference.PreferenceViewHolder;
 
 /**
  * {@code EditTextPreference} that supports input validation.
  */
-public class ValidatedEditTextPreference extends CustomEditTextPreference {
+public class ValidatedEditTextPreference extends CustomEditTextPreferenceCompat {
 
     public interface Validator {
         boolean isTextValid(String value);
diff --git a/src/com/android/settings/wifi/ConfigureWifiSettings.java b/src/com/android/settings/wifi/ConfigureWifiSettings.java
index e0e63cc..1d1c30c 100644
--- a/src/com/android/settings/wifi/ConfigureWifiSettings.java
+++ b/src/com/android/settings/wifi/ConfigureWifiSettings.java
@@ -76,15 +76,18 @@
     protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
         mWifiWakeupPreferenceController = new WifiWakeupPreferenceController(context, this);
         mUseOpenWifiPreferenceController = new UseOpenWifiPreferenceController(context, this,
-                getLifecycle());
+                getSettingsLifecycle());
         final WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
         final List<AbstractPreferenceController> controllers = new ArrayList<>();
         controllers.add(mWifiWakeupPreferenceController);
-        controllers.add(new NotifyOpenNetworksPreferenceController(context, getLifecycle()));
+        controllers.add(new NotifyOpenNetworksPreferenceController(context,
+                getSettingsLifecycle()));
         controllers.add(mUseOpenWifiPreferenceController);
-        controllers.add(new WifiInfoPreferenceController(context, getLifecycle(), wifiManager));
+        controllers.add(new WifiInfoPreferenceController(context, getSettingsLifecycle(),
+                wifiManager));
         controllers.add(new CellularFallbackPreferenceController(context));
-        controllers.add(new WifiP2pPreferenceController(context, getLifecycle(), wifiManager));
+        controllers.add(new WifiP2pPreferenceController(context, getSettingsLifecycle(),
+                wifiManager));
         return controllers;
     }
 
diff --git a/src/com/android/settings/wifi/LongPressAccessPointPreference.java b/src/com/android/settings/wifi/LongPressAccessPointPreference.java
index 790e570..579d848 100644
--- a/src/com/android/settings/wifi/LongPressAccessPointPreference.java
+++ b/src/com/android/settings/wifi/LongPressAccessPointPreference.java
@@ -15,12 +15,12 @@
  */
 package com.android.settings.wifi;
 
-import android.app.Fragment;
 import android.content.Context;
 
 import com.android.settingslib.wifi.AccessPoint;
 import com.android.settingslib.wifi.AccessPointPreference;
 
+import androidx.fragment.app.Fragment;
 import androidx.preference.PreferenceViewHolder;
 
 public class LongPressAccessPointPreference extends AccessPointPreference {
diff --git a/src/com/android/settings/wifi/UseOpenWifiPreferenceController.java b/src/com/android/settings/wifi/UseOpenWifiPreferenceController.java
index 0b397db..df24c42 100644
--- a/src/com/android/settings/wifi/UseOpenWifiPreferenceController.java
+++ b/src/com/android/settings/wifi/UseOpenWifiPreferenceController.java
@@ -1,7 +1,6 @@
 package com.android.settings.wifi;
 
 import android.app.Activity;
-import android.app.Fragment;
 import android.content.ComponentName;
 import android.content.ContentResolver;
 import android.content.Context;
@@ -25,6 +24,7 @@
 
 import java.util.List;
 
+import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 import androidx.preference.SwitchPreference;
diff --git a/src/com/android/settings/wifi/WifiPickerActivity.java b/src/com/android/settings/wifi/WifiPickerActivity.java
index ccac31e..ca392ce 100644
--- a/src/com/android/settings/wifi/WifiPickerActivity.java
+++ b/src/com/android/settings/wifi/WifiPickerActivity.java
@@ -22,7 +22,7 @@
 import com.android.settings.SettingsActivity;
 import com.android.settings.wifi.p2p.WifiP2pSettings;
 
-import androidx.preference.PreferenceFragment;
+import androidx.preference.PreferenceFragmentCompat;
 
 public class WifiPickerActivity extends SettingsActivity implements ButtonBarHandler {
 
@@ -46,7 +46,7 @@
         return false;
     }
 
-    /* package */ Class<? extends PreferenceFragment> getWifiSettingsClass() {
+    /* package */ Class<? extends PreferenceFragmentCompat> getWifiSettingsClass() {
         return WifiSettings.class;
     }
 }
diff --git a/src/com/android/settings/wifi/WifiScanModeActivity.java b/src/com/android/settings/wifi/WifiScanModeActivity.java
index 2c0d0d5..4742f63 100644
--- a/src/com/android/settings/wifi/WifiScanModeActivity.java
+++ b/src/com/android/settings/wifi/WifiScanModeActivity.java
@@ -16,10 +16,8 @@
 
 package com.android.settings.wifi;
 
-import android.app.Activity;
 import android.app.AlertDialog;
 import android.app.Dialog;
-import android.app.DialogFragment;
 import android.content.DialogInterface;
 import android.content.Intent;
 import android.content.pm.ApplicationInfo;
@@ -32,10 +30,13 @@
 import com.android.settings.R;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 
+import androidx.fragment.app.DialogFragment;
+import androidx.fragment.app.FragmentActivity;
+
 /**
  * This activity requests users permission to allow scanning even when Wi-Fi is turned off
  */
-public class WifiScanModeActivity extends Activity {
+public class WifiScanModeActivity extends FragmentActivity {
     private DialogFragment mDialog;
     private String mApp;
 
@@ -66,7 +67,7 @@
     private void createDialog() {
         if (mDialog == null) {
             mDialog = AlertDialogFragment.newInstance(mApp);
-            mDialog.show(getFragmentManager(), "dialog");
+            mDialog.show(getSupportFragmentManager(), "dialog");
         }
     }
 
diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java
index 5397eae..e5ff3d9 100644
--- a/src/com/android/settings/wifi/WifiSettings.java
+++ b/src/com/android/settings/wifi/WifiSettings.java
@@ -243,7 +243,7 @@
         super.onActivityCreated(savedInstanceState);
 
         mWifiTracker = WifiTrackerFactory.create(
-                getActivity(), this, getLifecycle(), true, true);
+                getActivity(), this, getSettingsLifecycle(), true, true);
         mWifiManager = mWifiTracker.getManager();
 
         final Activity activity = getActivity();
diff --git a/src/com/android/settings/wifi/WifiWakeupPreferenceController.java b/src/com/android/settings/wifi/WifiWakeupPreferenceController.java
index 4e35092..6379caf 100644
--- a/src/com/android/settings/wifi/WifiWakeupPreferenceController.java
+++ b/src/com/android/settings/wifi/WifiWakeupPreferenceController.java
@@ -18,7 +18,6 @@
 
 import static com.android.settings.wifi.ConfigureWifiSettings.WIFI_WAKEUP_REQUEST_CODE;
 
-import android.app.Fragment;
 import android.app.Service;
 import android.content.Context;
 import android.content.Intent;
@@ -33,6 +32,7 @@
 import com.android.settingslib.core.AbstractPreferenceController;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 import androidx.preference.SwitchPreference;
diff --git a/src/com/android/settings/wifi/calling/WifiCallingSettings.java b/src/com/android/settings/wifi/calling/WifiCallingSettings.java
index 0a16eaa..5762b7b 100644
--- a/src/com/android/settings/wifi/calling/WifiCallingSettings.java
+++ b/src/com/android/settings/wifi/calling/WifiCallingSettings.java
@@ -16,8 +16,6 @@
 
 package com.android.settings.wifi.calling;
 
-import android.app.Fragment;
-import android.app.FragmentManager;
 import android.os.Bundle;
 import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
@@ -38,7 +36,9 @@
 
 import java.util.List;
 
-import androidx.legacy.app.FragmentPagerAdapter;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+import androidx.fragment.app.FragmentPagerAdapter;
 
 /**
  * "Wi-Fi Calling settings" screen. This is the container fragment which holds
diff --git a/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java b/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java
index ae14da5..e0868c7 100644
--- a/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java
+++ b/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java
@@ -89,6 +89,7 @@
 
     private int mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
     private ImsManager mImsManager;
+    private TelephonyManager mTelephonyManager;
 
     private final PhoneStateListener mPhoneStateListener = new PhoneStateListener() {
         /*
@@ -238,6 +239,9 @@
         mImsManager = ImsManager.getInstance(
                 getActivity(), SubscriptionManager.getPhoneId(mSubId));
 
+        mTelephonyManager = ((TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE))
+                .createForSubscriptionId(mSubId);
+
         mButtonWfcMode = (ListPreference) findPreference(BUTTON_WFC_MODE);
         mButtonWfcMode.setOnPreferenceChangeListener(this);
 
@@ -319,9 +323,7 @@
         updateBody();
 
         if (mImsManager.isWfcEnabledByPlatform()) {
-            TelephonyManager tm =
-                    (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
-            tm.listen(mPhoneStateListener, PhoneStateListener.LISTEN_CALL_STATE);
+            mTelephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_CALL_STATE);
 
             mSwitchBar.addOnSwitchChangeListener(this);
 
diff --git a/src/com/android/settings/wifi/calling/WifiCallingSliceHelper.java b/src/com/android/settings/wifi/calling/WifiCallingSliceHelper.java
index b8cdf28..f9014b7 100644
--- a/src/com/android/settings/wifi/calling/WifiCallingSliceHelper.java
+++ b/src/com/android/settings/wifi/calling/WifiCallingSliceHelper.java
@@ -33,7 +33,6 @@
 
 import com.android.ims.ImsConfig;
 import com.android.ims.ImsManager;
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.R;
 import com.android.settings.Utils;
 import com.android.settings.slices.SettingsSliceProvider;
@@ -48,6 +47,7 @@
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
 
+import androidx.annotation.VisibleForTesting;
 import androidx.core.graphics.drawable.IconCompat;
 import androidx.slice.Slice;
 import androidx.slice.builders.ListBuilder;
diff --git a/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java b/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java
index e5dae7a..d291f9c 100644
--- a/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java
+++ b/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java
@@ -20,7 +20,6 @@
 import static android.net.NetworkCapabilities.TRANSPORT_WIFI;
 
 import android.app.Activity;
-import android.app.Fragment;
 import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
@@ -45,7 +44,6 @@
 import android.widget.ImageView;
 import android.widget.Toast;
 
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.logging.nano.MetricsProto;
 import com.android.settings.R;
 import com.android.settings.Utils;
@@ -72,7 +70,9 @@
 import java.util.StringJoiner;
 import java.util.stream.Collectors;
 
+import androidx.annotation.VisibleForTesting;
 import androidx.core.text.BidiFormatter;
+import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceScreen;
diff --git a/src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java b/src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java
index 3438035..d114e06 100644
--- a/src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java
+++ b/src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java
@@ -128,7 +128,7 @@
                 context,
                 this,
                 new Handler(Looper.getMainLooper()),  // UI thread.
-                getLifecycle(),
+                getSettingsLifecycle(),
                 context.getSystemService(WifiManager.class),
                 mMetricsFeatureProvider);
 
diff --git a/src/com/android/settings/wifi/tether/TetherService.java b/src/com/android/settings/wifi/tether/TetherService.java
index e491de8..3cfa7a1 100644
--- a/src/com/android/settings/wifi/tether/TetherService.java
+++ b/src/com/android/settings/wifi/tether/TetherService.java
@@ -40,11 +40,11 @@
 import android.util.ArrayMap;
 import android.util.Log;
 
-import com.android.internal.annotations.VisibleForTesting;
-
 import java.util.ArrayList;
 import java.util.List;
 
+import androidx.annotation.VisibleForTesting;
+
 public class TetherService extends Service {
     private static final String TAG = "TetherService";
     private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
diff --git a/src/com/android/settings/wifi/tether/WifiTetherApBandPreferenceController.java b/src/com/android/settings/wifi/tether/WifiTetherApBandPreferenceController.java
index cd5eea4..02b5c51 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherApBandPreferenceController.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherApBandPreferenceController.java
@@ -104,7 +104,7 @@
         // 3: With Dual mode support we can't have AP_BAND_5GHZ - default to ANY
         if (!isDualMode && WifiConfiguration.AP_BAND_ANY == band) {
             return WifiConfiguration.AP_BAND_5GHZ;
-        } else if (!mWifiManager.is5GHzBandSupported() && WifiConfiguration.AP_BAND_5GHZ == band) {
+        } else if (!is5GhzBandSupported() && WifiConfiguration.AP_BAND_5GHZ == band) {
             return WifiConfiguration.AP_BAND_2GHZ;
         } else if (isDualMode && WifiConfiguration.AP_BAND_5GHZ == band) {
             return WifiConfiguration.AP_BAND_ANY;
diff --git a/src/com/android/settings/wifi/tether/WifiTetherSettings.java b/src/com/android/settings/wifi/tether/WifiTetherSettings.java
index b6db02c..16908d6 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherSettings.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherSettings.java
@@ -110,7 +110,7 @@
         final SwitchBar switchBar = activity.getSwitchBar();
         mSwitchBarController = new WifiTetherSwitchBarController(activity,
                 new SwitchBarController(switchBar));
-        getLifecycle().addObserver(mSwitchBarController);
+        getSettingsLifecycle().addObserver(mSwitchBarController);
         switchBar.show();
     }
 
diff --git a/tests/anomaly-tester/src/com/android/settings/anomaly/tester/AnomalyActivity.java b/tests/anomaly-tester/src/com/android/settings/anomaly/tester/AnomalyActivity.java
index e4567c2..385ee0c 100644
--- a/tests/anomaly-tester/src/com/android/settings/anomaly/tester/AnomalyActivity.java
+++ b/tests/anomaly-tester/src/com/android/settings/anomaly/tester/AnomalyActivity.java
@@ -20,7 +20,6 @@
 import android.os.Handler;
 import android.os.ResultReceiver;
 import android.provider.Settings;
-import android.util.Log;
 import android.view.View;
 import android.widget.Button;
 import android.widget.EditText;
diff --git a/tests/robotests/assets/grandfather_not_implementing_index_provider b/tests/robotests/assets/grandfather_not_implementing_index_provider
index dfa4fba..a662f2f 100644
--- a/tests/robotests/assets/grandfather_not_implementing_index_provider
+++ b/tests/robotests/assets/grandfather_not_implementing_index_provider
@@ -1,8 +1,6 @@
 com.android.settings.accessibility.AccessibilitySettingsForSetupWizard
 com.android.settings.accessibility.CaptionPropertiesFragment
 com.android.settings.accessibility.ToggleAccessibilityServicePreferenceFragment
-com.android.settings.accessibility.ToggleAutoclickPreferenceFragment
-com.android.settings.accessibility.ToggleDaltonizerPreferenceFragment
 com.android.settings.accessibility.ToggleScreenMagnificationPreferenceFragment
 com.android.settings.accessibility.ToggleScreenMagnificationPreferenceFragmentForSetupWizard
 com.android.settings.accessibility.ToggleScreenReaderPreferenceFragmentForSetupWizard
@@ -13,33 +11,25 @@
 com.android.settings.applications.appinfo.AppInfoDashboardFragment
 com.android.settings.applications.appinfo.DrawOverlayDetails
 com.android.settings.applications.appinfo.ExternalSourcesDetails
-com.android.settings.applications.appinfo.PictureInPictureDetails
-com.android.settings.applications.appinfo.PictureInPictureSettings
 com.android.settings.applications.appinfo.WriteSettingsDetails
 com.android.settings.applications.AppLaunchSettings
 com.android.settings.applications.AppStorageSettings
 com.android.settings.applications.ConfirmConvertToFbe
 com.android.settings.applications.DirectoryAccessDetails
-com.android.settings.applications.PremiumSmsAccess
 com.android.settings.applications.ProcessStatsDetail
 com.android.settings.applications.ProcessStatsSummary
 com.android.settings.applications.ProcessStatsUi
 com.android.settings.applications.RunningServices
+com.android.settings.applications.specialaccess.pictureinpicture.PictureInPictureDetails
 com.android.settings.applications.UsageAccessDetails
-com.android.settings.applications.VrListenerSettings
 com.android.settings.backup.ToggleBackupSettingFragment
 com.android.settings.biometrics.fingerprint.FingerprintSettings$FingerprintSettingsFragment
 com.android.settings.bluetooth.BluetoothDeviceDetailsFragment
 com.android.settings.bluetooth.BluetoothPairingDetail
 com.android.settings.bluetooth.DevicePickerFragment
 com.android.settings.datausage.AppDataUsage
-com.android.settings.datausage.BillingCycleSettings
-com.android.settings.datausage.DataSaverSummary
 com.android.settings.datausage.DataUsageList
-com.android.settings.datausage.UnrestrictedDataAccess
 com.android.settings.datetime.timezone.TimeZoneSettings
-com.android.settings.development.featureflags.FeatureFlagsDashboard
-com.android.settings.development.qstile.DevelopmentTileConfigFragment
 com.android.settings.deviceinfo.PrivateVolumeSettings
 com.android.settings.deviceinfo.PublicVolumeSettings
 com.android.settings.deviceinfo.StorageProfileFragment
@@ -57,17 +47,14 @@
 com.android.settings.inputmethod.InputMethodAndSubtypeEnabler
 com.android.settings.inputmethod.KeyboardLayoutPickerFragment
 com.android.settings.inputmethod.SpellCheckersSettings
-com.android.settings.inputmethod.UserDictionaryList
 com.android.settings.localepicker.LocaleListEditor
 com.android.settings.network.ApnEditor
 com.android.settings.network.ApnSettings
 com.android.settings.notification.AppNotificationSettings
 com.android.settings.notification.ChannelGroupNotificationSettings
 com.android.settings.notification.ChannelNotificationSettings
-com.android.settings.notification.NotificationAccessSettings
 com.android.settings.notification.NotificationStation
 com.android.settings.notification.RedactionInterstitial$RedactionInterstitialFragment
-com.android.settings.notification.ZenAccessSettings
 com.android.settings.notification.ZenModeEventRuleSettings
 com.android.settings.notification.ZenModeScheduleRuleSettings
 com.android.settings.password.ChooseLockGeneric$ChooseLockGenericFragment
diff --git a/tests/robotests/assets/grandfather_not_implementing_instrumentable b/tests/robotests/assets/grandfather_not_implementing_instrumentable
index 9356218..27ab65c 100644
--- a/tests/robotests/assets/grandfather_not_implementing_instrumentable
+++ b/tests/robotests/assets/grandfather_not_implementing_instrumentable
@@ -6,3 +6,4 @@
 com.android.settings.RestrictedListPreference$RestrictedListPreferenceDialogFragment
 com.android.settings.password.ConfirmDeviceCredentialBaseFragment$LastTryDialog
 com.android.settings.password.CredentialCheckResultTracker
+com.android.settings.localepicker.LocalePickerWithRegion
diff --git a/tests/robotests/res/values/config.xml b/tests/robotests/res/values/config.xml
index 359df6c..bbf2520 100644
--- a/tests/robotests/res/values/config.xml
+++ b/tests/robotests/res/values/config.xml
@@ -16,7 +16,6 @@
 
 <resources>
     <!-- Whether or not new device intro suggestion is supported for this device -->
-    <bool name="config_new_device_intro_suggestion_supported">true</bool>
     <bool name="config_enableColorTemperature">true</bool>
     <bool name="config_show_camera_laser_sensor">true</bool>
     <bool name="config_show_connectivity_monitor">true</bool>
diff --git a/tests/robotests/src/com/android/settings/HelpTrampolineTest.java b/tests/robotests/src/com/android/settings/HelpTrampolineTest.java
index 23639ff..46a1382 100644
--- a/tests/robotests/src/com/android/settings/HelpTrampolineTest.java
+++ b/tests/robotests/src/com/android/settings/HelpTrampolineTest.java
@@ -17,7 +17,6 @@
 package com.android.settings;
 
 import static com.google.common.truth.Truth.assertThat;
-import static org.robolectric.Shadows.shadowOf;
 
 import android.content.Intent;
 
@@ -29,6 +28,7 @@
 import org.junit.runner.RunWith;
 import org.robolectric.Robolectric;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.Shadows;
 import org.robolectric.annotation.Config;
 import org.robolectric.shadows.ShadowActivity;
 
@@ -56,8 +56,8 @@
         final Intent intent = new Intent().setClassName(
                 RuntimeEnvironment.application.getPackageName(), HelpTrampoline.class.getName())
                 .putExtra(Intent.EXTRA_TEXT, "help_url_upgrading");
-        final ShadowActivity shadow =
-            shadowOf(Robolectric.buildActivity(HelpTrampoline.class, intent).create().get());
+        final ShadowActivity shadow = Shadows.
+                shadowOf(Robolectric.buildActivity(HelpTrampoline.class, intent).create().get());
         final Intent launchedIntent = shadow.getNextStartedActivity();
 
         assertThat(ShadowHelpUtils.isGetHelpIntentCalled()).isTrue();
diff --git a/tests/robotests/src/com/android/settings/MasterClearTest.java b/tests/robotests/src/com/android/settings/MasterClearTest.java
index 64dab16..c7f366e 100644
--- a/tests/robotests/src/com/android/settings/MasterClearTest.java
+++ b/tests/robotests/src/com/android/settings/MasterClearTest.java
@@ -28,7 +28,6 @@
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
-import static org.robolectric.Shadows.shadowOf;
 
 import android.accounts.Account;
 import android.accounts.AccountManager;
@@ -49,6 +48,7 @@
 import android.widget.LinearLayout;
 import android.widget.ScrollView;
 
+import com.android.settings.testutils.Robolectric;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 import com.android.settings.testutils.shadow.ShadowUtils;
 
@@ -58,10 +58,12 @@
 import org.mockito.ArgumentCaptor;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
-import org.robolectric.Robolectric;
+import org.robolectric.Shadows;
 import org.robolectric.annotation.Config;
 import org.robolectric.shadows.ShadowActivity;
 
+import androidx.fragment.app.FragmentActivity;
+
 @RunWith(SettingsRobolectricTestRunner.class)
 @Config(shadows = ShadowUtils.class)
 public class MasterClearTest {
@@ -83,22 +85,22 @@
     private AccountManager mAccountManager;
 
     @Mock
-    private Activity mMockActivity;
+    private FragmentActivity mMockActivity;
 
     @Mock
     private Intent mMockIntent;
 
     private MasterClear mMasterClear;
     private ShadowActivity mShadowActivity;
-    private Activity mActivity;
+    private FragmentActivity mActivity;
     private View mContentView;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         mMasterClear = spy(new MasterClear());
-        mActivity = Robolectric.setupActivity(Activity.class);
-        mShadowActivity = shadowOf(mActivity);
+        mActivity = Robolectric.setupActivity(FragmentActivity.class);
+        mShadowActivity = Shadows.shadowOf(mActivity);
         mContentView = LayoutInflater.from(mActivity).inflate(R.layout.master_clear, null);
 
         // Make scrollView only have one child
diff --git a/tests/robotests/src/com/android/settings/RestrictedListPreferenceTest.java b/tests/robotests/src/com/android/settings/RestrictedListPreferenceTest.java
index 6386701..e4e9710 100644
--- a/tests/robotests/src/com/android/settings/RestrictedListPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/RestrictedListPreferenceTest.java
@@ -21,7 +21,6 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 import static org.robolectric.RuntimeEnvironment.application;
-import static org.robolectric.Shadows.shadowOf;
 
 import android.app.KeyguardManager;
 import android.content.Intent;
@@ -80,7 +79,7 @@
         // Make sure that the performClick method on the helper is never reached.
         verify(mMockHelper, never()).performClick();
         // Assert that a CONFIRM_DEVICE_CREDENTIAL intent has been started.
-        Intent started = shadowOf(application).getNextStartedActivity();
+        Intent started = Shadows.shadowOf(application).getNextStartedActivity();
         assertThat(started.getExtras().getInt(Intent.EXTRA_USER_ID)).isEqualTo(PROFILE_USER_ID);
         assertThat(started.getAction())
                 .isEqualTo(KeyguardManager.ACTION_CONFIRM_DEVICE_CREDENTIAL_WITH_USER);
@@ -95,7 +94,7 @@
         // Make sure that the performClick method on the helper is never reached.
         verify(mMockHelper, never()).performClick();
         // Assert that a new intent for enabling the work profile is started.
-        Intent started = shadowOf(application).getNextStartedActivity();
+        Intent started = Shadows.shadowOf(application).getNextStartedActivity();
         Bundle extras = started.getExtras();
         int reason = extras.getInt(EXTRA_UNLAUNCHABLE_REASON);
         assertThat(reason).isEqualTo(UNLAUNCHABLE_REASON_QUIET_MODE);
diff --git a/tests/robotests/src/com/android/settings/SettingsActivityTest.java b/tests/robotests/src/com/android/settings/SettingsActivityTest.java
index 254d0ae..1966467 100644
--- a/tests/robotests/src/com/android/settings/SettingsActivityTest.java
+++ b/tests/robotests/src/com/android/settings/SettingsActivityTest.java
@@ -24,8 +24,6 @@
 import static org.mockito.Mockito.when;
 
 import android.app.ActivityManager;
-import android.app.FragmentManager;
-import android.app.FragmentTransaction;
 import android.content.Intent;
 
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
@@ -37,6 +35,9 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RuntimeEnvironment;
 
+import androidx.fragment.app.FragmentManager;
+import androidx.fragment.app.FragmentTransaction;
+
 @RunWith(SettingsRobolectricTestRunner.class)
 public class SettingsActivityTest {
 
@@ -55,7 +56,7 @@
 
     @Test
     public void launchSettingFragment_nullExtraShowFragment_shouldNotCrash() {
-        when(mActivity.getFragmentManager()).thenReturn(mFragmentManager);
+        when(mActivity.getSupportFragmentManager()).thenReturn(mFragmentManager);
         when(mFragmentManager.beginTransaction()).thenReturn(mock(FragmentTransaction.class));
 
         doReturn(RuntimeEnvironment.application.getClassLoader()).when(mActivity).getClassLoader();
diff --git a/tests/robotests/src/com/android/settings/SettingsDialogFragmentTest.java b/tests/robotests/src/com/android/settings/SettingsDialogFragmentTest.java
index c9fd59a..f9409f4 100644
--- a/tests/robotests/src/com/android/settings/SettingsDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/SettingsDialogFragmentTest.java
@@ -21,7 +21,6 @@
 import static org.mockito.Mockito.when;
 
 import android.app.Dialog;
-import android.app.Fragment;
 
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 
@@ -32,6 +31,8 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RuntimeEnvironment;
 
+import androidx.fragment.app.Fragment;
+
 @RunWith(SettingsRobolectricTestRunner.class)
 public class SettingsDialogFragmentTest {
 
diff --git a/tests/robotests/src/com/android/settings/SettingsLicenseActivityTest.java b/tests/robotests/src/com/android/settings/SettingsLicenseActivityTest.java
index 0e1384d..3b3a287 100644
--- a/tests/robotests/src/com/android/settings/SettingsLicenseActivityTest.java
+++ b/tests/robotests/src/com/android/settings/SettingsLicenseActivityTest.java
@@ -21,7 +21,6 @@
 import static org.mockito.Matchers.anyInt;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.spy;
-import static org.robolectric.Shadows.shadowOf;
 
 import android.app.Application;
 import android.content.Intent;
@@ -31,11 +30,13 @@
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.Robolectric;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.Shadows;
 import org.robolectric.android.controller.ActivityController;
 
 import java.io.File;
@@ -79,10 +80,11 @@
         intent.addCategory(Intent.CATEGORY_DEFAULT);
         intent.setPackage("com.android.htmlviewer");
 
-        assertEqualIntents(shadowOf(mApplication).getNextStartedActivity(), intent);
+        assertEqualIntents(Shadows.shadowOf(mApplication).getNextStartedActivity(), intent);
     }
 
     @Test
+    @Ignore("b/111194177")
     public void testOnCreateWithGeneratedHtmlFile() {
         doReturn(null).when(mActivity).onCreateLoader(anyInt(), any());
         doReturn(Uri.parse("content://com.android.settings.files/my_cache/generated_test.html"))
@@ -101,6 +103,6 @@
         intent.addCategory(Intent.CATEGORY_DEFAULT);
         intent.setPackage("com.android.htmlviewer");
 
-        assertEqualIntents(shadowOf(mApplication).getNextStartedActivity(), intent);
+        assertEqualIntents(Shadows.shadowOf(mApplication).getNextStartedActivity(), intent);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/SettingsPreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/SettingsPreferenceFragmentTest.java
index e84c373..1316545 100644
--- a/tests/robotests/src/com/android/settings/SettingsPreferenceFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/SettingsPreferenceFragmentTest.java
@@ -41,6 +41,7 @@
 import org.robolectric.annotation.Config;
 import org.robolectric.util.ReflectionHelpers;
 
+import androidx.fragment.app.FragmentActivity;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceManager;
@@ -52,7 +53,7 @@
     private static final int ITEM_COUNT = 5;
 
     @Mock
-    private Activity mActivity;
+    private FragmentActivity mActivity;
     @Mock
     private View mListContainer;
     @Mock
diff --git a/tests/robotests/src/com/android/settings/accessibility/ColorInversionPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/ColorInversionPreferenceControllerTest.java
index 880cb9f..ef67f65 100644
--- a/tests/robotests/src/com/android/settings/accessibility/ColorInversionPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/ColorInversionPreferenceControllerTest.java
@@ -18,7 +18,6 @@
 
 import static com.android.settings.accessibility.ColorInversionPreferenceController.OFF;
 import static com.android.settings.accessibility.ColorInversionPreferenceController.ON;
-
 import static com.google.common.truth.Truth.assertThat;
 
 import android.content.Context;
diff --git a/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java
index 5b69029..eb63d9c 100644
--- a/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java
@@ -29,11 +29,11 @@
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 import com.android.settings.testutils.shadow.SettingsShadowResources;
 import com.android.settings.widget.SwitchBar;
+import com.android.settingslib.testutils.FragmentTestUtils;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.annotation.Config;
-import org.robolectric.util.FragmentTestUtil;
 
 import androidx.annotation.XmlRes;
 
@@ -46,7 +46,7 @@
     @Test
     public void createFragment_shouldOnlyAddPreferencesOnce() {
         mFragment = spy(new ToggleFeaturePreferenceFragmentTestable());
-        FragmentTestUtil.startFragment(mFragment);
+        FragmentTestUtils.startFragment(mFragment);
 
         // execute exactly once
         verify(mFragment).addPreferencesFromResource(R.xml.placeholder_prefs);
@@ -56,7 +56,8 @@
             extends ToggleFeaturePreferenceFragment {
 
         @Override
-        protected void onPreferenceToggled(String preferenceKey, boolean enabled) {}
+        protected void onPreferenceToggled(String preferenceKey, boolean enabled) {
+        }
 
         @Override
         public int getMetricsCategory() {
diff --git a/tests/robotests/src/com/android/settings/accounts/AccountDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/accounts/AccountDashboardFragmentTest.java
index 1754aeb..afbf532 100644
--- a/tests/robotests/src/com/android/settings/accounts/AccountDashboardFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accounts/AccountDashboardFragmentTest.java
@@ -23,7 +23,6 @@
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 
-import android.app.Activity;
 import android.content.Context;
 import android.os.UserHandle;
 import android.provider.SearchIndexableResource;
@@ -31,6 +30,7 @@
 
 import com.android.settings.R;
 import com.android.settings.dashboard.SummaryLoader;
+import com.android.settings.testutils.Robolectric;
 import com.android.settingslib.accounts.AuthenticatorHelper;
 import com.android.settingslib.drawer.CategoryKey;
 
@@ -38,7 +38,6 @@
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
@@ -48,6 +47,8 @@
 
 import java.util.List;
 
+import androidx.fragment.app.FragmentActivity;
+
 @RunWith(RobolectricTestRunner.class)
 public class AccountDashboardFragmentTest {
 
@@ -74,7 +75,8 @@
     })
     public void updateSummary_hasAccount_shouldDisplayUpTo3AccountTypes() {
         final SummaryLoader loader = mock(SummaryLoader.class);
-        final Activity activity = Robolectric.buildActivity(Activity.class).setup().get();
+        final FragmentActivity activity = Robolectric.buildActivity(
+                FragmentActivity.class).setup().get();
 
         final SummaryLoader.SummaryProvider provider =
                 AccountDashboardFragment.SUMMARY_PROVIDER_FACTORY.createSummaryProvider(activity,
@@ -89,7 +91,7 @@
     public void updateSummary_noAccount_shouldDisplayDefaultSummary() {
         ShadowAuthenticationHelper.setEnabledAccount(null);
         final SummaryLoader loader = mock(SummaryLoader.class);
-        final Activity activity = Robolectric.buildActivity(Activity.class).setup().get();
+        final FragmentActivity activity = Robolectric.buildActivity(FragmentActivity.class).setup().get();
 
         final SummaryLoader.SummaryProvider provider =
                 AccountDashboardFragment.SUMMARY_PROVIDER_FACTORY.createSummaryProvider(activity,
@@ -104,7 +106,7 @@
     @Config(shadows = ShadowAuthenticationHelper.class)
     public void updateSummary_noAccountTypeLabel_shouldNotDisplayNullEntry() {
         final SummaryLoader loader = mock(SummaryLoader.class);
-        final Activity activity = Robolectric.buildActivity(Activity.class).setup().get();
+        final FragmentActivity activity = Robolectric.buildActivity(FragmentActivity.class).setup().get();
         final String[] enabledAccounts = {TYPES[0], "unlabeled_account_type", TYPES[1]};
         ShadowAuthenticationHelper.setEnabledAccount(enabledAccounts);
 
diff --git a/tests/robotests/src/com/android/settings/accounts/AccountDetailDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/accounts/AccountDetailDashboardFragmentTest.java
index 5295685..36b6b80 100644
--- a/tests/robotests/src/com/android/settings/accounts/AccountDetailDashboardFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accounts/AccountDetailDashboardFragmentTest.java
@@ -20,7 +20,6 @@
 import static org.mockito.Matchers.anyInt;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
-import static org.robolectric.Shadows.shadowOf;
 
 import android.accounts.Account;
 import android.app.Activity;
@@ -42,6 +41,7 @@
 import org.junit.runner.RunWith;
 import org.robolectric.Robolectric;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.Shadows;
 import org.robolectric.util.ReflectionHelpers;
 
 import androidx.preference.Preference;
@@ -134,7 +134,7 @@
 
         preference.performClick();
 
-        final Intent intent = shadowOf(activity).getNextStartedActivityForResult().intent;
+        final Intent intent = Shadows.shadowOf(activity).getNextStartedActivityForResult().intent;
 
         assertThat(intent.getStringExtra("extra.accountName")).isEqualTo("name1@abc.com");
     }
diff --git a/tests/robotests/src/com/android/settings/accounts/AccountHeaderPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accounts/AccountHeaderPreferenceControllerTest.java
index 5567db1..feb2b56 100644
--- a/tests/robotests/src/com/android/settings/accounts/AccountHeaderPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accounts/AccountHeaderPreferenceControllerTest.java
@@ -46,7 +46,7 @@
 import org.robolectric.annotation.Implements;
 
 import androidx.lifecycle.LifecycleOwner;
-import androidx.preference.PreferenceFragment;
+import androidx.preference.PreferenceFragmentCompat;
 import androidx.preference.PreferenceScreen;
 
 @RunWith(SettingsRobolectricTestRunner.class)
@@ -56,7 +56,7 @@
     @Mock
     private Activity mActivity;
     @Mock
-    private PreferenceFragment mFragment;
+    private PreferenceFragmentCompat mFragment;
     @Mock
     private PreferenceScreen mScreen;
 
diff --git a/tests/robotests/src/com/android/settings/accounts/AccountSyncSettingsTest.java b/tests/robotests/src/com/android/settings/accounts/AccountSyncSettingsTest.java
index 38f9830..ea646e3 100644
--- a/tests/robotests/src/com/android/settings/accounts/AccountSyncSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/accounts/AccountSyncSettingsTest.java
@@ -20,7 +20,6 @@
 import static org.mockito.Mockito.when;
 
 import android.accounts.Account;
-import android.app.Activity;
 import android.content.Context;
 import android.os.UserHandle;
 
@@ -34,6 +33,8 @@
 import org.robolectric.annotation.Config;
 import org.robolectric.util.ReflectionHelpers;
 
+import androidx.fragment.app.FragmentActivity;
+
 @RunWith(SettingsRobolectricTestRunner.class)
 @Config(shadows = {ShadowContentResolver.class})
 public class AccountSyncSettingsTest {
@@ -47,7 +48,7 @@
     public void onPreferenceTreeClick_nullAuthority_shouldNotCrash() {
         final Context context = RuntimeEnvironment.application;
         final AccountSyncSettings settings = spy(new AccountSyncSettings());
-        when(settings.getActivity()).thenReturn(mock(Activity.class));
+        when(settings.getActivity()).thenReturn(mock(FragmentActivity.class));
         final SyncStateSwitchPreference preference = new SyncStateSwitchPreference(context,
                 new Account("acct1", "type1"), "" /* authority */, "testPackage", 1 /* uid */);
         preference.setOneTimeSyncMode(false);
diff --git a/tests/robotests/src/com/android/settings/accounts/AccountTypePreferenceLoaderTest.java b/tests/robotests/src/com/android/settings/accounts/AccountTypePreferenceLoaderTest.java
index 4a37821..f5a0127 100644
--- a/tests/robotests/src/com/android/settings/accounts/AccountTypePreferenceLoaderTest.java
+++ b/tests/robotests/src/com/android/settings/accounts/AccountTypePreferenceLoaderTest.java
@@ -45,7 +45,7 @@
 import org.robolectric.shadows.ShadowApplication;
 
 import androidx.preference.Preference;
-import androidx.preference.PreferenceFragment;
+import androidx.preference.PreferenceFragmentCompat;
 import androidx.preference.PreferenceGroup;
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
@@ -56,7 +56,7 @@
     @Mock(answer = RETURNS_DEEP_STUBS)
     private AccountManager mAccountManager;
     @Mock(answer = RETURNS_DEEP_STUBS)
-    private PreferenceFragment mPreferenceFragment;
+    private PreferenceFragmentCompat mPreferenceFragment;
     @Mock
     private PackageManager mPackageManager;
 
diff --git a/tests/robotests/src/com/android/settings/accounts/ChooseAccountPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accounts/ChooseAccountPreferenceControllerTest.java
index 67e01f8..a8227ec 100644
--- a/tests/robotests/src/com/android/settings/accounts/ChooseAccountPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accounts/ChooseAccountPreferenceControllerTest.java
@@ -46,6 +46,7 @@
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
 
+import androidx.fragment.app.FragmentActivity;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
@@ -66,7 +67,7 @@
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
         mController = spy(new ChooseAccountPreferenceController(mContext, "controller_key"));
-        mActivity = Robolectric.setupActivity(Activity.class);
+        mActivity = Robolectric.setupActivity(FragmentActivity.class);
         mPreferenceManager = new PreferenceManager(mContext);
         mPreferenceScreen = mPreferenceManager.createPreferenceScreen(mContext);
     }
diff --git a/tests/robotests/src/com/android/settings/accounts/EnterpriseDisclosurePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accounts/EnterpriseDisclosurePreferenceControllerTest.java
index ce9923b..3147625 100644
--- a/tests/robotests/src/com/android/settings/accounts/EnterpriseDisclosurePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accounts/EnterpriseDisclosurePreferenceControllerTest.java
@@ -24,7 +24,7 @@
 
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
-import com.android.settingslib.widget.FooterPreferenceMixin;
+import com.android.settingslib.widget.FooterPreferenceMixinCompat;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -43,7 +43,7 @@
     private ChooseAccountFragment mFragment;
     private Context mContext;
     private EnterpriseDisclosurePreferenceController mController;
-    private FooterPreferenceMixin mFooterPreferenceMixin;
+    private FooterPreferenceMixinCompat mFooterPreferenceMixin;
     private PreferenceManager mPreferenceManager;
     private PreferenceScreen mPreferenceScreen;
 
@@ -54,7 +54,8 @@
         mContext = RuntimeEnvironment.application;
         mController = spy(new EnterpriseDisclosurePreferenceController(mContext));
         mFragment = spy(new ChooseAccountFragment());
-        mFooterPreferenceMixin = new FooterPreferenceMixin(mFragment, mFragment.getLifecycle());
+        mFooterPreferenceMixin = new FooterPreferenceMixinCompat(mFragment,
+                mFragment.getSettingsLifecycle());
         mPreferenceManager = new PreferenceManager(mContext);
         mPreferenceScreen = mPreferenceManager.createPreferenceScreen(mContext);
     }
diff --git a/tests/robotests/src/com/android/settings/accounts/RemoveAccountPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accounts/RemoveAccountPreferenceControllerTest.java
index 311fead..decac8a 100644
--- a/tests/robotests/src/com/android/settings/accounts/RemoveAccountPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accounts/RemoveAccountPreferenceControllerTest.java
@@ -30,8 +30,6 @@
 import android.accounts.AccountManagerCallback;
 import android.accounts.AuthenticatorDescription;
 import android.app.Activity;
-import android.app.FragmentManager;
-import android.app.FragmentTransaction;
 import android.content.ComponentName;
 import android.content.Context;
 import android.os.Bundle;
@@ -60,7 +58,10 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import androidx.preference.PreferenceFragment;
+import androidx.fragment.app.FragmentActivity;
+import androidx.fragment.app.FragmentManager;
+import androidx.fragment.app.FragmentTransaction;
+import androidx.preference.PreferenceFragmentCompat;
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
 
@@ -77,7 +78,7 @@
     @Mock(answer = RETURNS_DEEP_STUBS)
     private AccountManager mAccountManager;
     @Mock
-    private PreferenceFragment mFragment;
+    private PreferenceFragmentCompat mFragment;
     @Mock
     private PreferenceManager mPreferenceManager;
     @Mock
@@ -158,7 +159,7 @@
     @Config(shadows = {ShadowAccountManager.class, ShadowContentResolver.class})
     public void confirmRemove_shouldRemoveAccount() {
         when(mFragment.isAdded()).thenReturn(true);
-        Activity activity = mock(Activity.class);
+        FragmentActivity activity = mock(FragmentActivity.class);
         when(activity.getSystemService(Context.ACCOUNT_SERVICE)).thenReturn(mAccountManager);
         when(mFragment.getActivity()).thenReturn(activity);
 
diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/AppBatteryPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/AppBatteryPreferenceControllerTest.java
index 3073ee3..d9465bd 100644
--- a/tests/robotests/src/com/android/settings/applications/appinfo/AppBatteryPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/appinfo/AppBatteryPreferenceControllerTest.java
@@ -26,7 +26,6 @@
 import static org.mockito.Mockito.when;
 
 import android.app.AppOpsManager;
-import android.app.LoaderManager;
 import android.content.Context;
 import android.content.pm.PackageManager;
 import android.content.pm.PackageManager.NameNotFoundException;
@@ -51,6 +50,7 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import androidx.loader.app.LoaderManager;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/AppButtonsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/AppButtonsPreferenceControllerTest.java
index cb2f3a0..de2479a 100644
--- a/tests/robotests/src/com/android/settings/applications/appinfo/AppButtonsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/appinfo/AppButtonsPreferenceControllerTest.java
@@ -33,7 +33,6 @@
 
 import android.app.ActivityManager;
 import android.app.Application;
-import android.app.Fragment;
 import android.app.admin.DevicePolicyManager;
 import android.content.Context;
 import android.content.Intent;
@@ -63,6 +62,8 @@
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.util.ReflectionHelpers;
 
+import androidx.fragment.app.Fragment;
+
 @RunWith(RobolectricTestRunner.class)
 public class AppButtonsPreferenceControllerTest {
 
diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/AppDataUsagePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/AppDataUsagePreferenceControllerTest.java
index 91d76ac..ae9e429 100644
--- a/tests/robotests/src/com/android/settings/applications/appinfo/AppDataUsagePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/appinfo/AppDataUsagePreferenceControllerTest.java
@@ -27,7 +27,6 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.LoaderManager;
 import android.content.Context;
 import android.content.pm.ApplicationInfo;
 import android.net.ConnectivityManager;
@@ -47,6 +46,7 @@
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.util.ReflectionHelpers;
 
+import androidx.loader.app.LoaderManager;
 import androidx.preference.Preference;
 
 @RunWith(SettingsRobolectricTestRunner.class)
diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/AppHeaderViewPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/AppHeaderViewPreferenceControllerTest.java
index 6f36879..944b4b1 100644
--- a/tests/robotests/src/com/android/settings/applications/appinfo/AppHeaderViewPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/appinfo/AppHeaderViewPreferenceControllerTest.java
@@ -27,7 +27,6 @@
 import static org.mockito.Mockito.when;
 
 import android.app.ActionBar;
-import android.app.Activity;
 import android.content.Context;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageInfo;
@@ -50,6 +49,7 @@
 import org.robolectric.Robolectric;
 import org.robolectric.RuntimeEnvironment;
 
+import androidx.fragment.app.FragmentActivity;
 import androidx.lifecycle.LifecycleOwner;
 import androidx.preference.PreferenceScreen;
 
@@ -65,7 +65,7 @@
     private LayoutPreference mPreference;
 
     private Context mContext;
-    private Activity mActivity;
+    private FragmentActivity mActivity;
     private LifecycleOwner mLifecycleOwner;
     private Lifecycle mLifecycle;
     private View mHeader;
@@ -75,7 +75,7 @@
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
-        mActivity = spy(Robolectric.buildActivity(Activity.class).get());
+        mActivity = spy(Robolectric.buildActivity(FragmentActivity.class).get());
         mLifecycleOwner = () -> mLifecycle;
         mLifecycle = new Lifecycle(mLifecycleOwner);
         mHeader = LayoutInflater.from(mContext).inflate(R.layout.settings_entity_header, null);
diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/AppInfoDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/AppInfoDashboardFragmentTest.java
index eb478f6..36bdeb7 100644
--- a/tests/robotests/src/com/android/settings/applications/appinfo/AppInfoDashboardFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/applications/appinfo/AppInfoDashboardFragmentTest.java
@@ -290,7 +290,6 @@
         final Context context = mock(Context.class);
         doReturn(context).when(mFragment).getContext();
         ReflectionHelpers.setField(mFragment, "mLifecycle", mock(Lifecycle.class));
-        ReflectionHelpers.setField(mFragment, "mCheckedForLoaderManager", true);
         mFragment.startListeningToPackageRemove();
 
         mFragment.onDestroy();
diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/AppNotificationPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/AppNotificationPreferenceControllerTest.java
index 6fdf894..cd335ea 100644
--- a/tests/robotests/src/com/android/settings/applications/appinfo/AppNotificationPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/appinfo/AppNotificationPreferenceControllerTest.java
@@ -24,7 +24,6 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.Activity;
 import android.app.usage.IUsageStatsManager;
 import android.content.Context;
 import android.content.Intent;
@@ -43,6 +42,7 @@
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.util.ReflectionHelpers;
 
+import androidx.fragment.app.FragmentActivity;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
@@ -97,7 +97,7 @@
 
     @Test
     public void getArguments_containsChannelId() {
-        Activity activity = mock(Activity.class);
+        FragmentActivity activity = mock(FragmentActivity.class);
         Intent intent = new Intent();
         intent.putExtra(EXTRA_FRAGMENT_ARG_KEY, "test");
         when(mFragment.getActivity()).thenReturn(activity);
diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/AppSettingPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/AppSettingPreferenceControllerTest.java
index 1c5863c..99bfe32 100644
--- a/tests/robotests/src/com/android/settings/applications/appinfo/AppSettingPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/appinfo/AppSettingPreferenceControllerTest.java
@@ -17,7 +17,6 @@
 package com.android.settings.applications.appinfo;
 
 import static com.google.common.truth.Truth.assertThat;
-import static org.robolectric.Shadows.shadowOf;
 
 import android.app.Application;
 import android.content.Intent;
@@ -32,6 +31,7 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.Shadows;
 import org.robolectric.shadows.ShadowPackageManager;
 
 import androidx.preference.Preference;
@@ -59,7 +59,7 @@
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         mApplication = RuntimeEnvironment.application;
-        mPackageManager = shadowOf(mApplication.getPackageManager());
+        mPackageManager = Shadows.shadowOf(mApplication.getPackageManager());
         mController = new AppSettingPreferenceController(mApplication, "test_key");
         mController.setPackageName(TEST_PKG_NAME).setParentFragment(mParent);
         mPreference = new Preference(mApplication);
@@ -108,7 +108,7 @@
         mPackageManager.addResolveInfoForIntent(RESOLVED_INTENT, info);
 
         assertThat(mController.handlePreferenceTreeClick(mPreference)).isTrue();
-        assertThat(shadowOf(mApplication).getNextStartedActivity().getComponent())
+        assertThat(Shadows.shadowOf(mApplication).getNextStartedActivity().getComponent())
                 .isEqualTo(TEST_INTENT.getComponent());
     }
 }
diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/AppStoragePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/AppStoragePreferenceControllerTest.java
index 76aa9a9..3cb48b6 100644
--- a/tests/robotests/src/com/android/settings/applications/appinfo/AppStoragePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/appinfo/AppStoragePreferenceControllerTest.java
@@ -24,7 +24,6 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.LoaderManager;
 import android.content.Context;
 import android.content.pm.ApplicationInfo;
 import android.os.Bundle;
@@ -41,6 +40,7 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RuntimeEnvironment;
 
+import androidx.loader.app.LoaderManager;
 import androidx.preference.Preference;
 
 @RunWith(SettingsRobolectricTestRunner.class)
diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/ButtonActionDialogFragmentTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/ButtonActionDialogFragmentTest.java
index ae6ba1d..98bfcd5 100644
--- a/tests/robotests/src/com/android/settings/applications/appinfo/ButtonActionDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/applications/appinfo/ButtonActionDialogFragmentTest.java
@@ -20,15 +20,14 @@
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
-import static org.robolectric.Shadows.shadowOf;
 
 import android.app.AlertDialog;
-import android.app.Fragment;
 import android.content.Context;
 import android.content.DialogInterface;
 
 import com.android.settings.R;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
+import com.android.settingslib.testutils.FragmentTestUtils;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -36,9 +35,11 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.Shadows;
 import org.robolectric.shadows.ShadowAlertDialog;
 import org.robolectric.shadows.ShadowDialog;
-import org.robolectric.util.FragmentTestUtil;
+
+import androidx.fragment.app.Fragment;
 
 @RunWith(SettingsRobolectricTestRunner.class)
 public class ButtonActionDialogFragmentTest {
@@ -73,11 +74,11 @@
     public void testOnCreateDialog_forceStopDialog() {
         ButtonActionDialogFragment fragment = ButtonActionDialogFragment.newInstance(FORCE_STOP_ID);
 
-        FragmentTestUtil.startFragment(fragment);
+        FragmentTestUtils.startFragment(fragment);
 
         final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog();
         assertThat(dialog).isNotNull();
-        ShadowAlertDialog shadowDialog = shadowOf(dialog);
+        ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog);
 
         assertThat(shadowDialog.getMessage()).isEqualTo(
                 mShadowContext.getString(R.string.force_stop_dlg_text));
@@ -93,11 +94,11 @@
     public void testOnCreateDialog_disableDialog() {
         ButtonActionDialogFragment fragment = ButtonActionDialogFragment.newInstance(DISABLE_ID);
 
-        FragmentTestUtil.startFragment(fragment);
+        FragmentTestUtils.startFragment(fragment);
 
         final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog();
         assertThat(dialog).isNotNull();
-        ShadowAlertDialog shadowDialog = shadowOf(dialog);
+        ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog);
 
         assertThat(shadowDialog.getMessage()).isEqualTo(
                 mShadowContext.getString(R.string.app_disable_dlg_text));
@@ -112,11 +113,11 @@
         ButtonActionDialogFragment fragment =
             ButtonActionDialogFragment.newInstance(SPECIAL_DISABLE_ID);
 
-        FragmentTestUtil.startFragment(fragment);
+        FragmentTestUtils.startFragment(fragment);
 
         final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog();
         assertThat(dialog).isNotNull();
-        ShadowAlertDialog shadowDialog = shadowOf(dialog);
+        ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog);
 
         assertThat(shadowDialog.getMessage()).isEqualTo(
                 mShadowContext.getString(R.string.app_disable_dlg_text));
diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/DrawOverlayDetailsTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/DrawOverlayDetailsTest.java
index 6f134ae..cbc4d00 100644
--- a/tests/robotests/src/com/android/settings/applications/appinfo/DrawOverlayDetailsTest.java
+++ b/tests/robotests/src/com/android/settings/applications/appinfo/DrawOverlayDetailsTest.java
@@ -44,11 +44,13 @@
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
 
+import androidx.fragment.app.FragmentActivity;
+
 @RunWith(SettingsRobolectricTestRunner.class)
 public class DrawOverlayDetailsTest {
 
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
-    private Activity mActivity;
+    private FragmentActivity mActivity;
 
     @Mock
     private Window mWindow;
diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/InstantAppButtonDialogFragmentTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/InstantAppButtonDialogFragmentTest.java
index 7b1989b..1281b74 100644
--- a/tests/robotests/src/com/android/settings/applications/appinfo/InstantAppButtonDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/applications/appinfo/InstantAppButtonDialogFragmentTest.java
@@ -24,7 +24,6 @@
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
-import static org.robolectric.Shadows.shadowOf;
 
 import android.app.AlertDialog;
 import android.content.Context;
@@ -33,14 +32,15 @@
 
 import com.android.settings.R;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
+import com.android.settingslib.testutils.FragmentTestUtils;
 
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.Shadows;
 import org.robolectric.shadows.ShadowAlertDialog;
 import org.robolectric.shadows.ShadowDialog;
-import org.robolectric.util.FragmentTestUtil;
 
 @RunWith(SettingsRobolectricTestRunner.class)
 public class InstantAppButtonDialogFragmentTest {
@@ -61,7 +61,7 @@
     public void onClick_shouldDeleteApp() {
         final PackageManager packageManager = mock(PackageManager.class);
         when(mContext.getPackageManager()).thenReturn(packageManager);
-        FragmentTestUtil.startFragment(mFragment);
+        FragmentTestUtils.startFragment(mFragment);
 
         mFragment.onClick(null /* dialog */, 0  /* which */);
 
@@ -71,11 +71,11 @@
 
     @Test
     public void onCreateDialog_clearAppDialog_shouldShowClearAppDataConfirmation() {
-        FragmentTestUtil.startFragment(mFragment);
+        FragmentTestUtils.startFragment(mFragment);
 
         final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog();
         assertThat(dialog).isNotNull();
-        final ShadowAlertDialog shadowDialog = shadowOf(dialog);
+        final ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog);
 
         assertThat(shadowDialog.getMessage()).isEqualTo(
                 mContext.getString(R.string.clear_instant_app_confirmation));
diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/InstantAppButtonsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/InstantAppButtonsPreferenceControllerTest.java
index 98e436e..45fee32 100644
--- a/tests/robotests/src/com/android/settings/applications/appinfo/InstantAppButtonsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/appinfo/InstantAppButtonsPreferenceControllerTest.java
@@ -27,8 +27,6 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.FragmentManager;
-import android.app.FragmentTransaction;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
@@ -58,6 +56,8 @@
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.util.ReflectionHelpers;
 
+import androidx.fragment.app.FragmentManager;
+import androidx.fragment.app.FragmentTransaction;
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
 
diff --git a/tests/robotests/src/com/android/settings/applications/assist/DefaultAssistPickerTest.java b/tests/robotests/src/com/android/settings/applications/assist/DefaultAssistPickerTest.java
index 0ccba4d..8fcb316 100644
--- a/tests/robotests/src/com/android/settings/applications/assist/DefaultAssistPickerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/assist/DefaultAssistPickerTest.java
@@ -20,6 +20,7 @@
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.spy;
 
+import android.app.ActivityManager;
 import android.content.ComponentName;
 import android.content.Context;
 import android.provider.Settings;
@@ -31,6 +32,8 @@
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.shadow.api.Shadow;
+import org.robolectric.shadows.ShadowActivityManager;
 import org.robolectric.util.ReflectionHelpers;
 
 import java.util.ArrayList;
@@ -48,10 +51,12 @@
 
     private Context mContext;
     private DefaultAssistPicker mPicker;
+    private ShadowActivityManager mShadowActivityManager;
 
     @Before
     public void setUp() {
         mContext = RuntimeEnvironment.application;
+        mShadowActivityManager = Shadow.extract(mContext.getSystemService(ActivityManager.class));
         mPicker = spy(new DefaultAssistPicker());
         mPicker.onAttach(mContext);
         doReturn(mContext).when(mPicker).getContext();
@@ -71,7 +76,7 @@
     }
 
     @Test
-    public void setDefaultAppKey_noAvaialbleAssit_shouldClearDefaultAssist() {
+    public void setDefaultAppKey_noAvailableAssist_shouldClearDefaultAssist() {
         final List<DefaultAssistPicker.Info> assistants = new ArrayList<>();
         ReflectionHelpers.setField(mPicker, "mAvailableAssistants", assistants);
         mPicker.setDefaultKey(sTestAssist.flattenToString());
@@ -94,4 +99,12 @@
                 .isEmpty();
         assertThat(mPicker.getDefaultKey()).isNull();
     }
+
+    @Test
+    public void addAssistService_lowRamDevice_shouldDoNothing() {
+        mShadowActivityManager.setIsLowRamDevice(true);
+        mPicker.addAssistServices();
+
+        assertThat(mPicker.mAvailableAssistants).hasSize(0);
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragmentTest.java b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragmentTest.java
index ea49d07..57d2bcd 100644
--- a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragmentTest.java
@@ -45,13 +45,14 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import androidx.fragment.app.FragmentActivity;
 import androidx.preference.PreferenceScreen;
 
 @RunWith(SettingsRobolectricTestRunner.class)
 public class DefaultAppPickerFragmentTest {
 
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
-    private Activity mActivity;
+    private FragmentActivity mActivity;
     @Mock
     private PreferenceScreen mScreen;
     @Mock
diff --git a/tests/robotests/src/com/android/settings/applications/manageapplications/ManageApplicationsTest.java b/tests/robotests/src/com/android/settings/applications/manageapplications/ManageApplicationsTest.java
index bf29559..d31e3e0 100644
--- a/tests/robotests/src/com/android/settings/applications/manageapplications/ManageApplicationsTest.java
+++ b/tests/robotests/src/com/android/settings/applications/manageapplications/ManageApplicationsTest.java
@@ -36,7 +36,6 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.Activity;
 import android.content.Context;
 import android.os.Bundle;
 import android.os.Looper;
@@ -63,6 +62,7 @@
 
 import java.util.ArrayList;
 
+import androidx.fragment.app.FragmentActivity;
 import androidx.recyclerview.widget.RecyclerView;
 
 @RunWith(SettingsRobolectricTestRunner.class)
@@ -147,7 +147,7 @@
         final ManageApplications fragment = mock(ManageApplications.class);
         ReflectionHelpers.setField(fragment, "mLoadingContainer", mock(View.class));
         ReflectionHelpers.setField(fragment, "mListContainer", mock(View.class));
-        when(fragment.getActivity()).thenReturn(mock(Activity.class));
+        when(fragment.getActivity()).thenReturn(mock(FragmentActivity.class));
         final ManageApplications.ApplicationsAdapter adapter =
                 spy(new ManageApplications.ApplicationsAdapter(mState, fragment,
                         AppFilterRegistry.getInstance().get(FILTER_APPS_ALL), new Bundle()));
@@ -171,7 +171,7 @@
         final ManageApplications fragment = mock(ManageApplications.class);
         ReflectionHelpers.setField(fragment, "mLoadingContainer", mock(View.class));
         ReflectionHelpers.setField(fragment, "mListContainer", mock(View.class));
-        when(fragment.getActivity()).thenReturn(mock(Activity.class));
+        when(fragment.getActivity()).thenReturn(mock(FragmentActivity.class));
         final ManageApplications.ApplicationsAdapter adapter =
                 spy(new ManageApplications.ApplicationsAdapter(mState, fragment,
                         AppFilterRegistry.getInstance().get(FILTER_APPS_ALL), new Bundle()));
@@ -212,7 +212,7 @@
         when(listContainer.getContext()).thenReturn(context);
         ReflectionHelpers.setField(fragment, "mLoadingContainer", loadingContainer);
         ReflectionHelpers.setField(fragment, "mListContainer", listContainer);
-        when(fragment.getActivity()).thenReturn(mock(Activity.class));
+        when(fragment.getActivity()).thenReturn(mock(FragmentActivity.class));
         final ManageApplications.ApplicationsAdapter adapter =
                 spy(new ManageApplications.ApplicationsAdapter(mState, fragment,
                         AppFilterRegistry.getInstance().get(FILTER_APPS_ALL), new Bundle()));
@@ -274,7 +274,7 @@
     @Test
     public void applicationsAdapter_onBindViewHolder_updateSwitch_notifications() {
         ManageApplications manageApplications = mock(ManageApplications.class);
-        when(manageApplications.getActivity()).thenReturn(mock(Activity.class));
+        when(manageApplications.getActivity()).thenReturn(mock(FragmentActivity.class));
         UserManager um = mock(UserManager.class);
         when(um.getProfileIdsWithDisabled(anyInt())).thenReturn(new int[]{});
         ReflectionHelpers.setField(manageApplications, "mUserManager", um);
@@ -317,7 +317,7 @@
     @Test
     public void sortOrderSavedOnRebuild() {
         ManageApplications manageApplications = mock(ManageApplications.class);
-        when(manageApplications.getActivity()).thenReturn(mock(Activity.class));
+        when(manageApplications.getActivity()).thenReturn(mock(FragmentActivity.class));
         UserManager um = mock(UserManager.class);
         when(um.getProfileIdsWithDisabled(anyInt())).thenReturn(new int[]{});
         ReflectionHelpers.setField(manageApplications, "mUserManager", um);
diff --git a/tests/robotests/src/com/android/settings/applications/manageapplications/MusicViewHolderControllerTest.java b/tests/robotests/src/com/android/settings/applications/manageapplications/MusicViewHolderControllerTest.java
index 776235c..13295e3 100644
--- a/tests/robotests/src/com/android/settings/applications/manageapplications/MusicViewHolderControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/manageapplications/MusicViewHolderControllerTest.java
@@ -21,7 +21,6 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.Fragment;
 import android.content.Context;
 import android.content.Intent;
 import android.os.UserHandle;
@@ -43,6 +42,8 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RuntimeEnvironment;
 
+import androidx.fragment.app.Fragment;
+
 @RunWith(SettingsRobolectricTestRunner.class)
 public class MusicViewHolderControllerTest {
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
diff --git a/tests/robotests/src/com/android/settings/applications/manageapplications/PhotosViewHolderControllerTest.java b/tests/robotests/src/com/android/settings/applications/manageapplications/PhotosViewHolderControllerTest.java
index fc8f272..8f2fb65e 100644
--- a/tests/robotests/src/com/android/settings/applications/manageapplications/PhotosViewHolderControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/manageapplications/PhotosViewHolderControllerTest.java
@@ -21,7 +21,6 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.Fragment;
 import android.content.Context;
 import android.content.Intent;
 import android.os.UserHandle;
@@ -42,6 +41,8 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RuntimeEnvironment;
 
+import androidx.fragment.app.Fragment;
+
 @RunWith(SettingsRobolectricTestRunner.class)
 public class PhotosViewHolderControllerTest {
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
diff --git a/tests/robotests/src/com/android/settings/applications/specialaccess/ZenAccessControllerTest.java b/tests/robotests/src/com/android/settings/applications/specialaccess/ZenAccessControllerTest.java
index 205de10..da2bc0a 100644
--- a/tests/robotests/src/com/android/settings/applications/specialaccess/ZenAccessControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/specialaccess/ZenAccessControllerTest.java
@@ -51,6 +51,6 @@
     @Test
     public void isAvailable_lowMemory_false() {
         mActivityManager.setIsLowRamDevice(true);
-        assertThat(mController.isAvailable()).isTrue();
+        assertThat(mController.isAvailable()).isFalse();
     }
 }
diff --git a/tests/robotests/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceControllerTest.java
index c99df01..7507e07 100644
--- a/tests/robotests/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceControllerTest.java
@@ -31,7 +31,7 @@
 
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 import com.android.settingslib.core.lifecycle.Lifecycle;
-import com.android.settingslib.widget.FooterPreferenceMixin;
+import com.android.settingslib.widget.FooterPreferenceMixinCompat;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -46,7 +46,7 @@
 public class DeviceAdminListPreferenceControllerTest {
 
     @Mock
-    private FooterPreferenceMixin mFooterPreferenceMixin;
+    private FooterPreferenceMixinCompat mFooterPreferenceMixin;
     private Context mContext;
     private DeviceAdminListPreferenceController mController;
     private LifecycleOwner mLifecycleOwner;
diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/PictureInPictureDetailPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureDetailPreferenceControllerTest.java
similarity index 95%
rename from tests/robotests/src/com/android/settings/applications/appinfo/PictureInPictureDetailPreferenceControllerTest.java
rename to tests/robotests/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureDetailPreferenceControllerTest.java
index 802bf7b..8355d78 100644
--- a/tests/robotests/src/com/android/settings/applications/appinfo/PictureInPictureDetailPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureDetailPreferenceControllerTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.settings.applications.appinfo;
+package com.android.settings.applications.specialaccess.pictureinpicture;
 
 import static com.google.common.truth.Truth.assertThat;
 import static org.mockito.Mockito.doReturn;
@@ -25,6 +25,7 @@
 import android.content.Context;
 
 import com.android.settings.R;
+import com.android.settings.applications.appinfo.AppInfoDashboardFragment;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 
diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/PictureInPictureDetailsTest.java b/tests/robotests/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureDetailsTest.java
similarity index 97%
rename from tests/robotests/src/com/android/settings/applications/appinfo/PictureInPictureDetailsTest.java
rename to tests/robotests/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureDetailsTest.java
index b804b22..eb96d94 100644
--- a/tests/robotests/src/com/android/settings/applications/appinfo/PictureInPictureDetailsTest.java
+++ b/tests/robotests/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureDetailsTest.java
@@ -11,10 +11,10 @@
  * 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
+ * limitations under the License.
  */
 
-package com.android.settings.applications.appinfo;
+package com.android.settings.applications.specialaccess.pictureinpicture;
 
 import static com.google.common.truth.Truth.assertThat;
 import static org.mockito.ArgumentMatchers.nullable;
diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/PictureInPictureSettingsTest.java b/tests/robotests/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureSettingsTest.java
similarity index 97%
rename from tests/robotests/src/com/android/settings/applications/appinfo/PictureInPictureSettingsTest.java
rename to tests/robotests/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureSettingsTest.java
index eb98207..1d1be50 100644
--- a/tests/robotests/src/com/android/settings/applications/appinfo/PictureInPictureSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureSettingsTest.java
@@ -11,10 +11,10 @@
  * 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
+ * limitations under the License.
  */
 
-package com.android.settings.applications.appinfo;
+package com.android.settings.applications.specialaccess.pictureinpicture;
 
 import static com.google.common.truth.Truth.assertThat;
 import static org.mockito.Matchers.anyInt;
diff --git a/tests/robotests/src/com/android/settings/applications/PremiumSmsAccessTest.java b/tests/robotests/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsAccessTest.java
similarity index 93%
rename from tests/robotests/src/com/android/settings/applications/PremiumSmsAccessTest.java
rename to tests/robotests/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsAccessTest.java
index e9cb6de..ff4ac9f 100644
--- a/tests/robotests/src/com/android/settings/applications/PremiumSmsAccessTest.java
+++ b/tests/robotests/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsAccessTest.java
@@ -11,10 +11,10 @@
  * 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
+ * limitations under the License.
  */
 
-package com.android.settings.applications;
+package com.android.settings.applications.specialaccess.premiumsms;
 
 import static org.mockito.ArgumentMatchers.nullable;
 import static org.mockito.Matchers.eq;
@@ -24,6 +24,7 @@
 
 import com.android.internal.logging.nano.MetricsProto;
 import com.android.internal.telephony.SmsUsageMonitor;
+import com.android.settings.applications.specialaccess.premiumsms.PremiumSmsAccess;
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 
diff --git a/tests/robotests/src/com/android/settings/applications/specialaccess/PremiumSmsControllerTest.java b/tests/robotests/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsControllerTest.java
similarity index 80%
rename from tests/robotests/src/com/android/settings/applications/specialaccess/PremiumSmsControllerTest.java
rename to tests/robotests/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsControllerTest.java
index 8f16da7..35a93c1 100644
--- a/tests/robotests/src/com/android/settings/applications/specialaccess/PremiumSmsControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsControllerTest.java
@@ -14,8 +14,9 @@
  * limitations under the License.
  */
 
-package com.android.settings.applications.specialaccess;
+package com.android.settings.applications.specialaccess.premiumsms;
 
+import static com.android.settings.core.BasePreferenceController.AVAILABLE_UNSEARCHABLE;
 import static com.google.common.truth.Truth.assertThat;
 import static org.mockito.Mockito.spy;
 
@@ -44,13 +45,13 @@
     }
 
     @Test
-    public void testPremiumSms_byDefault_shouldBeShown() {
-        assertThat(mController.isAvailable()).isTrue();
+    public void getAvailability_byDefault_shouldBeShown() {
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE_UNSEARCHABLE);
     }
 
     @Test
     @Config(qualifiers = "mcc999")
-    public void testPremiumSms_ifDisabled_shouldNotBeShown() {
+    public void getAvailability_disabled_returnUnavailable() {
         assertThat(mController.isAvailable()).isFalse();
     }
 }
diff --git a/tests/robotests/src/com/android/settings/applications/specialaccess/PremiumSmsControllerTest.java b/tests/robotests/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsScreenPreferenceControllerTest.java
similarity index 68%
copy from tests/robotests/src/com/android/settings/applications/specialaccess/PremiumSmsControllerTest.java
copy to tests/robotests/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsScreenPreferenceControllerTest.java
index 8f16da7..29ab15b 100644
--- a/tests/robotests/src/com/android/settings/applications/specialaccess/PremiumSmsControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsScreenPreferenceControllerTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2017 The Android Open Source Project
+ * 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.
@@ -14,8 +14,9 @@
  * limitations under the License.
  */
 
-package com.android.settings.applications.specialaccess;
+package com.android.settings.applications.specialaccess.premiumsms;
 
+import static com.android.settings.core.BasePreferenceController.AVAILABLE;
 import static com.google.common.truth.Truth.assertThat;
 import static org.mockito.Mockito.spy;
 
@@ -31,26 +32,26 @@
 import org.robolectric.annotation.Config;
 
 @RunWith(SettingsRobolectricTestRunner.class)
-public class PremiumSmsControllerTest {
+public class PremiumSmsScreenPreferenceControllerTest {
 
     private Context mContext;
-    private PremiumSmsController mController;
+    private PremiumSmsScreenPreferenceController mController;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         mContext = spy(RuntimeEnvironment.application.getApplicationContext());
-        mController = new PremiumSmsController(mContext, "key");
+        mController = new PremiumSmsScreenPreferenceController(mContext, "key");
     }
 
     @Test
-    public void testPremiumSms_byDefault_shouldBeShown() {
-        assertThat(mController.isAvailable()).isTrue();
+    public void getAvailability_byDefault_shouldBeShown() {
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
     }
 
     @Test
     @Config(qualifiers = "mcc999")
-    public void testPremiumSms_ifDisabled_shouldNotBeShown() {
+    public void getAvailability_disabled_returnUnavailable() {
         assertThat(mController.isAvailable()).isFalse();
     }
 }
diff --git a/tests/robotests/src/com/android/settings/applications/specialaccess/EnabledVrListenersControllerTest.java b/tests/robotests/src/com/android/settings/applications/specialaccess/vrlistener/EnabledVrListenersControllerTest.java
similarity index 68%
rename from tests/robotests/src/com/android/settings/applications/specialaccess/EnabledVrListenersControllerTest.java
rename to tests/robotests/src/com/android/settings/applications/specialaccess/vrlistener/EnabledVrListenersControllerTest.java
index 7963fd4..3fb9045 100644
--- a/tests/robotests/src/com/android/settings/applications/specialaccess/EnabledVrListenersControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/specialaccess/vrlistener/EnabledVrListenersControllerTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2017 The Android Open Source Project
+ * 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.
@@ -14,8 +14,10 @@
  * limitations under the License.
  */
 
-package com.android.settings.applications.specialaccess;
+package com.android.settings.applications.specialaccess.vrlistener;
 
+import static com.android.settings.core.BasePreferenceController.AVAILABLE_UNSEARCHABLE;
+import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
 import static com.google.common.truth.Truth.assertThat;
 
 import android.content.Context;
@@ -45,19 +47,19 @@
     }
 
     @Test
-    public void isAvailable_byDefault_true() {
-        assertThat(mController.isAvailable()).isTrue();
+    public void getAvailability_byDefault_unsearchable() {
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE_UNSEARCHABLE);
     }
 
     @Test
-    public void isAvailable_lowMemory_false() {
+    public void getAvailability_lowMemory_unavailable() {
         mActivityManager.setIsLowRamDevice(true);
-        assertThat(mController.isAvailable()).isTrue();
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
     }
 
     @Test
     @Config(qualifiers = "mcc999")
-    public void isAvailable_disabled_false() {
-        assertThat(mController.isAvailable()).isFalse();
+    public void getAvailability_disabled_unavailable() {
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/applications/specialaccess/EnabledVrListenersControllerTest.java b/tests/robotests/src/com/android/settings/applications/specialaccess/vrlistener/VrListenerScreenPreferenceControllerTest.java
similarity index 61%
copy from tests/robotests/src/com/android/settings/applications/specialaccess/EnabledVrListenersControllerTest.java
copy to tests/robotests/src/com/android/settings/applications/specialaccess/vrlistener/VrListenerScreenPreferenceControllerTest.java
index 7963fd4..c5734f9 100644
--- a/tests/robotests/src/com/android/settings/applications/specialaccess/EnabledVrListenersControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/specialaccess/vrlistener/VrListenerScreenPreferenceControllerTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2017 The Android Open Source Project
+ * 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.
@@ -14,8 +14,10 @@
  * limitations under the License.
  */
 
-package com.android.settings.applications.specialaccess;
+package com.android.settings.applications.specialaccess.vrlistener;
 
+import static com.android.settings.core.BasePreferenceController.AVAILABLE;
+import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
 import static com.google.common.truth.Truth.assertThat;
 
 import android.content.Context;
@@ -31,33 +33,33 @@
 import org.robolectric.shadows.ShadowActivityManager;
 
 @RunWith(SettingsRobolectricTestRunner.class)
-public class EnabledVrListenersControllerTest {
+public class VrListenerScreenPreferenceControllerTest {
 
     private Context mContext;
-    private EnabledVrListenersController mController;
+    private VrListenerScreenPreferenceController mController;
     private ShadowActivityManager mActivityManager;
 
     @Before
     public void setUp() {
         mContext = RuntimeEnvironment.application;
-        mController = new EnabledVrListenersController(mContext, "key");
+        mController = new VrListenerScreenPreferenceController(mContext, "key");
         mActivityManager = Shadow.extract(mContext.getSystemService(Context.ACTIVITY_SERVICE));
     }
 
     @Test
-    public void isAvailable_byDefault_true() {
-        assertThat(mController.isAvailable()).isTrue();
+    public void getAvailability_byDefault_searchable() {
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
     }
 
     @Test
-    public void isAvailable_lowMemory_false() {
+    public void getAvailability_lowMemory_unavailable() {
         mActivityManager.setIsLowRamDevice(true);
-        assertThat(mController.isAvailable()).isTrue();
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
     }
 
     @Test
     @Config(qualifiers = "mcc999")
-    public void isAvailable_disabled_false() {
-        assertThat(mController.isAvailable()).isFalse();
+    public void getAvailability_disabled_unavailable() {
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/applications/VrListenerSettingsTest.java b/tests/robotests/src/com/android/settings/applications/specialaccess/vrlistener/VrListenerSettingsTest.java
similarity index 92%
rename from tests/robotests/src/com/android/settings/applications/VrListenerSettingsTest.java
rename to tests/robotests/src/com/android/settings/applications/specialaccess/vrlistener/VrListenerSettingsTest.java
index 516d248..4f5b2bb 100644
--- a/tests/robotests/src/com/android/settings/applications/VrListenerSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/applications/specialaccess/vrlistener/VrListenerSettingsTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2017 The Android Open Source Project
+ * 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.
@@ -11,10 +11,10 @@
  * 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
+ * limitations under the License.
  */
 
-package com.android.settings.applications;
+package com.android.settings.applications.specialaccess.vrlistener;
 
 import static org.mockito.ArgumentMatchers.nullable;
 import static org.mockito.Matchers.eq;
diff --git a/tests/robotests/src/com/android/settings/backup/BackupSettingsActivityTest.java b/tests/robotests/src/com/android/settings/backup/BackupSettingsActivityTest.java
index cd0ba79..602ae21 100644
--- a/tests/robotests/src/com/android/settings/backup/BackupSettingsActivityTest.java
+++ b/tests/robotests/src/com/android/settings/backup/BackupSettingsActivityTest.java
@@ -23,12 +23,8 @@
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
-import static org.robolectric.Shadows.shadowOf;
 
 import android.app.Application;
-import android.app.Fragment;
-import android.app.FragmentManager;
-import android.app.FragmentTransaction;
 import android.content.ComponentName;
 import android.content.Intent;
 import android.content.pm.PackageManager;
@@ -55,6 +51,10 @@
 
 import java.util.List;
 
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+import androidx.fragment.app.FragmentTransaction;
+
 @RunWith(SettingsRobolectricTestRunner.class)
 @Config(shadows = {BackupSettingsActivityTest.ShadowBackupSettingsHelper.class,
                 BackupSettingsActivityTest.ShadowUserHandle.class})
@@ -108,7 +108,7 @@
 
         // Verify that the intent returned by BackupSettingsHelper.getIntentForBackupSettings()
         // was launched.
-        assertThat(shadowOf(mApplication).getNextStartedActivity()).isEqualTo(mIntent);
+        assertThat(Shadows.shadowOf(mApplication).getNextStartedActivity()).isEqualTo(mIntent);
     }
 
     @Test
@@ -123,7 +123,7 @@
 
         mActivityController.create();
 
-        assertThat(shadowOf(mApplication).getNextStartedActivity()).isNull();
+        assertThat(Shadows.shadowOf(mApplication).getNextStartedActivity()).isNull();
         verify(mFragmentTransaction).replace(anyInt(), isA(BackupSettingsFragment.class));
     }
 
diff --git a/tests/robotests/src/com/android/settings/biometrics/face/FaceStatusPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/biometrics/face/FaceStatusPreferenceControllerTest.java
index df01aca..bde1c3e 100644
--- a/tests/robotests/src/com/android/settings/biometrics/face/FaceStatusPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/face/FaceStatusPreferenceControllerTest.java
@@ -18,9 +18,7 @@
 
 import static com.android.settings.core.BasePreferenceController.AVAILABLE;
 import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
-
 import static com.google.common.truth.Truth.assertThat;
-
 import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.spy;
diff --git a/tests/robotests/src/com/android/settings/biometrics/fingerprint/DeleteFingerprintDialogTest.java b/tests/robotests/src/com/android/settings/biometrics/fingerprint/DeleteFingerprintDialogTest.java
index 27729cf..cf416d8 100644
--- a/tests/robotests/src/com/android/settings/biometrics/fingerprint/DeleteFingerprintDialogTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/fingerprint/DeleteFingerprintDialogTest.java
@@ -27,6 +27,7 @@
 import com.android.settings.biometrics.fingerprint.FingerprintSettings.FingerprintSettingsFragment.DeleteFingerprintDialog;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 import com.android.settings.testutils.shadow.ShadowFragment;
+import com.android.settingslib.testutils.FragmentTestUtils;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -34,7 +35,6 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.annotation.Config;
-import org.robolectric.util.FragmentTestUtil;
 
 @RunWith(SettingsRobolectricTestRunner.class)
 @Config(shadows = ShadowFragment.class)
@@ -55,7 +55,7 @@
 
     @Test
     public void launchDialog_clickPositive_shouldDeleteFingerprint() {
-        FragmentTestUtil.startFragment(mFragment);
+        FragmentTestUtils.startFragment(mFragment);
 
         mFragment.onClick(mFragment.getDialog(), Dialog.BUTTON_POSITIVE);
 
@@ -64,7 +64,7 @@
 
     @Test
     public void launchDialog_clickNegative_shouldDoNothing() {
-        FragmentTestUtil.startFragment(mFragment);
+        FragmentTestUtils.startFragment(mFragment);
 
         mFragment.onClick(mFragment.getDialog(), Dialog.BUTTON_NEGATIVE);
 
diff --git a/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensorTest.java b/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensorTest.java
index 70a68ec..147ed1d 100644
--- a/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensorTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensorTest.java
@@ -157,7 +157,7 @@
     @Test
     public void onActivityResult_withNullIntentShouldNotCrash() {
         // this should not crash
-        mActivity.onActivityResult(FingerprintEnrollFindSensor.CONFIRM_REQUEST, Activity.RESULT_OK,
+        mActivity.onActivityResult(BiometricEnrollBase.CONFIRM_REQUEST, Activity.RESULT_OK,
             null);
         assertThat(Shadows.shadowOf(mActivity).getResultCode()).isEqualTo(Activity.RESULT_CANCELED);
     }
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsButtonsControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsButtonsControllerTest.java
index 17d46a8..78af1d1 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsButtonsControllerTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsButtonsControllerTest.java
@@ -24,8 +24,6 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.FragmentManager;
-import android.app.FragmentTransaction;
 import android.view.View;
 import android.widget.Button;
 
@@ -41,6 +39,9 @@
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
 
+import androidx.fragment.app.FragmentManager;
+import androidx.fragment.app.FragmentTransaction;
+
 @RunWith(SettingsRobolectricTestRunner.class)
 @Config(shadows = SettingsShadowBluetoothDevice.class)
 public class BluetoothDetailsButtonsControllerTest extends BluetoothDetailsControllerTestBase {
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsControllerEventsTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsControllerEventsTest.java
index 9ef3499..ba9fe12 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsControllerEventsTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsControllerEventsTest.java
@@ -32,7 +32,7 @@
 import org.junit.runner.RunWith;
 import org.robolectric.annotation.Config;
 
-import androidx.preference.PreferenceFragment;
+import androidx.preference.PreferenceFragmentCompat;
 import androidx.preference.PreferenceScreen;
 
 @RunWith(SettingsRobolectricTestRunner.class)
@@ -62,7 +62,7 @@
     }
 
     private static class TestController extends BluetoothDetailsController {
-        private TestController(Context context, PreferenceFragment fragment,
+        private TestController(Context context, PreferenceFragmentCompat fragment,
             CachedBluetoothDevice device, Lifecycle lifecycle) {
             super(context, fragment, device, lifecycle);
         }
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsControllerTestBase.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsControllerTestBase.java
index c76ded9..95508bc 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsControllerTestBase.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsControllerTestBase.java
@@ -18,7 +18,6 @@
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.when;
 
-import android.app.Activity;
 import android.bluetooth.BluetoothAdapter;
 import android.bluetooth.BluetoothClass;
 import android.bluetooth.BluetoothDevice;
@@ -36,6 +35,7 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RuntimeEnvironment;
 
+import androidx.fragment.app.FragmentActivity;
 import androidx.lifecycle.LifecycleOwner;
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
@@ -58,7 +58,7 @@
     @Mock
     protected CachedBluetoothDevice mCachedDevice;
     @Mock
-    protected Activity mActivity;
+    protected FragmentActivity mActivity;
     @Mock
     protected BluetoothClass mBluetoothDeviceClass;
 
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsHeaderControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsHeaderControllerTest.java
index 0389d8c..3860617 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsHeaderControllerTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsHeaderControllerTest.java
@@ -24,9 +24,6 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.Fragment;
-import android.app.FragmentManager;
-import android.app.FragmentTransaction;
 import android.graphics.drawable.Drawable;
 import android.view.View;
 
@@ -49,6 +46,10 @@
 import org.mockito.Mock;
 import org.robolectric.annotation.Config;
 
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+import androidx.fragment.app.FragmentTransaction;
+
 @RunWith(SettingsRobolectricTestRunner.class)
 
 @Config(shadows = {SettingsShadowBluetoothDevice.class, ShadowEntityHeaderController.class})
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceRenamePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceRenamePreferenceControllerTest.java
index 31045a6..2b5c7e9 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceRenamePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceRenamePreferenceControllerTest.java
@@ -24,8 +24,6 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.Fragment;
-import android.app.FragmentTransaction;
 import android.content.Context;
 
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
@@ -39,6 +37,8 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RuntimeEnvironment;
 
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentTransaction;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingControllerTest.java
index b28a8b2..8da659e 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingControllerTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingControllerTest.java
@@ -16,7 +16,6 @@
 package com.android.settings.bluetooth;
 
 import static android.bluetooth.BluetoothDevice.PAIRING_VARIANT_CONSENT;
-
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingDialogTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingDialogTest.java
index 759c0cd..ede0b04 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingDialogTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingDialogTest.java
@@ -38,6 +38,7 @@
 
 import com.android.settings.R;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
+import com.android.settingslib.testutils.FragmentTestUtils;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -46,7 +47,6 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.shadows.ShadowAlertDialog;
-import org.robolectric.util.FragmentTestUtil;
 
 @RunWith(SettingsRobolectricTestRunner.class)
 public class BluetoothPairingDialogTest {
@@ -56,7 +56,6 @@
 
     @Mock
     private BluetoothPairingController controller;
-
     @Mock
     private BluetoothPairingDialog dialogActivity;
 
@@ -186,7 +185,7 @@
         BluetoothPairingDialogFragment frag = new BluetoothPairingDialogFragment();
 
         // this should throw an error
-        FragmentTestUtil.startFragment(frag);
+        FragmentTestUtils.startFragment(frag);
         fail("Starting the fragment with no controller set should have thrown an exception.");
     }
 
@@ -446,7 +445,7 @@
         frag.setPairingController(controller);
         assertThat(frag.isPairingDialogActivitySet()).isFalse();
         frag.setPairingDialogActivity(dialogActivity);
-        FragmentTestUtil.startFragment(frag);
+        FragmentTestUtils.startFragment(frag);
         assertThat(frag.getmDialog()).isNotNull();
         assertThat(frag.isPairingControllerSet()).isTrue();
         assertThat(frag.isPairingDialogActivitySet()).isTrue();
diff --git a/tests/robotests/src/com/android/settings/bluetooth/DeviceProfilesSettingsTest.java b/tests/robotests/src/com/android/settings/bluetooth/DeviceProfilesSettingsTest.java
deleted file mode 100644
index 1065eb6..0000000
--- a/tests/robotests/src/com/android/settings/bluetooth/DeviceProfilesSettingsTest.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/*
- * Copyright (C) 2017 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
- *
- *      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.
- */
-
-package com.android.settings.bluetooth;
-
-import static com.google.common.truth.Truth.assertThat;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.os.Bundle;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.CheckBox;
-
-import com.android.settings.testutils.SettingsRobolectricTestRunner;
-import com.android.settingslib.R;
-import com.android.settingslib.bluetooth.A2dpProfile;
-import com.android.settingslib.bluetooth.CachedBluetoothDevice;
-import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager;
-import com.android.settingslib.bluetooth.LocalBluetoothAdapter;
-import com.android.settingslib.bluetooth.LocalBluetoothManager;
-import com.android.settingslib.bluetooth.LocalBluetoothProfile;
-import com.android.settingslib.bluetooth.LocalBluetoothProfileManager;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.util.FragmentTestUtil;
-import org.robolectric.util.ReflectionHelpers;
-
-import java.util.ArrayList;
-import java.util.List;
-
-@RunWith(SettingsRobolectricTestRunner.class)
-public class DeviceProfilesSettingsTest {
-
-    @Mock
-    private LocalBluetoothManager mManager;
-    @Mock
-    private LocalBluetoothAdapter mAdapter;
-    @Mock
-    private LocalBluetoothProfileManager mProfileManager;
-    @Mock
-    private CachedBluetoothDeviceManager mDeviceManager;
-    @Mock
-    private CachedBluetoothDevice mCachedDevice;
-    @Mock
-    private A2dpProfile mProfile;
-
-    private DeviceProfilesSettings mFragment;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-
-        when(mProfile.getNameResource(any())).thenReturn(R.string.bluetooth_profile_a2dp);
-        List<LocalBluetoothProfile> profiles = new ArrayList<>();
-        profiles.add(mProfile);
-        when(mCachedDevice.getConnectableProfiles()).thenReturn(profiles);
-
-        mFragment = new DeviceProfilesSettings();
-        mFragment.setArguments(new Bundle());
-
-        ReflectionHelpers.setStaticField(LocalBluetoothManager.class, "sInstance", mManager);
-        when(mManager.getCachedDeviceManager()).thenReturn(mDeviceManager);
-        when(mManager.getBluetoothAdapter()).thenReturn(mAdapter);
-        when(mManager.getProfileManager()).thenReturn(mProfileManager);
-        when(mProfileManager.getMapProfile()).thenReturn(null);
-        when(mDeviceManager.findDevice(any())).thenReturn(mCachedDevice);
-    }
-
-    @After
-    public void tearDown() {
-        ReflectionHelpers.setStaticField(LocalBluetoothManager.class, "sInstance", null);
-    }
-
-    @Test
-    public void deviceHasHighQualityAudio() {
-        when(mProfile.supportsHighQualityAudio(any())).thenReturn(true);
-        when(mProfile.isHighQualityAudioEnabled(any())).thenReturn(true);
-        when(mProfile.isPreferred(any())).thenReturn(true);
-        FragmentTestUtil.startFragment(mFragment);
-
-        ViewGroup profilesGroup = mFragment.getDialog().findViewById(R.id.profiles_section);
-        CheckBox box =
-            profilesGroup.findViewWithTag(DeviceProfilesSettings.HIGH_QUALITY_AUDIO_PREF_TAG);
-        assertThat(box).isNotNull();
-        assertThat(box.getVisibility()).isEqualTo(View.VISIBLE);
-        assertThat(box.isEnabled()).isTrue();
-        assertThat(box.isChecked()).isTrue();
-
-        box.performClick();
-        verify(mProfile).setHighQualityAudioEnabled(any(), eq(false));
-        box.performClick();
-        verify(mProfile).setHighQualityAudioEnabled(any(), eq(true));
-    }
-
-    @Test
-    public void busyDeviceDisablesControl() {
-        when(mProfile.supportsHighQualityAudio(any())).thenReturn(true);
-        when(mProfile.isHighQualityAudioEnabled(any())).thenReturn(true);
-        when(mProfile.isPreferred(any())).thenReturn(true);
-        when(mCachedDevice.isBusy()).thenReturn(true);
-        FragmentTestUtil.startFragment(mFragment);
-
-        // Make sure that the high quality audio option is present but disabled when the device
-        // is busy.
-        ViewGroup profilesGroup = mFragment.getDialog().findViewById(R.id.profiles_section);
-        CheckBox box =
-            profilesGroup.findViewWithTag(DeviceProfilesSettings.HIGH_QUALITY_AUDIO_PREF_TAG);
-        assertThat(box).isNotNull();
-        assertThat(box.getVisibility()).isEqualTo(View.VISIBLE);
-        assertThat(box.isEnabled()).isFalse();
-    }
-
-    @Test
-    public void mediaAudioGetsDisabledAndReEnabled() {
-        when(mProfile.supportsHighQualityAudio(any())).thenReturn(true);
-        when(mProfile.isHighQualityAudioEnabled(any())).thenReturn(true);
-        when(mProfile.isPreferred(any())).thenReturn(true);
-        FragmentTestUtil.startFragment(mFragment);
-
-        ViewGroup profilesGroup = mFragment.getDialog().findViewById(R.id.profiles_section);
-        CheckBox audioBox = profilesGroup.findViewWithTag(mProfile.toString());
-        CheckBox highQualityAudioBox =
-            profilesGroup.findViewWithTag(DeviceProfilesSettings.HIGH_QUALITY_AUDIO_PREF_TAG);
-        assertThat(audioBox).isNotNull();
-        assertThat(audioBox.isChecked()).isTrue();
-        assertThat(highQualityAudioBox).isNotNull();
-        assertThat(highQualityAudioBox.isChecked()).isTrue();
-
-        // Disabling media audio should cause the high quality audio box to disappear.
-        when(mProfile.isPreferred(any())).thenReturn(false);
-        mFragment.onDeviceAttributesChanged();
-        audioBox = profilesGroup.findViewWithTag(mProfile.toString());
-        highQualityAudioBox =
-            profilesGroup.findViewWithTag(DeviceProfilesSettings.HIGH_QUALITY_AUDIO_PREF_TAG);
-        assertThat(audioBox).isNotNull();
-        assertThat(audioBox.isChecked()).isFalse();
-        assertThat(highQualityAudioBox).isNotNull();
-        assertThat(highQualityAudioBox.getVisibility()).isEqualTo(View.GONE);
-
-        // And re-enabling media audio should make it reappear.
-        when(mProfile.isPreferred(any())).thenReturn(true);
-        mFragment.onDeviceAttributesChanged();
-        audioBox = profilesGroup.findViewWithTag(mProfile.toString());
-        highQualityAudioBox =
-            profilesGroup.findViewWithTag(DeviceProfilesSettings.HIGH_QUALITY_AUDIO_PREF_TAG);
-        assertThat(audioBox).isNotNull();
-        assertThat(audioBox.isChecked()).isTrue();
-        assertThat(highQualityAudioBox).isNotNull();
-        assertThat(highQualityAudioBox.isChecked()).isTrue();
-    }
-
-    @Test
-    public void mediaAudioStartsDisabled() {
-        when(mProfile.supportsHighQualityAudio(any())).thenReturn(true);
-        when(mProfile.isHighQualityAudioEnabled(any())).thenReturn(true);
-        when(mProfile.isPreferred(any())).thenReturn(false);
-
-        FragmentTestUtil.startFragment(mFragment);
-        ViewGroup profilesGroup = mFragment.getDialog().findViewById(R.id.profiles_section);
-        CheckBox audioBox = profilesGroup.findViewWithTag(mProfile.toString());
-        CheckBox highQualityAudioBox =
-            profilesGroup.findViewWithTag(DeviceProfilesSettings.HIGH_QUALITY_AUDIO_PREF_TAG);
-
-        assertThat(audioBox).isNotNull();
-        assertThat(audioBox.isChecked()).isFalse();
-        assertThat(highQualityAudioBox).isNotNull();
-        assertThat(highQualityAudioBox.getVisibility()).isEqualTo(View.GONE);
-    }
-
-    @Test
-    public void deviceDoesntHaveHighQualityAudio() {
-        when(mProfile.supportsHighQualityAudio(any())).thenReturn(false);
-        when(mProfile.isPreferred(any())).thenReturn(true);
-        FragmentTestUtil.startFragment(mFragment);
-
-        // A device that doesn't support high quality audio shouldn't have the checkbox for
-        // high quality audio support.
-        ViewGroup profilesGroup = mFragment.getDialog().findViewById(R.id.profiles_section);
-        CheckBox box =
-            profilesGroup.findViewWithTag(DeviceProfilesSettings.HIGH_QUALITY_AUDIO_PREF_TAG);
-        assertThat(box).isNull();
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/bluetooth/ForgetDeviceDialogFragmentTest.java b/tests/robotests/src/com/android/settings/bluetooth/ForgetDeviceDialogFragmentTest.java
index c9a93ac..37abdcc 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/ForgetDeviceDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/ForgetDeviceDialogFragmentTest.java
@@ -24,7 +24,6 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.Activity;
 import android.app.AlertDialog;
 
 import com.android.settings.testutils.FakeFeatureFactory;
@@ -40,6 +39,8 @@
 import org.robolectric.Robolectric;
 import org.robolectric.shadows.ShadowDialog;
 
+import androidx.fragment.app.FragmentActivity;
+
 @RunWith(SettingsRobolectricTestRunner.class)
 public class ForgetDeviceDialogFragmentTest {
 
@@ -47,7 +48,7 @@
     private CachedBluetoothDevice mCachedDevice;
 
     private ForgetDeviceDialogFragment mFragment;
-    private Activity mActivity;
+    private FragmentActivity mActivity;
     private AlertDialog mDialog;
 
     @Before
@@ -58,8 +59,8 @@
         when(mCachedDevice.getAddress()).thenReturn(deviceAddress);
         mFragment = spy(ForgetDeviceDialogFragment.newInstance(deviceAddress));
         doReturn(mCachedDevice).when(mFragment).getDevice(any());
-        mActivity = Robolectric.setupActivity(Activity.class);
-        mActivity.getFragmentManager().beginTransaction().add(mFragment, null).commit();
+        mActivity = Robolectric.setupActivity(FragmentActivity.class);
+        mActivity.getSupportFragmentManager().beginTransaction().add(mFragment, null).commit();
         mDialog = (AlertDialog) ShadowDialog.getLatestDialog();
     }
 
diff --git a/tests/robotests/src/com/android/settings/bluetooth/LocalDeviceNameDialogFragmentTest.java b/tests/robotests/src/com/android/settings/bluetooth/LocalDeviceNameDialogFragmentTest.java
index 03b6bc0..d41475f 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/LocalDeviceNameDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/LocalDeviceNameDialogFragmentTest.java
@@ -31,6 +31,7 @@
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 import com.android.settingslib.bluetooth.LocalBluetoothAdapter;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
+import com.android.settingslib.testutils.FragmentTestUtils;
 
 import org.junit.After;
 import org.junit.Before;
@@ -40,7 +41,6 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.shadows.ShadowAlertDialog;
-import org.robolectric.util.FragmentTestUtil;
 import org.robolectric.util.ReflectionHelpers;
 
 @RunWith(SettingsRobolectricTestRunner.class)
@@ -74,7 +74,7 @@
 
     @Test
     public void diaglogTriggersShowSoftInput() {
-        FragmentTestUtil.startFragment(mFragment);
+        FragmentTestUtils.startFragment(mFragment);
         AlertDialog dialog = ShadowAlertDialog.getLatestAlertDialog();
         assertThat(dialog).isNotNull();
         View view = dialog.findViewById(R.id.edittext);
diff --git a/tests/robotests/src/com/android/settings/bluetooth/RemoteDeviceNameDialogFragmentTest.java b/tests/robotests/src/com/android/settings/bluetooth/RemoteDeviceNameDialogFragmentTest.java
index 5a8f249..e257a88 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/RemoteDeviceNameDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/RemoteDeviceNameDialogFragmentTest.java
@@ -34,6 +34,7 @@
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.testutils.FragmentTestUtils;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -42,7 +43,6 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.shadows.ShadowDialog;
-import org.robolectric.util.FragmentTestUtil;
 
 @RunWith(SettingsRobolectricTestRunner.class)
 public class RemoteDeviceNameDialogFragmentTest {
@@ -71,7 +71,7 @@
      */
     AlertDialog startDialog(String deviceName) {
         when(mCachedDevice.getName()).thenReturn(deviceName);
-        FragmentTestUtil.startFragment(mFragment);
+        FragmentTestUtils.startFragment(mFragment);
         return (AlertDialog) ShadowDialog.getLatestDialog();
     }
 
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/AdvancedConnectedDeviceControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/AdvancedConnectedDeviceControllerTest.java
index 13c5d82..e3e3fc5 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/AdvancedConnectedDeviceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/AdvancedConnectedDeviceControllerTest.java
@@ -18,7 +18,6 @@
 import static com.android.settings.core.BasePreferenceController.AVAILABLE;
 import static com.google.common.truth.Truth.assertThat;
 import static org.mockito.Mockito.spy;
-import static org.robolectric.Shadows.shadowOf;
 
 import android.content.ContentResolver;
 import android.content.Context;
@@ -33,6 +32,7 @@
 import org.junit.runner.RunWith;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.Shadows;
 import org.robolectric.annotation.Config;
 import org.robolectric.shadows.ShadowNfcAdapter;
 import org.robolectric.util.ReflectionHelpers;
@@ -58,7 +58,7 @@
         mContentResolver = mContext.getContentResolver();
         mNfcController = new NfcPreferenceController(mContext,
                 NfcPreferenceController.KEY_TOGGLE_NFC);
-        mShadowNfcAdapter = shadowOf(ShadowNfcAdapter.getNfcAdapter(mContext));
+        mShadowNfcAdapter = Shadows.shadowOf(ShadowNfcAdapter.getNfcAdapter(mContext));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/DiscoverableFooterPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/DiscoverableFooterPreferenceControllerTest.java
index e07fb8d..4c7cd51 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/DiscoverableFooterPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/DiscoverableFooterPreferenceControllerTest.java
@@ -37,7 +37,7 @@
 import com.android.settings.testutils.shadow.ShadowBluetoothPan;
 import com.android.settings.testutils.shadow.ShadowLocalBluetoothAdapter;
 import com.android.settingslib.widget.FooterPreference;
-import com.android.settingslib.widget.FooterPreferenceMixin;
+import com.android.settingslib.widget.FooterPreferenceMixinCompat;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -66,7 +66,7 @@
     @Mock
     private PreferenceScreen mScreen;
     @Mock
-    private FooterPreferenceMixin mFooterPreferenceMixin;
+    private FooterPreferenceMixinCompat mFooterPreferenceMixin;
     @Mock
     private AlwaysDiscoverable mAlwaysDiscoverable;
 
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbConnectionBroadcastReceiverTest.java b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbConnectionBroadcastReceiverTest.java
index 7317ea9..06e7522 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbConnectionBroadcastReceiverTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbConnectionBroadcastReceiverTest.java
@@ -16,7 +16,6 @@
 package com.android.settings.connecteddevice.usb;
 
 import static com.google.common.truth.Truth.assertThat;
-
 import static org.mockito.Mockito.verify;
 
 import android.content.Context;
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsDataRoleControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsDataRoleControllerTest.java
index 072da64..3771262 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsDataRoleControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsDataRoleControllerTest.java
@@ -21,7 +21,6 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.Activity;
 import android.content.Context;
 import android.hardware.usb.UsbManager;
 import android.hardware.usb.UsbPort;
@@ -40,6 +39,7 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RuntimeEnvironment;
 
+import androidx.fragment.app.FragmentActivity;
 import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
@@ -59,7 +59,7 @@
     @Mock
     private UsbDetailsFragment mFragment;
     @Mock
-    private Activity mActivity;
+    private FragmentActivity mActivity;
     @Mock
     private Handler mHandler;
 
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsControllerTest.java
index 09a34ec..d41210d 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsControllerTest.java
@@ -21,7 +21,6 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.Activity;
 import android.content.Context;
 import android.hardware.usb.UsbManager;
 import android.hardware.usb.UsbPort;
@@ -43,6 +42,7 @@
 import java.util.Iterator;
 import java.util.List;
 
+import androidx.fragment.app.FragmentActivity;
 import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
@@ -62,7 +62,7 @@
     @Mock
     private UsbDetailsFragment mFragment;
     @Mock
-    private Activity mActivity;
+    private FragmentActivity mActivity;
 
     @Before
     public void setUp() {
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsHeaderControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsHeaderControllerTest.java
index 408f6d0..321b1b2 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsHeaderControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsHeaderControllerTest.java
@@ -19,7 +19,6 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.Activity;
 import android.content.Context;
 import android.hardware.usb.UsbManager;
 import android.hardware.usb.UsbPort;
@@ -41,6 +40,7 @@
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
 
+import androidx.fragment.app.FragmentActivity;
 import androidx.lifecycle.LifecycleOwner;
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
@@ -62,7 +62,7 @@
     @Mock
     private UsbDetailsFragment mFragment;
     @Mock
-    private Activity mActivity;
+    private FragmentActivity mActivity;
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
     private EntityHeaderController mHeaderController;
 
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsPowerRoleControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsPowerRoleControllerTest.java
index 2bc0ed9..ca3d0cf 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsPowerRoleControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsPowerRoleControllerTest.java
@@ -17,21 +17,15 @@
 package com.android.settings.connecteddevice.usb;
 
 import static com.google.common.truth.Truth.assertThat;
-
 import static org.mockito.ArgumentMatchers.anyLong;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.Activity;
 import android.content.Context;
 import android.hardware.usb.UsbManager;
 import android.hardware.usb.UsbPort;
 import android.os.Handler;
-import androidx.preference.SwitchPreference;
-import androidx.preference.PreferenceCategory;
-import androidx.preference.PreferenceManager;
-import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
@@ -44,7 +38,12 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RuntimeEnvironment;
-import org.robolectric.annotation.Config;
+
+import androidx.fragment.app.FragmentActivity;
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceManager;
+import androidx.preference.PreferenceScreen;
+import androidx.preference.SwitchPreference;
 
 @RunWith(SettingsRobolectricTestRunner.class)
 public class UsbDetailsPowerRoleControllerTest {
@@ -61,7 +60,7 @@
     @Mock
     private UsbDetailsFragment mFragment;
     @Mock
-    private Activity mActivity;
+    private FragmentActivity mActivity;
     @Mock
     private Handler mHandler;
 
diff --git a/tests/robotests/src/com/android/settings/core/InstrumentedPreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/core/InstrumentedPreferenceFragmentTest.java
index 8b5ef41..6c3b4af 100644
--- a/tests/robotests/src/com/android/settings/core/InstrumentedPreferenceFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/core/InstrumentedPreferenceFragmentTest.java
@@ -23,7 +23,6 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.Activity;
 import android.os.Bundle;
 
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
@@ -37,6 +36,7 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.util.ReflectionHelpers;
 
+import androidx.fragment.app.FragmentActivity;
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
 
@@ -48,7 +48,7 @@
     @Mock
     private PreferenceManager mPreferenceManager;
     @Mock
-    private Activity mActivity;
+    private FragmentActivity mActivity;
 
     private InstrumentedPreferenceFragmentTestable mFragment;
 
diff --git a/tests/robotests/src/com/android/settings/core/SubSettingLauncherTest.java b/tests/robotests/src/com/android/settings/core/SubSettingLauncherTest.java
index 81ec115..2467e57 100644
--- a/tests/robotests/src/com/android/settings/core/SubSettingLauncherTest.java
+++ b/tests/robotests/src/com/android/settings/core/SubSettingLauncherTest.java
@@ -25,8 +25,6 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.Activity;
-import android.app.Fragment;
 import android.content.Context;
 import android.content.Intent;
 import android.os.UserHandle;
@@ -43,13 +41,16 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RuntimeEnvironment;
 
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentActivity;
+
 @RunWith(SettingsRobolectricTestRunner.class)
 public class SubSettingLauncherTest {
 
     @Mock
     private Fragment mFragment;
     @Mock
-    private Activity mActivity;
+    private FragmentActivity mActivity;
 
     private Context mContext;
 
diff --git a/tests/robotests/src/com/android/settings/core/instrumentation/InstrumentableFragmentCodeInspector.java b/tests/robotests/src/com/android/settings/core/instrumentation/InstrumentableFragmentCodeInspector.java
index 5908279..36c3ae7 100644
--- a/tests/robotests/src/com/android/settings/core/instrumentation/InstrumentableFragmentCodeInspector.java
+++ b/tests/robotests/src/com/android/settings/core/instrumentation/InstrumentableFragmentCodeInspector.java
@@ -18,7 +18,6 @@
 
 import static com.google.common.truth.Truth.assertWithMessage;
 
-import android.app.Fragment;
 import android.util.ArraySet;
 
 import com.android.settings.core.codeinspection.CodeInspector;
@@ -28,6 +27,8 @@
 import java.util.List;
 import java.util.Set;
 
+import androidx.fragment.app.Fragment;
+
 /**
  * {@link CodeInspector} that verifies all fragments implements Instrumentable.
  */
diff --git a/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java
index 7228a2f..bf1e0ff 100644
--- a/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java
+++ b/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java
@@ -30,7 +30,6 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.verifyZeroInteractions;
 import static org.mockito.Mockito.when;
-import static org.robolectric.Shadows.shadowOf;
 
 import android.app.Activity;
 import android.content.ComponentName;
@@ -43,7 +42,7 @@
 import android.os.Bundle;
 import android.os.UserHandle;
 import android.os.UserManager;
-import androidx.preference.Preference;
+
 import com.android.internal.logging.nano.MetricsProto;
 import com.android.settings.R;
 import com.android.settings.SettingsActivity;
@@ -59,7 +58,6 @@
 import com.android.settingslib.drawer.Tile;
 import com.android.settingslib.drawer.TileUtils;
 
-import java.util.ArrayList;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -68,11 +66,16 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.Robolectric;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.Shadows;
 import org.robolectric.annotation.Config;
 import org.robolectric.shadows.ShadowActivity;
 import org.robolectric.shadows.ShadowApplication;
 import org.robolectric.util.ReflectionHelpers;
 
+import java.util.ArrayList;
+
+import androidx.preference.Preference;
+
 @RunWith(SettingsRobolectricTestRunner.class)
 @Config(shadows = ShadowUserManager.class)
 public class DashboardFeatureProviderImplTest {
@@ -366,7 +369,7 @@
         mImpl.bindPreferenceToTile(activity, MetricsProto.MetricsEvent.SETTINGS_GESTURES,
                 preference, tile, "123", Preference.DEFAULT_ORDER);
         preference.performClick();
-        ShadowActivity shadowActivity = shadowOf(activity);
+        ShadowActivity shadowActivity = Shadows.shadowOf(activity);
 
         final Intent launchIntent = shadowActivity.getNextStartedActivityForResult().intent;
         assertThat(launchIntent.getAction())
@@ -395,7 +398,7 @@
         preference.performClick();
 
         final ShadowActivity.IntentForResult launchIntent =
-                shadowOf(activity).getNextStartedActivityForResult();
+                Shadows.shadowOf(activity).getNextStartedActivityForResult();
 
         assertThat(launchIntent).isNull();
     }
diff --git a/tests/robotests/src/com/android/settings/dashboard/DashboardFragmentSearchIndexProviderInspector.java b/tests/robotests/src/com/android/settings/dashboard/DashboardFragmentSearchIndexProviderInspector.java
index 83579b4..69cb081 100644
--- a/tests/robotests/src/com/android/settings/dashboard/DashboardFragmentSearchIndexProviderInspector.java
+++ b/tests/robotests/src/com/android/settings/dashboard/DashboardFragmentSearchIndexProviderInspector.java
@@ -16,7 +16,6 @@
 
 package com.android.settings.dashboard;
 
-import android.app.Fragment;
 import android.content.Context;
 
 import com.android.settings.core.BasePreferenceController;
@@ -29,6 +28,8 @@
 
 import java.util.List;
 
+import androidx.fragment.app.Fragment;
+
 public class DashboardFragmentSearchIndexProviderInspector {
 
     public static boolean isSharingPreferenceControllers(Class clazz) {
diff --git a/tests/robotests/src/com/android/settings/dashboard/DashboardSummaryTest.java b/tests/robotests/src/com/android/settings/dashboard/DashboardSummaryTest.java
index 3b3b2a2..d93cd81 100644
--- a/tests/robotests/src/com/android/settings/dashboard/DashboardSummaryTest.java
+++ b/tests/robotests/src/com/android/settings/dashboard/DashboardSummaryTest.java
@@ -36,7 +36,7 @@
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 import com.android.settingslib.drawer.CategoryKey;
 import com.android.settingslib.drawer.DashboardCategory;
-import com.android.settingslib.suggestions.SuggestionControllerMixin;
+import com.android.settingslib.suggestions.SuggestionControllerMixinCompat;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -46,6 +46,7 @@
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.util.ReflectionHelpers;
 
+import androidx.fragment.app.FragmentActivity;
 import androidx.recyclerview.widget.LinearLayoutManager;
 
 @RunWith(SettingsRobolectricTestRunner.class)
@@ -64,7 +65,7 @@
     @Mock
     private SummaryLoader mSummaryLoader;
     @Mock
-    private SuggestionControllerMixin mSuggestionControllerMixin;
+    private SuggestionControllerMixinCompat mSuggestionControllerMixin;
 
     private Context mContext;
     private DashboardSummary mSummary;
@@ -91,7 +92,7 @@
                 .thenReturn(false);
 
         mSummary.onAttach(mContext);
-        final SuggestionControllerMixin mixin = ReflectionHelpers
+        final SuggestionControllerMixinCompat mixin = ReflectionHelpers
                 .getField(mSummary, "mSuggestionControllerMixin");
         assertThat(mixin).isNull();
     }
@@ -102,7 +103,7 @@
                 .thenReturn(true);
 
         mSummary.onAttach(mContext);
-        final SuggestionControllerMixin mixin = ReflectionHelpers
+        final SuggestionControllerMixinCompat mixin = ReflectionHelpers
                 .getField(mSummary, "mSuggestionControllerMixin");
         assertThat(mixin).isNotNull();
     }
@@ -113,7 +114,7 @@
                 mSuggestionControllerMixin);
 
         when(mSuggestionControllerMixin.isSuggestionLoaded()).thenReturn(true);
-        doReturn(mock(Activity.class)).when(mSummary).getActivity();
+        doReturn(mock(FragmentActivity.class)).when(mSummary).getActivity();
         mSummary.onAttach(mContext);
         mSummary.updateCategory();
 
@@ -127,7 +128,7 @@
         when(mFeatureFactory.suggestionsFeatureProvider.isSuggestionEnabled(any(Context.class)))
                 .thenReturn(false);
 
-        doReturn(mock(Activity.class)).when(mSummary).getActivity();
+        doReturn(mock(FragmentActivity.class)).when(mSummary).getActivity();
         mSummary.onAttach(mContext);
         mSummary.updateCategory();
 
@@ -167,7 +168,7 @@
 
     @Test
     public void onCategoryChanged_noRebuildOnFirstCall() {
-        doReturn(mock(Activity.class)).when(mSummary).getActivity();
+        doReturn(mock(FragmentActivity.class)).when(mSummary).getActivity();
         doNothing().when(mSummary).rebuildUI();
         mSummary.onCategoriesChanged();
         verify(mSummary, never()).rebuildUI();
@@ -175,7 +176,7 @@
 
     @Test
     public void onCategoryChanged_rebuildOnSecondCall() {
-        doReturn(mock(Activity.class)).when(mSummary).getActivity();
+        doReturn(mock(FragmentActivity.class)).when(mSummary).getActivity();
         doNothing().when(mSummary).rebuildUI();
         mSummary.onCategoriesChanged();
         mSummary.onCategoriesChanged();
diff --git a/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionAdapterTest.java b/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionAdapterTest.java
index 4953483..c5e6b9d 100644
--- a/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionAdapterTest.java
+++ b/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionAdapterTest.java
@@ -47,7 +47,7 @@
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 import com.android.settings.testutils.shadow.ShadowCardView;
 import com.android.settingslib.Utils;
-import com.android.settingslib.suggestions.SuggestionControllerMixin;
+import com.android.settingslib.suggestions.SuggestionControllerMixinCompat;
 import com.android.settingslib.utils.IconCache;
 
 import org.junit.Before;
@@ -70,7 +70,7 @@
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
     private SettingsActivity mActivity;
     @Mock
-    private SuggestionControllerMixin mSuggestionControllerMixin;
+    private SuggestionControllerMixinCompat mSuggestionControllerMixin;
     @Mock
     private Resources mResources;
     @Mock
diff --git a/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImplTest.java
index e7eec36..b1c256f 100644
--- a/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImplTest.java
+++ b/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImplTest.java
@@ -39,7 +39,7 @@
 import com.android.settings.testutils.shadow.SettingsShadowResources;
 import com.android.settings.testutils.shadow.ShadowSecureSettings;
 import com.android.settingslib.drawer.Tile;
-import com.android.settingslib.suggestions.SuggestionControllerMixin;
+import com.android.settingslib.suggestions.SuggestionControllerMixinCompat;
 
 import org.junit.After;
 import org.junit.Before;
@@ -61,7 +61,7 @@
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
     private Context mContext;
     @Mock
-    private SuggestionControllerMixin mSuggestionControllerMixin;
+    private SuggestionControllerMixinCompat mSuggestionControllerMixin;
     @Mock
     private Suggestion mSuggestion;
     @Mock
diff --git a/tests/robotests/src/com/android/settings/datausage/DataUsageListTest.java b/tests/robotests/src/com/android/settings/datausage/DataUsageListTest.java
index 04b5030..206f149 100644
--- a/tests/robotests/src/com/android/settings/datausage/DataUsageListTest.java
+++ b/tests/robotests/src/com/android/settings/datausage/DataUsageListTest.java
@@ -23,7 +23,6 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.Activity;
 import android.content.Context;
 import android.content.Intent;
 import android.net.NetworkTemplate;
@@ -41,6 +40,8 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.util.ReflectionHelpers;
 
+import androidx.fragment.app.FragmentActivity;
+
 @RunWith(SettingsRobolectricTestRunner.class)
 public class DataUsageListTest {
 
@@ -91,7 +92,7 @@
 
     @Test
     public void processArgument_fromIntent_shouldGetTemplateFromIntent() {
-        final Activity activity = mock(Activity.class);
+        final FragmentActivity activity = mock(FragmentActivity.class);
         final Intent intent = new Intent();
         intent.putExtra(Settings.EXTRA_NETWORK_TEMPLATE, mock(NetworkTemplate.class));
         intent.putExtra(Settings.EXTRA_SUB_ID, 3);
diff --git a/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryPreferenceControllerTest.java
index b6eb603..bd9db3d 100644
--- a/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryPreferenceControllerTest.java
@@ -59,6 +59,7 @@
 
 import java.util.concurrent.TimeUnit;
 
+import androidx.fragment.app.FragmentActivity;
 import androidx.recyclerview.widget.RecyclerView;
 
 @RunWith(SettingsRobolectricTestRunner.class)
@@ -97,7 +98,7 @@
     private DataUsageInfoController mDataInfoController;
 
     private FakeFeatureFactory mFactory;
-    private Activity mActivity;
+    private FragmentActivity mActivity;
     private Context mContext;
     private DataUsageSummaryPreferenceController mController;
 
@@ -115,7 +116,7 @@
         ShadowEntityHeaderController.setUseMock(mHeaderController);
         mDataInfoController = new DataUsageInfoController();
 
-        mActivity = spy(Robolectric.buildActivity(Activity.class).get());
+        mActivity = spy(Robolectric.buildActivity(FragmentActivity.class).get());
         when(mActivity.getSystemService(TelephonyManager.class)).thenReturn(mTelephonyManager);
         when(mActivity.getSystemService(ConnectivityManager.class))
                 .thenReturn(mConnectivityManager);
diff --git a/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryPreferenceTest.java b/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryPreferenceTest.java
index d1655b7..94716f9 100644
--- a/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryPreferenceTest.java
@@ -55,6 +55,7 @@
 
 import java.util.concurrent.TimeUnit;
 
+import androidx.fragment.app.FragmentActivity;
 import androidx.preference.PreferenceViewHolder;
 
 @RunWith(SettingsRobolectricTestRunner.class)
@@ -417,7 +418,7 @@
 
     @Test
     public void testSetAppIntent_toMdpApp_intentCorrect() {
-        final Activity activity = Robolectric.setupActivity(Activity.class);
+        final FragmentActivity activity = Robolectric.setupActivity(FragmentActivity.class);
         final Intent intent = new Intent(SubscriptionManager.ACTION_MANAGE_SUBSCRIPTION_PLANS);
         intent.setPackage("test-owner.example.com");
         intent.putExtra(SubscriptionManager.EXTRA_SUBSCRIPTION_INDEX, 42);
@@ -485,7 +486,7 @@
         final int daysLeft = 3;
         final long cycleEnd = System.currentTimeMillis() + TimeUnit.DAYS.toMillis(daysLeft)
                 + TimeUnit.HOURS.toMillis(1);
-        final Activity activity = Robolectric.setupActivity(Activity.class);
+        final FragmentActivity activity = Robolectric.setupActivity(FragmentActivity.class);
         mSummaryPreference = spy(mSummaryPreference);
         mSummaryPreference.setUsageInfo(cycleEnd, mUpdateTime, DUMMY_CARRIER, 0 /* numPlans */,
                 new Intent());
diff --git a/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryTest.java b/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryTest.java
index 6f0ec9f..9651054 100644
--- a/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryTest.java
+++ b/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryTest.java
@@ -27,7 +27,6 @@
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 
-import android.app.Activity;
 import android.content.Context;
 import android.net.NetworkPolicyManager;
 
@@ -48,6 +47,8 @@
 import org.robolectric.annotation.Config;
 import org.robolectric.shadows.ShadowApplication;
 
+import androidx.fragment.app.FragmentActivity;
+
 @Config(shadows = {
     SettingsShadowResourcesImpl.class,
     SettingsShadowResources.SettingsShadowTheme.class,
@@ -63,7 +64,7 @@
     @Mock
     private NetworkPolicyManager mNetworkPolicyManager;
     private Context mContext;
-    private Activity mActivity;
+    private FragmentActivity mActivity;
     private SummaryLoader.SummaryProvider mSummaryProvider;
 
     /**
@@ -78,7 +79,7 @@
         shadowContext.setSystemService(Context.NETWORK_POLICY_SERVICE, mNetworkPolicyManager);
 
         mContext = shadowContext.getApplicationContext();
-        mActivity = spy(Robolectric.buildActivity(Activity.class).get());
+        mActivity = spy(Robolectric.buildActivity(FragmentActivity.class).get());
 
         mSummaryProvider = DataUsageSummary.SUMMARY_PROVIDER_FACTORY
                 .createSummaryProvider(mActivity, mSummaryLoader);
diff --git a/tests/robotests/src/com/android/settings/datetime/timezone/RegionSearchPickerTest.java b/tests/robotests/src/com/android/settings/datetime/timezone/RegionSearchPickerTest.java
index ffda30d..6addd6f 100644
--- a/tests/robotests/src/com/android/settings/datetime/timezone/RegionSearchPickerTest.java
+++ b/tests/robotests/src/com/android/settings/datetime/timezone/RegionSearchPickerTest.java
@@ -21,8 +21,6 @@
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
-import android.app.Activity;
-import android.app.Fragment;
 import android.widget.Filter;
 import android.widget.LinearLayout;
 
@@ -30,13 +28,13 @@
 import com.android.settings.datetime.timezone.BaseTimeZoneAdapter.ItemViewHolder;
 import com.android.settings.datetime.timezone.RegionSearchPicker.RegionItem;
 import com.android.settings.datetime.timezone.model.TimeZoneData;
+import com.android.settings.testutils.Robolectric;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 
 import libcore.util.CountryZonesFinder;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.robolectric.Robolectric;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
 import org.robolectric.annotation.Implementation;
@@ -47,6 +45,9 @@
 import java.util.List;
 import java.util.Locale;
 
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentActivity;
+
 @RunWith(SettingsRobolectricTestRunner.class)
 @Config(shadows = {
         RegionSearchPickerTest.ShadowBaseTimeZonePicker.class,
@@ -141,10 +142,10 @@
     @Implements(Fragment.class)
     public static class ShadowFragment {
 
-        private Activity mActivity = Robolectric.setupActivity(Activity.class);
+        private FragmentActivity mActivity = Robolectric.setupActivity(FragmentActivity.class);
 
         @Implementation
-        public final Activity getActivity() {
+        public final FragmentActivity getActivity() {
             return mActivity;
         }
     }
diff --git a/tests/robotests/src/com/android/settings/datetime/timezone/model/TimeZoneDataTest.java b/tests/robotests/src/com/android/settings/datetime/timezone/model/TimeZoneDataTest.java
index 0359cfc..d388dcd 100644
--- a/tests/robotests/src/com/android/settings/datetime/timezone/model/TimeZoneDataTest.java
+++ b/tests/robotests/src/com/android/settings/datetime/timezone/model/TimeZoneDataTest.java
@@ -22,14 +22,14 @@
 
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
 import libcore.util.CountryTimeZones;
 import libcore.util.CountryTimeZones.TimeZoneMapping;
 import libcore.util.CountryZonesFinder;
 
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
diff --git a/tests/robotests/src/com/android/settings/deletionhelper/AutomaticStorageManagerSwitchBarControllerTest.java b/tests/robotests/src/com/android/settings/deletionhelper/AutomaticStorageManagerSwitchBarControllerTest.java
index 14a6211..f78d8f9 100644
--- a/tests/robotests/src/com/android/settings/deletionhelper/AutomaticStorageManagerSwitchBarControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deletionhelper/AutomaticStorageManagerSwitchBarControllerTest.java
@@ -23,8 +23,6 @@
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 
-import android.app.Fragment;
-import android.app.FragmentManager;
 import android.content.Context;
 import android.os.SystemProperties;
 import android.provider.Settings;
@@ -43,6 +41,8 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RuntimeEnvironment;
 
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
 import androidx.preference.Preference;
 
 @RunWith(SettingsRobolectricTestRunner.class)
diff --git a/tests/robotests/src/com/android/settings/development/ClearAdbKeysPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/ClearAdbKeysPreferenceControllerTest.java
index 05f4824..6c7c1eb 100644
--- a/tests/robotests/src/com/android/settings/development/ClearAdbKeysPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/ClearAdbKeysPreferenceControllerTest.java
@@ -25,7 +25,6 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.Fragment;
 import android.content.Context;
 import android.hardware.usb.IUsbManager;
 import android.os.RemoteException;
@@ -46,6 +45,7 @@
 import org.robolectric.annotation.Implements;
 import org.robolectric.util.ReflectionHelpers;
 
+import androidx.fragment.app.Fragment;
 import androidx.preference.PreferenceScreen;
 import androidx.preference.SwitchPreference;
 
diff --git a/tests/robotests/src/com/android/settings/development/OemUnlockPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/OemUnlockPreferenceControllerTest.java
index 8889ed1..fb0ed79 100644
--- a/tests/robotests/src/com/android/settings/development/OemUnlockPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/OemUnlockPreferenceControllerTest.java
@@ -27,7 +27,6 @@
 import static org.mockito.Mockito.when;
 
 import android.app.Activity;
-import android.app.FragmentManager;
 import android.content.Context;
 import android.content.res.Resources;
 import android.os.UserManager;
@@ -44,6 +43,7 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 
+import androidx.fragment.app.FragmentManager;
 import androidx.preference.PreferenceScreen;
 
 @RunWith(SettingsRobolectricTestRunner.class)
diff --git a/tests/robotests/src/com/android/settings/development/featureflags/FeatureFlagPersistentTest.java b/tests/robotests/src/com/android/settings/development/featureflags/FeatureFlagPersistentTest.java
index c9f452d..bf0cf09 100644
--- a/tests/robotests/src/com/android/settings/development/featureflags/FeatureFlagPersistentTest.java
+++ b/tests/robotests/src/com/android/settings/development/featureflags/FeatureFlagPersistentTest.java
@@ -17,22 +17,18 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import com.android.settings.development.featureflags.FeatureFlagPersistent;
+import android.content.Context;
+import android.os.SystemProperties;
+import android.provider.Settings;
+import android.util.FeatureFlagUtils;
+
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
-import org.robolectric.annotation.Config;
-
-import android.content.Context;
-import android.os.SystemProperties;
-import android.provider.Settings;
-import android.util.FeatureFlagUtils;
-import android.util.Log;
 
 @RunWith(SettingsRobolectricTestRunner.class)
 public class FeatureFlagPersistentTest {
diff --git a/tests/robotests/src/com/android/settings/development/featureflags/FeatureFlagPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/featureflags/FeatureFlagPreferenceControllerTest.java
index 3a9d89a..c9c9753 100644
--- a/tests/robotests/src/com/android/settings/development/featureflags/FeatureFlagPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/featureflags/FeatureFlagPreferenceControllerTest.java
@@ -16,7 +16,7 @@
 
 package com.android.settings.development.featureflags;
 
-import static androidx.lifecycle.Lifecycle.Event.ON_START;
+import static com.android.settings.core.BasePreferenceController.AVAILABLE;
 import static com.google.common.truth.Truth.assertThat;
 import static org.mockito.Matchers.any;
 import static org.mockito.Mockito.atLeastOnce;
@@ -26,7 +26,6 @@
 import android.content.Context;
 
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
-import com.android.settingslib.core.lifecycle.Lifecycle;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -35,7 +34,7 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RuntimeEnvironment;
 
-import androidx.lifecycle.LifecycleOwner;
+import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceScreen;
 
 @RunWith(SettingsRobolectricTestRunner.class)
@@ -43,33 +42,31 @@
 
     @Mock
     private PreferenceScreen mScreen;
+    @Mock
+    private PreferenceCategory mCategory;
     private Context mContext;
-    private LifecycleOwner mLifecycleOwner;
-    private Lifecycle mLifecycle;
     private FeatureFlagsPreferenceController mController;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
-        mLifecycleOwner = () -> mLifecycle;
-        mLifecycle = new Lifecycle(mLifecycleOwner);
-        mController = new FeatureFlagsPreferenceController(mContext, mLifecycle);
-        when(mScreen.getContext()).thenReturn(mContext);
+        mController = new FeatureFlagsPreferenceController(mContext, "test_key");
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mCategory);
+        when(mCategory.getContext()).thenReturn(mContext);
         mController.displayPreference(mScreen);
     }
 
     @Test
-    public void verifyConstants() {
-        assertThat(mController.isAvailable()).isTrue();
-        assertThat(mController.getPreferenceKey()).isNull();
+    public void getAvailability_available() {
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
     }
 
     @Test
     public void onStart_shouldRefreshFeatureFlags() {
-        mLifecycle.handleLifecycleEvent(ON_START);
+        mController.onStart();
 
-        verify(mScreen).removeAll();
-        verify(mScreen, atLeastOnce()).addPreference(any(FeatureFlagPreference.class));
+        verify(mCategory).removeAll();
+        verify(mCategory, atLeastOnce()).addPreference(any(FeatureFlagPreference.class));
     }
 }
diff --git a/tests/robotests/src/com/android/settings/development/qstile/DevelopmentTilePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/qstile/DevelopmentTilePreferenceControllerTest.java
index 3043019..c42d46c 100644
--- a/tests/robotests/src/com/android/settings/development/qstile/DevelopmentTilePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/qstile/DevelopmentTilePreferenceControllerTest.java
@@ -70,9 +70,7 @@
         mShadowPackageManager = Shadows.shadowOf(mContext.getPackageManager());
         when(mScreen.getContext()).thenReturn(mContext);
 
-        mController = new DevelopmentTilePreferenceController(mContext);
-        assertThat(mController.getPreferenceKey()).isNull();
-
+        mController = new DevelopmentTilePreferenceController(mContext, "testkey");
         mOnChangeHandler = spy(new DevelopmentTilePreferenceController.OnChangeHandler(mContext));
         ReflectionHelpers.setField(mOnChangeHandler, "mStatusBarService", mStatusBarService);
     }
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/BuildNumberPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/BuildNumberPreferenceControllerTest.java
index 3aa3ce2..2234414 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/BuildNumberPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/BuildNumberPreferenceControllerTest.java
@@ -25,7 +25,6 @@
 import static org.mockito.Mockito.verify;
 
 import android.app.Activity;
-import android.app.Fragment;
 import android.content.Context;
 import android.os.Build;
 import android.os.Process;
@@ -52,6 +51,7 @@
 import org.robolectric.annotation.Config;
 import org.robolectric.shadows.ShadowUserManager;
 
+import androidx.fragment.app.Fragment;
 import androidx.lifecycle.LifecycleOwner;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/DeviceModelPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/DeviceModelPreferenceControllerTest.java
index dbffc31..78eb030 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/DeviceModelPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/DeviceModelPreferenceControllerTest.java
@@ -22,9 +22,6 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.Fragment;
-import android.app.FragmentManager;
-import android.app.FragmentTransaction;
 import android.content.Context;
 import android.os.Build;
 
@@ -40,6 +37,9 @@
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
 
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+import androidx.fragment.app.FragmentTransaction;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/FeedbackPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/FeedbackPreferenceControllerTest.java
index 343f283..323a116 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/FeedbackPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/FeedbackPreferenceControllerTest.java
@@ -19,7 +19,6 @@
 import static org.mockito.Matchers.anyInt;
 import static org.mockito.Mockito.when;
 
-import android.app.Fragment;
 import android.content.Context;
 
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
@@ -31,6 +30,7 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 
+import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/HardwareInfoDialogFragmentTest.java b/tests/robotests/src/com/android/settings/deviceinfo/HardwareInfoDialogFragmentTest.java
index be2dea2..e17f6be 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/HardwareInfoDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/HardwareInfoDialogFragmentTest.java
@@ -23,26 +23,27 @@
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 
-import android.app.Activity;
 import android.os.SystemProperties;
 import android.view.View;
 
 import com.android.settings.R;
+import com.android.settings.testutils.Robolectric;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.robolectric.Robolectric;
+
+import androidx.fragment.app.FragmentActivity;
 
 @RunWith(SettingsRobolectricTestRunner.class)
 public class HardwareInfoDialogFragmentTest {
 
-    private Activity mActivity;
+    private FragmentActivity mActivity;
 
     @Before
     public void setUp() {
-        mActivity = Robolectric.setupActivity(Activity.class);
+        mActivity = Robolectric.setupActivity(FragmentActivity.class);
     }
 
     @Test
@@ -52,7 +53,7 @@
 
         final HardwareInfoDialogFragment fragment = spy(HardwareInfoDialogFragment.newInstance());
         doReturn("").when(fragment).getSerialNumber();
-        fragment.show(mActivity.getFragmentManager(), HardwareInfoDialogFragment.TAG);
+        fragment.show(mActivity.getSupportFragmentManager(), HardwareInfoDialogFragment.TAG);
 
         verify(fragment).setText(
                 any(View.class), eq(R.id.model_label), eq(R.id.model_value),
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/MyDeviceInfoFragmentTest.java b/tests/robotests/src/com/android/settings/deviceinfo/MyDeviceInfoFragmentTest.java
index f8fffbb..d1e8d98 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/MyDeviceInfoFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/MyDeviceInfoFragmentTest.java
@@ -25,7 +25,6 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.Activity;
 import android.content.Context;
 import android.content.Intent;
 import android.os.Bundle;
@@ -54,6 +53,7 @@
 import java.util.List;
 import java.util.Map;
 
+import androidx.fragment.app.FragmentActivity;
 import androidx.preference.PreferenceScreen;
 
 @RunWith(SettingsRobolectricTestRunner.class)
@@ -61,7 +61,7 @@
 public class MyDeviceInfoFragmentTest {
 
     @Mock
-    private Activity mActivity;
+    private FragmentActivity mActivity;
     @Mock
     private PreferenceScreen mScreen;
     @Mock
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/PrivateVolumeForgetTest.java b/tests/robotests/src/com/android/settings/deviceinfo/PrivateVolumeForgetTest.java
index 7ce37f5..d1215ec 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/PrivateVolumeForgetTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/PrivateVolumeForgetTest.java
@@ -18,7 +18,6 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import android.app.Activity;
 import android.app.AlertDialog;
 import android.content.DialogInterface;
 import android.os.Bundle;
@@ -27,6 +26,7 @@
 
 import com.android.settings.R;
 import com.android.settings.deviceinfo.PrivateVolumeForget.ForgetConfirmFragment;
+import com.android.settings.testutils.Robolectric;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 import com.android.settings.testutils.shadow.ShadowStorageManager;
 
@@ -34,15 +34,16 @@
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.robolectric.Robolectric;
 import org.robolectric.annotation.Config;
 
+import androidx.fragment.app.FragmentActivity;
+
 @RunWith(SettingsRobolectricTestRunner.class)
 @Config(shadows = ShadowStorageManager.class)
 public class PrivateVolumeForgetTest {
 
     private PrivateVolumeForget mFragment;
-    private Activity mActivity;
+    private FragmentActivity mActivity;
 
     @Before
     public void setUp() {
@@ -66,7 +67,7 @@
 
         confirm.performClick();
         final ForgetConfirmFragment confirmFragment =
-                (ForgetConfirmFragment) mActivity.getFragmentManager().findFragmentByTag(
+                (ForgetConfirmFragment) mActivity.getSupportFragmentManager().findFragmentByTag(
                         PrivateVolumeForget.TAG_FORGET_CONFIRM);
 
         assertThat(confirmFragment).isNotNull();
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/PrivateVolumeFormatTest.java b/tests/robotests/src/com/android/settings/deviceinfo/PrivateVolumeFormatTest.java
index ec371fa..0d720e3 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/PrivateVolumeFormatTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/PrivateVolumeFormatTest.java
@@ -17,7 +17,6 @@
 package com.android.settings.deviceinfo;
 
 import static com.google.common.truth.Truth.assertThat;
-import static org.robolectric.Shadows.shadowOf;
 
 import android.content.ComponentName;
 import android.content.Intent;
@@ -26,14 +25,15 @@
 import android.widget.Button;
 
 import com.android.settings.R;
+import com.android.settings.testutils.Robolectric;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 import com.android.settings.testutils.shadow.ShadowStorageManager;
 
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.robolectric.Robolectric;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.Shadows;
 import org.robolectric.annotation.Config;
 import org.robolectric.shadows.ShadowActivity;
 
@@ -51,7 +51,7 @@
         bundle.putString(VolumeInfo.EXTRA_VOLUME_ID, "id");
         mFragment = Robolectric.buildFragment(PrivateVolumeFormat.class,
                 bundle).create().start().resume().get();
-        mShadowActivity = shadowOf(mFragment.getActivity());
+        mShadowActivity = Shadows.shadowOf(mFragment.getActivity());
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/PrivateVolumeUnmountTest.java b/tests/robotests/src/com/android/settings/deviceinfo/PrivateVolumeUnmountTest.java
index 77e60a1..94f5286 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/PrivateVolumeUnmountTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/PrivateVolumeUnmountTest.java
@@ -23,6 +23,7 @@
 import android.widget.Button;
 
 import com.android.settings.R;
+import com.android.settings.testutils.Robolectric;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 import com.android.settings.testutils.shadow.ShadowStorageManager;
 
@@ -30,7 +31,6 @@
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.robolectric.Robolectric;
 import org.robolectric.annotation.Config;
 
 
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/deviceinfo/DeviceNameWarningDialogTest.java b/tests/robotests/src/com/android/settings/deviceinfo/deviceinfo/DeviceNameWarningDialogTest.java
index 376264e..e28e6ec 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/deviceinfo/DeviceNameWarningDialogTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/deviceinfo/DeviceNameWarningDialogTest.java
@@ -9,12 +9,12 @@
 
 import com.android.settings.deviceinfo.aboutphone.DeviceNameWarningDialog;
 import com.android.settings.deviceinfo.aboutphone.MyDeviceInfoFragment;
+import com.android.settings.testutils.FragmentController;
+import com.android.settings.testutils.Robolectric;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.robolectric.Robolectric;
-import org.robolectric.android.controller.FragmentController;
 
 @RunWith(SettingsRobolectricTestRunner.class)
 public class DeviceNameWarningDialogTest {
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionPreferenceControllerTest.java
index bf049bc..512062c 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionPreferenceControllerTest.java
@@ -18,7 +18,6 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import android.app.Fragment;
 import android.content.Context;
 import android.os.Build;
 
@@ -37,6 +36,7 @@
 import org.robolectric.annotation.Implements;
 import org.robolectric.annotation.Resetter;
 
+import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceControllerTest.java
index 0dad2d1..d1056b5 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceControllerTest.java
@@ -25,8 +25,6 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.Fragment;
-import android.app.FragmentManager;
 import android.content.Context;
 import android.os.UserManager;
 import android.telephony.TelephonyManager;
@@ -43,6 +41,8 @@
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.util.ReflectionHelpers;
 
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/simstatus/SimStatusPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/simstatus/SimStatusPreferenceControllerTest.java
index 0d1fef0..7846292 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/simstatus/SimStatusPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/simstatus/SimStatusPreferenceControllerTest.java
@@ -23,8 +23,6 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.Fragment;
-import android.app.FragmentManager;
 import android.content.Context;
 import android.os.UserManager;
 import android.telephony.TelephonyManager;
@@ -41,6 +39,8 @@
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.util.ReflectionHelpers;
 
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/storage/AutomaticStorageManagementSwitchPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/storage/AutomaticStorageManagementSwitchPreferenceControllerTest.java
index 92e7d7c..e206d52 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/storage/AutomaticStorageManagementSwitchPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/storage/AutomaticStorageManagementSwitchPreferenceControllerTest.java
@@ -25,8 +25,6 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.FragmentManager;
-import android.app.FragmentTransaction;
 import android.content.ContentResolver;
 import android.content.Context;
 import android.os.SystemProperties;
@@ -50,6 +48,8 @@
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.util.ReflectionHelpers;
 
+import androidx.fragment.app.FragmentManager;
+import androidx.fragment.app.FragmentTransaction;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceControllerTest.java
index 44415bd..4ec5f5f 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceControllerTest.java
@@ -29,10 +29,6 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.Activity;
-import android.app.Fragment;
-import android.app.FragmentManager;
-import android.app.FragmentTransaction;
 import android.content.Context;
 import android.content.Intent;
 import android.graphics.drawable.Drawable;
@@ -65,6 +61,10 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RuntimeEnvironment;
 
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentActivity;
+import androidx.fragment.app.FragmentManager;
+import androidx.fragment.app.FragmentTransaction;
 import androidx.preference.PreferenceScreen;
 
 @RunWith(SettingsRobolectricTestRunner.class)
@@ -77,7 +77,7 @@
     @Mock
     private StorageVolumeProvider mSvp;
     @Mock
-    private Activity mActivity;
+    private FragmentActivity mActivity;
     @Mock
     private FragmentManager mFragmentManager;
     @Mock
diff --git a/tests/robotests/src/com/android/settings/display/AutoBrightnessPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/AutoBrightnessPreferenceControllerTest.java
index 188cb92..5ceb70f 100644
--- a/tests/robotests/src/com/android/settings/display/AutoBrightnessPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/AutoBrightnessPreferenceControllerTest.java
@@ -25,6 +25,7 @@
 import android.content.Context;
 import android.provider.Settings;
 
+import com.android.settings.R;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 
 import org.junit.Before;
@@ -52,50 +53,68 @@
     }
 
     @Test
-    public void testOnPreferenceChange_TurnOnAuto_ReturnAuto() {
+    public void onPreferenceChange_TurnOnAuto_ReturnAuto() {
         mController.onPreferenceChange(null, true);
 
         final int mode = Settings.System.getInt(mContentResolver, SCREEN_BRIGHTNESS_MODE,
-            SCREEN_BRIGHTNESS_MODE_MANUAL);
+                SCREEN_BRIGHTNESS_MODE_MANUAL);
         assertThat(mode).isEqualTo(SCREEN_BRIGHTNESS_MODE_AUTOMATIC);
     }
 
     @Test
-    public void testOnPreferenceChange_TurnOffAuto_ReturnManual() {
+    public void onPreferenceChange_TurnOffAuto_ReturnManual() {
         mController.onPreferenceChange(null, false);
 
         final int mode = Settings.System.getInt(mContentResolver, SCREEN_BRIGHTNESS_MODE,
-            SCREEN_BRIGHTNESS_MODE_AUTOMATIC);
+                SCREEN_BRIGHTNESS_MODE_AUTOMATIC);
         assertThat(mode).isEqualTo(SCREEN_BRIGHTNESS_MODE_MANUAL);
     }
 
     @Test
-    public void testSetValue_updatesCorrectly() {
-        boolean newValue = true;
-        Settings.System.putInt(mContentResolver, SCREEN_BRIGHTNESS_MODE,
-            SCREEN_BRIGHTNESS_MODE_MANUAL);
+    public void setChecked_updatesCorrectly() {
+        mController.setChecked(true);
 
-        mController.setChecked(newValue);
-        boolean updatedValue = Settings.System.getInt(mContentResolver, SCREEN_BRIGHTNESS_MODE, -1)
-                != SCREEN_BRIGHTNESS_MODE_MANUAL;
+        assertThat(mController.isChecked()).isTrue();
 
-        assertThat(updatedValue).isEqualTo(newValue);
+        mController.setChecked(false);
+
+        assertThat(mController.isChecked()).isFalse();
     }
 
     @Test
-    public void testGetValue_correctValueReturned() {
+    public void isChecked_no() {
         Settings.System.putInt(mContentResolver, SCREEN_BRIGHTNESS_MODE,
-            SCREEN_BRIGHTNESS_MODE_AUTOMATIC);
+                SCREEN_BRIGHTNESS_MODE_MANUAL);
 
-        int newValue = mController.isChecked() ?
-                SCREEN_BRIGHTNESS_MODE_AUTOMATIC
-                : SCREEN_BRIGHTNESS_MODE_MANUAL;
-
-        assertThat(newValue).isEqualTo(SCREEN_BRIGHTNESS_MODE_AUTOMATIC);
+        assertThat(mController.isChecked()).isFalse();
     }
 
     @Test
-    public void isSliceableCorrectKey_returnsTrue() {
+    public void isChecked_yes() {
+        Settings.System.putInt(mContentResolver, SCREEN_BRIGHTNESS_MODE,
+                SCREEN_BRIGHTNESS_MODE_AUTOMATIC);
+
+        assertThat(mController.isChecked()).isTrue();
+    }
+
+    @Test
+    public void getSummary_settingOn_shouldReturnOnSummary() {
+        mController.setChecked(true);
+
+        assertThat(mController.getSummary())
+                .isEqualTo(mContext.getText(R.string.auto_brightness_summary_on));
+    }
+
+    @Test
+    public void getSummary_settingOff_shouldReturnOffSummary() {
+        mController.setChecked(false);
+
+        assertThat(mController.getSummary())
+                .isEqualTo(mContext.getText(R.string.auto_brightness_summary_off));
+    }
+
+    @Test
+    public void isSliceable_correctKey_returnsTrue() {
         final AutoBrightnessPreferenceController controller =
                 new AutoBrightnessPreferenceController(mContext,
                         "auto_brightness");
@@ -103,7 +122,7 @@
     }
 
     @Test
-    public void isSliceableIncorrectKey_returnsFalse() {
+    public void isSliceable_incorrectKey_returnsFalse() {
         final AutoBrightnessPreferenceController controller =
                 new AutoBrightnessPreferenceController(mContext, "bad_key");
         assertThat(controller.isSliceable()).isFalse();
diff --git a/tests/robotests/src/com/android/settings/display/ColorModePreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/display/ColorModePreferenceFragmentTest.java
index 859bf33..84d142c 100644
--- a/tests/robotests/src/com/android/settings/display/ColorModePreferenceFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/display/ColorModePreferenceFragmentTest.java
@@ -24,7 +24,6 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.Activity;
 import android.os.Bundle;
 
 import com.android.internal.app.ColorDisplayController;
@@ -47,6 +46,7 @@
 
 import java.util.List;
 
+import androidx.fragment.app.FragmentActivity;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
@@ -60,7 +60,7 @@
     private ColorDisplayController mController;
 
     @Mock
-    private Activity mActivity;
+    private FragmentActivity mActivity;
 
     @Before
     public void setup() {
diff --git a/tests/robotests/src/com/android/settings/display/DarkUIPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/DarkUIPreferenceControllerTest.java
index c5d6f18..21f3c0a 100644
--- a/tests/robotests/src/com/android/settings/display/DarkUIPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/DarkUIPreferenceControllerTest.java
@@ -23,13 +23,11 @@
 import android.app.UiModeManager;
 import android.content.Context;
 
-import com.android.settings.display.DarkUIPreferenceController;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.InjectMocks;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RuntimeEnvironment;
diff --git a/tests/robotests/src/com/android/settings/display/TimeoutListPreferenceTest.java b/tests/robotests/src/com/android/settings/display/TimeoutListPreferenceTest.java
index 0e40fb5..40a5975 100644
--- a/tests/robotests/src/com/android/settings/display/TimeoutListPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/display/TimeoutListPreferenceTest.java
@@ -16,11 +16,9 @@
 package com.android.settings.display;
 
 import static com.google.common.truth.Truth.assertThat;
-
 import static org.mockito.Mockito.mock;
 import static org.robolectric.RuntimeEnvironment.application;
 
-import android.text.TextUtils;
 import android.util.AttributeSet;
 
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
diff --git a/tests/robotests/src/com/android/settings/display/TimeoutPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/TimeoutPreferenceControllerTest.java
index 0447bbb..a575a60 100644
--- a/tests/robotests/src/com/android/settings/display/TimeoutPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/TimeoutPreferenceControllerTest.java
@@ -19,7 +19,6 @@
 import static android.provider.Settings.System.SCREEN_OFF_TIMEOUT;
 import static com.google.common.truth.Truth.assertThat;
 import static org.mockito.Mockito.anyInt;
-import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
diff --git a/tests/robotests/src/com/android/settings/dream/CurrentDreamPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/dream/CurrentDreamPreferenceControllerTest.java
index 4419940..74847ee 100644
--- a/tests/robotests/src/com/android/settings/dream/CurrentDreamPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/dream/CurrentDreamPreferenceControllerTest.java
@@ -56,7 +56,7 @@
     public void setup() {
         MockitoAnnotations.initMocks(this);
 
-        mController = new CurrentDreamPreferenceController(mContext);
+        mController = new CurrentDreamPreferenceController(mContext, "test");
         ReflectionHelpers.setField(mController, "mBackend", mBackend);
     }
 
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java b/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java
index b12b99a..e6b3499 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java
@@ -30,9 +30,7 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.Activity;
 import android.app.AppOpsManager;
-import android.app.LoaderManager;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.ApplicationInfo;
@@ -75,6 +73,8 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import androidx.fragment.app.FragmentActivity;
+import androidx.loader.app.LoaderManager;
 import androidx.preference.Preference;
 import androidx.recyclerview.widget.RecyclerView;
 
@@ -103,7 +103,7 @@
     private static final long PHONE_BACKGROUND_TIME_MS = 0;
 
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
-    private Activity mActivity;
+    private FragmentActivity mActivity;
     @Mock
     private EntityHeaderController mEntityHeaderController;
     @Mock
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceControllerTest.java
index 76b9ef0..91cb078 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceControllerTest.java
@@ -26,7 +26,6 @@
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
-import static org.robolectric.Shadows.shadowOf;
 
 import android.app.Activity;
 import android.content.Context;
@@ -51,11 +50,12 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.Shadows;
 import org.robolectric.annotation.Config;
 import org.robolectric.shadows.ShadowPowerManager;
 
 import androidx.lifecycle.LifecycleOwner;
-import androidx.preference.PreferenceFragment;
+import androidx.preference.PreferenceFragmentCompat;
 import androidx.preference.PreferenceScreen;
 import androidx.recyclerview.widget.RecyclerView;
 
@@ -75,7 +75,7 @@
     @Mock
     private Activity mActivity;
     @Mock
-    private PreferenceFragment mPreferenceFragment;
+    private PreferenceFragmentCompat mPreferenceFragment;
     @Mock
     private PreferenceScreen mPreferenceScreen;
     @Mock
@@ -199,7 +199,7 @@
     public void testQuickUpdateHeaderPreference_showPowerSave() {
         boolean testValues[] = {false, true};
 
-        ShadowPowerManager shadowPowerManager = shadowOf(mPowerManager);
+        ShadowPowerManager shadowPowerManager = Shadows.shadowOf(mPowerManager);
         for (boolean value : testValues) {
             shadowPowerManager.setIsPowerSaveMode(value);
             mController.quickUpdateHeaderPreference();
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageBaseTest.java b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageBaseTest.java
index eb683c0..4b96a4d 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageBaseTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageBaseTest.java
@@ -22,7 +22,6 @@
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 
-import android.app.LoaderManager;
 import android.content.Context;
 import android.os.Bundle;
 
@@ -40,6 +39,8 @@
 
 import java.util.List;
 
+import androidx.loader.app.LoaderManager;
+
 @RunWith(SettingsRobolectricTestRunner.class)
 @Config(shadows = ShadowDashboardFragment.class)
 public class PowerUsageBaseTest {
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java
index 4779818..22b042e 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java
@@ -31,7 +31,6 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.LoaderManager;
 import android.content.Context;
 import android.content.Intent;
 import android.os.Bundle;
@@ -72,6 +71,8 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import androidx.loader.app.LoaderManager;
+
 // TODO: Improve this test class so that it starts up the real activity and fragment.
 @RunWith(SettingsRobolectricTestRunner.class)
 @Config(shadows = {
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/RestrictedAppDetailsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/RestrictedAppDetailsTest.java
index 321fda5..1cc027f 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/RestrictedAppDetailsTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/RestrictedAppDetailsTest.java
@@ -20,7 +20,6 @@
 import static org.mockito.Mockito.doAnswer;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.spy;
-import static org.robolectric.Shadows.shadowOf;
 
 import android.app.AlertDialog;
 import android.content.Context;
@@ -39,6 +38,7 @@
 import com.android.settings.fuelgauge.batterytip.tips.RestrictAppTip;
 import com.android.settings.fuelgauge.batterytip.tips.UnrestrictAppTip;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
+import com.android.settingslib.testutils.FragmentTestUtils;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -47,9 +47,9 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.Shadows;
 import org.robolectric.shadows.ShadowAlertDialog;
 import org.robolectric.shadows.ShadowDialog;
-import org.robolectric.util.FragmentTestUtil;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -152,10 +152,10 @@
         final BatteryTipDialogFragment dialogFragment = mRestrictedAppDetails.createDialogFragment(
                 mAppInfo, true);
 
-        FragmentTestUtil.startFragment(dialogFragment);
+        FragmentTestUtils.startFragment(dialogFragment);
 
         final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog();
-        ShadowAlertDialog shadowDialog = shadowOf(dialog);
+        ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog);
         assertThat(shadowDialog.getTitle()).isEqualTo("Restrict app?");
     }
 
@@ -164,10 +164,10 @@
         final BatteryTipDialogFragment dialogFragment = mRestrictedAppDetails.createDialogFragment(
                 mAppInfo, false);
 
-        FragmentTestUtil.startFragment(dialogFragment);
+        FragmentTestUtils.startFragment(dialogFragment);
 
         final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog();
-        ShadowAlertDialog shadowDialog = shadowOf(dialog);
+        ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog);
         assertThat(shadowDialog.getTitle()).isEqualTo("Remove restriction?");
     }
 
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/anomaly/AnomalyDialogFragmentTest.java b/tests/robotests/src/com/android/settings/fuelgauge/anomaly/AnomalyDialogFragmentTest.java
index 831b07c..c68b438 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/anomaly/AnomalyDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/anomaly/AnomalyDialogFragmentTest.java
@@ -21,7 +21,6 @@
 import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.spy;
-import static org.robolectric.Shadows.shadowOf;
 
 import android.app.AlertDialog;
 import android.content.Context;
@@ -34,6 +33,7 @@
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 import com.android.settings.testutils.shadow.ShadowRuntimePermissionPresenter;
+import com.android.settingslib.testutils.FragmentTestUtils;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -41,10 +41,10 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.Shadows;
 import org.robolectric.annotation.Config;
 import org.robolectric.shadows.ShadowAlertDialog;
 import org.robolectric.shadows.ShadowDialog;
-import org.robolectric.util.FragmentTestUtil;
 
 @RunWith(SettingsRobolectricTestRunner.class)
 @Config(shadows = ShadowRuntimePermissionPresenter.class)
@@ -105,7 +105,7 @@
     public void testOnCreateDialog_hasCorrectData() {
         mAnomalyDialogFragment =
             AnomalyDialogFragment.newInstance(mWakeLockAnomaly, 0 /* metricskey */);
-        FragmentTestUtil.startFragment(mAnomalyDialogFragment);
+        FragmentTestUtils.startFragment(mAnomalyDialogFragment);
 
         assertThat(mAnomalyDialogFragment.mAnomaly).isEqualTo(mWakeLockAnomaly);
     }
@@ -115,11 +115,11 @@
         mAnomalyDialogFragment =
             AnomalyDialogFragment.newInstance(mWakeLockAnomaly, 0 /* metricskey */);
 
-        FragmentTestUtil.startFragment(mAnomalyDialogFragment);
+        FragmentTestUtils.startFragment(mAnomalyDialogFragment);
 
         final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog();
         assertThat(dialog).isNotNull();
-        ShadowAlertDialog shadowDialog = shadowOf(dialog);
+        ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog);
 
         assertThat(shadowDialog.getMessage()).isEqualTo(
                 mContext.getString(R.string.dialog_stop_message, mWakeLockAnomaly.displayName));
@@ -136,11 +136,11 @@
         mAnomalyDialogFragment =
             AnomalyDialogFragment.newInstance(mWakeupAlarmAnomaly, 0 /* metricskey */);
 
-        FragmentTestUtil.startFragment(mAnomalyDialogFragment);
+        FragmentTestUtils.startFragment(mAnomalyDialogFragment);
 
         final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog();
         assertThat(dialog).isNotNull();
-        ShadowAlertDialog shadowDialog = shadowOf(dialog);
+        ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog);
 
         assertThat(shadowDialog.getMessage()).isEqualTo(
                 mContext.getString(R.string.dialog_background_check_message,
@@ -158,11 +158,11 @@
         mAnomalyDialogFragment =
             AnomalyDialogFragment.newInstance(mWakeupAlarmAnomaly2, 0 /* metricskey */);
 
-        FragmentTestUtil.startFragment(mAnomalyDialogFragment);
+        FragmentTestUtils.startFragment(mAnomalyDialogFragment);
 
         final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog();
         assertThat(dialog).isNotNull();
-        ShadowAlertDialog shadowDialog = shadowOf(dialog);
+        ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog);
 
         assertThat(shadowDialog.getMessage()).isEqualTo(
                 mContext.getString(R.string.dialog_stop_message_wakeup_alarm,
@@ -184,11 +184,11 @@
         doNothing().when(mAnomalyDialogFragment).initAnomalyUtils();
         doReturn(Anomaly.AnomalyActionType.LOCATION_CHECK).when(mAnomalyAction).getActionType();
 
-        FragmentTestUtil.startFragment(mAnomalyDialogFragment);
+        FragmentTestUtils.startFragment(mAnomalyDialogFragment);
 
         final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog();
         assertThat(dialog).isNotNull();
-        ShadowAlertDialog shadowDialog = shadowOf(dialog);
+        ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog);
 
         assertThat(shadowDialog.getMessage()).isEqualTo(
                 mContext.getString(R.string.dialog_location_message,
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/anomaly/AnomalySummaryPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/anomaly/AnomalySummaryPreferenceControllerTest.java
index 4cf7220..e6dea88 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/anomaly/AnomalySummaryPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/anomaly/AnomalySummaryPreferenceControllerTest.java
@@ -22,8 +22,6 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.FragmentManager;
-import android.app.FragmentTransaction;
 import android.content.Context;
 
 import com.android.settings.SettingsActivity;
@@ -40,6 +38,8 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import androidx.fragment.app.FragmentManager;
+import androidx.fragment.app.FragmentTransaction;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipDialogFragmentTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipDialogFragmentTest.java
index 1ff663f..e9c9978 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipDialogFragmentTest.java
@@ -19,7 +19,6 @@
 import static com.google.common.truth.Truth.assertThat;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.spy;
-import static org.robolectric.Shadows.shadowOf;
 
 import android.app.AlertDialog;
 import android.content.Context;
@@ -35,6 +34,7 @@
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 import com.android.settings.testutils.shadow.ShadowUtils;
+import com.android.settingslib.testutils.FragmentTestUtils;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -42,10 +42,10 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.Robolectric;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.Shadows;
 import org.robolectric.annotation.Config;
 import org.robolectric.shadows.ShadowAlertDialog;
 import org.robolectric.shadows.ShadowDialog;
-import org.robolectric.util.FragmentTestUtil;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -104,12 +104,12 @@
 
         mDialogFragment = BatteryTipDialogFragment.newInstance(mHighUsageTip, METRICS_KEY);
 
-        FragmentTestUtil.startFragment(mDialogFragment);
+        FragmentTestUtils.startFragment(mDialogFragment);
 
         Robolectric.getForegroundThreadScheduler().advanceToLastPostedRunnable();
 
         final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog();
-        ShadowAlertDialog shadowDialog = shadowOf(dialog);
+        ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog);
 
         assertThat(shadowDialog.getMessage()).isEqualTo(
                 mContext.getString(R.string.battery_tip_dialog_message, 1));
@@ -119,10 +119,10 @@
     public void testOnCreateDialog_restrictOneAppTip_fireRestrictOneAppDialog() {
         mDialogFragment = BatteryTipDialogFragment.newInstance(mRestrictedOneAppTip, METRICS_KEY);
 
-        FragmentTestUtil.startFragment(mDialogFragment);
+        FragmentTestUtils.startFragment(mDialogFragment);
 
         final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog();
-        ShadowAlertDialog shadowDialog = shadowOf(dialog);
+        ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog);
 
         assertThat(shadowDialog.getTitle()).isEqualTo("Restrict app?");
         assertThat(shadowDialog.getMessage())
@@ -138,12 +138,12 @@
         mDialogFragment = BatteryTipDialogFragment.newInstance(mRestrictTwoAppsTip, METRICS_KEY);
 
 
-        FragmentTestUtil.startFragment(mDialogFragment);
+        FragmentTestUtils.startFragment(mDialogFragment);
 
         Robolectric.getForegroundThreadScheduler().advanceToLastPostedRunnable();
 
         final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog();
-        ShadowAlertDialog shadowDialog = shadowOf(dialog);
+        ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog);
 
         assertThat(shadowDialog.getTitle()).isEqualTo("Restrict 2 apps?");
         assertThat(shadowDialog.getMessage())
@@ -167,12 +167,12 @@
 
         mDialogFragment = BatteryTipDialogFragment.newInstance(restrictSixAppsTip, METRICS_KEY);
 
-        FragmentTestUtil.startFragment(mDialogFragment);
+        FragmentTestUtils.startFragment(mDialogFragment);
 
         Robolectric.getForegroundThreadScheduler().advanceToLastPostedRunnable();
 
         final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog();
-        ShadowAlertDialog shadowDialog = shadowOf(dialog);
+        ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog);
 
         assertThat(shadowDialog.getTitle()).isEqualTo("Restrict 6 apps?");
         assertThat(shadowDialog.getMessage())
@@ -187,10 +187,10 @@
         mDialogFragment = BatteryTipDialogFragment.newInstance(mUnrestrictAppTip, METRICS_KEY);
         ShadowUtils.setApplicationLabel(PACKAGE_NAME, DISPLAY_NAME);
 
-        FragmentTestUtil.startFragment(mDialogFragment);
+        FragmentTestUtils.startFragment(mDialogFragment);
 
         final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog();
-        ShadowAlertDialog shadowDialog = shadowOf(dialog);
+        ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog);
 
         assertThat(shadowDialog.getTitle()).isEqualTo("Remove restriction?");
         assertThat(shadowDialog.getMessage())
@@ -202,10 +202,10 @@
         doReturn(AVERAGE_TIME_MS).when(mSummaryTip).getAverageTimeMs();
         mDialogFragment = BatteryTipDialogFragment.newInstance(mSummaryTip, METRICS_KEY);
 
-        FragmentTestUtil.startFragment(mDialogFragment);
+        FragmentTestUtils.startFragment(mDialogFragment);
 
         final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog();
-        ShadowAlertDialog shadowDialog = shadowOf(dialog);
+        ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog);
 
         assertThat(shadowDialog.getMessage()).isEqualTo(
                 "Your apps are using a normal amount of battery. If apps use too much battery, "
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/actions/RestrictAppActionTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/actions/RestrictAppActionTest.java
index 836f458..0d6f9c5 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/actions/RestrictAppActionTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/actions/RestrictAppActionTest.java
@@ -15,12 +15,9 @@
  */
 package com.android.settings.fuelgauge.batterytip.actions;
 
-import static org.mockito.Matchers.anyInt;
-import static org.mockito.Matchers.eq;
 import static org.mockito.Mockito.verify;
 
 import android.app.AppOpsManager;
-import android.content.Context;
 import android.util.Pair;
 
 import com.android.internal.logging.nano.MetricsProto;
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/actions/UnrestrictAppActionTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/actions/UnrestrictAppActionTest.java
index 7fdf46a..c44ae78 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/actions/UnrestrictAppActionTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/actions/UnrestrictAppActionTest.java
@@ -15,8 +15,6 @@
  */
 package com.android.settings.fuelgauge.batterytip.actions;
 
-import static org.mockito.Matchers.anyInt;
-import static org.mockito.Matchers.eq;
 import static org.mockito.Mockito.verify;
 
 import android.app.AppOpsManager;
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/HighUsageDetectorTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/HighUsageDetectorTest.java
index d00cf87..bcbcdff 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/HighUsageDetectorTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/HighUsageDetectorTest.java
@@ -17,7 +17,6 @@
 package com.android.settings.fuelgauge.batterytip.detectors;
 
 import static com.google.common.truth.Truth.assertThat;
-
 import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
@@ -30,7 +29,6 @@
 
 import com.android.internal.os.BatterySipper;
 import com.android.internal.os.BatteryStatsHelper;
-import com.android.settings.fuelgauge.BatteryInfo;
 import com.android.settings.fuelgauge.BatteryUtils;
 import com.android.settings.fuelgauge.batterytip.AppInfo;
 import com.android.settings.fuelgauge.batterytip.BatteryTipPolicy;
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/LowBatteryDetectorTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/LowBatteryDetectorTest.java
index 657a5e3..b5392bc 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/LowBatteryDetectorTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/LowBatteryDetectorTest.java
@@ -17,7 +17,6 @@
 package com.android.settings.fuelgauge.batterytip.detectors;
 
 import static com.google.common.truth.Truth.assertThat;
-
 import static org.mockito.Mockito.spy;
 
 import android.content.Context;
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/RestrictAppDetectorTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/RestrictAppDetectorTest.java
index a8989a0..6ef4c74 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/RestrictAppDetectorTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/RestrictAppDetectorTest.java
@@ -17,7 +17,6 @@
 package com.android.settings.fuelgauge.batterytip.detectors;
 
 import static com.google.common.truth.Truth.assertThat;
-
 import static org.mockito.Matchers.any;
 import static org.mockito.Matchers.anyInt;
 import static org.mockito.Matchers.anyLong;
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTipTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTipTest.java
index fa81300..ec048aa 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTipTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTipTest.java
@@ -20,8 +20,6 @@
 import android.content.Context;
 import android.os.Parcel;
 import android.os.Parcelable;
-import androidx.annotation.IdRes;
-import androidx.preference.Preference;
 
 import com.android.settings.R;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
@@ -35,6 +33,9 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import androidx.annotation.IdRes;
+import androidx.preference.Preference;
+
 @RunWith(SettingsRobolectricTestRunner.class)
 public class BatteryTipTest {
 
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/EarlyWarningTipTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/EarlyWarningTipTest.java
index 752e3ab..f9e52d3 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/EarlyWarningTipTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/EarlyWarningTipTest.java
@@ -16,7 +16,6 @@
 package com.android.settings.fuelgauge.batterytip.tips;
 
 import static com.google.common.truth.Truth.assertThat;
-
 import static org.mockito.Mockito.verify;
 
 import android.content.Context;
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/HighUsageTipTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/HighUsageTipTest.java
index 1ff21f8..f0c202c 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/HighUsageTipTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/HighUsageTipTest.java
@@ -16,7 +16,6 @@
 package com.android.settings.fuelgauge.batterytip.tips;
 
 import static com.google.common.truth.Truth.assertThat;
-
 import static org.mockito.Mockito.verify;
 
 import android.content.Context;
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/LowBatteryTipTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/LowBatteryTipTest.java
index 359d260..f623b9d 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/LowBatteryTipTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/LowBatteryTipTest.java
@@ -16,14 +16,12 @@
 package com.android.settings.fuelgauge.batterytip.tips;
 
 import static com.google.common.truth.Truth.assertThat;
-
 import static org.mockito.Mockito.verify;
 
 import android.content.Context;
 import android.os.Parcel;
 
 import com.android.internal.logging.nano.MetricsProto;
-import com.android.settings.R;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/RestrictAppTipTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/RestrictAppTipTest.java
index e2c80df..5c8b7d9 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/RestrictAppTipTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/RestrictAppTipTest.java
@@ -16,11 +16,11 @@
 package com.android.settings.fuelgauge.batterytip.tips;
 
 import static com.google.common.truth.Truth.assertThat;
-
 import static org.mockito.Matchers.any;
 import static org.mockito.Matchers.anyInt;
 import static org.mockito.Matchers.anyString;
 import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.doThrow;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
@@ -35,7 +35,6 @@
 import com.android.settings.R;
 import com.android.settings.fuelgauge.batterytip.AppInfo;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
-import com.android.settings.testutils.shadow.ShadowUtils;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
 import org.junit.Before;
@@ -51,6 +50,7 @@
 @RunWith(SettingsRobolectricTestRunner.class)
 public class RestrictAppTipTest {
     private static final String PACKAGE_NAME = "com.android.app";
+    private static final String UNINSTALL_PACKAGE_NAME = "com.android.app.unintall";
     private static final String DISPLAY_NAME = "app";
     private static final int ANOMALY_WAKEUP = 0;
     private static final int ANOMALY_WAKELOCK = 1;
@@ -61,6 +61,7 @@
     private RestrictAppTip mInvisibleBatteryTip;
     private List<AppInfo> mUsageAppList;
     private AppInfo mAppInfo;
+    private AppInfo mUninstallAppInfo;
     @Mock
     private ApplicationInfo mApplicationInfo;
     @Mock
@@ -76,6 +77,9 @@
         doReturn(mPackageManager).when(mContext).getPackageManager();
         doReturn(mApplicationInfo).when(mPackageManager).getApplicationInfo(PACKAGE_NAME,
                 PackageManager.MATCH_DISABLED_COMPONENTS | PackageManager.MATCH_ANY_USER);
+        doThrow(new PackageManager.NameNotFoundException()).when(mPackageManager)
+                .getApplicationInfo(UNINSTALL_PACKAGE_NAME,
+                        PackageManager.MATCH_DISABLED_COMPONENTS | PackageManager.MATCH_ANY_USER);
         doReturn(DISPLAY_NAME).when(mApplicationInfo).loadLabel(mPackageManager);
 
         mAppInfo = new AppInfo.Builder()
@@ -83,6 +87,10 @@
                 .addAnomalyType(ANOMALY_WAKEUP)
                 .addAnomalyType(ANOMALY_WAKELOCK)
                 .build();
+        mUninstallAppInfo = new AppInfo.Builder()
+                .setPackageName(UNINSTALL_PACKAGE_NAME)
+                .addAnomalyType(ANOMALY_WAKEUP)
+                .build();
         mUsageAppList = new ArrayList<>();
         mUsageAppList.add(mAppInfo);
         mNewBatteryTip = new RestrictAppTip(BatteryTip.StateType.NEW, mUsageAppList);
@@ -174,6 +182,29 @@
     }
 
     @Test
+    public void sanityCheck_appUninstalled_stateInvisible() {
+        final List<AppInfo> appInfos = new ArrayList<>();
+        appInfos.add(mUninstallAppInfo);
+        final BatteryTip batteryTip = new RestrictAppTip(BatteryTip.StateType.NEW, appInfos);
+
+        batteryTip.sanityCheck(mContext);
+
+        assertThat(batteryTip.getState()).isEqualTo(BatteryTip.StateType.INVISIBLE);
+    }
+
+    @Test
+    public void sanityCheck_twoRestrictedAppsWhileUninstallOne_stateVisible() {
+        final List<AppInfo> appInfos = new ArrayList<>();
+        appInfos.add(mAppInfo);
+        appInfos.add(mUninstallAppInfo);
+        final BatteryTip batteryTip = new RestrictAppTip(BatteryTip.StateType.NEW, appInfos);
+
+        batteryTip.sanityCheck(mContext);
+
+        assertThat(batteryTip.getState()).isEqualTo(BatteryTip.StateType.NEW);
+    }
+
+    @Test
     public void toString_containsAppData() {
         assertThat(mNewBatteryTip.toString()).isEqualTo(
                 "type=1 state=0 { packageName=com.android.app,anomalyTypes={0, 1},screenTime=0 }");
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/SummaryTipTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/SummaryTipTest.java
index 221c37f..4ca8757 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/SummaryTipTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/SummaryTipTest.java
@@ -16,7 +16,6 @@
 package com.android.settings.fuelgauge.batterytip.tips;
 
 import static com.google.common.truth.Truth.assertThat;
-
 import static org.mockito.Mockito.verify;
 
 import android.content.Context;
diff --git a/tests/robotests/src/com/android/settings/inputmethod/InputMethodAndSubtypeEnablerTest.java b/tests/robotests/src/com/android/settings/inputmethod/InputMethodAndSubtypeEnablerTest.java
index ffb726a..5621d04 100644
--- a/tests/robotests/src/com/android/settings/inputmethod/InputMethodAndSubtypeEnablerTest.java
+++ b/tests/robotests/src/com/android/settings/inputmethod/InputMethodAndSubtypeEnablerTest.java
@@ -20,7 +20,6 @@
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.when;
 
-import android.app.Activity;
 import android.content.Intent;
 import android.os.Bundle;
 
@@ -33,16 +32,18 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.Robolectric;
 
+import androidx.fragment.app.FragmentActivity;
+
 @RunWith(SettingsRobolectricTestRunner.class)
 public class InputMethodAndSubtypeEnablerTest {
 
-    private Activity mActivity;
+    private FragmentActivity mActivity;
     private InputMethodAndSubtypeEnabler mFragment;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        mActivity = Robolectric.setupActivity(Activity.class);
+        mActivity = Robolectric.setupActivity(FragmentActivity.class);
         mFragment = spy(new InputMethodAndSubtypeEnabler());
         when(mFragment.getActivity()).thenReturn(mActivity);
     }
diff --git a/tests/robotests/src/com/android/settings/inputmethod/InputMethodAndSubtypePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/InputMethodAndSubtypePreferenceControllerTest.java
index 7e97778..1d8d57d 100644
--- a/tests/robotests/src/com/android/settings/inputmethod/InputMethodAndSubtypePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/inputmethod/InputMethodAndSubtypePreferenceControllerTest.java
@@ -41,7 +41,7 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import androidx.preference.PreferenceFragment;
+import androidx.preference.PreferenceFragmentCompat;
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
 
@@ -50,7 +50,7 @@
 public class InputMethodAndSubtypePreferenceControllerTest {
 
     @Mock
-    private PreferenceFragment mFragment;
+    private PreferenceFragmentCompat mFragment;
     private Context mContext;
     private InputMethodAndSubtypePreferenceController mController;
     private PreferenceManager mPreferenceManager;
diff --git a/tests/robotests/src/com/android/settings/inputmethod/KeyboardLayoutPickerControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/KeyboardLayoutPickerControllerTest.java
index f2cf2e0..a2a8265 100644
--- a/tests/robotests/src/com/android/settings/inputmethod/KeyboardLayoutPickerControllerTest.java
+++ b/tests/robotests/src/com/android/settings/inputmethod/KeyboardLayoutPickerControllerTest.java
@@ -23,8 +23,6 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.Activity;
-import android.app.Fragment;
 import android.content.Context;
 import android.hardware.input.InputDeviceIdentifier;
 import android.hardware.input.InputManager;
@@ -45,6 +43,8 @@
 import org.robolectric.annotation.Config;
 import org.robolectric.shadows.ShadowApplication;
 
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentActivity;
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
 
@@ -81,7 +81,7 @@
 
     @Test
     public void testLifecycle_onStart_shouldRegisterInputManager() {
-        final Activity activity = Robolectric.setupActivity(Activity.class);
+        final FragmentActivity activity = Robolectric.setupActivity(FragmentActivity.class);
         when(mFragment.getActivity()).thenReturn(activity);
 
         mController.onStart();
@@ -93,7 +93,7 @@
 
     @Test
     public void testLifecycle_onStart_NoInputDevice_shouldFinish() {
-        final Activity activity = Robolectric.setupActivity(Activity.class);
+        final FragmentActivity activity = Robolectric.setupActivity(FragmentActivity.class);
         when(mInputManager.getInputDeviceByDescriptor(anyString())).thenReturn(null);
         when(mFragment.getActivity()).thenReturn(activity);
 
@@ -137,7 +137,7 @@
     @Config(shadows = ShadowInputDevice.class)
     public void testOnDeviceRemove_getSameDevice_shouldFinish() {
         final int TARGET_DEVICE_ID = 1;
-        final Activity activity = Robolectric.setupActivity(Activity.class);
+        final FragmentActivity activity = Robolectric.setupActivity(FragmentActivity.class);
         final String[] enableKeyboardLayouts = {"layout1"};
         final InputDevice device = ShadowInputDevice.makeInputDevicebyId(TARGET_DEVICE_ID);
 
@@ -157,7 +157,7 @@
     public void testOnDeviceRemove_getDifferentDevice_shouldNotFinish() {
         final int TARGET_DEVICE_ID = 1;
         final int ANOTHER_DEVICE_ID = 2;
-        final Activity activity = Robolectric.setupActivity(Activity.class);
+        final FragmentActivity activity = Robolectric.setupActivity(FragmentActivity.class);
         final String[] enableKeyboardLayouts = {"layout1"};
         final InputDevice device = ShadowInputDevice.makeInputDevicebyId(TARGET_DEVICE_ID);
 
diff --git a/tests/robotests/src/com/android/settings/language/LanguageAndInputSettingsTest.java b/tests/robotests/src/com/android/settings/language/LanguageAndInputSettingsTest.java
index c39dc19..a129c55 100644
--- a/tests/robotests/src/com/android/settings/language/LanguageAndInputSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/language/LanguageAndInputSettingsTest.java
@@ -110,7 +110,7 @@
                 lifecycleObserverCount++;
             }
         }
-        verify(mFragment.getLifecycle(), times(lifecycleObserverCount))
+        verify(mFragment.getSettingsLifecycle(), times(lifecycleObserverCount))
                 .addObserver(any(LifecycleObserver.class));
     }
 
@@ -207,9 +207,9 @@
         }
 
         @Override
-        public Lifecycle getLifecycle() {
+        public Lifecycle getSettingsLifecycle() {
             if (mLifecycle == null) {
-                return super.getLifecycle();
+                return super.getSettingsLifecycle();
             }
             return mLifecycle;
         }
diff --git a/tests/robotests/src/com/android/settings/language/UserDictionaryPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/language/UserDictionaryPreferenceControllerTest.java
index 0019f4d..29b5278 100644
--- a/tests/robotests/src/com/android/settings/language/UserDictionaryPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/language/UserDictionaryPreferenceControllerTest.java
@@ -100,7 +100,7 @@
         }
 
         private TestController(Context context) {
-            super(context);
+            super(context, "test_key");
         }
     }
 }
diff --git a/tests/robotests/src/com/android/settings/network/ApnEditorTest.java b/tests/robotests/src/com/android/settings/network/ApnEditorTest.java
index c833ec6..76d20f4 100644
--- a/tests/robotests/src/com/android/settings/network/ApnEditorTest.java
+++ b/tests/robotests/src/com/android/settings/network/ApnEditorTest.java
@@ -24,7 +24,6 @@
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 
-import android.app.Activity;
 import android.content.ContentResolver;
 import android.content.ContentValues;
 import android.content.Context;
@@ -38,6 +37,7 @@
 
 import com.android.settings.R;
 import com.android.settings.network.ApnEditor.ApnData;
+import com.android.settings.testutils.Robolectric;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 
 import org.junit.Before;
@@ -48,8 +48,8 @@
 import org.mockito.Mock;
 import org.mockito.Mockito;
 import org.mockito.MockitoAnnotations;
-import org.robolectric.Robolectric;
 
+import androidx.fragment.app.FragmentActivity;
 import androidx.preference.EditTextPreference;
 import androidx.preference.ListPreference;
 import androidx.preference.MultiSelectListPreference;
@@ -96,13 +96,13 @@
     private ArgumentCaptor<Uri> mUriCaptor;
 
     private ApnEditor mApnEditorUT;
-    private Activity mActivity;
+    private FragmentActivity mActivity;
     private Resources mResources;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        mActivity = spy(Robolectric.setupActivity(Activity.class));
+        mActivity = spy(Robolectric.setupActivity(FragmentActivity.class));
         mResources = mActivity.getResources();
         mApnEditorUT = spy(new ApnEditor());
 
@@ -440,6 +440,8 @@
     @Test
     public void formatInteger_shouldParseString() {
         assertThat(ApnEditor.formatInteger("42")).isEqualTo("42");
+        assertThat(ApnEditor.formatInteger("01")).isEqualTo("01");
+        assertThat(ApnEditor.formatInteger("001")).isEqualTo("001");
     }
 
     @Test
@@ -489,4 +491,4 @@
             mUri = uri;
         }
     }
-}
\ No newline at end of file
+}
diff --git a/tests/robotests/src/com/android/settings/network/PrivateDnsModeDialogPreferenceTest.java b/tests/robotests/src/com/android/settings/network/PrivateDnsModeDialogPreferenceTest.java
index 1d3a65e..cb26fb6 100644
--- a/tests/robotests/src/com/android/settings/network/PrivateDnsModeDialogPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/network/PrivateDnsModeDialogPreferenceTest.java
@@ -25,7 +25,6 @@
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
-import android.app.AlertDialog;
 import android.content.ContentResolver;
 import android.content.Context;
 import android.content.DialogInterface;
@@ -39,7 +38,7 @@
 import com.android.settings.R;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 import com.android.settings.testutils.shadow.ShadowOs;
-import com.android.settingslib.CustomDialogPreference.CustomPreferenceDialogFragment;
+import com.android.settingslib.CustomDialogPreferenceCompat.CustomPreferenceDialogFragment;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -49,6 +48,8 @@
 import org.robolectric.annotation.Config;
 import org.robolectric.util.ReflectionHelpers;
 
+import androidx.appcompat.app.AlertDialog;
+
 @RunWith(SettingsRobolectricTestRunner.class)
 @Config(shadows = ShadowOs.class)
 public class PrivateDnsModeDialogPreferenceTest {
@@ -132,9 +133,9 @@
     @Test
     public void testOnCheckedChanged_switchMode_saveButtonHasCorrectState() {
         final String[] INVALID_HOST_NAMES = new String[] {
-            INVALID_HOST_NAME,
-            "2001:db8::53",  // IPv6 string literal
-            "192.168.1.1",   // IPv4 string literal
+                INVALID_HOST_NAME,
+                "2001:db8::53",  // IPv6 string literal
+                "192.168.1.1",   // IPv4 string literal
         };
 
         for (String invalid : INVALID_HOST_NAMES) {
diff --git a/tests/robotests/src/com/android/settings/notification/ChargingSoundPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ChargingSoundPreferenceControllerTest.java
index 3a33201..d54ef6f 100644
--- a/tests/robotests/src/com/android/settings/notification/ChargingSoundPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/ChargingSoundPreferenceControllerTest.java
@@ -21,7 +21,6 @@
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.when;
 
-import android.app.Activity;
 import android.content.ContentResolver;
 import android.content.Context;
 import android.provider.Settings.Global;
@@ -36,6 +35,7 @@
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
 
+import androidx.fragment.app.FragmentActivity;
 import androidx.preference.PreferenceScreen;
 import androidx.preference.SwitchPreference;
 
@@ -45,7 +45,7 @@
     @Mock
     private PreferenceScreen mScreen;
     @Mock
-    private Activity mActivity;
+    private FragmentActivity mActivity;
     @Mock
     private ContentResolver mContentResolver;
     @Mock
diff --git a/tests/robotests/src/com/android/settings/notification/DialPadTonePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/DialPadTonePreferenceControllerTest.java
index 3909374..fe248a6 100644
--- a/tests/robotests/src/com/android/settings/notification/DialPadTonePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/DialPadTonePreferenceControllerTest.java
@@ -20,7 +20,6 @@
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.when;
 
-import android.app.Activity;
 import android.content.ContentResolver;
 import android.content.Context;
 import android.provider.Settings.System;
@@ -35,6 +34,7 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RuntimeEnvironment;
 
+import androidx.fragment.app.FragmentActivity;
 import androidx.preference.PreferenceScreen;
 import androidx.preference.SwitchPreference;
 
@@ -46,7 +46,7 @@
     @Mock
     private PreferenceScreen mScreen;
     @Mock
-    private Activity mActivity;
+    private FragmentActivity mActivity;
     @Mock
     private ContentResolver mContentResolver;
     @Mock
diff --git a/tests/robotests/src/com/android/settings/notification/DockAudioMediaPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/DockAudioMediaPreferenceControllerTest.java
index 34e824f..7ddf100 100644
--- a/tests/robotests/src/com/android/settings/notification/DockAudioMediaPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/DockAudioMediaPreferenceControllerTest.java
@@ -22,7 +22,6 @@
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.when;
 
-import android.app.Activity;
 import android.content.ContentResolver;
 import android.content.Context;
 import android.provider.Settings.Global;
@@ -36,6 +35,7 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RuntimeEnvironment;
 
+import androidx.fragment.app.FragmentActivity;
 import androidx.preference.DropDownPreference;
 import androidx.preference.PreferenceScreen;
 
@@ -45,7 +45,7 @@
     @Mock
     private PreferenceScreen mScreen;
     @Mock(answer = RETURNS_DEEP_STUBS)
-    private Activity mActivity;
+    private FragmentActivity mActivity;
     @Mock
     private ContentResolver mContentResolver;
     @Mock
diff --git a/tests/robotests/src/com/android/settings/notification/DockingSoundPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/DockingSoundPreferenceControllerTest.java
index 1a3c044..3945d27 100644
--- a/tests/robotests/src/com/android/settings/notification/DockingSoundPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/DockingSoundPreferenceControllerTest.java
@@ -21,7 +21,6 @@
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.when;
 
-import android.app.Activity;
 import android.content.ContentResolver;
 import android.content.Context;
 import android.provider.Settings.Global;
@@ -35,6 +34,7 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RuntimeEnvironment;
 
+import androidx.fragment.app.FragmentActivity;
 import androidx.preference.PreferenceScreen;
 import androidx.preference.SwitchPreference;
 
@@ -44,7 +44,7 @@
     @Mock
     private PreferenceScreen mScreen;
     @Mock(answer = RETURNS_DEEP_STUBS)
-    private Activity mActivity;
+    private FragmentActivity mActivity;
     @Mock
     private ContentResolver mContentResolver;
     @Mock
diff --git a/tests/robotests/src/com/android/settings/notification/EmergencyTonePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/EmergencyTonePreferenceControllerTest.java
index 4839ccb..f2687b2 100644
--- a/tests/robotests/src/com/android/settings/notification/EmergencyTonePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/EmergencyTonePreferenceControllerTest.java
@@ -20,7 +20,6 @@
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.when;
 
-import android.app.Activity;
 import android.content.ContentResolver;
 import android.content.Context;
 import android.provider.Settings.Global;
@@ -35,6 +34,7 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RuntimeEnvironment;
 
+import androidx.fragment.app.FragmentActivity;
 import androidx.preference.DropDownPreference;
 import androidx.preference.PreferenceScreen;
 
@@ -46,7 +46,7 @@
     @Mock
     private PreferenceScreen mScreen;
     @Mock
-    private Activity mActivity;
+    private FragmentActivity mActivity;
     @Mock
     private ContentResolver mContentResolver;
     @Mock
diff --git a/tests/robotests/src/com/android/settings/notification/HeaderPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/HeaderPreferenceControllerTest.java
index 0c9c6be..81383f7 100644
--- a/tests/robotests/src/com/android/settings/notification/HeaderPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/HeaderPreferenceControllerTest.java
@@ -25,7 +25,6 @@
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.when;
 
-import android.app.Activity;
 import android.app.NotificationChannel;
 import android.app.NotificationChannelGroup;
 import android.app.NotificationManager;
@@ -43,7 +42,8 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.shadows.ShadowApplication;
 
-import androidx.preference.PreferenceFragment;
+import androidx.fragment.app.FragmentActivity;
+import androidx.preference.PreferenceFragmentCompat;
 
 @RunWith(SettingsRobolectricTestRunner.class)
 public class HeaderPreferenceControllerTest {
@@ -67,9 +67,9 @@
         shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
         shadowApplication.setSystemService(Context.USER_SERVICE, mUm);
         mContext = shadowApplication.getApplicationContext();
-        PreferenceFragment fragment = mock(PreferenceFragment.class);
+        PreferenceFragmentCompat fragment = mock(PreferenceFragmentCompat.class);
         when(fragment.getContext()).thenReturn(mContext);
-        Activity activity = mock(Activity.class);
+        FragmentActivity activity = mock(FragmentActivity.class);
         when(activity.getApplicationContext()).thenReturn(mContext);
         when(fragment.getActivity()).thenReturn(activity);
         mController = spy(new HeaderPreferenceController(mContext, fragment));
diff --git a/tests/robotests/src/com/android/settings/notification/RecentNotifyingAppsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/RecentNotifyingAppsPreferenceControllerTest.java
index 4b5de03..4c15769 100644
--- a/tests/robotests/src/com/android/settings/notification/RecentNotifyingAppsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/RecentNotifyingAppsPreferenceControllerTest.java
@@ -30,8 +30,6 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.Activity;
-import android.app.Fragment;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.ApplicationInfo;
@@ -62,6 +60,8 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentActivity;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceScreen;
@@ -92,7 +92,7 @@
     @Mock
     private Fragment mHost;
     @Mock
-    private Activity mActivity;
+    private FragmentActivity mActivity;
 
     private Context mContext;
     private RecentNotifyingAppsPreferenceController mController;
diff --git a/tests/robotests/src/com/android/settings/notification/RedactionInterstitialTest.java b/tests/robotests/src/com/android/settings/notification/RedactionInterstitialTest.java
index b32b095..20139bb 100644
--- a/tests/robotests/src/com/android/settings/notification/RedactionInterstitialTest.java
+++ b/tests/robotests/src/com/android/settings/notification/RedactionInterstitialTest.java
@@ -131,7 +131,7 @@
     private void setupActivity() {
         mActivity = buildActivity(RedactionInterstitial.class, new Intent()).setup().get();
         mFragment = (RedactionInterstitialFragment)
-                mActivity.getFragmentManager().findFragmentById(R.id.main_content);
+                mActivity.getSupportFragmentManager().findFragmentById(R.id.main_content);
         assertThat(mActivity).isNotNull();
         assertThat(mFragment).isNotNull();
     }
diff --git a/tests/robotests/src/com/android/settings/notification/ScreenLockSoundPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ScreenLockSoundPreferenceControllerTest.java
index a5a057b..f370368 100644
--- a/tests/robotests/src/com/android/settings/notification/ScreenLockSoundPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/ScreenLockSoundPreferenceControllerTest.java
@@ -21,7 +21,6 @@
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.when;
 
-import android.app.Activity;
 import android.content.ContentResolver;
 import android.content.Context;
 import android.provider.Settings.System;
@@ -36,6 +35,7 @@
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
 
+import androidx.fragment.app.FragmentActivity;
 import androidx.preference.PreferenceScreen;
 import androidx.preference.SwitchPreference;
 
@@ -45,7 +45,7 @@
     @Mock
     private PreferenceScreen mScreen;
     @Mock
-    private Activity mActivity;
+    private FragmentActivity mActivity;
     @Mock
     private ContentResolver mContentResolver;
     @Mock
diff --git a/tests/robotests/src/com/android/settings/notification/SettingPrefControllerTest.java b/tests/robotests/src/com/android/settings/notification/SettingPrefControllerTest.java
index 860b25c..a70e7b6 100644
--- a/tests/robotests/src/com/android/settings/notification/SettingPrefControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/SettingPrefControllerTest.java
@@ -23,7 +23,6 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.Activity;
 import android.content.ContentResolver;
 import android.content.Context;
 import android.provider.Settings.Global;
@@ -42,6 +41,7 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import androidx.fragment.app.FragmentActivity;
 import androidx.preference.PreferenceScreen;
 
 @RunWith(SettingsRobolectricTestRunner.class)
@@ -52,7 +52,7 @@
     @Mock
     private SoundSettings mSetting;
     @Mock
-    private Activity mActivity;
+    private FragmentActivity mActivity;
     @Mock
     private ContentResolver mContentResolver;
 
diff --git a/tests/robotests/src/com/android/settings/notification/TouchSoundPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/TouchSoundPreferenceControllerTest.java
index 0286691..4d4a4af 100644
--- a/tests/robotests/src/com/android/settings/notification/TouchSoundPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/TouchSoundPreferenceControllerTest.java
@@ -37,6 +37,7 @@
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
 
+import androidx.fragment.app.FragmentActivity;
 import androidx.preference.PreferenceScreen;
 import androidx.preference.SwitchPreference;
 
@@ -48,7 +49,7 @@
     @Mock
     private PreferenceScreen mScreen;
     @Mock
-    private Activity mActivity;
+    private FragmentActivity mActivity;
     @Mock
     private ContentResolver mContentResolver;
     @Mock
diff --git a/tests/robotests/src/com/android/settings/notification/VibrateOnTouchPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/VibrateOnTouchPreferenceControllerTest.java
index fcf3a70..5f96ea5 100644
--- a/tests/robotests/src/com/android/settings/notification/VibrateOnTouchPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/VibrateOnTouchPreferenceControllerTest.java
@@ -20,7 +20,6 @@
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.when;
 
-import android.app.Activity;
 import android.content.ContentResolver;
 import android.content.Context;
 import android.os.Vibrator;
@@ -35,6 +34,7 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RuntimeEnvironment;
 
+import androidx.fragment.app.FragmentActivity;
 import androidx.preference.PreferenceScreen;
 import androidx.preference.SwitchPreference;
 
@@ -44,7 +44,7 @@
     @Mock
     private PreferenceScreen mScreen;
     @Mock
-    private Activity mActivity;
+    private FragmentActivity mActivity;
     @Mock
     private ContentResolver mContentResolver;
     @Mock
diff --git a/tests/robotests/src/com/android/settings/notification/ZenModeAutomaticRulesPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ZenModeAutomaticRulesPreferenceControllerTest.java
index cf003a6..63b0e31 100644
--- a/tests/robotests/src/com/android/settings/notification/ZenModeAutomaticRulesPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/ZenModeAutomaticRulesPreferenceControllerTest.java
@@ -21,7 +21,6 @@
 import static org.mockito.Mockito.when;
 
 import android.app.AutomaticZenRule;
-import android.app.Fragment;
 import android.app.NotificationManager;
 import android.content.Context;
 import android.provider.Settings;
@@ -43,6 +42,7 @@
 import java.util.List;
 import java.util.Map;
 
+import androidx.fragment.app.Fragment;
 import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceScreen;
 
diff --git a/tests/robotests/src/com/android/settings/notification/ZenModeButtonPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ZenModeButtonPreferenceControllerTest.java
index ab9b1cb..9450df0 100644
--- a/tests/robotests/src/com/android/settings/notification/ZenModeButtonPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/ZenModeButtonPreferenceControllerTest.java
@@ -25,7 +25,6 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.FragmentManager;
 import android.app.NotificationManager;
 import android.content.ContentResolver;
 import android.content.Context;
@@ -45,6 +44,7 @@
 import org.robolectric.shadows.ShadowApplication;
 import org.robolectric.util.ReflectionHelpers;
 
+import androidx.fragment.app.FragmentManager;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
diff --git a/tests/robotests/src/com/android/settings/notification/ZenModeDurationPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ZenModeDurationPreferenceControllerTest.java
index 26e1d48..b748bcb 100644
--- a/tests/robotests/src/com/android/settings/notification/ZenModeDurationPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/ZenModeDurationPreferenceControllerTest.java
@@ -20,7 +20,6 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.FragmentManager;
 import android.app.NotificationManager;
 import android.content.ContentResolver;
 import android.content.Context;
@@ -39,6 +38,7 @@
 import org.robolectric.shadows.ShadowApplication;
 import org.robolectric.util.ReflectionHelpers;
 
+import androidx.fragment.app.FragmentManager;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
diff --git a/tests/robotests/src/com/android/settings/notification/ZenModeScheduleRuleSettingsTest.java b/tests/robotests/src/com/android/settings/notification/ZenModeScheduleRuleSettingsTest.java
index 23b242a..e955b2f 100644
--- a/tests/robotests/src/com/android/settings/notification/ZenModeScheduleRuleSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/notification/ZenModeScheduleRuleSettingsTest.java
@@ -23,7 +23,6 @@
 import static org.mockito.Mockito.when;
 import static org.robolectric.RuntimeEnvironment.application;
 
-import android.app.Activity;
 import android.app.NotificationManager;
 import android.content.Context;
 import android.content.Intent;
@@ -42,12 +41,14 @@
 import org.robolectric.shadows.ShadowApplication;
 import org.robolectric.shadows.ShadowToast;
 
+import androidx.fragment.app.FragmentActivity;
+
 @RunWith(SettingsRobolectricTestRunner.class)
 @Config(shadows = SettingsShadowResources.SettingsShadowTheme.class)
 public class ZenModeScheduleRuleSettingsTest {
 
     @Mock
-    private Activity mActivity;
+    private FragmentActivity mActivity;
 
     @Mock
     private Intent mIntent;
diff --git a/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java b/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java
index 7ee9ea5..c105ffe 100644
--- a/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java
+++ b/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java
@@ -124,7 +124,7 @@
 
     private ChooseLockPasswordFragment getChooseLockPasswordFragment(ChooseLockPassword activity) {
         return (ChooseLockPasswordFragment)
-                activity.getFragmentManager().findFragmentById(R.id.main_content);
+                activity.getSupportFragmentManager().findFragmentById(R.id.main_content);
     }
 
     private ShadowDrawable setActivityAndGetIconDrawable(boolean addFingerprintExtra) {
diff --git a/tests/robotests/src/com/android/settings/password/ChooseLockPatternTest.java b/tests/robotests/src/com/android/settings/password/ChooseLockPatternTest.java
index e07351c..17e684b 100644
--- a/tests/robotests/src/com/android/settings/password/ChooseLockPatternTest.java
+++ b/tests/robotests/src/com/android/settings/password/ChooseLockPatternTest.java
@@ -101,7 +101,7 @@
     public void fingerprintExtraSet_shouldDisplayFingerprintIcon() {
         ChooseLockPattern activity = createActivity(true);
         ChooseLockPatternFragment fragment = (ChooseLockPatternFragment)
-                activity.getFragmentManager().findFragmentById(R.id.main_content);
+                activity.getSupportFragmentManager().findFragmentById(R.id.main_content);
 
         ShadowDrawable drawable = Shadows.shadowOf(((GlifLayout) fragment.getView()).getIcon());
         assertThat(drawable.getCreatedFromResId()).isEqualTo(R.drawable.ic_fingerprint_header);
@@ -112,7 +112,7 @@
     public void smallScreens_shouldHideIcon() {
         ChooseLockPattern activity = createActivity(true);
         ChooseLockPatternFragment fragment = (ChooseLockPatternFragment)
-                activity.getFragmentManager().findFragmentById(R.id.main_content);
+                activity.getSupportFragmentManager().findFragmentById(R.id.main_content);
 
         View iconView = fragment.getView().findViewById(R.id.suw_layout_icon);
         assertThat(iconView.getVisibility()).isEqualTo(View.GONE);
diff --git a/tests/robotests/src/com/android/settings/password/ChooseLockTypeDialogFragmentTest.java b/tests/robotests/src/com/android/settings/password/ChooseLockTypeDialogFragmentTest.java
index 0ec4700..f76a5ca 100644
--- a/tests/robotests/src/com/android/settings/password/ChooseLockTypeDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/password/ChooseLockTypeDialogFragmentTest.java
@@ -25,7 +25,6 @@
 import static org.mockito.Mockito.verify;
 
 import android.app.AlertDialog;
-import android.app.Fragment;
 import android.content.Context;
 
 import com.android.settings.R;
@@ -33,8 +32,10 @@
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 import com.android.settings.testutils.shadow.ShadowUserManager;
 import com.android.settings.testutils.shadow.ShadowUtils;
+import com.android.settingslib.testutils.FragmentTestUtils;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RuntimeEnvironment;
@@ -42,7 +43,8 @@
 import org.robolectric.annotation.Config;
 import org.robolectric.shadows.ShadowAlertDialog;
 import org.robolectric.shadows.ShadowDialog;
-import org.robolectric.util.FragmentTestUtil;
+
+import androidx.fragment.app.Fragment;
 
 @RunWith(SettingsRobolectricTestRunner.class)
 @Config(shadows = {ShadowUserManager.class, ShadowUtils.class})
@@ -55,10 +57,11 @@
     public void setUp() {
         mContext = RuntimeEnvironment.application;
         mFragment = new TestFragment();
-        FragmentTestUtil.startFragment(mFragment);
+        FragmentTestUtils.startFragment(mFragment);
     }
 
     @Test
+    @Ignore("b/111247403")
     public void testThatDialog_IsShown() {
         AlertDialog latestDialog = startLockFragment();
         assertNotNull(latestDialog);
@@ -69,6 +72,7 @@
     }
 
     @Test
+    @Ignore("b/111247403")
     public void testThat_OnClickListener_IsCalled() {
         mFragment.mDelegate = mock(OnLockTypeSelectedListener.class);
         AlertDialog lockDialog = startLockFragment();
@@ -78,6 +82,7 @@
     }
 
     @Test
+    @Ignore("b/111247403")
     public void testThat_OnClickListener_IsNotCalledWhenCancelled() {
         mFragment.mDelegate = mock(OnLockTypeSelectedListener.class);
         AlertDialog lockDialog = startLockFragment();
@@ -85,7 +90,6 @@
         verify(mFragment.mDelegate, never()).onLockTypeSelected(any(ScreenLockType.class));
     }
 
-
     private AlertDialog startLockFragment() {
         ChooseLockTypeDialogFragment chooseLockTypeDialogFragment =
                 ChooseLockTypeDialogFragment.newInstance(1234);
diff --git a/tests/robotests/src/com/android/settings/password/ConfirmCredentialTest.java b/tests/robotests/src/com/android/settings/password/ConfirmCredentialTest.java
index 73d8452..636248a 100644
--- a/tests/robotests/src/com/android/settings/password/ConfirmCredentialTest.java
+++ b/tests/robotests/src/com/android/settings/password/ConfirmCredentialTest.java
@@ -18,24 +18,27 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import android.app.Activity;
-import android.app.FragmentManager;
-
 import com.android.settings.password.ConfirmDeviceCredentialBaseFragment.LastTryDialog;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 import com.android.settings.testutils.shadow.SettingsShadowResources;
 
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.Robolectric;
 import org.robolectric.annotation.Config;
 
+import androidx.fragment.app.FragmentActivity;
+import androidx.fragment.app.FragmentManager;
+
 @RunWith(SettingsRobolectricTestRunner.class)
 @Config(shadows = SettingsShadowResources.SettingsShadowTheme.class)
 public class ConfirmCredentialTest {
     @Test
+    @Ignore("b/111193572")
     public void testLastTryDialogShownExactlyOnce() {
-        FragmentManager fm = Robolectric.buildActivity(Activity.class).get().getFragmentManager();
+        FragmentManager fm = Robolectric.buildActivity(FragmentActivity.class).
+                get().getSupportFragmentManager();
 
         // Launch only one instance at a time.
         assertThat(LastTryDialog.show(
diff --git a/tests/robotests/src/com/android/settings/password/SetNewPasswordActivityTest.java b/tests/robotests/src/com/android/settings/password/SetNewPasswordActivityTest.java
index 9d72bd8..fd1c562 100644
--- a/tests/robotests/src/com/android/settings/password/SetNewPasswordActivityTest.java
+++ b/tests/robotests/src/com/android/settings/password/SetNewPasswordActivityTest.java
@@ -17,7 +17,6 @@
 package com.android.settings.password;
 
 import static com.google.common.truth.Truth.assertThat;
-import static org.robolectric.Shadows.shadowOf;
 
 import android.content.ComponentName;
 import android.content.Intent;
@@ -32,6 +31,7 @@
 import org.junit.runner.RunWith;
 import org.robolectric.Robolectric;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.Shadows;
 import org.robolectric.shadows.ShadowActivity;
 
 @RunWith(SettingsRobolectricTestRunner.class)
@@ -58,7 +58,7 @@
         SetNewPasswordActivity activity =
                 Robolectric.buildActivity(SetNewPasswordActivity.class).get();
         activity.launchChooseLock(new Bundle());
-        ShadowActivity shadowActivity = shadowOf(activity);
+        ShadowActivity shadowActivity = Shadows.shadowOf(activity);
         Intent intent = shadowActivity.getNextStartedActivityForResult().intent;
 
         assertThat(intent.getComponent())
@@ -72,7 +72,7 @@
         SetNewPasswordActivity activity =
                 Robolectric.buildActivity(SetNewPasswordActivity.class).get();
         activity.launchChooseLock(new Bundle());
-        ShadowActivity shadowActivity = shadowOf(activity);
+        ShadowActivity shadowActivity = Shadows.shadowOf(activity);
         Intent intent = shadowActivity.getNextStartedActivityForResult().intent;
 
         assertThat(intent.getComponent())
diff --git a/tests/robotests/src/com/android/settings/password/SetupChooseLockPasswordTest.java b/tests/robotests/src/com/android/settings/password/SetupChooseLockPasswordTest.java
index cef1874..9acf73e 100644
--- a/tests/robotests/src/com/android/settings/password/SetupChooseLockPasswordTest.java
+++ b/tests/robotests/src/com/android/settings/password/SetupChooseLockPasswordTest.java
@@ -18,9 +18,7 @@
 
 import static com.google.common.truth.Truth.assertThat;
 import static org.robolectric.RuntimeEnvironment.application;
-import static org.robolectric.Shadows.shadowOf;
 
-import android.app.AlertDialog;
 import android.content.Intent;
 import android.os.Bundle;
 import android.view.View;
@@ -30,6 +28,7 @@
 import com.android.settings.password.ChooseLockGeneric.ChooseLockGenericFragment;
 import com.android.settings.password.ChooseLockPassword.IntentBuilder;
 import com.android.settings.password.SetupChooseLockPassword.SetupChooseLockPasswordFragment;
+import com.android.settings.testutils.Robolectric;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 import com.android.settings.testutils.shadow.SettingsShadowResources;
 import com.android.settings.testutils.shadow.SettingsShadowResourcesImpl;
@@ -39,24 +38,24 @@
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.robolectric.Robolectric;
 import org.robolectric.Shadows;
 import org.robolectric.annotation.Config;
 import org.robolectric.annotation.Implementation;
 import org.robolectric.annotation.Implements;
 import org.robolectric.shadows.ShadowActivity;
-import org.robolectric.shadows.ShadowAlertDialog;
 import org.robolectric.shadows.ShadowDialog;
 
 import java.util.Collections;
 import java.util.List;
 
+import androidx.appcompat.app.AlertDialog;
+
 @RunWith(SettingsRobolectricTestRunner.class)
 @Config(shadows = {
-    SettingsShadowResources.class,
-    SettingsShadowResourcesImpl.class,
-    SettingsShadowResources.SettingsShadowTheme.class,
-    ShadowUtils.class
+        SettingsShadowResources.class,
+        SettingsShadowResourcesImpl.class,
+        SettingsShadowResources.SettingsShadowTheme.class,
+        ShadowUtils.class
 })
 public class SetupChooseLockPasswordTest {
 
@@ -103,8 +102,8 @@
     public void allSecurityOptions_shouldBeShown_When_OptionsButtonIsClicked() {
         SetupChooseLockPassword activity = createSetupChooseLockPassword();
         activity.findViewById(R.id.screen_lock_options).performClick();
-        AlertDialog latestAlertDialog = ShadowAlertDialog.getLatestAlertDialog();
-        int count = Shadows.shadowOf(latestAlertDialog).getAdapter().getCount();
+        AlertDialog latestAlertDialog = (AlertDialog) ShadowDialog.getLatestDialog();
+        int count = latestAlertDialog.getListView().getCount();
         assertThat(count).named("List items shown").isEqualTo(3);
     }
 
@@ -122,11 +121,11 @@
                 Robolectric.buildActivity(SetupChooseLockPassword.class, intent).setup().get();
 
         SetupChooseLockPasswordFragment fragment =
-                (SetupChooseLockPasswordFragment) activity.getFragmentManager()
+                (SetupChooseLockPasswordFragment) activity.getSupportFragmentManager()
                         .findFragmentById(R.id.main_content);
         fragment.onLockTypeSelected(ScreenLockType.PATTERN);
 
-        ShadowActivity shadowActivity = shadowOf(activity);
+        ShadowActivity shadowActivity = Shadows.shadowOf(activity);
         final Intent nextStartedActivity = shadowActivity.getNextStartedActivity();
         assertThat(nextStartedActivity).isNotNull();
         assertThat(nextStartedActivity.getBooleanExtra(
diff --git a/tests/robotests/src/com/android/settings/password/SetupChooseLockPatternTest.java b/tests/robotests/src/com/android/settings/password/SetupChooseLockPatternTest.java
index 2db969e..627a4a0 100644
--- a/tests/robotests/src/com/android/settings/password/SetupChooseLockPatternTest.java
+++ b/tests/robotests/src/com/android/settings/password/SetupChooseLockPatternTest.java
@@ -19,7 +19,6 @@
 import static com.google.common.truth.Truth.assertThat;
 import static org.robolectric.RuntimeEnvironment.application;
 
-import android.app.Activity;
 import android.app.AlertDialog;
 import android.content.ComponentName;
 import android.content.pm.PackageManager;
@@ -34,15 +33,16 @@
 import com.android.settings.SetupRedactionInterstitial;
 import com.android.settings.password.ChooseLockPattern.ChooseLockPatternFragment;
 import com.android.settings.password.ChooseLockPattern.IntentBuilder;
+import com.android.settings.testutils.Robolectric;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 import com.android.settings.testutils.shadow.SettingsShadowResources;
 import com.android.settings.testutils.shadow.SettingsShadowResourcesImpl;
 import com.android.settings.testutils.shadow.ShadowUtils;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.robolectric.Robolectric;
 import org.robolectric.Shadows;
 import org.robolectric.annotation.Config;
 import org.robolectric.shadows.ShadowAlertDialog;
@@ -52,6 +52,8 @@
 
 import java.util.Arrays;
 
+import androidx.fragment.app.FragmentActivity;
+
 @RunWith(SettingsRobolectricTestRunner.class)
 @Config(shadows = {
     SettingsShadowResourcesImpl.class,
@@ -117,12 +119,14 @@
 
     @Config(qualifiers = "sw400dp")
     @Test
+    @Ignore("b/111194289")
     public void sw400dp_shouldShowScreenLockOptions() {
         verifyScreenLockOptionsShown();
     }
 
     @Config(qualifiers = "sw400dp-land")
     @Test
+    @Ignore("b/111194289")
     public void sw400dpLandscape_shouldShowScreenLockOptions() {
         verifyScreenLockOptionsShown();
     }
@@ -184,9 +188,9 @@
         assertThat(skipButton.getVisibility()).isEqualTo(View.GONE);
     }
 
-    private ChooseLockPatternFragment findFragment(Activity activity) {
+    private ChooseLockPatternFragment findFragment(FragmentActivity activity) {
         return (ChooseLockPatternFragment)
-                activity.getFragmentManager().findFragmentById(R.id.main_content);
+                activity.getSupportFragmentManager().findFragmentById(R.id.main_content);
     }
 
     private void enterPattern() {
diff --git a/tests/robotests/src/com/android/settings/password/SetupSkipDialogTest.java b/tests/robotests/src/com/android/settings/password/SetupSkipDialogTest.java
index d0a062b..57cf7cd 100644
--- a/tests/robotests/src/com/android/settings/password/SetupSkipDialogTest.java
+++ b/tests/robotests/src/com/android/settings/password/SetupSkipDialogTest.java
@@ -19,10 +19,10 @@
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
-import android.app.Activity;
 import android.app.AlertDialog;
 
 import com.android.settings.R;
+import com.android.settings.testutils.Robolectric;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 import com.android.settings.testutils.shadow.SettingsShadowResources;
 import com.android.settings.testutils.shadow.ShadowUtils;
@@ -30,11 +30,12 @@
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.robolectric.Robolectric;
 import org.robolectric.Shadows;
 import org.robolectric.annotation.Config;
 import org.robolectric.shadows.ShadowAlertDialog;
 
+import androidx.fragment.app.FragmentActivity;
+
 @RunWith(SettingsRobolectricTestRunner.class)
 @Config(shadows = {
     SettingsShadowResources.SettingsShadowTheme.class,
@@ -42,17 +43,17 @@
 })
 public class SetupSkipDialogTest {
 
-    private Activity mActivity;
+    private FragmentActivity mActivity;
 
     @Before
     public void setUp() {
-        mActivity = Robolectric.setupActivity(Activity.class);
+        mActivity = Robolectric.setupActivity(FragmentActivity.class);
     }
 
     @Test
     public void frpMessages_areShownCorrectly_whenNotSupported() {
         SetupSkipDialog setupSkipDialog = SetupSkipDialog.newInstance(false);
-        setupSkipDialog.show(mActivity.getFragmentManager());
+        setupSkipDialog.show(mActivity.getSupportFragmentManager());
 
         AlertDialog alertDialog = ShadowAlertDialog.getLatestAlertDialog();
         assertNotNull(alertDialog);
@@ -66,7 +67,7 @@
     @Test
     public void frpMessages_areShownCorrectly_whenSupported() {
         SetupSkipDialog setupSkipDialog = SetupSkipDialog.newInstance(true);
-        setupSkipDialog.show(mActivity.getFragmentManager());
+        setupSkipDialog.show(mActivity.getSupportFragmentManager());
 
         AlertDialog alertDialog = ShadowAlertDialog.getLatestAlertDialog();
         assertNotNull(alertDialog);
diff --git a/tests/robotests/src/com/android/settings/search/actionbar/SearchMenuControllerTest.java b/tests/robotests/src/com/android/settings/search/actionbar/SearchMenuControllerTest.java
index 7ff4acc..b36769d 100644
--- a/tests/robotests/src/com/android/settings/search/actionbar/SearchMenuControllerTest.java
+++ b/tests/robotests/src/com/android/settings/search/actionbar/SearchMenuControllerTest.java
@@ -26,9 +26,9 @@
 import android.view.MenuItem;
 
 import com.android.settings.R;
-import com.android.settings.testutils.SettingsRobolectricTestRunner;
 import com.android.settingslib.core.lifecycle.ObservableFragment;
 import com.android.settingslib.core.lifecycle.ObservablePreferenceFragment;
+import com.android.settings.testutils.SettingsRobolectricTestRunner;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -57,7 +57,7 @@
     @Test
     public void init_prefFragment_shouldAddMenu() {
         SearchMenuController.init(mPreferenceHost);
-        mPreferenceHost.getLifecycle().onCreateOptionsMenu(mMenu, null /* inflater */);
+        mPreferenceHost.getSettingsLifecycle().onCreateOptionsMenu(mMenu, null /* inflater */);
 
         verify(mMenu).add(Menu.NONE, Menu.NONE, 0 /* order */, R.string.search_menu);
     }
@@ -65,7 +65,7 @@
     @Test
     public void init_observableFragment_shouldAddMenu() {
         SearchMenuController.init(mHost);
-        mHost.getLifecycle().onCreateOptionsMenu(mMenu, null /* inflater */);
+        mHost.getSettingsLifecycle().onCreateOptionsMenu(mMenu, null /* inflater */);
 
         verify(mMenu).add(Menu.NONE, Menu.NONE, 0 /* order */, R.string.search_menu);
     }
@@ -77,7 +77,7 @@
         mHost.setArguments(args);
 
         SearchMenuController.init(mHost);
-        mHost.getLifecycle().onCreateOptionsMenu(mMenu, null /* inflater */);
+        mHost.getSettingsLifecycle().onCreateOptionsMenu(mMenu, null /* inflater */);
         verifyZeroInteractions(mMenu);
     }
 
diff --git a/tests/robotests/src/com/android/settings/security/ConfigureKeyGuardDialogTest.java b/tests/robotests/src/com/android/settings/security/ConfigureKeyGuardDialogTest.java
index a09bd99..b7ff79c 100644
--- a/tests/robotests/src/com/android/settings/security/ConfigureKeyGuardDialogTest.java
+++ b/tests/robotests/src/com/android/settings/security/ConfigureKeyGuardDialogTest.java
@@ -22,12 +22,13 @@
 
 import android.content.DialogInterface;
 
+import com.android.settings.testutils.FragmentController;
+import com.android.settings.testutils.Robolectric;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.robolectric.Robolectric;
-import org.robolectric.android.controller.FragmentController;
+
 
 @RunWith(SettingsRobolectricTestRunner.class)
 public class ConfigureKeyGuardDialogTest {
diff --git a/tests/robotests/src/com/android/settings/security/OwnerInfoPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/security/OwnerInfoPreferenceControllerTest.java
index 05d76f1..e365bcb 100644
--- a/tests/robotests/src/com/android/settings/security/OwnerInfoPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/security/OwnerInfoPreferenceControllerTest.java
@@ -26,8 +26,6 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.FragmentManager;
-import android.app.FragmentTransaction;
 import android.content.Context;
 
 import com.android.internal.widget.LockPatternUtils;
@@ -44,7 +42,9 @@
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.util.ReflectionHelpers;
 
-import androidx.preference.PreferenceFragment;
+import androidx.fragment.app.FragmentManager;
+import androidx.fragment.app.FragmentTransaction;
+import androidx.preference.PreferenceFragmentCompat;
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
 
@@ -52,7 +52,7 @@
 public class OwnerInfoPreferenceControllerTest {
 
     @Mock
-    private PreferenceFragment mFragment;
+    private PreferenceFragmentCompat mFragment;
     @Mock
     private PreferenceScreen mScreen;
     @Mock
diff --git a/tests/robotests/src/com/android/settings/sound/AudioOutputSwitchPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/sound/AudioOutputSwitchPreferenceControllerTest.java
index 45a0367b..7986428 100644
--- a/tests/robotests/src/com/android/settings/sound/AudioOutputSwitchPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/sound/AudioOutputSwitchPreferenceControllerTest.java
@@ -16,14 +16,8 @@
 
 package com.android.settings.sound;
 
-
-import static android.media.AudioManager.DEVICE_OUT_BLUETOOTH_SCO;
-import static android.media.AudioManager.STREAM_RING;
-import static android.media.AudioManager.STREAM_VOICE_CALL;
 import static android.media.AudioSystem.DEVICE_OUT_ALL_SCO;
-import static android.media.AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP;
 import static android.media.AudioSystem.DEVICE_OUT_BLUETOOTH_SCO_HEADSET;
-import static android.media.AudioSystem.DEVICE_OUT_HEARING_AID;
 import static android.media.AudioSystem.STREAM_MUSIC;
 import static com.android.settings.core.BasePreferenceController.AVAILABLE;
 import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE;
@@ -33,7 +27,6 @@
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
-import static org.robolectric.Shadows.shadowOf;
 
 import android.bluetooth.BluetoothAdapter;
 import android.bluetooth.BluetoothDevice;
@@ -65,6 +58,7 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.Shadows;
 import org.robolectric.annotation.Config;
 import org.robolectric.shadow.api.Shadow;
 import org.robolectric.shadows.ShadowBluetoothDevice;
@@ -278,7 +272,7 @@
         ShadowBluetoothDevice shadowBluetoothDevice;
         BluetoothDevice secondBluetoothDevice;
         secondBluetoothDevice = mBluetoothAdapter.getRemoteDevice(TEST_DEVICE_ADDRESS_2);
-        shadowBluetoothDevice = shadowOf(secondBluetoothDevice);
+        shadowBluetoothDevice = Shadows.shadowOf(secondBluetoothDevice);
         shadowBluetoothDevice.setName(TEST_DEVICE_NAME_2);
         mController.mConnectedDevices.clear();
         mController.mConnectedDevices.add(mBluetoothDevice);
@@ -312,54 +306,11 @@
     }
 
     /**
-     * Audio stream is not STREAM_MUSIC or STREAM_VOICE_CALL.
-     * findActiveDevice should return null.
+     * Left side of HAP device is active.
+     * findActiveHearingAidDevice should return hearing aid device active device.
      */
     @Test
-    public void findActiveDevice_streamIsRing_shouldReturnNull() {
-        assertThat(mController.findActiveDevice(STREAM_RING)).isNull();
-    }
-
-    /**
-     * Audio stream is STREAM_MUSIC and output device is A2dp bluetooth device.
-     * findActiveDevice should return A2dp active device.
-     */
-    @Test
-    public void findActiveDevice_streamMusicToA2dpDevice_shouldReturnActiveA2dpDevice() {
-        mShadowAudioManager.setOutputDevice(DEVICE_OUT_BLUETOOTH_A2DP);
-        mHearingAidActiveDevices.clear();
-        mHearingAidActiveDevices.add(mLeftBluetoothHapDevice);
-        when(mHeadsetProfile.getActiveDevice()).thenReturn(mLeftBluetoothHapDevice);
-        when(mA2dpProfile.getActiveDevice()).thenReturn(mBluetoothDevice);
-        when(mHearingAidProfile.getActiveDevices()).thenReturn(mHearingAidActiveDevices);
-
-        assertThat(mController.findActiveDevice(STREAM_MUSIC)).isEqualTo(mBluetoothDevice);
-    }
-
-    /**
-     * Audio stream is STREAM_VOICE_CALL and output device is Hands free profile bluetooth device.
-     * findActiveDevice should return Hands free profile active device.
-     */
-    @Test
-    public void findActiveDevice_streamVoiceCallToHfpDevice_shouldReturnActiveHfpDevice() {
-        mShadowAudioManager.setOutputDevice(DEVICE_OUT_BLUETOOTH_SCO);
-        mHearingAidActiveDevices.clear();
-        mHearingAidActiveDevices.add(mLeftBluetoothHapDevice);
-        when(mHeadsetProfile.getActiveDevice()).thenReturn(mBluetoothDevice);
-        when(mA2dpProfile.getActiveDevice()).thenReturn(mLeftBluetoothHapDevice);
-        when(mHearingAidProfile.getActiveDevices()).thenReturn(mHearingAidActiveDevices);
-
-        assertThat(mController.findActiveDevice(STREAM_VOICE_CALL)).isEqualTo(mBluetoothDevice);
-    }
-
-    /**
-     * Audio stream is STREAM_MUSIC or STREAM_VOICE_CALL and output device is hearing aid profile
-     * bluetooth device. And left side of HAP device is active.
-     * findActiveDevice should return hearing aid device active device.
-     */
-    @Test
-    public void findActiveDevice_streamToHapDeviceLeftActiveDevice_shouldReturnActiveHapDevice() {
-        mShadowAudioManager.setOutputDevice(DEVICE_OUT_HEARING_AID);
+    public void findActiveHearingAidDevice_leftActiveDevice_returnLeftDeviceAsActiveHapDevice() {
         mController.mConnectedDevices.clear();
         mController.mConnectedDevices.add(mBluetoothDevice);
         mController.mConnectedDevices.add(mLeftBluetoothHapDevice);
@@ -367,46 +318,35 @@
         mHearingAidActiveDevices.add(mLeftBluetoothHapDevice);
         mHearingAidActiveDevices.add(null);
         when(mHeadsetProfile.getActiveDevice()).thenReturn(mBluetoothDevice);
-        when(mA2dpProfile.getActiveDevice()).thenReturn(mBluetoothDevice);
         when(mHearingAidProfile.getActiveDevices()).thenReturn(mHearingAidActiveDevices);
 
-        assertThat(mController.findActiveDevice(STREAM_MUSIC)).isEqualTo(mLeftBluetoothHapDevice);
-        assertThat(mController.findActiveDevice(STREAM_VOICE_CALL)).isEqualTo(
-                mLeftBluetoothHapDevice);
+        assertThat(mController.findActiveHearingAidDevice()).isEqualTo(mLeftBluetoothHapDevice);
     }
 
     /**
-     * Audio stream is STREAM_MUSIC or STREAM_VOICE_CALL and output device is hearing aid profile
-     * bluetooth device. And right side of HAP device is active.
-     * findActiveDevice should return hearing aid device active device.
+     * Right side of HAP device is active.
+     * findActiveHearingAidDevice should return hearing aid device active device.
      */
     @Test
-    public void findActiveDevice_streamToHapDeviceRightActiveDevice_shouldReturnActiveHapDevice() {
-        mShadowAudioManager.setOutputDevice(DEVICE_OUT_HEARING_AID);
+    public void findActiveHearingAidDevice_rightActiveDevice_returnRightDeviceAsActiveHapDevice() {
         mController.mConnectedDevices.clear();
         mController.mConnectedDevices.add(mBluetoothDevice);
         mController.mConnectedDevices.add(mRightBluetoothHapDevice);
         mHearingAidActiveDevices.clear();
         mHearingAidActiveDevices.add(null);
         mHearingAidActiveDevices.add(mRightBluetoothHapDevice);
-        mHearingAidActiveDevices.add(mRightBluetoothHapDevice);
         when(mHeadsetProfile.getActiveDevice()).thenReturn(mBluetoothDevice);
-        when(mA2dpProfile.getActiveDevice()).thenReturn(mBluetoothDevice);
         when(mHearingAidProfile.getActiveDevices()).thenReturn(mHearingAidActiveDevices);
 
-        assertThat(mController.findActiveDevice(STREAM_MUSIC)).isEqualTo(mRightBluetoothHapDevice);
-        assertThat(mController.findActiveDevice(STREAM_VOICE_CALL)).isEqualTo(
-                mRightBluetoothHapDevice);
+        assertThat(mController.findActiveHearingAidDevice()).isEqualTo(mRightBluetoothHapDevice);
     }
 
     /**
-     * Audio stream is STREAM_MUSIC or STREAM_VOICE_CALL and output device is hearing aid
-     * profile bluetooth device. And both are active device.
-     * findActiveDevice should return only return the active device in mConnectedDevices.
+     * Both are active device.
+     * findActiveHearingAidDevice only return the active device in mConnectedDevices.
      */
     @Test
-    public void findActiveDevice_streamToHapDeviceTwoActiveDevice_shouldReturnActiveHapDevice() {
-        mShadowAudioManager.setOutputDevice(DEVICE_OUT_HEARING_AID);
+    public void findActiveHearingAidDevice_twoActiveDevice_returnActiveDeviceInConnectedDevices() {
         mController.mConnectedDevices.clear();
         mController.mConnectedDevices.add(mBluetoothDevice);
         mController.mConnectedDevices.add(mRightBluetoothHapDevice);
@@ -414,32 +354,25 @@
         mHearingAidActiveDevices.add(mLeftBluetoothHapDevice);
         mHearingAidActiveDevices.add(mRightBluetoothHapDevice);
         when(mHeadsetProfile.getActiveDevice()).thenReturn(mBluetoothDevice);
-        when(mA2dpProfile.getActiveDevice()).thenReturn(mBluetoothDevice);
         when(mHearingAidProfile.getActiveDevices()).thenReturn(mHearingAidActiveDevices);
 
-        assertThat(mController.findActiveDevice(STREAM_MUSIC)).isEqualTo(mRightBluetoothHapDevice);
-        assertThat(mController.findActiveDevice(STREAM_VOICE_CALL)).isEqualTo(
-                mRightBluetoothHapDevice);
+        assertThat(mController.findActiveHearingAidDevice()).isEqualTo(mRightBluetoothHapDevice);
     }
 
     /**
-     * Audio stream is STREAM_MUSIC or STREAM_VOICE_CALL and output device is hearing aid
-     * profile bluetooth device. And none of them are active.
-     * findActiveDevice should return null.
+     * None of them are active.
+     * findActiveHearingAidDevice should return null.
      */
     @Test
-    public void findActiveDevice_streamToOtherDevice_shouldReturnActiveHapDevice() {
-        mShadowAudioManager.setOutputDevice(DEVICE_OUT_HEARING_AID);
+    public void findActiveHearingAidDevice_noActiveDevice_returnNull() {
         mController.mConnectedDevices.clear();
         mController.mConnectedDevices.add(mBluetoothDevice);
         mController.mConnectedDevices.add(mLeftBluetoothHapDevice);
         mHearingAidActiveDevices.clear();
         when(mHeadsetProfile.getActiveDevice()).thenReturn(mBluetoothDevice);
-        when(mA2dpProfile.getActiveDevice()).thenReturn(mBluetoothDevice);
         when(mHearingAidProfile.getActiveDevices()).thenReturn(mHearingAidActiveDevices);
 
-        assertThat(mController.findActiveDevice(STREAM_MUSIC)).isNull();
-        assertThat(mController.findActiveDevice(STREAM_VOICE_CALL)).isNull();
+        assertThat(mController.findActiveHearingAidDevice()).isNull();
     }
 
     /**
@@ -558,6 +491,11 @@
         }
 
         @Override
+        public BluetoothDevice findActiveDevice() {
+            return null;
+        }
+
+        @Override
         public String getPreferenceKey() {
             return TEST_KEY;
         }
diff --git a/tests/robotests/src/com/android/settings/sound/HandsFreeProfileOutputPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/sound/HandsFreeProfileOutputPreferenceControllerTest.java
index 4a8f76b..47b6ea0 100644
--- a/tests/robotests/src/com/android/settings/sound/HandsFreeProfileOutputPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/sound/HandsFreeProfileOutputPreferenceControllerTest.java
@@ -18,7 +18,6 @@
 
 import static android.media.AudioSystem.DEVICE_OUT_BLUETOOTH_SCO;
 import static android.media.AudioSystem.DEVICE_OUT_HEARING_AID;
-import static android.media.AudioSystem.DEVICE_OUT_USB_HEADSET;
 import static com.google.common.truth.Truth.assertThat;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.mock;
@@ -286,12 +285,10 @@
     @Test
     public void updateState_withAvailableDevicesWiredHeadsetActivated_shouldSetDefaultSummary() {
         mShadowAudioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
-        mShadowAudioManager.setOutputDevice(DEVICE_OUT_USB_HEADSET);
         mProfileConnectedDevices.clear();
         mProfileConnectedDevices.add(mBluetoothDevice);
         when(mHeadsetProfile.getConnectedDevices()).thenReturn(mProfileConnectedDevices);
-        when(mHeadsetProfile.getActiveDevice()).thenReturn(
-                mBluetoothDevice); // BT device is still activated in this case
+        when(mHeadsetProfile.getActiveDevice()).thenReturn(null);
 
         mController.updateState(mPreference);
 
@@ -463,4 +460,20 @@
         assertThat(mController.mConnectedDevices).containsExactly(mBluetoothDevice,
                 mLeftBluetoothHapDevice, mRightBluetoothHapDevice);
     }
+
+    @Test
+    public void findActiveDevice_onlyHeadsetDeviceActive_returnHeadsetDevice() {
+        when(mLocalBluetoothProfileManager.getHearingAidProfile()).thenReturn(null);
+        when(mHeadsetProfile.getActiveDevice()).thenReturn(mBluetoothDevice);
+
+        assertThat(mController.findActiveDevice()).isEqualTo(mBluetoothDevice);
+    }
+
+    @Test
+    public void findActiveDevice_allDevicesNotActive_returnNull() {
+        when(mLocalBluetoothProfileManager.getHearingAidProfile()).thenReturn(null);
+        when(mHeadsetProfile.getActiveDevice()).thenReturn(null);
+
+        assertThat(mController.findActiveDevice()).isNull();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/sound/MediaOutputPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/sound/MediaOutputPreferenceControllerTest.java
index dfc3d69..8538437 100644
--- a/tests/robotests/src/com/android/settings/sound/MediaOutputPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/sound/MediaOutputPreferenceControllerTest.java
@@ -16,11 +16,9 @@
 
 package com.android.settings.sound;
 
-
 import static android.media.AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP;
 import static android.media.AudioSystem.DEVICE_OUT_HEARING_AID;
 import static android.media.AudioSystem.DEVICE_OUT_REMOTE_SUBMIX;
-import static android.media.AudioSystem.DEVICE_OUT_USB_HEADSET;
 import static com.google.common.truth.Truth.assertThat;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.mock;
@@ -336,12 +334,11 @@
     @Test
     public void updateState_a2dpDevicesAvailableWiredHeadsetIsActivated_shouldSetDefaultSummary() {
         mShadowAudioManager.setMode(AudioManager.MODE_NORMAL);
-        mShadowAudioManager.setOutputDevice(DEVICE_OUT_USB_HEADSET);
         mProfileConnectedDevices.clear();
         mProfileConnectedDevices.add(mBluetoothDevice);
+        when(mLocalBluetoothProfileManager.getHearingAidProfile()).thenReturn(null);
         when(mA2dpProfile.getConnectedDevices()).thenReturn(mProfileConnectedDevices);
-        when(mA2dpProfile.getActiveDevice()).thenReturn(
-                mBluetoothDevice); // BT device is still activated in this case
+        when(mA2dpProfile.getActiveDevice()).thenReturn(null);
 
         mController.updateState(mPreference);
 
@@ -516,4 +513,20 @@
         assertThat(mController.mConnectedDevices).containsExactly(mBluetoothDevice,
                 mLeftBluetoothHapDevice, mRightBluetoothHapDevice);
     }
+
+    @Test
+    public void findActiveDevice_onlyA2dpDeviceActive_returnA2dpDevice() {
+        when(mLocalBluetoothProfileManager.getHearingAidProfile()).thenReturn(null);
+        when(mA2dpProfile.getActiveDevice()).thenReturn(mBluetoothDevice);
+
+        assertThat(mController.findActiveDevice()).isEqualTo(mBluetoothDevice);
+    }
+
+    @Test
+    public void findActiveDevice_allDevicesNotActive_returnNull() {
+        when(mLocalBluetoothProfileManager.getHearingAidProfile()).thenReturn(null);
+        when(mA2dpProfile.getActiveDevice()).thenReturn(null);
+
+        assertThat(mController.findActiveDevice()).isNull();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/suggestions/SettingsSuggestionsTest.java b/tests/robotests/src/com/android/settings/suggestions/SettingsSuggestionsTest.java
index 38d9ce5..54bff58 100644
--- a/tests/robotests/src/com/android/settings/suggestions/SettingsSuggestionsTest.java
+++ b/tests/robotests/src/com/android/settings/suggestions/SettingsSuggestionsTest.java
@@ -31,7 +31,6 @@
 import com.android.settings.biometrics.fingerprint.FingerprintEnrollSuggestionActivity;
 import com.android.settings.biometrics.fingerprint.FingerprintSuggestionActivity;
 import com.android.settings.notification.ZenSuggestionActivity;
-import com.android.settings.support.NewDeviceIntroSuggestionActivity;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 import com.android.settings.wallpaper.WallpaperSuggestionActivity;
 import com.android.settings.wifi.calling.WifiCallingSuggestionActivity;
@@ -46,41 +45,41 @@
     @Test
     public void wallpaperSuggestion_isValid() {
         assertSuggestionEquals(
-            WallpaperSuggestionActivity.class.getName(),
-            R.string.wallpaper_suggestion_title,
-            R.string.wallpaper_suggestion_summary);
+                WallpaperSuggestionActivity.class.getName(),
+                R.string.wallpaper_suggestion_title,
+                R.string.wallpaper_suggestion_summary);
     }
 
     @Test
     public void fingerprintSuggestion_isValid() {
         assertSuggestionEquals(
-            FingerprintSuggestionActivity.class.getName(),
-            R.string.suggestion_additional_fingerprints,
-            R.string.suggestion_additional_fingerprints_summary);
+                FingerprintSuggestionActivity.class.getName(),
+                R.string.suggestion_additional_fingerprints,
+                R.string.suggestion_additional_fingerprints_summary);
     }
 
     @Test
     public void fingerprintEnrollSuggestion_isValid() {
         assertSuggestionEquals(
-            FingerprintEnrollSuggestionActivity.class.getName(),
-            R.string.suggested_fingerprint_lock_settings_title,
-            R.string.suggested_fingerprint_lock_settings_summary);
+                FingerprintEnrollSuggestionActivity.class.getName(),
+                R.string.suggested_fingerprint_lock_settings_title,
+                R.string.suggested_fingerprint_lock_settings_summary);
     }
 
     @Test
     public void wifiCallingSuggestion_isValid() {
         assertSuggestionEquals(
-            WifiCallingSuggestionActivity.class.getName(),
-            R.string.wifi_calling_suggestion_title,
-            R.string.wifi_calling_suggestion_summary);
+                WifiCallingSuggestionActivity.class.getName(),
+                R.string.wifi_calling_suggestion_title,
+                R.string.wifi_calling_suggestion_summary);
     }
 
     @Test
     public void nightDisplaySuggestion_isValid() {
         assertSuggestionEquals(
-            Settings.NightDisplaySuggestionActivity.class.getName(),
-            R.string.night_display_suggestion_title,
-            R.string.night_display_suggestion_summary);
+                Settings.NightDisplaySuggestionActivity.class.getName(),
+                R.string.night_display_suggestion_title,
+                R.string.night_display_suggestion_summary);
     }
 
     @Test
@@ -91,16 +90,8 @@
                 R.string.zen_suggestion_summary);
     }
 
-    @Test
-    public void newDeviceIntroSuggestion_isValid() {
-        assertSuggestionEquals(
-            NewDeviceIntroSuggestionActivity.class.getName(),
-            R.string.new_device_suggestion_title,
-            R.string.new_device_suggestion_summary);
-    }
-
     private void assertSuggestionEquals(String activityName, @StringRes int titleRes,
-        @StringRes int summaryRes) {
+            @StringRes int summaryRes) {
 
         final Context context = RuntimeEnvironment.application;
         final PackageManager pm = context.getPackageManager();
@@ -117,13 +108,13 @@
 
         final String title = (String) info.metaData.get("com.android.settings.title");
         final String actualTitle =
-            context.getString(resources.getIdentifier(title.substring(8), "string", pName));
+                context.getString(resources.getIdentifier(title.substring(8), "string", pName));
         final String expectedTitle = context.getString(titleRes);
         assertThat(actualTitle).isEqualTo(expectedTitle);
 
         final String summary = (String) info.metaData.get("com.android.settings.summary");
         final String actualSummary =
-            context.getString(resources.getIdentifier(summary.substring(8), "string", pName));
+                context.getString(resources.getIdentifier(summary.substring(8), "string", pName));
         final String expectedSummary = context.getString(summaryRes);
         assertThat(actualSummary).isEqualTo(expectedSummary);
     }
diff --git a/tests/robotests/src/com/android/settings/support/NewDeviceIntroSuggestionActivityTest.java b/tests/robotests/src/com/android/settings/support/NewDeviceIntroSuggestionActivityTest.java
deleted file mode 100644
index 34f8d8a..0000000
--- a/tests/robotests/src/com/android/settings/support/NewDeviceIntroSuggestionActivityTest.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * Copyright (C) 2017 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
- *
- *      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.
- */
-
-package com.android.settings.support;
-
-import static com.android.settings.support.NewDeviceIntroSuggestionActivity.PERMANENT_DISMISS_THRESHOLD;
-import static com.android.settings.support.NewDeviceIntroSuggestionActivity.PREF_KEY_SUGGGESTION_COMPLETE;
-import static com.android.settings.support.NewDeviceIntroSuggestionActivity.PREF_KEY_SUGGGESTION_FIRST_DISPLAY_TIME;
-import static com.android.settings.support.NewDeviceIntroSuggestionActivity.TIPS_PACKAGE_NAME;
-import static com.android.settings.support.NewDeviceIntroSuggestionActivity.isSuggestionComplete;
-import static com.google.common.truth.Truth.assertThat;
-import static org.mockito.Matchers.any;
-import static org.mockito.Mockito.when;
-
-import android.content.Context;
-import android.content.Intent;
-import android.content.SharedPreferences;
-import android.content.pm.PackageInfo;
-import android.content.pm.ResolveInfo;
-
-import com.android.settings.R;
-import com.android.settings.testutils.FakeFeatureFactory;
-import com.android.settings.testutils.SettingsRobolectricTestRunner;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Answers;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RuntimeEnvironment;
-import org.robolectric.Shadows;
-import org.robolectric.shadows.ShadowPackageManager;
-
-@RunWith(SettingsRobolectricTestRunner.class)
-public class NewDeviceIntroSuggestionActivityTest {
-
-    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
-    private Context mMockContext;
-
-    private Context mContext;
-    private FakeFeatureFactory mFeatureFactory;
-    private ShadowPackageManager mShadowPackageManager;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mContext = RuntimeEnvironment.application;
-        mShadowPackageManager = Shadows.shadowOf(mContext.getPackageManager());
-
-        mFeatureFactory = FakeFeatureFactory.setupForTest();
-        when(mFeatureFactory.suggestionsFeatureProvider.getSharedPrefs(any(Context.class)))
-                .thenReturn(getSharedPreferences());
-    }
-
-    @Test
-    public void isSuggestionComplete_TipsNotExistsAndNotExpiredAndCanOpenUrl_shouldReturnFalse() {
-        mShadowPackageManager.removePackage(TIPS_PACKAGE_NAME);
-
-        when(mMockContext.getResources()
-                .getBoolean(R.bool.config_new_device_intro_suggestion_supported))
-                .thenReturn(true);
-
-        when(mFeatureFactory.supportFeatureProvider.getNewDeviceIntroUrl(any(Context.class)))
-                .thenReturn("https://com.android.settings");
-        final Intent intent = NewDeviceIntroSuggestionActivity.getLaunchIntent(mContext);
-        mShadowPackageManager.addResolveInfoForIntent(intent, new ResolveInfo());
-
-        assertThat(isSuggestionComplete(mContext)).isFalse();
-    }
-
-    @Test
-    public void isSuggestionComplete_TipsExistsAndNotExpiredAndCanOpenUrl_shouldReturnTrue() {
-        final PackageInfo mockInfo = new PackageInfo();
-        mockInfo.packageName = TIPS_PACKAGE_NAME;
-        mShadowPackageManager.addPackage(mockInfo);
-
-        when(mMockContext.getResources()
-                .getBoolean(R.bool.config_new_device_intro_suggestion_supported))
-                .thenReturn(true);
-
-        when(mFeatureFactory.supportFeatureProvider.getNewDeviceIntroUrl(any(Context.class)))
-                .thenReturn("https://com.android.settings");
-        final Intent intent = NewDeviceIntroSuggestionActivity.getLaunchIntent(mContext);
-        mShadowPackageManager.addResolveInfoForIntent(intent, new ResolveInfo());
-
-        assertThat(isSuggestionComplete(mContext)).isTrue();
-    }
-
-    @Test
-    public void isSuggestionComplete_notSupported_shouldReturnTrue() {
-        when(mMockContext.getResources()
-                .getBoolean(R.bool.config_new_device_intro_suggestion_supported))
-                .thenReturn(false);
-
-        assertThat(isSuggestionComplete(mContext)).isTrue();
-    }
-
-    @Test
-    public void isSuggestionComplete_suggestionExpired_shouldReturnTrue() {
-        final long currentTime = System.currentTimeMillis();
-
-        getSharedPreferences().edit().putLong(PREF_KEY_SUGGGESTION_FIRST_DISPLAY_TIME,
-                currentTime - 2 * PERMANENT_DISMISS_THRESHOLD).commit();
-        assertThat(isSuggestionComplete(mContext)).isTrue();
-    }
-
-    @Test
-    public void isSuggestionComplete_noUrl_shouldReturnTrue() {
-        when(mFeatureFactory.supportFeatureProvider.getNewDeviceIntroUrl(any(Context.class)))
-                .thenReturn(null);
-        assertThat(isSuggestionComplete(mContext)).isTrue();
-    }
-
-    @Test
-    public void isSuggestionComplete_alreadyLaunchedBefore_shouldReturnTrue() {
-        when(mFeatureFactory.supportFeatureProvider.getNewDeviceIntroUrl(any(Context.class)))
-                .thenReturn("https://com.android.settings");
-
-        getSharedPreferences().edit().putBoolean(PREF_KEY_SUGGGESTION_COMPLETE, true).commit();
-
-        assertThat(isSuggestionComplete(mContext)).isTrue();
-    }
-
-    @Test
-    public void isSuggestionComplete_notExpiredAndCanOpenUrlInBrowser_shouldReturnFalse() {
-        when(mFeatureFactory.supportFeatureProvider.getNewDeviceIntroUrl(any(Context.class)))
-                .thenReturn("https://com.android.settings");
-
-        final Intent intent = NewDeviceIntroSuggestionActivity.getLaunchIntent(mContext);
-        mShadowPackageManager.addResolveInfoForIntent(intent, new ResolveInfo());
-        assertThat(isSuggestionComplete(mContext)).isFalse();
-    }
-
-    private SharedPreferences getSharedPreferences() {
-        return mContext.getSharedPreferences("test_new_device_sugg", Context.MODE_PRIVATE);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/support/actionbar/HelpMenuControllerTest.java b/tests/robotests/src/com/android/settings/support/actionbar/HelpMenuControllerTest.java
index a78187f..b0abf6d 100644
--- a/tests/robotests/src/com/android/settings/support/actionbar/HelpMenuControllerTest.java
+++ b/tests/robotests/src/com/android/settings/support/actionbar/HelpMenuControllerTest.java
@@ -54,7 +54,7 @@
 
         HelpMenuController.init(mHost);
 
-        mHost.getLifecycle().onCreateOptionsMenu(null /* menu */, null /* inflater */);
+        mHost.getSettingsLifecycle().onCreateOptionsMenu(null /* menu */, null /* inflater */);
 
         verify(mContext).getString(123);
     }
@@ -63,13 +63,12 @@
     public void onCreateOptionsMenu_noArgumentOverride_shouldPrepareHelpUsingProvider() {
         HelpMenuController.init(mHost);
 
-        mHost.getLifecycle().onCreateOptionsMenu(null /* menu */, null /* inflater */);
+        mHost.getSettingsLifecycle().onCreateOptionsMenu(null /* menu */, null /* inflater */);
 
         verify(mContext).getString(mHost.getHelpResource());
     }
 
-    private static class TestFragment
-        extends ObservablePreferenceFragment
+    private static class TestFragment extends ObservablePreferenceFragment
         implements HelpResourceProvider {
 
         @Override
diff --git a/tests/robotests/src/com/android/settings/survey/SurveyMixinTest.java b/tests/robotests/src/com/android/settings/survey/SurveyMixinTest.java
index 36ecf5a..c7983d1 100644
--- a/tests/robotests/src/com/android/settings/survey/SurveyMixinTest.java
+++ b/tests/robotests/src/com/android/settings/survey/SurveyMixinTest.java
@@ -8,7 +8,6 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.Activity;
 import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.IntentFilter;
@@ -30,6 +29,7 @@
 import java.util.ArrayList;
 import java.util.HashMap;
 
+import androidx.fragment.app.FragmentActivity;
 import androidx.localbroadcastmanager.content.LocalBroadcastManager;
 
 @RunWith(SettingsRobolectricTestRunner.class)
@@ -60,7 +60,7 @@
         when(mProvider.getSurveyExpirationDate(any(), any())).thenReturn(-1L);
 
         // Pretend we are an activity that is starting up
-        Activity temp = Robolectric.setupActivity(Activity.class);
+        FragmentActivity temp = Robolectric.setupActivity(FragmentActivity.class);
         when(mFragment.getActivity()).thenReturn(temp);
         SurveyMixin mixin = new SurveyMixin(mFragment, FAKE_KEY);
         mixin.onResume();
@@ -79,7 +79,7 @@
         when(mProvider.getSurveyExpirationDate(any(), any())).thenReturn(0L);
 
         // Pretend we are an activity that is starting up
-        Activity temp = Robolectric.setupActivity(Activity.class);
+        FragmentActivity temp = Robolectric.setupActivity(FragmentActivity.class);
         when(mFragment.getActivity()).thenReturn(temp);
         SurveyMixin mixin = new SurveyMixin(mFragment, FAKE_KEY);
         mixin.onResume();
@@ -110,7 +110,7 @@
         when(mProvider.getSurveyExpirationDate(any(), any())).thenReturn(-1L);
 
         // Pretend we are an activity that starts and stops
-        Activity temp = Robolectric.setupActivity(Activity.class);
+        FragmentActivity temp = Robolectric.setupActivity(FragmentActivity.class);
         when(mFragment.getActivity()).thenReturn(temp);
         when(mProvider.createAndRegisterReceiver(any())).thenReturn(mReceiver);
         LocalBroadcastManager manager = LocalBroadcastManager.getInstance(temp);
@@ -131,7 +131,7 @@
         when(mProvider.getSurveyExpirationDate(any(), any())).thenReturn(-1L);
 
         // Pretend we are an activity that fails to create a receiver properly
-        Activity temp = Robolectric.setupActivity(Activity.class);
+        FragmentActivity temp = Robolectric.setupActivity(FragmentActivity.class);
         when(mFragment.getActivity()).thenReturn(temp);
         SurveyMixin mixin = new SurveyMixin(mFragment, FAKE_KEY);
         mixin.onPause();
diff --git a/tests/robotests/src/com/android/settings/testutils/FragmentController.java b/tests/robotests/src/com/android/settings/testutils/FragmentController.java
new file mode 100644
index 0000000..b3f7b6f
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/testutils/FragmentController.java
@@ -0,0 +1,210 @@
+/*
+ * 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
+ *
+ *      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.
+ */
+
+package com.android.settings.testutils;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.widget.LinearLayout;
+
+import org.robolectric.android.controller.ActivityController;
+import org.robolectric.android.controller.ComponentController;
+import org.robolectric.util.ReflectionHelpers;
+
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentActivity;
+
+/**
+ * Controller class for driving fragment lifecycles, similar to {@link ActivityController}.
+ */
+// TODO(b/111195167) - Duplicated from org.robolectric.android.controller.FragmentController.
+@Deprecated
+public class FragmentController<F extends Fragment> extends
+        ComponentController<FragmentController<F>, F> {
+    private final F fragment;
+    private final ActivityController<? extends FragmentActivity> activityController;
+
+    public static <F extends Fragment> FragmentController<F> of(F fragment) {
+        return of(fragment, FragmentControllerActivity.class, null, null);
+    }
+
+    public static <F extends Fragment> FragmentController<F> of(F fragment,
+            Class<? extends FragmentActivity> activityClass) {
+        return of(fragment, activityClass, null, null);
+    }
+
+    public static <F extends Fragment> FragmentController<F> of(F fragment, Intent intent) {
+        return new FragmentController<>(fragment, FragmentControllerActivity.class, intent);
+    }
+
+    public static <F extends Fragment> FragmentController<F> of(F fragment, Bundle arguments) {
+        return new FragmentController<>(fragment, FragmentControllerActivity.class, arguments);
+    }
+
+    public static <F extends Fragment> FragmentController<F> of(F fragment, Intent intent,
+            Bundle arguments) {
+        return new FragmentController<>(fragment, FragmentControllerActivity.class, intent,
+                arguments);
+    }
+
+    public static <F extends Fragment> FragmentController<F> of(F fragment,
+            Class<? extends FragmentActivity> activityClass, Intent intent) {
+        return new FragmentController<>(fragment, activityClass, intent);
+    }
+
+    public static <F extends Fragment> FragmentController<F> of(F fragment,
+            Class<? extends FragmentActivity> activityClass, Bundle arguments) {
+        return new FragmentController<>(fragment, activityClass, arguments);
+    }
+
+    public static <F extends Fragment> FragmentController<F> of(F fragment,
+            Class<? extends FragmentActivity> activityClass,
+            Intent intent, Bundle arguments) {
+        return new FragmentController<>(fragment, activityClass, intent, arguments);
+    }
+
+    private FragmentController(F fragment, Class<? extends FragmentActivity> activityClass,
+            Intent intent) {
+        this(fragment, activityClass, intent, null);
+    }
+
+    private FragmentController(F fragment, Class<? extends FragmentActivity> activityClass,
+            Bundle arguments) {
+        this(fragment, activityClass, null, arguments);
+    }
+
+    private FragmentController(F fragment, Class<? extends FragmentActivity> activityClass,
+            Intent intent, Bundle arguments) {
+        super(fragment, intent);
+        this.fragment = fragment;
+        if (arguments != null) {
+            this.fragment.setArguments(arguments);
+        }
+        this.activityController = ActivityController.of(
+                ReflectionHelpers.callConstructor(activityClass), intent);
+    }
+
+    /**
+     * Creates the activity with {@link Bundle} and adds the fragment to the view with ID {@code
+     * contentViewId}.
+     */
+    public FragmentController<F> create(final int contentViewId, final Bundle bundle) {
+        shadowMainLooper.runPaused(new Runnable() {
+            @Override
+            public void run() {
+                activityController.create(
+                        bundle).get().getSupportFragmentManager().beginTransaction().add(
+                        contentViewId, fragment).commit();
+            }
+        });
+        return this;
+    }
+
+    /**
+     * Creates the activity with {@link Bundle} and adds the fragment to it. Note that the fragment
+     * will be added to the view with ID 1.
+     */
+    public FragmentController<F> create(Bundle bundle) {
+        return create(1, bundle);
+    }
+
+    @Override
+    public FragmentController<F> create() {
+        return create(null);
+    }
+
+    @Override
+    public FragmentController<F> destroy() {
+        shadowMainLooper.runPaused(new Runnable() {
+            @Override
+            public void run() {
+                activityController.destroy();
+            }
+        });
+        return this;
+    }
+
+    public FragmentController<F> start() {
+        shadowMainLooper.runPaused(new Runnable() {
+            @Override
+            public void run() {
+                activityController.start();
+            }
+        });
+        return this;
+    }
+
+    public FragmentController<F> resume() {
+        shadowMainLooper.runPaused(new Runnable() {
+            @Override
+            public void run() {
+                activityController.resume();
+            }
+        });
+        return this;
+    }
+
+    public FragmentController<F> pause() {
+        shadowMainLooper.runPaused(new Runnable() {
+            @Override
+            public void run() {
+                activityController.pause();
+            }
+        });
+        return this;
+    }
+
+    public FragmentController<F> visible() {
+        shadowMainLooper.runPaused(new Runnable() {
+            @Override
+            public void run() {
+                activityController.visible();
+            }
+        });
+        return this;
+    }
+
+    public FragmentController<F> stop() {
+        shadowMainLooper.runPaused(new Runnable() {
+            @Override
+            public void run() {
+                activityController.stop();
+            }
+        });
+        return this;
+    }
+
+    public FragmentController<F> saveInstanceState(final Bundle outState) {
+        shadowMainLooper.runPaused(new Runnable() {
+            @Override
+            public void run() {
+                activityController.saveInstanceState(outState);
+            }
+        });
+        return this;
+    }
+
+    private static class FragmentControllerActivity extends FragmentActivity {
+        @Override
+        protected void onCreate(Bundle savedInstanceState) {
+            super.onCreate(savedInstanceState);
+            LinearLayout view = new LinearLayout(this);
+            view.setId(1);
+
+            setContentView(view);
+        }
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/testutils/Robolectric.java b/tests/robotests/src/com/android/settings/testutils/Robolectric.java
new file mode 100644
index 0000000..3020f32
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/testutils/Robolectric.java
@@ -0,0 +1,278 @@
+/*
+ * 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
+ *
+ *      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.
+ */
+
+package com.android.settings.testutils;
+
+
+import android.app.IntentService;
+import android.app.Service;
+import android.app.backup.BackupAgent;
+import android.content.ContentProvider;
+import android.content.Intent;
+import android.os.Bundle;
+import android.util.AttributeSet;
+import android.view.View;
+
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.android.XmlResourceParserImpl;
+import org.robolectric.android.controller.ActivityController;
+import org.robolectric.android.controller.BackupAgentController;
+import org.robolectric.android.controller.ContentProviderController;
+import org.robolectric.android.controller.IntentServiceController;
+import org.robolectric.android.controller.ServiceController;
+import org.robolectric.res.ResName;
+import org.robolectric.res.ResourceTable;
+import org.robolectric.shadows.ShadowApplication;
+import org.robolectric.util.ReflectionHelpers;
+import org.robolectric.util.Scheduler;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentActivity;
+
+// TODO(b/111195450) - Duplicated from org.robolectric.Robolectric.
+@Deprecated
+public class Robolectric {
+
+    /**
+     * This method is internal and shouldn't be called by developers.
+     */
+    @Deprecated
+    public static void reset() {
+        // No-op- is now handled in the test runner. Users should not be calling this method anyway.
+    }
+
+    public static <T extends Service> ServiceController<T> buildService(Class<T> serviceClass) {
+        return buildService(serviceClass, null);
+    }
+
+    public static <T extends Service> ServiceController<T> buildService(Class<T> serviceClass,
+            Intent intent) {
+        return ServiceController.of(ReflectionHelpers.callConstructor(serviceClass), intent);
+    }
+
+    public static <T extends Service> T setupService(Class<T> serviceClass) {
+        return buildService(serviceClass).create().get();
+    }
+
+    public static <T extends IntentService> IntentServiceController<T> buildIntentService(
+            Class<T> serviceClass) {
+        return buildIntentService(serviceClass, null);
+    }
+
+    public static <T extends IntentService> IntentServiceController<T> buildIntentService(
+            Class<T> serviceClass, Intent intent) {
+        return IntentServiceController.of(ReflectionHelpers.callConstructor(serviceClass,
+                new ReflectionHelpers.ClassParameter<String>(String.class, "IntentService")),
+                intent);
+    }
+
+    public static <T extends IntentService> T setupIntentService(Class<T> serviceClass) {
+        return buildIntentService(serviceClass).create().get();
+    }
+
+    public static <T extends ContentProvider> ContentProviderController<T> buildContentProvider(
+            Class<T> contentProviderClass) {
+        return ContentProviderController.of(
+                ReflectionHelpers.callConstructor(contentProviderClass));
+    }
+
+    public static <T extends ContentProvider> T setupContentProvider(
+            Class<T> contentProviderClass) {
+        return buildContentProvider(contentProviderClass).create().get();
+    }
+
+    public static <T extends ContentProvider> T setupContentProvider(Class<T> contentProviderClass,
+            String authority) {
+        return buildContentProvider(contentProviderClass).create(authority).get();
+    }
+
+    public static <T extends FragmentActivity> ActivityController<T> buildActivity(
+            Class<T> activityClass) {
+        return buildActivity(activityClass, null);
+    }
+
+    public static <T extends FragmentActivity> ActivityController<T> buildActivity(
+            Class<T> activityClass, Intent intent) {
+        return ActivityController.of(ReflectionHelpers.callConstructor(activityClass), intent);
+    }
+
+    public static <T extends FragmentActivity> T setupActivity(Class<T> activityClass) {
+        return buildActivity(activityClass).setup().get();
+    }
+
+    public static <T extends Fragment> FragmentController<T> buildFragment(Class<T> fragmentClass) {
+        return FragmentController.of(ReflectionHelpers.callConstructor(fragmentClass));
+    }
+
+    public static <T extends Fragment> FragmentController<T> buildFragment(Class<T> fragmentClass,
+            Bundle arguments) {
+        return FragmentController.of(ReflectionHelpers.callConstructor(fragmentClass), arguments);
+    }
+
+    public static <T extends Fragment> FragmentController<T> buildFragment(Class<T> fragmentClass,
+            Class<? extends FragmentActivity> activityClass) {
+        return FragmentController.of(ReflectionHelpers.callConstructor(fragmentClass),
+                activityClass);
+    }
+
+    public static <T extends Fragment> FragmentController<T> buildFragment(Class<T> fragmentClass,
+            Intent intent) {
+        return FragmentController.of(ReflectionHelpers.callConstructor(fragmentClass), intent);
+    }
+
+    public static <T extends Fragment> FragmentController<T> buildFragment(Class<T> fragmentClass,
+            Intent intent,
+            Bundle arguments) {
+        return FragmentController.of(ReflectionHelpers.callConstructor(fragmentClass), intent,
+                arguments);
+    }
+
+    public static <T extends Fragment> FragmentController<T> buildFragment(Class<T> fragmentClass,
+            Class<? extends FragmentActivity> activityClass,
+            Intent intent) {
+        return FragmentController.of(ReflectionHelpers.callConstructor(fragmentClass),
+                activityClass, intent);
+    }
+
+    public static <T extends Fragment> FragmentController<T> buildFragment(Class<T> fragmentClass,
+            Class<? extends FragmentActivity> activityClass,
+            Bundle arguments) {
+        return FragmentController.of(ReflectionHelpers.callConstructor(fragmentClass),
+                activityClass, arguments);
+    }
+
+    public static <T extends Fragment> FragmentController<T> buildFragment(Class<T> fragmentClass,
+            Class<? extends FragmentActivity> activityClass,
+            Intent intent,
+            Bundle arguments) {
+        return FragmentController.of(ReflectionHelpers.callConstructor(fragmentClass),
+                activityClass, intent, arguments);
+    }
+
+    public static <T extends BackupAgent> BackupAgentController<T> buildBackupAgent(
+            Class<T> backupAgentClass) {
+        return BackupAgentController.of(ReflectionHelpers.callConstructor(backupAgentClass));
+    }
+
+    public static <T extends BackupAgent> T setupBackupAgent(Class<T> backupAgentClass) {
+        return buildBackupAgent(backupAgentClass).create().get();
+    }
+
+    /**
+     * Allows for the programatic creation of an {@link AttributeSet} useful for testing
+     * {@link View} classes without
+     * the need for creating XML snippets.
+     */
+    public static AttributeSetBuilder buildAttributeSet() {
+        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+        factory.setNamespaceAware(true);
+        factory.setIgnoringComments(true);
+        factory.setIgnoringElementContentWhitespace(true);
+        Document document;
+        try {
+            DocumentBuilder documentBuilder = factory.newDocumentBuilder();
+            document = documentBuilder.newDocument();
+            Element dummy = document.createElementNS("http://schemas.android.com/apk/res/" +
+                    RuntimeEnvironment.application.getPackageName(), "dummy");
+            document.appendChild(dummy);
+        } catch (ParserConfigurationException e) {
+            throw new RuntimeException(e);
+        }
+        return new AttributeSetBuilder(document, RuntimeEnvironment.getCompileTimeResourceTable());
+    }
+
+    public static class AttributeSetBuilder {
+
+        private Document doc;
+        private ResourceTable appResourceTable;
+
+        AttributeSetBuilder(Document doc, ResourceTable resourceTable) {
+            this.doc = doc;
+            this.appResourceTable = resourceTable;
+        }
+
+        public AttributeSetBuilder addAttribute(int resId, String value) {
+            ResName resName = appResourceTable.getResName(resId);
+            if ("style".equals(resName.name)) {
+                ((Element) doc.getFirstChild()).setAttribute(resName.name, value);
+            } else {
+                ((Element) doc.getFirstChild()).setAttributeNS(resName.getNamespaceUri(),
+                        resName.packageName + ":" + resName.name, value);
+            }
+            return this;
+        }
+
+        public AttributeSetBuilder setStyleAttribute(String value) {
+            ((Element) doc.getFirstChild()).setAttribute("style", value);
+            return this;
+        }
+
+        public AttributeSet build() {
+            XmlResourceParserImpl parser = new XmlResourceParserImpl(doc, null,
+                    RuntimeEnvironment.application.getPackageName(),
+                    RuntimeEnvironment.application.getPackageName(), appResourceTable);
+            try {
+                parser.next(); // Root document element
+                parser.next(); // "dummy" element
+            } catch (Exception e) {
+                throw new IllegalStateException(
+                        "Expected single dummy element in the document to contain the attributes.",
+                        e);
+            }
+
+            return parser;
+        }
+    }
+
+    /**
+     * Return the foreground scheduler (e.g. the UI thread scheduler).
+     *
+     * @return Foreground scheduler.
+     */
+    public static Scheduler getForegroundThreadScheduler() {
+        return ShadowApplication.getInstance().getForegroundThreadScheduler();
+    }
+
+    /**
+     * Execute all runnables that have been enqueued on the foreground scheduler.
+     */
+    public static void flushForegroundThreadScheduler() {
+        getForegroundThreadScheduler().advanceToLastPostedRunnable();
+    }
+
+    /**
+     * Return the background scheduler.
+     *
+     * @return Background scheduler.
+     */
+    public static Scheduler getBackgroundThreadScheduler() {
+        return ShadowApplication.getInstance().getBackgroundThreadScheduler();
+    }
+
+    /**
+     * Execute all runnables that have been enqueued on the background scheduler.
+     */
+    public static void flushBackgroundThreadScheduler() {
+        getBackgroundThreadScheduler().advanceToLastPostedRunnable();
+    }
+}
+
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/SettingsShadowResources.java b/tests/robotests/src/com/android/settings/testutils/shadow/SettingsShadowResources.java
index d0c3373..a441b28 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/SettingsShadowResources.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/SettingsShadowResources.java
@@ -2,7 +2,6 @@
 
 import static android.util.TypedValue.TYPE_REFERENCE;
 import static org.robolectric.RuntimeEnvironment.application;
-import static org.robolectric.Shadows.shadowOf;
 import static org.robolectric.shadow.api.Shadow.directlyOn;
 
 import android.annotation.DimenRes;
@@ -21,6 +20,7 @@
 import com.android.settings.R;
 
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.Shadows;
 import org.robolectric.android.XmlResourceParserImpl;
 import org.robolectric.annotation.Implementation;
 import org.robolectric.annotation.Implements;
@@ -189,7 +189,7 @@
         @RealObject
         Theme realTheme;
 
-        private ShadowAssetManager mAssetManager = shadowOf(
+        private ShadowAssetManager mAssetManager = Shadows.shadowOf(
                 RuntimeEnvironment.application.getAssets());
 
         @Implementation
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/SettingsShadowResourcesImpl.java b/tests/robotests/src/com/android/settings/testutils/shadow/SettingsShadowResourcesImpl.java
index e9c7b58..9fb69a3 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/SettingsShadowResourcesImpl.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/SettingsShadowResourcesImpl.java
@@ -42,7 +42,8 @@
         // The drawable item in switchbar_background.xml refers to a very recent color attribute
         // that Robolectric isn't yet aware of.
         // TODO: Remove this once Robolectric is updated.
-        if (id == R.drawable.switchbar_background) {
+        if (id == R.drawable.switchbar_background
+                || id == R.color.ripple_material_light) {
             return new ColorDrawable();
         } else if (id == R.drawable.ic_launcher_settings) {
             // ic_launcher_settings uses adaptive-icon, which is not supported by robolectric,
@@ -56,6 +57,7 @@
             // progress_horizontal drawable
             id = android.R.drawable.progress_horizontal;
         }
+
         return super.loadDrawable(wrapper, value, id, density, theme);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowActivityWithLoadManager.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowActivityWithLoadManager.java
index 0125b77..4a73015 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowActivityWithLoadManager.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowActivityWithLoadManager.java
@@ -17,12 +17,13 @@
 package com.android.settings.testutils.shadow;
 
 import android.app.Activity;
-import android.app.LoaderManager;
 
 import org.robolectric.annotation.Implementation;
 import org.robolectric.annotation.Implements;
 import org.robolectric.shadows.ShadowActivity;
 
+import androidx.loader.app.LoaderManager;
+
 /*
  * Shadow for {@link Activity} that has LoadManager accessors.
  */
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowEntityHeaderController.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowEntityHeaderController.java
index 4ec48d3..2e96f8c 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowEntityHeaderController.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowEntityHeaderController.java
@@ -17,7 +17,6 @@
 package com.android.settings.testutils.shadow;
 
 import android.app.Activity;
-import android.app.Fragment;
 import android.view.View;
 
 import com.android.settings.widget.EntityHeaderController;
@@ -26,6 +25,8 @@
 import org.robolectric.annotation.Implements;
 import org.robolectric.annotation.Resetter;
 
+import androidx.fragment.app.Fragment;
+
 @Implements(value = EntityHeaderController.class, callThroughByDefault = false)
 public class ShadowEntityHeaderController {
 
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowFragment.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowFragment.java
index 4596559..444ecab 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowFragment.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowFragment.java
@@ -16,12 +16,12 @@
 
 package com.android.settings.testutils.shadow;
 
-import android.app.Fragment;
-import android.app.FragmentManager;
-
 import org.robolectric.annotation.Implementation;
 import org.robolectric.annotation.Implements;
 
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+
 /**
  * Override the {@link #setTargetFragment(Fragment, int)} to skip an illegal state exception
  * in SDK 26. SDK 26 requires that the target fragment be in the same {@link FragmentManager} as
diff --git a/tests/robotests/src/com/android/settings/users/AutoSyncDataPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/users/AutoSyncDataPreferenceControllerTest.java
index 2cef751..cc19ad7 100644
--- a/tests/robotests/src/com/android/settings/users/AutoSyncDataPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/users/AutoSyncDataPreferenceControllerTest.java
@@ -20,7 +20,6 @@
 import static org.mockito.Matchers.anyInt;
 import static org.mockito.Mockito.when;
 
-import android.app.Fragment;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.pm.UserInfo;
@@ -39,6 +38,7 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 import androidx.preference.SwitchPreference;
diff --git a/tests/robotests/src/com/android/settings/users/AutoSyncPersonalDataPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/users/AutoSyncPersonalDataPreferenceControllerTest.java
index 10fd7c4..c1f773d 100644
--- a/tests/robotests/src/com/android/settings/users/AutoSyncPersonalDataPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/users/AutoSyncPersonalDataPreferenceControllerTest.java
@@ -20,7 +20,6 @@
 import static org.mockito.Matchers.anyInt;
 import static org.mockito.Mockito.when;
 
-import android.app.Fragment;
 import android.content.Context;
 import android.content.pm.UserInfo;
 import android.os.UserManager;
@@ -37,6 +36,7 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
diff --git a/tests/robotests/src/com/android/settings/users/AutoSyncWorkDataPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/users/AutoSyncWorkDataPreferenceControllerTest.java
index 176d1b0..1eda713 100644
--- a/tests/robotests/src/com/android/settings/users/AutoSyncWorkDataPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/users/AutoSyncWorkDataPreferenceControllerTest.java
@@ -21,7 +21,6 @@
 import static org.mockito.Matchers.eq;
 import static org.mockito.Mockito.when;
 
-import android.app.Fragment;
 import android.content.Context;
 import android.content.pm.UserInfo;
 import android.os.UserHandle;
@@ -38,6 +37,8 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import androidx.fragment.app.Fragment;
+
 @RunWith(SettingsRobolectricTestRunner.class)
 public class AutoSyncWorkDataPreferenceControllerTest {
 
diff --git a/tests/robotests/src/com/android/settings/users/UserSettingsTest.java b/tests/robotests/src/com/android/settings/users/UserSettingsTest.java
index 89bf9a1..76f9c5d 100644
--- a/tests/robotests/src/com/android/settings/users/UserSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/users/UserSettingsTest.java
@@ -24,22 +24,16 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.Activity;
 import android.content.Context;
-import android.content.pm.UserInfo;
 import android.content.SharedPreferences;
+import android.content.pm.UserInfo;
 import android.graphics.drawable.Drawable;
 import android.os.UserManager;
 import android.provider.Settings;
 
-import androidx.preference.Preference;
-import androidx.preference.PreferenceCategory;
-import androidx.preference.PreferenceGroup;
-import androidx.preference.PreferenceManager;
-import androidx.preference.PreferenceScreen;
-
 import com.android.settings.R;
 import com.android.settings.dashboard.SummaryLoader;
+import com.android.settings.testutils.Robolectric;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 import com.android.settingslib.RestrictedPreference;
 
@@ -49,10 +43,16 @@
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
-import org.robolectric.Robolectric;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.util.ReflectionHelpers;
 
+import androidx.fragment.app.FragmentActivity;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceGroup;
+import androidx.preference.PreferenceManager;
+import androidx.preference.PreferenceScreen;
+
 @RunWith(SettingsRobolectricTestRunner.class)
 public class UserSettingsTest {
 
@@ -70,7 +70,7 @@
     @Mock
     private SummaryLoader mSummaryLoader;
 
-    private Activity mActivity;
+    private FragmentActivity mActivity;
     private Context mContext;
     private UserSettings mFragment;
     private UserCapabilities mUserCapabilities;
@@ -79,7 +79,7 @@
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        mActivity = spy(Robolectric.buildActivity(Activity.class).get());
+        mActivity = spy(Robolectric.buildActivity(FragmentActivity.class).get());
         mContext = spy(RuntimeEnvironment.application);
         mFragment = spy(new UserSettings());
         ReflectionHelpers.setField(mFragment, "mAddUserWhenLockedPreferenceController",
diff --git a/tests/robotests/src/com/android/settings/vpn2/AppDialogFragmentTest.java b/tests/robotests/src/com/android/settings/vpn2/AppDialogFragmentTest.java
index f57402a..da160fe 100644
--- a/tests/robotests/src/com/android/settings/vpn2/AppDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/vpn2/AppDialogFragmentTest.java
@@ -19,7 +19,6 @@
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 
-import android.app.Fragment;
 import android.content.pm.PackageInfo;
 
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
@@ -30,6 +29,8 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 
+import androidx.fragment.app.Fragment;
+
 @RunWith(SettingsRobolectricTestRunner.class)
 public class AppDialogFragmentTest {
 
diff --git a/tests/robotests/src/com/android/settings/wallpaper/WallpaperSuggestionActivityTest.java b/tests/robotests/src/com/android/settings/wallpaper/WallpaperSuggestionActivityTest.java
index fc708ef..b6b3d60 100644
--- a/tests/robotests/src/com/android/settings/wallpaper/WallpaperSuggestionActivityTest.java
+++ b/tests/robotests/src/com/android/settings/wallpaper/WallpaperSuggestionActivityTest.java
@@ -18,7 +18,6 @@
 
 import static com.google.common.truth.Truth.assertThat;
 import static org.mockito.Mockito.when;
-import static org.robolectric.Shadows.shadowOf;
 
 import android.app.WallpaperManager;
 import android.content.Context;
@@ -36,6 +35,7 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.Robolectric;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.Shadows;
 import org.robolectric.android.controller.ActivityController;
 import org.robolectric.annotation.Config;
 import org.robolectric.annotation.Implementation;
@@ -68,10 +68,10 @@
     @Test
     public void launch_primarySuggestionActivityDoesNotExist_shouldFallback() {
         ShadowPackageManager packageManager =
-                shadowOf(RuntimeEnvironment.application.getPackageManager());
+                Shadows.shadowOf(RuntimeEnvironment.application.getPackageManager());
         packageManager.removePackage("com.android.settings");
 
-        ShadowActivity activity = shadowOf(mController.setup().get());
+        ShadowActivity activity = Shadows.shadowOf(mController.setup().get());
         final Intent intent = activity.getNextStartedActivity();
 
         assertThat(intent.getComponent().getClassName()).isEqualTo(SubSettings.class.getName());
diff --git a/tests/robotests/src/com/android/settings/webview/WebViewAppPickerTest.java b/tests/robotests/src/com/android/settings/webview/WebViewAppPickerTest.java
index b12f3ab..7bc7e93 100644
--- a/tests/robotests/src/com/android/settings/webview/WebViewAppPickerTest.java
+++ b/tests/robotests/src/com/android/settings/webview/WebViewAppPickerTest.java
@@ -30,7 +30,6 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.Activity;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.ApplicationInfo;
@@ -58,6 +57,8 @@
 import java.util.Arrays;
 import java.util.Collections;
 
+import androidx.fragment.app.FragmentActivity;
+
 @RunWith(SettingsRobolectricTestRunner.class)
 public class WebViewAppPickerTest {
 
@@ -69,7 +70,7 @@
     private UserInfo mSecondUser;
 
     @Mock
-    private Activity mActivity;
+    private FragmentActivity mActivity;
     @Mock
     private UserManager mUserManager;
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
diff --git a/tests/robotests/src/com/android/settings/widget/EntityHeaderControllerTest.java b/tests/robotests/src/com/android/settings/widget/EntityHeaderControllerTest.java
index d6f7960..b458a3b 100644
--- a/tests/robotests/src/com/android/settings/widget/EntityHeaderControllerTest.java
+++ b/tests/robotests/src/com/android/settings/widget/EntityHeaderControllerTest.java
@@ -26,8 +26,6 @@
 import static org.mockito.Mockito.when;
 
 import android.app.ActionBar;
-import android.app.Activity;
-import android.app.Fragment;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.ActivityInfo;
@@ -57,6 +55,8 @@
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
 
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentActivity;
 import androidx.preference.Preference;
 
 @RunWith(SettingsRobolectricTestRunner.class)
@@ -65,7 +65,7 @@
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
     private Context mContext;
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
-    private Activity mActivity;
+    private FragmentActivity mActivity;
     @Mock
     private Fragment mFragment;
 
@@ -187,7 +187,7 @@
     public void bindButton_noAppInfo_shouldNotAttachClickListener() {
         final View appLinks =
                 mLayoutInflater.inflate(R.layout.settings_entity_header, null /* root */);
-        final Activity activity = mock(Activity.class);
+        final FragmentActivity activity = mock(FragmentActivity.class);
         when(mFragment.getActivity()).thenReturn(activity);
 
         mController = EntityHeaderController.newInstance(mActivity, mFragment, appLinks);
@@ -212,7 +212,7 @@
     public void bindButton_hasAppInfo_shouldAttachClickListener() {
         final View appLinks =
                 mLayoutInflater.inflate(R.layout.settings_entity_header, null /* root */);
-        final Activity activity = mock(Activity.class);
+        final FragmentActivity activity = mock(FragmentActivity.class);
         when(mFragment.getActivity()).thenReturn(activity);
         when(mContext.getString(eq(R.string.application_info_label))).thenReturn("App Info");
 
@@ -234,7 +234,7 @@
     public void iconContentDescription_shouldWorkWithSetIcon() {
         final View view =
                 mLayoutInflater.inflate(R.layout.settings_entity_header, null /* root */);
-        when(mFragment.getActivity()).thenReturn(mock(Activity.class));
+        when(mFragment.getActivity()).thenReturn(mock(FragmentActivity.class));
         mController = EntityHeaderController.newInstance(mActivity, mFragment, view);
         String description = "Fake Description";
         mController.setIcon(mShadowContext.getDrawable(R.drawable.ic_add));
@@ -248,7 +248,7 @@
     public void iconContentDescription_shouldWorkWithoutSetIcon() {
         final View view = mLayoutInflater
                 .inflate(R.layout.settings_entity_header, null /* root */);
-        when(mFragment.getActivity()).thenReturn(mock(Activity.class));
+        when(mFragment.getActivity()).thenReturn(mock(FragmentActivity.class));
         mController = EntityHeaderController.newInstance(mActivity, mFragment, view);
         String description = "Fake Description";
         mController.setIconContentDescription(description);
diff --git a/tests/robotests/src/com/android/settings/widget/ScrollToParentEditTextTest.java b/tests/robotests/src/com/android/settings/widget/ScrollToParentEditTextTest.java
index 77e18ac..5c96361 100644
--- a/tests/robotests/src/com/android/settings/widget/ScrollToParentEditTextTest.java
+++ b/tests/robotests/src/com/android/settings/widget/ScrollToParentEditTextTest.java
@@ -24,7 +24,6 @@
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 import static org.robolectric.RuntimeEnvironment.application;
-import static org.robolectric.Shadows.shadowOf;
 
 import android.graphics.Rect;
 import android.widget.FrameLayout;
@@ -35,6 +34,7 @@
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.Robolectric;
+import org.robolectric.Shadows;
 import org.robolectric.shadows.ShadowView;
 
 @RunWith(SettingsRobolectricTestRunner.class)
@@ -67,7 +67,7 @@
 
     @Test
     public void requestRectangleOnScreen_withParent_shouldScrollToParent() {
-        ShadowView shadowEditText = shadowOf(mEditText);
+        ShadowView shadowEditText = Shadows.shadowOf(mEditText);
         shadowEditText.setMyParent(mParent);
 
         assertThat(mEditText.requestRectangleOnScreen(
diff --git a/tests/robotests/src/com/android/settings/widget/VideoPreferenceTest.java b/tests/robotests/src/com/android/settings/widget/VideoPreferenceTest.java
index 26b102b..3ba7c8e 100644
--- a/tests/robotests/src/com/android/settings/widget/VideoPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/widget/VideoPreferenceTest.java
@@ -17,7 +17,6 @@
 package com.android.settings.widget;
 
 import static com.google.common.truth.Truth.assertThat;
-
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
diff --git a/tests/robotests/src/com/android/settings/wifi/UseOpenWifiPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/UseOpenWifiPreferenceControllerTest.java
index 14611fa..b4b5b94 100644
--- a/tests/robotests/src/com/android/settings/wifi/UseOpenWifiPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/UseOpenWifiPreferenceControllerTest.java
@@ -28,7 +28,6 @@
 
 import android.annotation.NonNull;
 import android.app.Activity;
-import android.app.Fragment;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
@@ -56,6 +55,7 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
 import androidx.preference.SwitchPreference;
 
diff --git a/tests/robotests/src/com/android/settings/wifi/WifiScanningRequiredFragmentTest.java b/tests/robotests/src/com/android/settings/wifi/WifiScanningRequiredFragmentTest.java
index 65ca3e1..995ad17 100644
--- a/tests/robotests/src/com/android/settings/wifi/WifiScanningRequiredFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/WifiScanningRequiredFragmentTest.java
@@ -28,7 +28,6 @@
 import static org.mockito.Mockito.verify;
 
 import android.app.AlertDialog;
-import android.app.Fragment;
 import android.content.ContentResolver;
 import android.content.Context;
 import android.content.DialogInterface;
@@ -46,6 +45,8 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RuntimeEnvironment;
 
+import androidx.fragment.app.Fragment;
+
 @RunWith(SettingsRobolectricTestRunner.class)
 public class WifiScanningRequiredFragmentTest {
 
diff --git a/tests/robotests/src/com/android/settings/wifi/WriteWifiConfigToNfcDialogTest.java b/tests/robotests/src/com/android/settings/wifi/WriteWifiConfigToNfcDialogTest.java
index 170cf53..252e7ed 100644
--- a/tests/robotests/src/com/android/settings/wifi/WriteWifiConfigToNfcDialogTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/WriteWifiConfigToNfcDialogTest.java
@@ -54,7 +54,6 @@
         when(mActivity.getApplicationContext()).thenReturn(mActivity);
         when(mActivity.getSystemService(Context.INPUT_METHOD_SERVICE))
                 .thenReturn(ReflectionHelpers.newInstance(InputMethodManager.class));
-
         mWriteWifiConfigToNfcDialog = new WriteWifiConfigToNfcDialog(RuntimeEnvironment.application,
                 0 /* security */);
         ReflectionHelpers.setField(mWriteWifiConfigToNfcDialog, "mWifiManager", mWifiManager);
diff --git a/tests/robotests/src/com/android/settings/wifi/details/WifiDetailPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/details/WifiDetailPreferenceControllerTest.java
index 32ffa91..2bec044 100644
--- a/tests/robotests/src/com/android/settings/wifi/details/WifiDetailPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/details/WifiDetailPreferenceControllerTest.java
@@ -29,7 +29,6 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.Activity;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
@@ -89,6 +88,7 @@
 import java.util.Arrays;
 import java.util.stream.Collectors;
 
+import androidx.fragment.app.FragmentActivity;
 import androidx.lifecycle.LifecycleOwner;
 import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceScreen;
@@ -113,7 +113,7 @@
     @Mock
     private AccessPoint mockAccessPoint;
     @Mock
-    private Activity mockActivity;
+    private FragmentActivity mockActivity;
     @Mock
     private ConnectivityManager mockConnectivityManager;
     @Mock
diff --git a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherApBandPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherApBandPreferenceControllerTest.java
index b9eed67..b556c8f 100644
--- a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherApBandPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherApBandPreferenceControllerTest.java
@@ -105,6 +105,7 @@
 
     @Test
     public void display_5GhzNotSupported_shouldDisable() {
+        when(mWifiManager.getCountryCode()).thenReturn("US");
         when(mWifiManager.isDualBandSupported()).thenReturn(false);
 
         mController.displayPreference(mScreen);
@@ -116,7 +117,8 @@
 
     @Test
     public void changePreference_noDualModeWith5G_shouldUpdateValue() {
-        when(mWifiManager.is5GHzBandSupported()).thenReturn(true);
+        when(mWifiManager.getCountryCode()).thenReturn("US");
+        when(mWifiManager.isDualBandSupported()).thenReturn(true);
 
         mController.displayPreference(mScreen);
 
@@ -142,7 +144,8 @@
 
     @Test
     public void changePreference_dualModeWith5G_shouldUpdateValue() {
-        when(mWifiManager.is5GHzBandSupported()).thenReturn(true);
+        when(mWifiManager.getCountryCode()).thenReturn("US");
+        when(mWifiManager.isDualBandSupported()).thenReturn(true);
         when(mWifiManager.isDualModeSupported()).thenReturn(true);
 
         mController.displayPreference(mScreen);
@@ -168,14 +171,16 @@
 
     @Test
     public void updateDisplay_shouldUpdateValue() {
+        when(mWifiManager.getCountryCode()).thenReturn("US");
+        when(mWifiManager.isDualBandSupported()).thenReturn(true);
+
         // Set controller band index to 1 and verify is set.
-        when(mWifiManager.is5GHzBandSupported()).thenReturn(true);
         mController.displayPreference(mScreen);
         mController.onPreferenceChange(mPreference, "1");
         assertThat(mController.getBandIndex()).isEqualTo(1);
 
         // Disable 5Ghz band
-        when(mWifiManager.is5GHzBandSupported()).thenReturn(false);
+        when(mWifiManager.isDualBandSupported()).thenReturn(false);
 
         // Call updateDisplay and verify it's changed.
         mController.updateDisplay();
diff --git a/tests/uitests/src/com/android/settings/ui/AccessibilitySettingsTests.java b/tests/uitests/src/com/android/settings/ui/AccessibilitySettingsTests.java
index 83afa65..2fdee5c 100644
--- a/tests/uitests/src/com/android/settings/ui/AccessibilitySettingsTests.java
+++ b/tests/uitests/src/com/android/settings/ui/AccessibilitySettingsTests.java
@@ -16,8 +16,7 @@
 
 package com.android.settings.ui;
 
-import android.content.Context;
-import android.net.wifi.WifiManager;
+import android.metrics.MetricsReader;
 import android.os.RemoteException;
 import android.platform.test.annotations.Presubmit;
 import android.provider.Settings;
@@ -32,7 +31,6 @@
 import android.test.suitebuilder.annotation.MediumTest;
 import android.test.suitebuilder.annotation.Suppress;
 
-import android.metrics.MetricsReader;
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 
 public class AccessibilitySettingsTests extends InstrumentationTestCase {
diff --git a/tests/uitests/src/com/android/settings/ui/AppsSettingsTests.java b/tests/uitests/src/com/android/settings/ui/AppsSettingsTests.java
index 6be49d6..81532b1 100644
--- a/tests/uitests/src/com/android/settings/ui/AppsSettingsTests.java
+++ b/tests/uitests/src/com/android/settings/ui/AppsSettingsTests.java
@@ -27,13 +27,8 @@
 import android.system.helpers.ActivityHelper;
 import android.test.InstrumentationTestCase;
 import android.test.suitebuilder.annotation.MediumTest;
-import android.text.TextUtils;
 import android.util.Log;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-
 /** Verifies basic functionality of the About Phone screen */
 public class AppsSettingsTests extends InstrumentationTestCase {
     private static final boolean LOCAL_LOGV = false;
diff --git a/tests/uitests/src/com/android/settings/ui/ConnectedDeviceTests.java b/tests/uitests/src/com/android/settings/ui/ConnectedDeviceTests.java
index 971d724..ca19a3f 100644
--- a/tests/uitests/src/com/android/settings/ui/ConnectedDeviceTests.java
+++ b/tests/uitests/src/com/android/settings/ui/ConnectedDeviceTests.java
@@ -16,6 +16,9 @@
 
 package com.android.settings.ui;
 
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
 import android.content.Context;
 import android.content.Intent;
 import android.nfc.NfcAdapter;
@@ -34,9 +37,6 @@
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
 @MediumTest
 @RunWith(AndroidJUnit4.class)
 public class ConnectedDeviceTests {
diff --git a/tests/uitests/src/com/android/settings/ui/DataUsageSettingsTests.java b/tests/uitests/src/com/android/settings/ui/DataUsageSettingsTests.java
index 725ba5c..eddc771 100644
--- a/tests/uitests/src/com/android/settings/ui/DataUsageSettingsTests.java
+++ b/tests/uitests/src/com/android/settings/ui/DataUsageSettingsTests.java
@@ -24,7 +24,6 @@
 import android.system.helpers.SettingsHelper;
 import android.test.InstrumentationTestCase;
 import android.test.suitebuilder.annotation.MediumTest;
-import android.test.suitebuilder.annotation.Suppress;
 
 public class DataUsageSettingsTests extends InstrumentationTestCase {
 
diff --git a/tests/uitests/src/com/android/settings/ui/MoreWirelessSettingsTest2.java b/tests/uitests/src/com/android/settings/ui/MoreWirelessSettingsTest2.java
index 971c7d7..c18583b 100644
--- a/tests/uitests/src/com/android/settings/ui/MoreWirelessSettingsTest2.java
+++ b/tests/uitests/src/com/android/settings/ui/MoreWirelessSettingsTest2.java
@@ -19,7 +19,6 @@
 import android.content.Context;
 import android.net.wifi.WifiManager;
 import android.os.RemoteException;
-import android.platform.test.annotations.Presubmit;
 import android.provider.Settings;
 import android.support.test.uiautomator.By;
 import android.support.test.uiautomator.BySelector;
diff --git a/tests/uitests/src/com/android/settings/ui/NotificationSettingsTests.java b/tests/uitests/src/com/android/settings/ui/NotificationSettingsTests.java
index 133332c..e25005c 100644
--- a/tests/uitests/src/com/android/settings/ui/NotificationSettingsTests.java
+++ b/tests/uitests/src/com/android/settings/ui/NotificationSettingsTests.java
@@ -27,10 +27,10 @@
 import android.support.test.uiautomator.Until;
 import android.system.helpers.ActivityHelper;
 import android.system.helpers.SettingsHelper;
-import android.widget.ListView;
 import android.test.InstrumentationTestCase;
 import android.test.suitebuilder.annotation.MediumTest;
 import android.util.Log;
+import android.widget.ListView;
 
 /** Verifies that you can get to the notification app listing page from the apps & notifications
  * page */
diff --git a/tests/uitests/src/com/android/settings/ui/SoundSettingsTest.java b/tests/uitests/src/com/android/settings/ui/SoundSettingsTest.java
index 0aec505..9789c5f 100644
--- a/tests/uitests/src/com/android/settings/ui/SoundSettingsTest.java
+++ b/tests/uitests/src/com/android/settings/ui/SoundSettingsTest.java
@@ -16,19 +16,15 @@
 
 package com.android.settings.ui;
 
-import android.app.NotificationManager;
 import android.content.ContentResolver;
-import android.content.Context;
-import android.os.Handler;
 import android.os.SystemClock;
 import android.provider.Settings;
-import android.service.notification.ZenModeConfig;
-import android.support.test.uiautomator.UiObject2;
-import android.system.helpers.SettingsHelper;
-import android.system.helpers.SettingsHelper.SettingsType;
 import android.support.test.uiautomator.By;
 import android.support.test.uiautomator.UiDevice;
+import android.support.test.uiautomator.UiObject2;
 import android.support.test.uiautomator.Until;
+import android.system.helpers.SettingsHelper;
+import android.system.helpers.SettingsHelper.SettingsType;
 import android.test.InstrumentationTestCase;
 import android.test.suitebuilder.annotation.MediumTest;
 import android.test.suitebuilder.annotation.Suppress;
diff --git a/tests/uitests/src/com/android/settings/ui/SyncSettingsTest.java b/tests/uitests/src/com/android/settings/ui/SyncSettingsTest.java
index 3dca424..848147f 100644
--- a/tests/uitests/src/com/android/settings/ui/SyncSettingsTest.java
+++ b/tests/uitests/src/com/android/settings/ui/SyncSettingsTest.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.ui;
 
+import static junit.framework.Assert.assertTrue;
+
 import android.os.RemoteException;
 import android.provider.Settings;
 import android.support.test.InstrumentationRegistry;
@@ -32,8 +34,6 @@
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
-import static junit.framework.Assert.assertTrue;
-
 @MediumTest
 @RunWith(AndroidJUnit4.class)
 public class SyncSettingsTest {
diff --git a/tests/uitests/src/com/android/settings/ui/ZonePickerSettingsTest.java b/tests/uitests/src/com/android/settings/ui/ZonePickerSettingsTest.java
index 049c0c3..864b7a9 100644
--- a/tests/uitests/src/com/android/settings/ui/ZonePickerSettingsTest.java
+++ b/tests/uitests/src/com/android/settings/ui/ZonePickerSettingsTest.java
@@ -15,6 +15,12 @@
  */
 package com.android.settings.ui;
 
+import static com.android.settings.ui.testutils.SettingsTestUtils.SETTINGS_PACKAGE;
+import static com.android.settings.ui.testutils.SettingsTestUtils.TIMEOUT;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
 import android.os.RemoteException;
 import android.os.SystemProperties;
 import android.provider.Settings;
@@ -40,12 +46,6 @@
 
 import java.util.TimeZone;
 
-import static com.android.settings.ui.testutils.SettingsTestUtils.SETTINGS_PACKAGE;
-import static com.android.settings.ui.testutils.SettingsTestUtils.TIMEOUT;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
 @MediumTest
 @RunWith(AndroidJUnit4.class)
 public class ZonePickerSettingsTest {
diff --git a/tests/unit/src/com/android/settings/EncryptionInterstitialTest.java b/tests/unit/src/com/android/settings/EncryptionInterstitialTest.java
index eb61b00..12610cc 100644
--- a/tests/unit/src/com/android/settings/EncryptionInterstitialTest.java
+++ b/tests/unit/src/com/android/settings/EncryptionInterstitialTest.java
@@ -19,7 +19,6 @@
 import static android.support.test.espresso.Espresso.onView;
 import static android.support.test.espresso.action.ViewActions.click;
 import static android.support.test.espresso.matcher.ViewMatchers.withId;
-
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
diff --git a/tests/unit/src/com/android/settings/RegulatoryInfoDisplayActivityTest.java b/tests/unit/src/com/android/settings/RegulatoryInfoDisplayActivityTest.java
index b1d94d4..a8a6b74 100644
--- a/tests/unit/src/com/android/settings/RegulatoryInfoDisplayActivityTest.java
+++ b/tests/unit/src/com/android/settings/RegulatoryInfoDisplayActivityTest.java
@@ -16,6 +16,13 @@
 
 package com.android.settings;
 
+import static android.support.test.espresso.Espresso.onView;
+import static android.support.test.espresso.assertion.ViewAssertions.matches;
+import static android.support.test.espresso.matcher.RootMatchers.isDialog;
+import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed;
+import static android.support.test.espresso.matcher.ViewMatchers.withId;
+import static junit.framework.Assert.fail;
+
 import android.app.Instrumentation;
 import android.app.UiAutomation;
 import android.content.Context;
@@ -35,13 +42,6 @@
 import java.io.FileOutputStream;
 import java.io.IOException;
 
-import static android.support.test.espresso.Espresso.onView;
-import static android.support.test.espresso.assertion.ViewAssertions.matches;
-import static android.support.test.espresso.matcher.RootMatchers.isDialog;
-import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed;
-import static android.support.test.espresso.matcher.ViewMatchers.withId;
-import static junit.framework.Assert.fail;
-
 @RunWith(AndroidJUnit4.class)
 @SmallTest
 public class RegulatoryInfoDisplayActivityTest {
diff --git a/tests/unit/src/com/android/settings/SettingsHookTests.java b/tests/unit/src/com/android/settings/SettingsHookTests.java
index cc7aa89..ee0bbb6 100644
--- a/tests/unit/src/com/android/settings/SettingsHookTests.java
+++ b/tests/unit/src/com/android/settings/SettingsHookTests.java
@@ -16,8 +16,6 @@
 
 package com.android.settings;
 
-import com.android.settings.Settings;
-
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.ApplicationInfo;
diff --git a/tests/unit/src/com/android/settings/UserCredentialsTest.java b/tests/unit/src/com/android/settings/UserCredentialsTest.java
index 8a72797..ad10e44 100644
--- a/tests/unit/src/com/android/settings/UserCredentialsTest.java
+++ b/tests/unit/src/com/android/settings/UserCredentialsTest.java
@@ -16,13 +16,13 @@
 
 package com.android.settings;
 
+import static com.android.settings.UserCredentialsSettings.Credential;
+
 import android.os.Parcel;
 import android.os.Process;
 import android.test.InstrumentationTestCase;
 import android.test.suitebuilder.annotation.SmallTest;
 
-import static com.android.settings.UserCredentialsSettings.Credential;
-
 /**
  * User credentials settings fragment tests
  *
diff --git a/tests/unit/src/com/android/settings/UtilsTest.java b/tests/unit/src/com/android/settings/UtilsTest.java
index 20e7013..5048fb5 100644
--- a/tests/unit/src/com/android/settings/UtilsTest.java
+++ b/tests/unit/src/com/android/settings/UtilsTest.java
@@ -16,8 +16,6 @@
 
 package com.android.settings;
 
-import static junit.framework.Assert.assertEquals;
-import static junit.framework.Assert.assertNull;
 import static org.mockito.Mockito.eq;
 import static org.mockito.Mockito.when;
 
@@ -27,12 +25,12 @@
 import android.test.AndroidTestCase;
 import android.test.suitebuilder.annotation.SmallTest;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 
+import java.util.ArrayList;
+import java.util.Arrays;
+
 public class UtilsTest extends AndroidTestCase {
     private static final int TEST_PRIMARY_USER_ID = 10;
     private static final int TEST_MANAGED_PROFILE_ID = 11;
diff --git a/tests/unit/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceFragmentTest.java b/tests/unit/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceFragmentTest.java
index 886f4f0..76d173d 100644
--- a/tests/unit/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceFragmentTest.java
+++ b/tests/unit/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceFragmentTest.java
@@ -16,22 +16,18 @@
 
 package com.android.settings.accessibility;
 
-import static org.hamcrest.CoreMatchers.instanceOf;
-import static org.hamcrest.CoreMatchers.not;
-import static org.hamcrest.Matchers.allOf;
-import static org.hamcrest.collection.IsIn.oneOf;
-
 import static android.support.test.espresso.Espresso.onView;
 import static android.support.test.espresso.assertion.ViewAssertions.matches;
 import static android.support.test.espresso.matcher.ViewMatchers.hasDescendant;
 import static android.support.test.espresso.matcher.ViewMatchers.isChecked;
 import static android.support.test.espresso.matcher.ViewMatchers.isNotChecked;
-import static android.support.test.espresso.matcher.ViewMatchers.withText;
 import static android.support.test.espresso.matcher.ViewMatchers.withParent;
+import static android.support.test.espresso.matcher.ViewMatchers.withText;
+import static org.hamcrest.CoreMatchers.instanceOf;
+import static org.hamcrest.CoreMatchers.not;
+import static org.hamcrest.Matchers.allOf;
 
-import android.app.Activity;
 import android.app.Instrumentation;
-import android.content.Context;
 import android.os.Bundle;
 import android.provider.Settings;
 import android.support.test.InstrumentationRegistry;
diff --git a/tests/unit/src/com/android/settings/accounts/AccountsSettingsTest.java b/tests/unit/src/com/android/settings/accounts/AccountsSettingsTest.java
index 7218efe..5ee0408 100644
--- a/tests/unit/src/com/android/settings/accounts/AccountsSettingsTest.java
+++ b/tests/unit/src/com/android/settings/accounts/AccountsSettingsTest.java
@@ -26,9 +26,9 @@
 import android.support.test.runner.AndroidJUnit4;
 import android.support.test.uiautomator.UiDevice;
 import android.support.test.uiautomator.UiObject;
-import android.support.test.uiautomator.UiSelector;
-import android.support.test.uiautomator.UiScrollable;
 import android.support.test.uiautomator.UiObjectNotFoundException;
+import android.support.test.uiautomator.UiScrollable;
+import android.support.test.uiautomator.UiSelector;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/unit/src/com/android/settings/applications/AppOpsSettingsTest.java b/tests/unit/src/com/android/settings/applications/AppOpsSettingsTest.java
index 8f53d0b..2ba855b 100644
--- a/tests/unit/src/com/android/settings/applications/AppOpsSettingsTest.java
+++ b/tests/unit/src/com/android/settings/applications/AppOpsSettingsTest.java
@@ -15,8 +15,14 @@
  */
 package com.android.settings.applications;
 
+import static android.app.AppOpsManager.MODE_ALLOWED;
+import static android.app.AppOpsManager.MODE_DEFAULT;
+import static android.app.AppOpsManager.MODE_ERRORED;
 import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TASK;
 import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 import android.app.AppOpsManager;
 import android.content.Context;
@@ -34,7 +40,6 @@
 import android.support.test.uiautomator.UiDevice;
 import android.support.test.uiautomator.UiObject2;
 import android.support.test.uiautomator.Until;
-import androidx.recyclerview.widget.RecyclerView;
 import android.widget.Switch;
 import android.widget.TextView;
 
@@ -44,12 +49,7 @@
 
 import java.util.List;
 
-import static android.app.AppOpsManager.MODE_ALLOWED;
-import static android.app.AppOpsManager.MODE_DEFAULT;
-import static android.app.AppOpsManager.MODE_ERRORED;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import androidx.recyclerview.widget.RecyclerView;
 
 /**
  * An abstract parent for testing settings activities that manage an AppOps permission.
diff --git a/tests/unit/src/com/android/settings/applications/ManageApplicationsLaunchTest.java b/tests/unit/src/com/android/settings/applications/ManageApplicationsLaunchTest.java
index e074966..a751890 100644
--- a/tests/unit/src/com/android/settings/applications/ManageApplicationsLaunchTest.java
+++ b/tests/unit/src/com/android/settings/applications/ManageApplicationsLaunchTest.java
@@ -16,6 +16,12 @@
 
 package com.android.settings.applications;
 
+import static android.support.test.espresso.Espresso.onView;
+import static android.support.test.espresso.assertion.ViewAssertions.matches;
+import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed;
+import static android.support.test.espresso.matcher.ViewMatchers.withText;
+import static org.hamcrest.Matchers.allOf;
+
 import android.app.Instrumentation;
 import android.content.Intent;
 import android.provider.Settings;
@@ -27,12 +33,6 @@
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
-import static android.support.test.espresso.Espresso.onView;
-import static android.support.test.espresso.assertion.ViewAssertions.matches;
-import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed;
-import static android.support.test.espresso.matcher.ViewMatchers.withText;
-import static org.hamcrest.Matchers.allOf;
-
 @SmallTest
 @RunWith(AndroidJUnit4.class)
 public class ManageApplicationsLaunchTest {
diff --git a/tests/unit/src/com/android/settings/backup/BackupIntentTest.java b/tests/unit/src/com/android/settings/backup/BackupIntentTest.java
index 0762e8c..ce611d0 100644
--- a/tests/unit/src/com/android/settings/backup/BackupIntentTest.java
+++ b/tests/unit/src/com/android/settings/backup/BackupIntentTest.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.backup;
 
+import static com.google.common.truth.Truth.assertThat;
+
 import android.app.Instrumentation;
 import android.content.Context;
 import android.content.Intent;
@@ -31,8 +33,6 @@
 
 import java.util.List;
 
-import static com.google.common.truth.Truth.assertThat;
-
 @RunWith(AndroidJUnit4.class)
 @SmallTest
 public class BackupIntentTest {
diff --git a/tests/unit/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFinishTest.java b/tests/unit/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFinishTest.java
index da25ac0..e93135d 100644
--- a/tests/unit/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFinishTest.java
+++ b/tests/unit/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFinishTest.java
@@ -22,7 +22,6 @@
 import static android.support.test.espresso.intent.Intents.intending;
 import static android.support.test.espresso.intent.matcher.IntentMatchers.hasComponent;
 import static android.support.test.espresso.matcher.ViewMatchers.withId;
-
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
diff --git a/tests/unit/src/com/android/settings/bluetooth/Utf8ByteLengthFilterTest.java b/tests/unit/src/com/android/settings/bluetooth/Utf8ByteLengthFilterTest.java
index 220211a..8cbf29b 100644
--- a/tests/unit/src/com/android/settings/bluetooth/Utf8ByteLengthFilterTest.java
+++ b/tests/unit/src/com/android/settings/bluetooth/Utf8ByteLengthFilterTest.java
@@ -21,8 +21,6 @@
 import android.text.InputFilter;
 import android.text.SpannableStringBuilder;
 
-import com.android.settings.bluetooth.Utf8ByteLengthFilter;
-
 public class Utf8ByteLengthFilterTest extends AndroidTestCase {
 
     @SmallTest
diff --git a/tests/unit/src/com/android/settings/core/UserRestrictionTest.java b/tests/unit/src/com/android/settings/core/UserRestrictionTest.java
index dc4a120..4fa7b08 100644
--- a/tests/unit/src/com/android/settings/core/UserRestrictionTest.java
+++ b/tests/unit/src/com/android/settings/core/UserRestrictionTest.java
@@ -23,7 +23,6 @@
 import android.content.res.TypedArray;
 import android.content.res.XmlResourceParser;
 import android.os.UserManager;
-import android.platform.test.annotations.Presubmit;
 import android.provider.SearchIndexableResource;
 import android.support.test.InstrumentationRegistry;
 import android.support.test.filters.MediumTest;
diff --git a/tests/unit/src/com/android/settings/dashboard/DashboardSummaryInstrumentationTest.java b/tests/unit/src/com/android/settings/dashboard/DashboardSummaryInstrumentationTest.java
index 021013a..c21f0c0 100644
--- a/tests/unit/src/com/android/settings/dashboard/DashboardSummaryInstrumentationTest.java
+++ b/tests/unit/src/com/android/settings/dashboard/DashboardSummaryInstrumentationTest.java
@@ -18,8 +18,6 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import android.app.Activity;
-import android.app.Fragment;
 import android.app.Instrumentation;
 import android.content.Context;
 import android.content.Intent;
@@ -39,6 +37,9 @@
 
 import java.util.List;
 
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentActivity;
+
 @RunWith(AndroidJUnit4.class)
 @SmallTest
 public class DashboardSummaryInstrumentationTest {
@@ -61,7 +62,8 @@
     public void rotate_shouldSaveCategoriesChangedState() {
         final Intent intent = new Intent(Settings.ACTION_SETTINGS)
                 .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-        final Activity activity = mInstrumentation.startActivitySync(intent);
+        final FragmentActivity activity =
+                (FragmentActivity) mInstrumentation.startActivitySync(intent);
 
         activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
         activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
@@ -70,7 +72,7 @@
                 .text("Network & internet")), TIMEOUT);
         assertThat(item).isNotNull();
 
-        final List<Fragment> fragments = activity.getFragmentManager().getFragments();
+        final List<Fragment> fragments = activity.getSupportFragmentManager().getFragments();
         final DashboardSummary fragment = (DashboardSummary) fragments.get(0);
 
         assertThat(fragment.mIsOnCategoriesChangedCalled).isTrue();
diff --git a/tests/unit/src/com/android/settings/dashboard/PreferenceThemeTest.java b/tests/unit/src/com/android/settings/dashboard/PreferenceThemeTest.java
index 16e309d..7cf76c6 100644
--- a/tests/unit/src/com/android/settings/dashboard/PreferenceThemeTest.java
+++ b/tests/unit/src/com/android/settings/dashboard/PreferenceThemeTest.java
@@ -16,6 +16,15 @@
 
 package com.android.settings.dashboard;
 
+import static android.support.test.espresso.Espresso.onView;
+import static android.support.test.espresso.assertion.ViewAssertions.doesNotExist;
+import static android.support.test.espresso.assertion.ViewAssertions.matches;
+import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed;
+import static android.support.test.espresso.matcher.ViewMatchers.withEffectiveVisibility;
+import static android.support.test.espresso.matcher.ViewMatchers.withId;
+import static com.android.settings.dashboard.FirstIdViewMatcher.withFirstId;
+import static org.hamcrest.Matchers.allOf;
+
 import android.app.Instrumentation;
 import android.content.Context;
 import android.content.Intent;
@@ -30,16 +39,6 @@
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
-import static android.support.test.espresso.Espresso.onView;
-import static android.support.test.espresso.assertion.ViewAssertions.doesNotExist;
-import static android.support.test.espresso.assertion.ViewAssertions.matches;
-import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed;
-import static android.support.test.espresso.matcher.ViewMatchers.withEffectiveVisibility;
-import static android.support.test.espresso.matcher.ViewMatchers.withId;
-import static com.android.settings.dashboard.FirstIdViewMatcher.withFirstId;
-
-import static org.hamcrest.Matchers.allOf;
-
 @RunWith(AndroidJUnit4.class)
 @SmallTest
 public class PreferenceThemeTest {
diff --git a/tests/unit/src/com/android/settings/datetime/timezone/model/TimeZoneDataTest.java b/tests/unit/src/com/android/settings/datetime/timezone/model/TimeZoneDataTest.java
index 0b5ade8..444be93 100644
--- a/tests/unit/src/com/android/settings/datetime/timezone/model/TimeZoneDataTest.java
+++ b/tests/unit/src/com/android/settings/datetime/timezone/model/TimeZoneDataTest.java
@@ -17,7 +17,6 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import android.support.test.InstrumentationRegistry;
 import android.support.test.filters.SmallTest;
 import android.support.test.runner.AndroidJUnit4;
 
diff --git a/tests/unit/src/com/android/settings/deviceinfo/PrivateVolumeForgetTest.java b/tests/unit/src/com/android/settings/deviceinfo/PrivateVolumeForgetTest.java
index be36e43..5c8f8b5 100644
--- a/tests/unit/src/com/android/settings/deviceinfo/PrivateVolumeForgetTest.java
+++ b/tests/unit/src/com/android/settings/deviceinfo/PrivateVolumeForgetTest.java
@@ -17,9 +17,8 @@
 
 package com.android.settings.deviceinfo;
 
-import android.content.Intent;
 import android.content.Context;
-
+import android.content.Intent;
 import android.os.storage.VolumeRecord;
 import android.support.test.InstrumentationRegistry;
 import android.support.test.filters.SmallTest;
diff --git a/tests/unit/src/com/android/settings/deviceinfo/StorageDashboardFragmentTest.java b/tests/unit/src/com/android/settings/deviceinfo/StorageDashboardFragmentTest.java
index 00b710f..e0fb1af 100644
--- a/tests/unit/src/com/android/settings/deviceinfo/StorageDashboardFragmentTest.java
+++ b/tests/unit/src/com/android/settings/deviceinfo/StorageDashboardFragmentTest.java
@@ -1,15 +1,5 @@
 package com.android.settings.deviceinfo;
 
-import android.support.test.espresso.intent.rule.IntentsTestRule;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnitRunner;
-import com.android.settings.R;
-import com.android.settings.Settings.StorageDashboardActivity;
-import com.android.settings.deletionhelper.AutomaticStorageManagerSettings;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
 import static android.support.test.espresso.Espresso.onView;
 import static android.support.test.espresso.action.ViewActions.click;
 import static android.support.test.espresso.intent.Intents.intended;
@@ -18,6 +8,16 @@
 import static org.hamcrest.Matchers.containsString;
 import static org.hamcrest.Matchers.equalTo;
 
+import android.support.test.espresso.intent.rule.IntentsTestRule;
+import android.support.test.filters.SmallTest;
+
+import com.android.settings.R;
+import com.android.settings.Settings.StorageDashboardActivity;
+import com.android.settings.deletionhelper.AutomaticStorageManagerSettings;
+
+import org.junit.Rule;
+import org.junit.Test;
+
 @SmallTest
 public class StorageDashboardFragmentTest {
 
diff --git a/tests/unit/src/com/android/settings/dream/DreamSettingsLaunchTest.java b/tests/unit/src/com/android/settings/dream/DreamSettingsLaunchTest.java
index 497fa0a..0993564 100644
--- a/tests/unit/src/com/android/settings/dream/DreamSettingsLaunchTest.java
+++ b/tests/unit/src/com/android/settings/dream/DreamSettingsLaunchTest.java
@@ -22,6 +22,7 @@
 import android.support.test.InstrumentationRegistry;
 import android.support.test.filters.SmallTest;
 import android.support.test.runner.AndroidJUnit4;
+
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
diff --git a/tests/unit/src/com/android/settings/fuelgauge/batterytip/RestrictAppTest.java b/tests/unit/src/com/android/settings/fuelgauge/batterytip/RestrictAppTest.java
index a24a17a..788b3ba 100644
--- a/tests/unit/src/com/android/settings/fuelgauge/batterytip/RestrictAppTest.java
+++ b/tests/unit/src/com/android/settings/fuelgauge/batterytip/RestrictAppTest.java
@@ -20,7 +20,6 @@
 import static android.support.test.espresso.assertion.ViewAssertions.matches;
 import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed;
 import static android.support.test.espresso.matcher.ViewMatchers.withText;
-
 import static com.google.common.truth.Truth.assertThat;
 
 import android.app.Instrumentation;
diff --git a/tests/unit/src/com/android/settings/notification/AppNotificationSettingsTest.java b/tests/unit/src/com/android/settings/notification/AppNotificationSettingsTest.java
index 16a0b43..4d5278a 100644
--- a/tests/unit/src/com/android/settings/notification/AppNotificationSettingsTest.java
+++ b/tests/unit/src/com/android/settings/notification/AppNotificationSettingsTest.java
@@ -21,17 +21,13 @@
 import static android.support.test.espresso.action.ViewActions.click;
 import static android.support.test.espresso.assertion.ViewAssertions.doesNotExist;
 import static android.support.test.espresso.assertion.ViewAssertions.matches;
-import android.support.test.espresso.intent.Intents;
-
 import static android.support.test.espresso.intent.Intents.intended;
 import static android.support.test.espresso.intent.matcher.IntentMatchers.hasExtra;
 import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed;
 import static android.support.test.espresso.matcher.ViewMatchers.withEffectiveVisibility;
 import static android.support.test.espresso.matcher.ViewMatchers.withId;
 import static android.support.test.espresso.matcher.ViewMatchers.withText;
-
 import static com.android.settings.SettingsActivity.EXTRA_SHOW_FRAGMENT;
-
 import static org.hamcrest.Matchers.allOf;
 import static org.junit.Assert.fail;
 
@@ -43,6 +39,7 @@
 import android.content.Intent;
 import android.provider.Settings;
 import android.support.test.InstrumentationRegistry;
+import android.support.test.espresso.intent.Intents;
 import android.support.test.espresso.matcher.ViewMatchers;
 import android.support.test.filters.SmallTest;
 import android.support.test.runner.AndroidJUnit4;
diff --git a/tests/unit/src/com/android/settings/notification/ChannelNotificationSettingsTest.java b/tests/unit/src/com/android/settings/notification/ChannelNotificationSettingsTest.java
index 1244dcd..f27bfd4 100644
--- a/tests/unit/src/com/android/settings/notification/ChannelNotificationSettingsTest.java
+++ b/tests/unit/src/com/android/settings/notification/ChannelNotificationSettingsTest.java
@@ -21,9 +21,7 @@
 import static android.support.test.espresso.Espresso.onView;
 import static android.support.test.espresso.assertion.ViewAssertions.matches;
 import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed;
-import static android.support.test.espresso.matcher.ViewMatchers.withId;
 import static android.support.test.espresso.matcher.ViewMatchers.withText;
-
 import static org.hamcrest.Matchers.allOf;
 import static org.junit.Assert.fail;
 
diff --git a/tests/unit/src/com/android/settings/notification/ZenModeSettingsIntegrationTest.java b/tests/unit/src/com/android/settings/notification/ZenModeSettingsIntegrationTest.java
index d5e7aae..e7a057c 100644
--- a/tests/unit/src/com/android/settings/notification/ZenModeSettingsIntegrationTest.java
+++ b/tests/unit/src/com/android/settings/notification/ZenModeSettingsIntegrationTest.java
@@ -1,7 +1,6 @@
 package com.android.settings;
 
 import static android.support.test.espresso.Espresso.onView;
-import static android.support.test.espresso.action.ViewActions.click;
 import static android.support.test.espresso.assertion.ViewAssertions.matches;
 import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed;
 import static android.support.test.espresso.matcher.ViewMatchers.withText;
@@ -15,7 +14,6 @@
 import android.support.test.uiautomator.UiDevice;
 
 import org.junit.Before;
-import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
diff --git a/tests/unit/src/com/android/settings/password/ChooseLockPasswordTest.java b/tests/unit/src/com/android/settings/password/ChooseLockPasswordTest.java
index 36611cf..87a8af8 100644
--- a/tests/unit/src/com/android/settings/password/ChooseLockPasswordTest.java
+++ b/tests/unit/src/com/android/settings/password/ChooseLockPasswordTest.java
@@ -23,13 +23,11 @@
 import static android.support.test.espresso.matcher.ViewMatchers.isEnabled;
 import static android.support.test.espresso.matcher.ViewMatchers.withEffectiveVisibility;
 import static android.support.test.espresso.matcher.ViewMatchers.withId;
-
 import static org.hamcrest.CoreMatchers.not;
 
 import android.app.Instrumentation;
 import android.content.Context;
 import android.content.Intent;
-import android.os.SystemClock;
 import android.support.test.InstrumentationRegistry;
 import android.support.test.espresso.action.ViewActions;
 import android.support.test.espresso.matcher.ViewMatchers;
diff --git a/tests/unit/src/com/android/settings/password/SetupChooseLockPasswordAppTest.java b/tests/unit/src/com/android/settings/password/SetupChooseLockPasswordAppTest.java
index 3a6c39c..6cf812d 100644
--- a/tests/unit/src/com/android/settings/password/SetupChooseLockPasswordAppTest.java
+++ b/tests/unit/src/com/android/settings/password/SetupChooseLockPasswordAppTest.java
@@ -25,9 +25,7 @@
 import static android.support.test.espresso.matcher.ViewMatchers.withEffectiveVisibility;
 import static android.support.test.espresso.matcher.ViewMatchers.withId;
 import static android.support.test.espresso.matcher.ViewMatchers.withText;
-
 import static com.google.common.truth.Truth.assertThat;
-
 import static org.hamcrest.CoreMatchers.not;
 
 import android.support.test.espresso.action.ViewActions;
diff --git a/tests/unit/src/com/android/settings/print/PrintJobSettingsActivityTest.java b/tests/unit/src/com/android/settings/print/PrintJobSettingsActivityTest.java
index 8fcd082..f5381d4 100644
--- a/tests/unit/src/com/android/settings/print/PrintJobSettingsActivityTest.java
+++ b/tests/unit/src/com/android/settings/print/PrintJobSettingsActivityTest.java
@@ -32,7 +32,6 @@
 import android.print.PrintDocumentInfo;
 import android.print.PrintJob;
 import android.print.PrintManager;
-import androidx.annotation.NonNull;
 import android.support.test.InstrumentationRegistry;
 import android.support.test.filters.LargeTest;
 import android.support.test.rule.ActivityTestRule;
@@ -54,6 +53,8 @@
 import java.io.IOException;
 import java.util.UUID;
 
+import androidx.annotation.NonNull;
+
 @RunWith(AndroidJUnit4.class)
 public class PrintJobSettingsActivityTest {
     private static final String EXTRA_PRINT_JOB_ID = "EXTRA_PRINT_JOB_ID";
diff --git a/tests/unit/src/com/android/settings/tests/BluetoothRequestPermissionTest.java b/tests/unit/src/com/android/settings/tests/BluetoothRequestPermissionTest.java
index 442f4b6..0afbcea 100644
--- a/tests/unit/src/com/android/settings/tests/BluetoothRequestPermissionTest.java
+++ b/tests/unit/src/com/android/settings/tests/BluetoothRequestPermissionTest.java
@@ -30,6 +30,7 @@
 import android.widget.ArrayAdapter;
 import android.widget.Button;
 import android.widget.ListView;
+
 import com.android.settings.tests.unit.R;
 
 public class BluetoothRequestPermissionTest extends Activity {
diff --git a/tests/unit/src/com/android/settings/tests/DrawOverlayDetailsTest.java b/tests/unit/src/com/android/settings/tests/DrawOverlayDetailsTest.java
index 3e00a45..9bf9ac4 100644
--- a/tests/unit/src/com/android/settings/tests/DrawOverlayDetailsTest.java
+++ b/tests/unit/src/com/android/settings/tests/DrawOverlayDetailsTest.java
@@ -16,28 +16,29 @@
 
 package com.android.settings.tests;
 
-import android.app.Instrumentation;
-import android.content.Context;
-import android.content.Intent;
-import android.content.pm.PackageManager;
-import android.support.test.InstrumentationRegistry;
-import android.support.test.uiautomator.UiDevice;
-
-import org.junit.runner.RunWith;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
-import android.support.test.uiautomator.UiScrollable;
-import android.support.test.uiautomator.UiSelector;
-import org.junit.Test;
-import com.android.settings.R;
-
 import static android.support.test.espresso.Espresso.onView;
+import static android.support.test.espresso.Espresso.openActionBarOverflowOrOptionsMenu;
 import static android.support.test.espresso.action.ViewActions.click;
 import static android.support.test.espresso.assertion.ViewAssertions.matches;
 import static android.support.test.espresso.matcher.ViewMatchers.isEnabled;
 import static android.support.test.espresso.matcher.ViewMatchers.withText;
 import static org.hamcrest.core.IsNot.not;
-import static android.support.test.espresso.Espresso.openActionBarOverflowOrOptionsMenu;
+
+import android.app.Instrumentation;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.support.test.InstrumentationRegistry;
+import android.support.test.filters.SmallTest;
+import android.support.test.runner.AndroidJUnit4;
+import android.support.test.uiautomator.UiDevice;
+import android.support.test.uiautomator.UiScrollable;
+import android.support.test.uiautomator.UiSelector;
+
+import com.android.settings.R;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
 
 @RunWith(AndroidJUnit4.class)
 @SmallTest
diff --git a/tests/unit/src/com/android/settings/tests/KeepOnScreenTest.java b/tests/unit/src/com/android/settings/tests/KeepOnScreenTest.java
index 0b1308e..64eee42 100644
--- a/tests/unit/src/com/android/settings/tests/KeepOnScreenTest.java
+++ b/tests/unit/src/com/android/settings/tests/KeepOnScreenTest.java
@@ -16,24 +16,24 @@
 
 package com.android.settings.tests;
 
+import static android.support.test.espresso.Espresso.onView;
+import static android.support.test.espresso.action.ViewActions.click;
+import static android.support.test.espresso.matcher.ViewMatchers.withText;
+import static junit.framework.Assert.assertEquals;
+
 import android.app.Instrumentation;
 import android.content.Context;
 import android.content.Intent;
 import android.os.BatteryManager;
 import android.provider.Settings;
 import android.support.test.InstrumentationRegistry;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.runner.RunWith;
 import android.support.test.filters.SmallTest;
 import android.support.test.runner.AndroidJUnit4;
-import org.junit.Test;
+
 import com.android.settings.R;
 
-import static android.support.test.espresso.Espresso.onView;
-import static android.support.test.espresso.action.ViewActions.click;
-import static android.support.test.espresso.matcher.ViewMatchers.*;
-import static junit.framework.Assert.assertEquals;
+import org.junit.Test;
+import org.junit.runner.RunWith;
 
 @RunWith(AndroidJUnit4.class)
 @SmallTest
diff --git a/tests/unit/src/com/android/settings/tests/Manufacturer.java b/tests/unit/src/com/android/settings/tests/Manufacturer.java
index a708d1b..6efe30c 100644
--- a/tests/unit/src/com/android/settings/tests/Manufacturer.java
+++ b/tests/unit/src/com/android/settings/tests/Manufacturer.java
@@ -18,6 +18,7 @@
 
 import android.app.Activity;
 import android.os.Bundle;
+
 import com.android.settings.tests.unit.R;
 
 public class Manufacturer extends Activity {
diff --git a/tests/unit/src/com/android/settings/tests/Operator.java b/tests/unit/src/com/android/settings/tests/Operator.java
index 94bcc78..6d61405 100644
--- a/tests/unit/src/com/android/settings/tests/Operator.java
+++ b/tests/unit/src/com/android/settings/tests/Operator.java
@@ -18,6 +18,7 @@
 
 import android.app.Activity;
 import android.os.Bundle;
+
 import com.android.settings.tests.unit.R;
 
 public class Operator extends Activity {
diff --git a/tests/unit/src/com/android/settings/tests/PrivateVolumeSettingsTest.java b/tests/unit/src/com/android/settings/tests/PrivateVolumeSettingsTest.java
index ead20cb..d10b20b 100644
--- a/tests/unit/src/com/android/settings/tests/PrivateVolumeSettingsTest.java
+++ b/tests/unit/src/com/android/settings/tests/PrivateVolumeSettingsTest.java
@@ -15,19 +15,19 @@
  */
 package com.android.settings.tests;
 
+import static android.support.test.espresso.Espresso.onView;
+import static android.support.test.espresso.assertion.ViewAssertions.doesNotExist;
+import static android.support.test.espresso.matcher.ViewMatchers.withText;
+
 import android.app.Instrumentation;
 import android.content.Intent;
 import android.support.test.InstrumentationRegistry;
 import android.support.test.filters.SmallTest;
 import android.support.test.runner.AndroidJUnit4;
+
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
-import static android.support.test.espresso.Espresso.onView;
-import static android.support.test.espresso.assertion.ViewAssertions.doesNotExist;
-import static android.support.test.espresso.assertion.ViewAssertions.matches;
-import static android.support.test.espresso.matcher.ViewMatchers.withText;
-
 @RunWith(AndroidJUnit4.class)
 @SmallTest
 public class PrivateVolumeSettingsTest {
diff --git a/tests/unit/src/com/android/settings/tests/SettingsRestoreAfterCloseTest.java b/tests/unit/src/com/android/settings/tests/SettingsRestoreAfterCloseTest.java
index 96bc78c..cd9ac97 100644
--- a/tests/unit/src/com/android/settings/tests/SettingsRestoreAfterCloseTest.java
+++ b/tests/unit/src/com/android/settings/tests/SettingsRestoreAfterCloseTest.java
@@ -25,6 +25,7 @@
 import android.support.test.uiautomator.By;
 import android.support.test.uiautomator.UiDevice;
 import android.support.test.uiautomator.Until;
+
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/unit/src/com/android/settings/users/UserSettingsTest.java b/tests/unit/src/com/android/settings/users/UserSettingsTest.java
index 2ecf161..6d0021a 100644
--- a/tests/unit/src/com/android/settings/users/UserSettingsTest.java
+++ b/tests/unit/src/com/android/settings/users/UserSettingsTest.java
@@ -24,9 +24,9 @@
 import android.support.test.runner.AndroidJUnit4;
 import android.support.test.uiautomator.UiDevice;
 import android.support.test.uiautomator.UiObject;
-import android.support.test.uiautomator.UiSelector;
-import android.support.test.uiautomator.UiScrollable;
 import android.support.test.uiautomator.UiObjectNotFoundException;
+import android.support.test.uiautomator.UiScrollable;
+import android.support.test.uiautomator.UiSelector;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/unit/src/com/android/settings/utils/FileSizeFormatterTest.java b/tests/unit/src/com/android/settings/utils/FileSizeFormatterTest.java
index c5b050a..d2be760 100644
--- a/tests/unit/src/com/android/settings/utils/FileSizeFormatterTest.java
+++ b/tests/unit/src/com/android/settings/utils/FileSizeFormatterTest.java
@@ -18,7 +18,6 @@
 
 import static com.android.settings.utils.FileSizeFormatter.GIGABYTE_IN_BYTES;
 import static com.android.settings.utils.FileSizeFormatter.MEGABYTE_IN_BYTES;
-
 import static com.google.common.truth.Truth.assertThat;
 
 import android.content.Context;
diff --git a/tests/unit/src/com/android/settings/utils/MockedServiceManager.java b/tests/unit/src/com/android/settings/utils/MockedServiceManager.java
index ea04974..a489101 100644
--- a/tests/unit/src/com/android/settings/utils/MockedServiceManager.java
+++ b/tests/unit/src/com/android/settings/utils/MockedServiceManager.java
@@ -18,7 +18,6 @@
 
 import android.os.IBinder;
 import android.os.ServiceManager;
-import android.util.Log;
 
 import java.lang.reflect.Field;
 import java.util.HashMap;
diff --git a/tests/unit/src/com/android/settings/vpn2/AppSettingsTest.java b/tests/unit/src/com/android/settings/vpn2/AppSettingsTest.java
index fe074cc..1a9701d 100644
--- a/tests/unit/src/com/android/settings/vpn2/AppSettingsTest.java
+++ b/tests/unit/src/com/android/settings/vpn2/AppSettingsTest.java
@@ -17,7 +17,6 @@
 package com.android.settings.vpn2;
 
 import static com.android.settings.vpn2.AppManagementFragment.appHasVpnPermission;
-
 import static org.mockito.Mockito.any;
 import static org.mockito.Mockito.eq;
 import static org.mockito.Mockito.when;
diff --git a/tests/unit/src/com/android/settings/vpn2/PreferenceListTest.java b/tests/unit/src/com/android/settings/vpn2/PreferenceListTest.java
index 2accbf2..31856f5 100644
--- a/tests/unit/src/com/android/settings/vpn2/PreferenceListTest.java
+++ b/tests/unit/src/com/android/settings/vpn2/PreferenceListTest.java
@@ -17,29 +17,34 @@
 package com.android.settings.vpn2;
 
 import static org.mockito.AdditionalMatchers.not;
-import static org.mockito.Mockito.*;
+import static org.mockito.Mockito.any;
+import static org.mockito.Mockito.anyBoolean;
+import static org.mockito.Mockito.argThat;
+import static org.mockito.Mockito.atLeast;
+import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
 
-import android.content.Context;
-import android.content.Context;
 import android.test.AndroidTestCase;
 import android.test.suitebuilder.annotation.SmallTest;
 import android.text.TextUtils;
 
 import com.android.internal.net.LegacyVpnInfo;
 import com.android.internal.net.VpnProfile;
-import com.android.settings.R;
-import com.android.settings.vpn2.VpnSettings;
 
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.mockito.ArgumentCaptor;
 import org.mockito.ArgumentMatcher;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
 public class PreferenceListTest extends AndroidTestCase {
     private static final String TAG = "PreferenceListTest";
 
diff --git a/tests/unit/src/com/android/settings/wifi/WifiCallingSettingUiTest.java b/tests/unit/src/com/android/settings/wifi/WifiCallingSettingUiTest.java
index 16617d0..1a7252f 100644
--- a/tests/unit/src/com/android/settings/wifi/WifiCallingSettingUiTest.java
+++ b/tests/unit/src/com/android/settings/wifi/WifiCallingSettingUiTest.java
@@ -23,7 +23,6 @@
 import static android.support.test.espresso.matcher.ViewMatchers.isSelected;
 import static android.support.test.espresso.matcher.ViewMatchers.withResourceName;
 import static android.support.test.espresso.matcher.ViewMatchers.withText;
-
 import static org.hamcrest.CoreMatchers.allOf;
 import static org.hamcrest.CoreMatchers.anything;
 import static org.junit.Assert.assertEquals;
diff --git a/tests/unit/src/com/android/settings/wifi/WifiSettingsUiTest.java b/tests/unit/src/com/android/settings/wifi/WifiSettingsUiTest.java
index bc6caf6..54fdcc3 100644
--- a/tests/unit/src/com/android/settings/wifi/WifiSettingsUiTest.java
+++ b/tests/unit/src/com/android/settings/wifi/WifiSettingsUiTest.java
@@ -24,19 +24,14 @@
 import static android.support.test.espresso.matcher.ViewMatchers.withEffectiveVisibility;
 import static android.support.test.espresso.matcher.ViewMatchers.withId;
 import static android.support.test.espresso.matcher.ViewMatchers.withText;
-
 import static com.google.common.truth.Truth.assertThat;
-
 import static org.hamcrest.Matchers.allOf;
 import static org.hamcrest.Matchers.not;
 import static org.hamcrest.Matchers.startsWith;
-import static org.mockito.Mockito.atMost;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.Activity;
-import android.app.Fragment;
 import android.content.Context;
 import android.content.Intent;
 import android.net.ConnectivityManager;
@@ -70,6 +65,8 @@
 
 import java.util.List;
 
+import androidx.fragment.app.Fragment;
+
 @RunWith(AndroidJUnit4.class)
 public class WifiSettingsUiTest {
     private static final String TEST_SSID = "\"Test Ssid\"";
@@ -148,7 +145,7 @@
                 resourceString(WIFI_DISPLAY_STATUS_CONNECTED));
 
         when(mWifiTracker.getAccessPoints()).thenReturn(
-                Lists.asList(accessPoint, new AccessPoint[]{}));
+                Lists.asList(accessPoint, new AccessPoint[] {}));
     }
 
     /** Launch the activity via an Intent with a String extra. */
@@ -161,7 +158,8 @@
 
         verify(mWifiTracker).getManager();
 
-        List<Fragment> fragments = mActivityRule.getActivity().getFragmentManager().getFragments();
+        List<Fragment> fragments =
+                mActivityRule.getActivity().getSupportFragmentManager().getFragments();
         assertThat(fragments.size()).isEqualTo(1);
         mWifiListener = (WifiSettings) fragments.get(0);
         assertThat(mWifiListener).isNotNull();
diff --git a/tests/unit/src/com/android/settings/wifi/tether/TetherServiceTest.java b/tests/unit/src/com/android/settings/wifi/tether/TetherServiceTest.java
index 7bf5798..09b317c 100644
--- a/tests/unit/src/com/android/settings/wifi/tether/TetherServiceTest.java
+++ b/tests/unit/src/com/android/settings/wifi/tether/TetherServiceTest.java
@@ -16,10 +16,6 @@
 
 package com.android.settings.wifi.tether;
 
-import static org.junit.Assert.*;
-import static org.mockito.Matchers.*;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
 import static android.net.ConnectivityManager.EXTRA_ADD_TETHER_TYPE;
 import static android.net.ConnectivityManager.EXTRA_PROVISION_CALLBACK;
 import static android.net.ConnectivityManager.EXTRA_REM_TETHER_TYPE;
@@ -31,6 +27,11 @@
 import static android.net.ConnectivityManager.TETHERING_WIFI;
 import static android.net.ConnectivityManager.TETHER_ERROR_NO_ERROR;
 import static android.net.ConnectivityManager.TETHER_ERROR_PROVISION_FAILED;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyLong;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
 
 import android.app.Activity;
 import android.app.AlarmManager;
@@ -41,12 +42,12 @@
 import android.content.ContextWrapper;
 import android.content.Intent;
 import android.content.IntentFilter;
-import android.content.pm.ActivityInfo;
-import android.content.pm.ApplicationInfo;
-import android.content.pm.ResolveInfo;
-import android.content.pm.PackageManager;
 import android.content.SharedPreferences;
 import android.content.SharedPreferences.Editor;
+import android.content.pm.ActivityInfo;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
 import android.content.res.Resources;
 import android.net.ConnectivityManager;
 import android.net.wifi.WifiManager;
diff --git a/tests/unit/src/com/android/settings/wifi/tether/WifiTetherSettingsTest.java b/tests/unit/src/com/android/settings/wifi/tether/WifiTetherSettingsTest.java
index b311816..96e6c4e 100644
--- a/tests/unit/src/com/android/settings/wifi/tether/WifiTetherSettingsTest.java
+++ b/tests/unit/src/com/android/settings/wifi/tether/WifiTetherSettingsTest.java
@@ -16,6 +16,11 @@
 
 package com.android.settings.wifi.tether;
 
+import static android.support.test.espresso.Espresso.onView;
+import static android.support.test.espresso.assertion.ViewAssertions.matches;
+import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed;
+import static android.support.test.espresso.matcher.ViewMatchers.withText;
+
 import android.app.Instrumentation;
 import android.content.Intent;
 import android.support.test.InstrumentationRegistry;
@@ -33,11 +38,6 @@
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
-import static android.support.test.espresso.Espresso.onView;
-import static android.support.test.espresso.assertion.ViewAssertions.matches;
-import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed;
-import static android.support.test.espresso.matcher.ViewMatchers.withText;
-
 @RunWith(AndroidJUnit4.class)
 @SmallTest
 public class WifiTetherSettingsTest {
