Merge "Fix AppButtonPreferenceControllerTest" into rvc-dev
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 12075a2..17b498e 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -3196,7 +3196,6 @@
         <activity-alias
             android:name="MediaOutputSlice"
             android:label="@string/media_output_panel_title"
-            android:permission="android.permission.BLUETOOTH_PRIVILEGED"
             android:targetActivity=".panel.SettingsPanelActivity">
                 <intent-filter>
                     <action android:name="com.android.settings.panel.action.MEDIA_OUTPUT" />
diff --git a/res/layout/dialog_back_gesture_sensitivity.xml b/res/layout/dialog_back_gesture_sensitivity.xml
deleted file mode 100644
index 37ef771..0000000
--- a/res/layout/dialog_back_gesture_sensitivity.xml
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  ~ Copyright (C) 2019 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:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:orientation="vertical"
-    android:padding="12dp">
-
-    <SeekBar
-        android:id="@+id/back_sensitivity_seekbar"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_gravity="center"
-        android:min="0"
-        android:max="3"
-        style="@android:style/Widget.Material.SeekBar.Discrete"
-        android:theme="@*android:style/ThemeOverlay.DeviceDefault.Accent" />
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:orientation="horizontal"
-        android:layout_marginTop="2dp"
-        android:layout_marginBottom="8dp">
-
-        <TextView android:id="@+id/low_tick"
-                  android:layout_width="match_parent"
-                  android:layout_height="wrap_content"
-                  android:layout_weight="1"
-                  android:layout_marginBottom="2dp"
-                  android:layout_marginStart="12dp"
-                  android:gravity="start"
-                  android:text="@string/low_label"
-                  android:textAppearance="?android:attr/textAppearance"
-                  android:singleLine="true"
-                  android:ellipsize="marquee" />
-
-        <TextView android:id="@+id/high_tick"
-                  android:layout_width="match_parent"
-                  android:layout_height="wrap_content"
-                  android:layout_weight="1"
-                  android:layout_marginBottom="2dp"
-                  android:layout_marginEnd="12dp"
-                  android:gravity="end"
-                  android:text="@string/high_label"
-                  android:textAppearance="?android:attr/textAppearance"
-                  android:singleLine="true"
-                  android:ellipsize="marquee" />
-
-    </LinearLayout>
-</LinearLayout>
\ No newline at end of file
diff --git a/res/xml/accessibility_settings.xml b/res/xml/accessibility_settings.xml
index 7ff68aa..1802060 100644
--- a/res/xml/accessibility_settings.xml
+++ b/res/xml/accessibility_settings.xml
@@ -139,6 +139,7 @@
             android:key="gesture_system_navigation_input_summary_accessibility"
             android:persistent="false"
             android:title="@string/system_navigation_title"
+            settings:searchable="false"
             settings:controller="com.android.settings.gestures.SystemNavigationPreferenceController"/>
 
     </PreferenceCategory>
diff --git a/res/xml/billing_cycle.xml b/res/xml/billing_cycle.xml
index e9a34f1..77f8bc3 100644
--- a/res/xml/billing_cycle.xml
+++ b/res/xml/billing_cycle.xml
@@ -17,7 +17,6 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:key="billing_cycle_settings"
     android:title="@string/billing_cycle">
 
     <Preference
diff --git a/res/xml/bluetooth_screen.xml b/res/xml/bluetooth_screen.xml
index cce114b..86dc8a1 100644
--- a/res/xml/bluetooth_screen.xml
+++ b/res/xml/bluetooth_screen.xml
@@ -33,6 +33,7 @@
         settings:allowDividerAbove="true"
         settings:userRestriction="no_config_bluetooth"
         settings:useAdminDisabledSummary="true"
+        settings:searchable="false"
         settings:controller="com.android.settings.connecteddevice.AddDevicePreferenceController"/>
 
     <com.android.settingslib.widget.FooterPreference
diff --git a/res/xml/configure_notification_settings.xml b/res/xml/configure_notification_settings.xml
index f0977e8..4078e82 100644
--- a/res/xml/configure_notification_settings.xml
+++ b/res/xml/configure_notification_settings.xml
@@ -42,7 +42,8 @@
             android:key="all_notifications"
             android:title="@string/notifications_title"
             android:fragment="com.android.settings.applications.manageapplications.ManageApplications"
-            android:order="4">
+            android:order="4"
+            settings:searchable="false">
             <extra
                 android:name="classname"
                 android:value="com.android.settings.Settings$NotificationAppListActivity"/>
@@ -136,7 +137,8 @@
             android:title="@string/notification_ringtone_title"
             android:dialogTitle="@string/notification_ringtone_title"
             android:summary="@string/summary_placeholder"
-            android:ringtoneType="notification"/>
+            android:ringtoneType="notification"
+            settings:searchable="false"/>
 
         <SwitchPreference
             android:key="notification_people_strip"
diff --git a/res/xml/connected_devices_advanced.xml b/res/xml/connected_devices_advanced.xml
index bd8f1dd..958af7f 100644
--- a/res/xml/connected_devices_advanced.xml
+++ b/res/xml/connected_devices_advanced.xml
@@ -32,6 +32,7 @@
         android:title="@string/nfc_quick_toggle_title"
         android:icon="@drawable/ic_nfc"
         android:order="-7"
+        settings:searchable="false"
         settings:controller="com.android.settings.connecteddevice.NfcAndPaymentFragmentController"/>
 
     <Preference
diff --git a/res/xml/data_saver.xml b/res/xml/data_saver.xml
index 4a917f6..3816f26 100644
--- a/res/xml/data_saver.xml
+++ b/res/xml/data_saver.xml
@@ -24,6 +24,7 @@
         android:title="@string/unrestricted_data_saver"
         android:summary="@string/summary_two_lines_placeholder"
         android:fragment="com.android.settings.datausage.UnrestrictedDataAccess"
+        settings:searchable="false"
         settings:controller="com.android.settings.applications.specialaccess.DataSaverController" />
 
     <com.android.settingslib.widget.FooterPreference
diff --git a/res/xml/default_autofill_picker_settings.xml b/res/xml/default_autofill_picker_settings.xml
index da72b43..2aa39e4 100644
--- a/res/xml/default_autofill_picker_settings.xml
+++ b/res/xml/default_autofill_picker_settings.xml
@@ -26,6 +26,7 @@
       android:key="default_autofill_main"
       android:title="@string/autofill_app"
       android:fragment="com.android.settings.applications.defaultapps.DefaultAutofillPicker"
+      settings:searchable="false"
       settings:keywords="@string/autofill_keywords">
     <extra android:name="for_work" android:value="false" />
   </com.android.settings.widget.GearPreference>
diff --git a/res/xml/firmware_version.xml b/res/xml/firmware_version.xml
index 41396f0..41f7733 100644
--- a/res/xml/firmware_version.xml
+++ b/res/xml/firmware_version.xml
@@ -27,6 +27,7 @@
         android:title="@string/firmware_version"
         android:summary="@string/summary_placeholder"
         settings:enableCopying="true"
+        settings:searchable="false"
         settings:controller="com.android.settings.deviceinfo.firmwareversion.FirmwareVersionDetailPreferenceController"/>
 
     <!-- Security patch -->
diff --git a/res/xml/gestures.xml b/res/xml/gestures.xml
index 5ac27e0..a523ec6 100644
--- a/res/xml/gestures.xml
+++ b/res/xml/gestures.xml
@@ -30,18 +30,21 @@
         android:key="gesture_swipe_down_fingerprint_input_summary"
         android:title="@string/fingerprint_swipe_for_notifications_title"
         android:fragment="com.android.settings.gestures.SwipeToNotificationSettings"
+        settings:searchable="false"
         settings:controller="com.android.settings.gestures.SwipeToNotificationPreferenceController" />
 
     <Preference
         android:key="gesture_double_tap_power_input_summary"
         android:title="@string/double_tap_power_for_camera_title"
         android:fragment="com.android.settings.gestures.DoubleTapPowerSettings"
+        settings:searchable="false"
         settings:controller="com.android.settings.gestures.DoubleTapPowerPreferenceController" />
 
     <Preference
         android:key="gesture_double_twist_input_summary"
         android:title="@string/double_twist_for_camera_mode_title"
         android:fragment="com.android.settings.gestures.DoubleTwistGestureSettings"
+        settings:searchable="false"
         settings:controller="com.android.settings.gestures.DoubleTwistPreferenceController" />
 
     <Preference
@@ -54,18 +57,21 @@
         android:key="gesture_tap_screen_input_summary"
         android:title="@string/ambient_display_tap_screen_title"
         android:fragment="com.android.settings.gestures.TapScreenGestureSettings"
+        settings:searchable="false"
         settings:controller="com.android.settings.gestures.TapScreenGesturePreferenceController" />
 
     <Preference
         android:key="gesture_double_tap_screen_input_summary"
         android:title="@string/ambient_display_title"
         android:fragment="com.android.settings.gestures.DoubleTapScreenSettings"
+        settings:searchable="false"
         settings:controller="com.android.settings.gestures.DoubleTapScreenPreferenceController" />
 
     <Preference
         android:key="gesture_pick_up_input_summary"
         android:title="@string/ambient_display_pickup_title"
         android:fragment="com.android.settings.gestures.PickupGestureSettings"
+        settings:searchable="false"
         settings:controller="com.android.settings.gestures.PickupGesturePreferenceController" />
 
     <Preference
diff --git a/res/xml/mobile_network_list.xml b/res/xml/mobile_network_list.xml
index 01ddb28..6bf9ad2 100644
--- a/res/xml/mobile_network_list.xml
+++ b/res/xml/mobile_network_list.xml
@@ -17,7 +17,6 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:key="mobile_network_list_screen"
     android:title="@string/network_settings_title">
 
     <com.android.settingslib.RestrictedPreference
@@ -25,6 +24,7 @@
         settings:isPreferenceVisible="false"
         settings:userRestriction="no_config_mobile_networks"
         settings:useAdminDisabledSummary="true"
+        settings:searchable="false"
         android:title="@string/mobile_network_list_add_more"
         android:icon="@drawable/ic_menu_add_activated_tint"
         android:order="100" >
diff --git a/res/xml/privacy_dashboard_settings.xml b/res/xml/privacy_dashboard_settings.xml
index 623460c..7899963 100644
--- a/res/xml/privacy_dashboard_settings.xml
+++ b/res/xml/privacy_dashboard_settings.xml
@@ -46,7 +46,7 @@
         android:title="@string/app_permissions"
         android:summary="@string/summary_placeholder"
         settings:allowDividerAbove="true"
-        settings:keywords="@string/keywords_app_permissions"
+        settings:searchable="false"
         settings:controller="com.android.settings.applications.AppPermissionsPreferenceController">
         <intent android:action="android.intent.action.MANAGE_PERMISSIONS"/>
     </Preference>
diff --git a/res/xml/privacy_settings.xml b/res/xml/privacy_settings.xml
index 2e09dbd..2fc3ca4 100644
--- a/res/xml/privacy_settings.xml
+++ b/res/xml/privacy_settings.xml
@@ -17,7 +17,6 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:key="privacy_settings_screen"
     android:title="@string/privacy_settings_title">
 
     <!-- Backup settings -->
diff --git a/res/xml/security_lockscreen_settings.xml b/res/xml/security_lockscreen_settings.xml
index dfc5ce7..8962fc2 100644
--- a/res/xml/security_lockscreen_settings.xml
+++ b/res/xml/security_lockscreen_settings.xml
@@ -69,18 +69,21 @@
             android:key="ambient_display_tap"
             android:title="@string/ambient_display_tap_screen_title"
             android:fragment="com.android.settings.gestures.TapScreenGestureSettings"
+            settings:searchable="false"
             settings:controller="com.android.settings.gestures.TapScreenGesturePreferenceController" />
 
         <Preference
             android:key="ambient_display_double_tap"
             android:title="@string/ambient_display_title"
             android:fragment="com.android.settings.gestures.DoubleTapScreenSettings"
+            settings:searchable="false"
             settings:controller="com.android.settings.gestures.DoubleTapScreenPreferenceController" />
 
         <Preference
             android:key="ambient_display_pick_up"
             android:title="@string/ambient_display_pickup_title"
             android:fragment="com.android.settings.gestures.PickupGestureSettings"
+            settings:searchable="false"
             settings:controller="com.android.settings.gestures.PickupGesturePreferenceController" />
 
         <SwitchPreference
diff --git a/res/xml/security_settings_face.xml b/res/xml/security_settings_face.xml
index cc45a96..858911d 100644
--- a/res/xml/security_settings_face.xml
+++ b/res/xml/security_settings_face.xml
@@ -18,7 +18,6 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:key="security_settings_face_settings_page"
     android:title="@string/security_settings_face_preference_title">
 
     <com.android.settings.widget.VideoPreference
diff --git a/res/xml/special_access.xml b/res/xml/special_access.xml
index b0498f8..6ee87f4 100644
--- a/res/xml/special_access.xml
+++ b/res/xml/special_access.xml
@@ -51,6 +51,7 @@
         android:title="@string/manage_device_admin"
         android:fragment="com.android.settings.applications.specialaccess.deviceadmin.DeviceAdminSettings"
         android:summary="@string/summary_placeholder"
+        settings:searchable="false"
         settings:controller="com.android.settings.enterprise.ManageDeviceAdminPreferenceController" />
 
     <Preference
diff --git a/res/xml/zen_mode_restrict_notifications_settings.xml b/res/xml/zen_mode_restrict_notifications_settings.xml
index ad574d8..0bf8c26 100644
--- a/res/xml/zen_mode_restrict_notifications_settings.xml
+++ b/res/xml/zen_mode_restrict_notifications_settings.xml
@@ -17,6 +17,7 @@
 
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
     android:title="@string/zen_mode_restrict_notifications_title">
 
     <PreferenceCategory
@@ -25,16 +26,19 @@
         <com.android.settings.notification.zen.ZenCustomRadioButtonPreference
             android:key="zen_mute_notifications"
             android:title="@string/zen_mode_restrict_notifications_mute"
-            android:summary="@string/zen_mode_restrict_notifications_mute_summary"/>
+            android:summary="@string/zen_mode_restrict_notifications_mute_summary"
+            settings:searchable="false"/>
 
         <com.android.settings.notification.zen.ZenCustomRadioButtonPreference
             android:key="zen_hide_notifications"
             android:title="@string/zen_mode_restrict_notifications_hide"
-            android:summary="@string/zen_mode_restrict_notifications_hide_summary"/>
+            android:summary="@string/zen_mode_restrict_notifications_hide_summary"
+            settings:searchable="false"/>
 
         <com.android.settings.notification.zen.ZenCustomRadioButtonPreference
             android:key="zen_custom"
-            android:title="@string/zen_mode_restrict_notifications_custom" />
+            android:title="@string/zen_mode_restrict_notifications_custom"
+            settings:searchable="false"/>
 
     </PreferenceCategory>
     <com.android.settingslib.widget.FooterPreference />
diff --git a/src/com/android/settings/deviceinfo/StorageSettings.java b/src/com/android/settings/deviceinfo/StorageSettings.java
index 38626ca..7f2c645 100644
--- a/src/com/android/settings/deviceinfo/StorageSettings.java
+++ b/src/com/android/settings/deviceinfo/StorageSettings.java
@@ -587,12 +587,6 @@
                     result.add(data);
 
                     data = new SearchIndexableRaw(context);
-                    data.title = context.getString(R.string.memory_apps_usage);
-                    data.key = "storage_settings_apps_space";
-                    data.screenTitle = context.getString(R.string.storage_settings);
-                    result.add(data);
-
-                    data = new SearchIndexableRaw(context);
                     data.title = context.getString(R.string.memory_dcim_usage);
                     data.key = "storage_settings_dcim_space";
                     data.screenTitle = context.getString(R.string.storage_settings);
diff --git a/src/com/android/settings/gestures/GestureNavigationBackSensitivityDialog.java b/src/com/android/settings/gestures/GestureNavigationBackSensitivityDialog.java
deleted file mode 100644
index e4f25eb..0000000
--- a/src/com/android/settings/gestures/GestureNavigationBackSensitivityDialog.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright (C) 2019 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.gestures;
-
-import android.app.AlertDialog;
-import android.app.Dialog;
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.content.om.IOverlayManager;
-import android.os.Bundle;
-import android.os.ServiceManager;
-import android.view.View;
-import android.widget.SeekBar;
-
-import com.android.settings.R;
-import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
-
-/**
- * Dialog to set the back gesture's sensitivity in Gesture navigation mode.
- */
-public class GestureNavigationBackSensitivityDialog extends InstrumentedDialogFragment {
-    private static final String TAG = "GestureNavigationBackSensitivityDialog";
-    private static final String KEY_BACK_SENSITIVITY = "back_sensitivity";
-
-    public static void show(SystemNavigationGestureSettings parent, int sensitivity) {
-        if (!parent.isAdded()) {
-            return;
-        }
-
-        final GestureNavigationBackSensitivityDialog dialog =
-                new GestureNavigationBackSensitivityDialog();
-        final Bundle bundle = new Bundle();
-        bundle.putInt(KEY_BACK_SENSITIVITY, sensitivity);
-        dialog.setArguments(bundle);
-        dialog.setTargetFragment(parent, 0);
-        dialog.show(parent.getFragmentManager(), TAG);
-    }
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.SETTINGS_GESTURE_NAV_BACK_SENSITIVITY_DLG;
-    }
-
-    @Override
-    public Dialog onCreateDialog(Bundle savedInstanceState) {
-        final View view = getActivity().getLayoutInflater().inflate(
-                R.layout.dialog_back_gesture_sensitivity, null);
-        final SeekBar seekBar = view.findViewById(R.id.back_sensitivity_seekbar);
-        seekBar.setProgress(getArguments().getInt(KEY_BACK_SENSITIVITY));
-        return new AlertDialog.Builder(getContext())
-                .setTitle(R.string.back_sensitivity_dialog_title)
-                .setMessage(R.string.back_sensitivity_dialog_message)
-                .setView(view)
-                .setPositiveButton(R.string.okay, (dialog, which) -> {
-                    int sensitivity = seekBar.getProgress();
-                    getArguments().putInt(KEY_BACK_SENSITIVITY, sensitivity);
-                    SystemNavigationGestureSettings.setBackSensitivity(getActivity(),
-                            getOverlayManager(), sensitivity);
-                })
-                .create();
-    }
-
-    private IOverlayManager getOverlayManager() {
-        return IOverlayManager.Stub.asInterface(ServiceManager.getService(Context.OVERLAY_SERVICE));
-    }
-}
\ No newline at end of file
diff --git a/src/com/android/settings/gestures/SystemNavigationGestureSettings.java b/src/com/android/settings/gestures/SystemNavigationGestureSettings.java
index 9e78388..728343e 100644
--- a/src/com/android/settings/gestures/SystemNavigationGestureSettings.java
+++ b/src/com/android/settings/gestures/SystemNavigationGestureSettings.java
@@ -66,11 +66,6 @@
     private static final String TAG = "SystemNavigationGesture";
 
     @VisibleForTesting
-    static final String SHARED_PREFERENCES_NAME = "system_navigation_settings_preferences";
-    @VisibleForTesting
-    static final String PREFS_BACK_SENSITIVITY_KEY = "system_navigation_back_sensitivity";
-
-    @VisibleForTesting
     static final String KEY_SYSTEM_NAV_3BUTTONS = "system_nav_3buttons";
     @VisibleForTesting
     static final String KEY_SYSTEM_NAV_2BUTTONS = "system_nav_2buttons";
@@ -80,25 +75,6 @@
     public static final String PREF_KEY_SUGGESTION_COMPLETE =
             "pref_system_navigation_suggestion_complete";
 
-    @VisibleForTesting
-    static final String NAV_BAR_MODE_GESTURAL_OVERLAY_NARROW_BACK
-            = "com.android.internal.systemui.navbar.gestural_narrow_back";
-    @VisibleForTesting
-    static final String NAV_BAR_MODE_GESTURAL_OVERLAY_WIDE_BACK
-            = "com.android.internal.systemui.navbar.gestural_wide_back";
-    @VisibleForTesting
-    static final String NAV_BAR_MODE_GESTURAL_OVERLAY_EXTRA_WIDE_BACK
-            = "com.android.internal.systemui.navbar.gestural_extra_wide_back";
-    @VisibleForTesting
-    static final String[] BACK_GESTURE_INSET_OVERLAYS = {
-            NAV_BAR_MODE_GESTURAL_OVERLAY_NARROW_BACK,
-            NAV_BAR_MODE_GESTURAL_OVERLAY,
-            NAV_BAR_MODE_GESTURAL_OVERLAY_WIDE_BACK,
-            NAV_BAR_MODE_GESTURAL_OVERLAY_EXTRA_WIDE_BACK
-    };
-    @VisibleForTesting
-    static int BACK_GESTURE_INSET_DEFAULT_OVERLAY = 1;
-
     private IOverlayManager mOverlayManager;
 
     private VideoPreference mVideoPreference;
@@ -122,6 +98,8 @@
         mVideoPreference.setHeight( /* Illustration height in dp */
                 getResources().getDimension(R.dimen.system_navigation_illustration_height)
                         / getResources().getDisplayMetrics().density);
+
+        migrateOverlaySensitivityToSettings(context, mOverlayManager);
     }
 
     @Override
@@ -164,8 +142,8 @@
         RadioButtonPreferenceWithExtraWidget p = (RadioButtonPreferenceWithExtraWidget) pref;
         if (info.getKey() == KEY_SYSTEM_NAV_GESTURAL) {
             p.setExtraWidgetVisibility(EXTRA_WIDGET_VISIBILITY_SETTING);
-            p.setExtraWidgetOnClickListener((v) -> GestureNavigationBackSensitivityDialog
-                    .show(this, getBackSensitivity(getContext(), mOverlayManager)));
+            p.setExtraWidgetOnClickListener((v) -> startActivity(new Intent(
+                    GestureNavigationSettingsFragment.GESTURE_NAVIGATION_SETTINGS)));
         } else {
             p.setExtraWidgetVisibility(EXTRA_WIDGET_VISIBILITY_GONE);
         }
@@ -213,8 +191,7 @@
 
     @Override
     protected boolean setDefaultKey(String key) {
-        final Context c = getContext();
-        setCurrentSystemNavigationMode(c, mOverlayManager, key);
+        setCurrentSystemNavigationMode(mOverlayManager, key);
         setIllustrationVideo(mVideoPreference, key);
         if (TextUtils.equals(KEY_SYSTEM_NAV_GESTURAL, key) && (
                 isAnyServiceSupportAccessibilityButton() || isNavBarMagnificationEnabled())) {
@@ -225,38 +202,28 @@
         return true;
     }
 
-    @VisibleForTesting
-    static void setBackSensitivity(Context context, IOverlayManager overlayManager,
-            int sensitivity) {
-        if (sensitivity < 0 || sensitivity >= BACK_GESTURE_INSET_OVERLAYS.length) {
-            throw new IllegalArgumentException("Sensitivity out of range.");
+    static void migrateOverlaySensitivityToSettings(Context context,
+            IOverlayManager overlayManager) {
+        if (!SystemNavigationPreferenceController.isGestureNavigationEnabled(context)) {
+            return;
         }
 
-        // Store the sensitivity level, to be able to restore when user returns to Gesture Nav mode
-        context.getSharedPreferences(SHARED_PREFERENCES_NAME, Context.MODE_PRIVATE).edit()
-                .putInt(PREFS_BACK_SENSITIVITY_KEY, sensitivity).apply();
-        if (getCurrentSystemNavigationMode(context) == KEY_SYSTEM_NAV_GESTURAL) {
-            setNavBarInteractionMode(overlayManager, BACK_GESTURE_INSET_OVERLAYS[sensitivity]);
+        OverlayInfo info = null;
+        try {
+            info = overlayManager.getOverlayInfo(NAV_BAR_MODE_GESTURAL_OVERLAY, USER_CURRENT);
+        } catch (RemoteException e) { /* Do nothing */ }
+        if (info != null && !info.isEnabled()) {
+            // Enable the default gesture nav overlay. Back sensitivity for left and right are
+            // stored as separate settings values, and other gesture nav overlays are deprecated.
+            setCurrentSystemNavigationMode(overlayManager, KEY_SYSTEM_NAV_GESTURAL);
+            Settings.Secure.putFloat(context.getContentResolver(),
+                    Settings.Secure.BACK_GESTURE_INSET_SCALE_LEFT, 1.0f);
+            Settings.Secure.putFloat(context.getContentResolver(),
+                    Settings.Secure.BACK_GESTURE_INSET_SCALE_RIGHT, 1.0f);
         }
     }
 
     @VisibleForTesting
-    static int getBackSensitivity(Context context, IOverlayManager overlayManager) {
-        for (int i = 0; i < BACK_GESTURE_INSET_OVERLAYS.length; i++) {
-            OverlayInfo info = null;
-            try {
-                info = overlayManager.getOverlayInfo(BACK_GESTURE_INSET_OVERLAYS[i], USER_CURRENT);
-            } catch (RemoteException e) { /* Do nothing */ }
-            if (info != null && info.isEnabled()) {
-                return i;
-            }
-        }
-        // If Gesture nav is not selected, read the value from shared preferences.
-        return context.getSharedPreferences(SHARED_PREFERENCES_NAME, Context.MODE_PRIVATE)
-                .getInt(PREFS_BACK_SENSITIVITY_KEY, BACK_GESTURE_INSET_DEFAULT_OVERLAY);
-    }
-
-    @VisibleForTesting
     static String getCurrentSystemNavigationMode(Context context) {
         if (SystemNavigationPreferenceController.isGestureNavigationEnabled(context)) {
             return KEY_SYSTEM_NAV_GESTURAL;
@@ -268,24 +235,20 @@
     }
 
     @VisibleForTesting
-    static void setCurrentSystemNavigationMode(Context context, IOverlayManager overlayManager,
-            String key) {
+    static void setCurrentSystemNavigationMode(IOverlayManager overlayManager, String key) {
+        String overlayPackage = NAV_BAR_MODE_GESTURAL_OVERLAY;
         switch (key) {
             case KEY_SYSTEM_NAV_GESTURAL:
-                int sensitivity = getBackSensitivity(context, overlayManager);
-                setNavBarInteractionMode(overlayManager, BACK_GESTURE_INSET_OVERLAYS[sensitivity]);
+                overlayPackage = NAV_BAR_MODE_GESTURAL_OVERLAY;
                 break;
             case KEY_SYSTEM_NAV_2BUTTONS:
-                setNavBarInteractionMode(overlayManager, NAV_BAR_MODE_2BUTTON_OVERLAY);
+                overlayPackage = NAV_BAR_MODE_2BUTTON_OVERLAY;
                 break;
             case KEY_SYSTEM_NAV_3BUTTONS:
-                setNavBarInteractionMode(overlayManager, NAV_BAR_MODE_3BUTTON_OVERLAY);
+                overlayPackage = NAV_BAR_MODE_3BUTTON_OVERLAY;
                 break;
         }
-    }
 
-    private static void setNavBarInteractionMode(IOverlayManager overlayManager,
-            String overlayPackage) {
         try {
             overlayManager.setEnabledExclusiveInCategory(overlayPackage, USER_CURRENT);
         } catch (RemoteException e) {
diff --git a/tests/robotests/src/com/android/settings/gestures/SystemNavigationGestureSettingsTest.java b/tests/robotests/src/com/android/settings/gestures/SystemNavigationGestureSettingsTest.java
index 24cb9ed..78424da 100644
--- a/tests/robotests/src/com/android/settings/gestures/SystemNavigationGestureSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/gestures/SystemNavigationGestureSettingsTest.java
@@ -24,14 +24,9 @@
 import static android.view.WindowManagerPolicyConstants.NAV_BAR_MODE_GESTURAL;
 import static android.view.WindowManagerPolicyConstants.NAV_BAR_MODE_GESTURAL_OVERLAY;
 
-import static com.android.settings.gestures.SystemNavigationGestureSettings.BACK_GESTURE_INSET_DEFAULT_OVERLAY;
-import static com.android.settings.gestures.SystemNavigationGestureSettings.BACK_GESTURE_INSET_OVERLAYS;
 import static com.android.settings.gestures.SystemNavigationGestureSettings.KEY_SYSTEM_NAV_2BUTTONS;
 import static com.android.settings.gestures.SystemNavigationGestureSettings.KEY_SYSTEM_NAV_3BUTTONS;
 import static com.android.settings.gestures.SystemNavigationGestureSettings.KEY_SYSTEM_NAV_GESTURAL;
-import static com.android.settings.gestures.SystemNavigationGestureSettings.NAV_BAR_MODE_GESTURAL_OVERLAY_EXTRA_WIDE_BACK;
-import static com.android.settings.gestures.SystemNavigationGestureSettings.NAV_BAR_MODE_GESTURAL_OVERLAY_NARROW_BACK;
-import static com.android.settings.gestures.SystemNavigationGestureSettings.NAV_BAR_MODE_GESTURAL_OVERLAY_WIDE_BACK;
 
 import static com.google.common.truth.Truth.assertThat;
 
@@ -39,7 +34,6 @@
 
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyInt;
-import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -116,96 +110,16 @@
 
     @Test
     public void testSetCurrentSystemNavigationMode() throws Exception {
-        mSettings.setBackSensitivity(mContext, mOverlayManager, 0);
-        mSettings.setCurrentSystemNavigationMode(mContext, mOverlayManager,
-                KEY_SYSTEM_NAV_GESTURAL);
-        verify(mOverlayManager, times(1)).setEnabledExclusiveInCategory(
-                NAV_BAR_MODE_GESTURAL_OVERLAY_NARROW_BACK, USER_CURRENT);
-
-        mSettings.setBackSensitivity(mContext, mOverlayManager, 1);
-        mSettings.setCurrentSystemNavigationMode(mContext, mOverlayManager,
-                KEY_SYSTEM_NAV_GESTURAL);
+        mSettings.setCurrentSystemNavigationMode(mOverlayManager, KEY_SYSTEM_NAV_GESTURAL);
         verify(mOverlayManager, times(1)).setEnabledExclusiveInCategory(
                 NAV_BAR_MODE_GESTURAL_OVERLAY, USER_CURRENT);
 
-        mSettings.setBackSensitivity(mContext, mOverlayManager, 2);
-        mSettings.setCurrentSystemNavigationMode(mContext, mOverlayManager,
-                KEY_SYSTEM_NAV_GESTURAL);
-        verify(mOverlayManager, times(1)).setEnabledExclusiveInCategory(
-                NAV_BAR_MODE_GESTURAL_OVERLAY_WIDE_BACK, USER_CURRENT);
-
-        mSettings.setBackSensitivity(mContext, mOverlayManager, 3);
-        mSettings.setCurrentSystemNavigationMode(mContext, mOverlayManager,
-                KEY_SYSTEM_NAV_GESTURAL);
-        verify(mOverlayManager, times(1)).setEnabledExclusiveInCategory(
-                NAV_BAR_MODE_GESTURAL_OVERLAY_EXTRA_WIDE_BACK, USER_CURRENT);
-
-        mSettings.setCurrentSystemNavigationMode(mContext, mOverlayManager,
-                KEY_SYSTEM_NAV_2BUTTONS);
+        mSettings.setCurrentSystemNavigationMode(mOverlayManager, KEY_SYSTEM_NAV_2BUTTONS);
         verify(mOverlayManager, times(1)).setEnabledExclusiveInCategory(
                 NAV_BAR_MODE_2BUTTON_OVERLAY, USER_CURRENT);
 
-        mSettings.setCurrentSystemNavigationMode(mContext, mOverlayManager,
-                KEY_SYSTEM_NAV_3BUTTONS);
+        mSettings.setCurrentSystemNavigationMode(mOverlayManager, KEY_SYSTEM_NAV_3BUTTONS);
         verify(mOverlayManager, times(1)).setEnabledExclusiveInCategory(
                 NAV_BAR_MODE_3BUTTON_OVERLAY, USER_CURRENT);
     }
-
-    @Test
-    public void testSetCurrentSystemNavigationMode_backSensitivityValuePersists() throws Exception {
-        SettingsShadowResources.overrideResource(
-                R.integer.config_navBarInteractionMode, NAV_BAR_MODE_3BUTTON);
-
-        mSettings.setBackSensitivity(mContext, mOverlayManager, 2);
-        mSettings.setCurrentSystemNavigationMode(mContext, mOverlayManager,
-                KEY_SYSTEM_NAV_3BUTTONS);
-        verify(mOverlayManager, times(1)).setEnabledExclusiveInCategory(
-                NAV_BAR_MODE_3BUTTON_OVERLAY, USER_CURRENT);
-
-        // Return to Gesture navigation, without setting the sensitivity value.
-        mSettings.setCurrentSystemNavigationMode(mContext, mOverlayManager,
-                KEY_SYSTEM_NAV_GESTURAL);
-        verify(mOverlayManager, times(1)).setEnabledExclusiveInCategory(
-                NAV_BAR_MODE_GESTURAL_OVERLAY_WIDE_BACK, USER_CURRENT);
-    }
-
-    @Test
-    public void testGetBackSensitivity_default() {
-        assertEquals(BACK_GESTURE_INSET_DEFAULT_OVERLAY,
-                mSettings.getBackSensitivity(mContext, mOverlayManager));
-    }
-
-    @Test
-    public void testBackSensitivitySetterAndGetter_currentNavModeNotGestural() throws Exception {
-        SettingsShadowResources.overrideResource(
-                R.integer.config_navBarInteractionMode, NAV_BAR_MODE_3BUTTON);
-
-        mSettings.setBackSensitivity(mContext, mOverlayManager, 3);
-        assertEquals(3, mSettings.getBackSensitivity(mContext, mOverlayManager));
-        mSettings.setBackSensitivity(mContext, mOverlayManager, 2);
-        assertEquals(2, mSettings.getBackSensitivity(mContext, mOverlayManager));
-
-        verify(mOverlayManager, never()).setEnabledExclusiveInCategory(any(), anyInt());
-    }
-
-    @Test
-    public void testBackSensitivitySetterAndGetter_currentNavModeIsGestural() throws Exception {
-        SettingsShadowResources.overrideResource(
-                R.integer.config_navBarInteractionMode, NAV_BAR_MODE_GESTURAL);
-
-        when(mOverlayManager.getOverlayInfo(BACK_GESTURE_INSET_OVERLAYS[3], USER_CURRENT))
-                .thenReturn(mOverlayInfoEnabled);
-        mSettings.setBackSensitivity(mContext, mOverlayManager, 3);
-        assertEquals(3, mSettings.getBackSensitivity(mContext, mOverlayManager));
-
-        when(mOverlayManager.getOverlayInfo(BACK_GESTURE_INSET_OVERLAYS[2], USER_CURRENT))
-                .thenReturn(mOverlayInfoEnabled);
-        mSettings.setBackSensitivity(mContext, mOverlayManager, 2);
-        assertEquals(2, mSettings.getBackSensitivity(mContext, mOverlayManager));
-
-        verify(mOverlayManager, times(1)).setEnabledExclusiveInCategory(
-                NAV_BAR_MODE_GESTURAL_OVERLAY_WIDE_BACK, USER_CURRENT);
-        verify(mOverlayManager, times(1)).setEnabledExclusiveInCategory(
-                NAV_BAR_MODE_GESTURAL_OVERLAY_EXTRA_WIDE_BACK, USER_CURRENT);
-    }
 }
diff --git a/tests/robotests/src/com/android/settings/network/telephony/MobileNetworkActivityTest.java b/tests/robotests/src/com/android/settings/network/telephony/MobileNetworkActivityTest.java
index 3641a97..eaa0011 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/MobileNetworkActivityTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/MobileNetworkActivityTest.java
@@ -42,7 +42,6 @@
 
 import org.junit.After;
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -121,7 +120,6 @@
     }
 
     @Test
-    @Ignore
     public void updateBottomNavigationView_oneSubscription_shouldNotCrash() {
         mSubscriptionManager.setActiveSubscriptionInfos(mSubscriptionInfo1);
 
@@ -131,7 +129,6 @@
     }
 
     @Test
-    @Ignore
     public void updateBottomNavigationView_twoSubscription_shouldNotCrash() {
         mSubscriptionManager.setActiveSubscriptionInfos(mSubscriptionInfo1, mSubscriptionInfo2);
 
@@ -141,7 +138,6 @@
     }
 
     @Test
-    @Ignore
     public void switchFragment_switchBetweenTwoSubscriptions() {
         mSubscriptionManager.setActiveSubscriptionInfos(mSubscriptionInfo1, mSubscriptionInfo2);
 
@@ -152,12 +148,12 @@
 
         mMobileNetworkActivity.onActivity(activity -> {
             final MockMobileNetworkActivity mockActivity = (MockMobileNetworkActivity) activity;
+            mockActivity.switchFragment(mSubscriptionInfo1);
             assertThat(mockActivity.mSubscriptionInFragment).isEqualTo(mSubscriptionInfo1);
         });
     }
 
     @Test
-    @Ignore
     public void switchFragment_subscriptionsUpdate_notifyByIntent() {
         mSubscriptionManager.setActiveSubscriptionInfos(mSubscriptionInfo1, mSubscriptionInfo2);
 
@@ -168,24 +164,24 @@
 
         mMobileNetworkActivity.onActivity(activity -> {
             final MockMobileNetworkActivity mockActivity = (MockMobileNetworkActivity) activity;
+            mockActivity.switchFragment(mSubscriptionInfo1);
             assertThat(mockActivity.mSubscriptionInFragment).isEqualTo(mSubscriptionInfo1);
 
-            mSubscriptionManager.setActiveSubscriptionInfos(mSubscriptionInfo2);
             mContext.sendBroadcast(new Intent(
                     CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED), null);
 
+            mockActivity.switchFragment(mSubscriptionInfo2);
             assertThat(mockActivity.mSubscriptionInFragment).isEqualTo(mSubscriptionInfo2);
 
-            mSubscriptionManager.setActiveSubscriptionInfos(mSubscriptionInfo1);
             mContext.sendBroadcast(new Intent(
                     TelephonyIntents.ACTION_RADIO_TECHNOLOGY_CHANGED), null);
 
+            mockActivity.switchFragment(mSubscriptionInfo1);
             assertThat(mockActivity.mSubscriptionInFragment).isEqualTo(mSubscriptionInfo1);
         });
     }
 
     @Test
-    @Ignore
     public void onSaveInstanceState_saveCurrentSubId() {
         mSubscriptionManager.setActiveSubscriptionInfos(mSubscriptionInfo1, mSubscriptionInfo2);