Merge "Update strings for skip fingerprint setup" into oc-mr1-dev
diff --git a/src/com/android/settings/applications/assist/ManageAssist.java b/src/com/android/settings/applications/assist/ManageAssist.java
index eb14ea1..4126aaf 100644
--- a/src/com/android/settings/applications/assist/ManageAssist.java
+++ b/src/com/android/settings/applications/assist/ManageAssist.java
@@ -22,7 +22,7 @@
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
-import com.android.settings.gestures.AssistGesturePreferenceController;
+import com.android.settings.gestures.AssistGestureSettingsPreferenceController;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.search.Indexable;
 import com.android.settingslib.core.AbstractPreferenceController;
@@ -73,8 +73,8 @@
         final List<AbstractPreferenceController> controllers = new ArrayList<>();
         controllers.add(new DefaultAssistPreferenceController(context, "default_assist",
                 true /* showSetting */));
-        controllers.add(new AssistGesturePreferenceController(context, lifecycle, KEY_ASSIST,
-                true /* assistOnly */));
+        controllers.add(new AssistGestureSettingsPreferenceController(context, lifecycle,
+                KEY_ASSIST, true /* assistOnly */));
         controllers.add(new AssistContextPreferenceController(context, lifecycle));
         controllers.add(new AssistScreenshotPreferenceController(context, lifecycle));
         controllers.add(new AssistFlashScreenPreferenceController(context, lifecycle));
diff --git a/src/com/android/settings/gestures/AssistGestureSettings.java b/src/com/android/settings/gestures/AssistGestureSettings.java
index 3066baf..8878f47 100644
--- a/src/com/android/settings/gestures/AssistGestureSettings.java
+++ b/src/com/android/settings/gestures/AssistGestureSettings.java
@@ -35,8 +35,6 @@
 
     private static final String TAG = "AssistGesture";
 
-    private static final String KEY_ASSIST = "gesture_assist";
-
     @Override
     public int getMetricsCategory() {
         return MetricsProto.MetricsEvent.SETTINGS_ASSIST_GESTURE;
@@ -60,8 +58,6 @@
     private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
             Lifecycle lifecycle) {
         final List<AbstractPreferenceController> controllers = new ArrayList<>();
-        controllers.add(new AssistGesturePreferenceController(context, lifecycle, KEY_ASSIST,
-                false /* assistOnly */));
         controllers.addAll(FeatureFactory.getFactory(context).getAssistGestureFeatureProvider()
                 .getControllers(context, lifecycle));
 
@@ -86,8 +82,8 @@
 
                 @Override
                 protected boolean isPageSearchEnabled(Context context) {
-                    return new AssistGesturePreferenceController(context, null /* lifecycle */,
-                            null /* key */, false /* assistOnly */)
+                    return new AssistGestureSettingsPreferenceController(context,
+                            null /* lifecycle */, null /* key */, false /* assistOnly */)
                             .isAvailable();
                 }
             };
diff --git a/src/com/android/settings/gestures/AssistGesturePreferenceController.java b/src/com/android/settings/gestures/AssistGestureSettingsPreferenceController.java
similarity index 72%
rename from src/com/android/settings/gestures/AssistGesturePreferenceController.java
rename to src/com/android/settings/gestures/AssistGestureSettingsPreferenceController.java
index b91f230..bf6ee8c 100644
--- a/src/com/android/settings/gestures/AssistGesturePreferenceController.java
+++ b/src/com/android/settings/gestures/AssistGestureSettingsPreferenceController.java
@@ -16,6 +16,9 @@
 
 package com.android.settings.gestures;
 
+import static android.provider.Settings.Secure.ASSIST_GESTURE_ENABLED;
+import static android.provider.Settings.Secure.ASSIST_GESTURE_SILENCE_ALERTS_ENABLED;
+
 import android.content.Context;
 import android.content.Intent;
 import android.provider.Settings;
@@ -32,19 +35,17 @@
 import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.core.lifecycle.events.OnResume;
 
-import static android.provider.Settings.Secure.ASSIST_GESTURE_ENABLED;
-
-public class AssistGesturePreferenceController extends GesturePreferenceController
+public class AssistGestureSettingsPreferenceController extends GesturePreferenceController
         implements OnResume {
 
-    private final int ON = 1;
-    private final int OFF = 0;
-
     private static final String PREF_KEY_VIDEO = "gesture_assist_video";
+
+    private static final String SECURE_KEY_ASSIST = ASSIST_GESTURE_ENABLED;
+    private static final String SECURE_KEY_SILENCE = ASSIST_GESTURE_SILENCE_ALERTS_ENABLED;
+    private static final int ON = 1;
+    private static final int OFF = 0;
+
     private final String mAssistGesturePrefKey;
-
-    private final String SECURE_KEY = ASSIST_GESTURE_ENABLED;
-
     private final AssistGestureFeatureProvider mFeatureProvider;
     private boolean mWasAvailable;
 
@@ -54,8 +55,8 @@
     @VisibleForTesting
     boolean mAssistOnly;
 
-    public AssistGesturePreferenceController(Context context, Lifecycle lifecycle, String key,
-            boolean assistOnly) {
+    public AssistGestureSettingsPreferenceController(Context context, Lifecycle lifecycle,
+            String key, boolean assistOnly) {
         super(context, lifecycle);
         mFeatureProvider = FeatureFactory.getFactory(context).getAssistGestureFeatureProvider();
         mWasAvailable = isAvailable();
@@ -76,14 +77,6 @@
     public void displayPreference(PreferenceScreen screen) {
         mScreen = screen;
         mPreference = screen.findPreference(getPreferenceKey());
-        if (!mFeatureProvider.isSensorAvailable(mContext)) {
-            removePreference(mScreen, getPreferenceKey());
-            return;
-        }
-        if (!mFeatureProvider.isSupported(mContext)) {
-            mScreen.removePreference(mPreference);
-            return;
-        }
         // Call super last or AbstractPreferenceController might remove the preference from the
         // screen (if !isAvailable()) before we can save a reference to it.
         super.displayPreference(screen);
@@ -91,14 +84,6 @@
 
     @Override
     public void onResume() {
-        // This check must be done in case the user disables Assistant while still on the settings
-        // page. This check is slightly different than isAvailable() in some cases due to this
-        // setting being in multiple places that require different behavior
-        if (mScreen != null && !mFeatureProvider.isSupported(mContext)) {
-            mScreen.removePreference(mPreference);
-            mWasAvailable = false;
-            return;
-        }
         if (mWasAvailable != isAvailable()) {
             // Only update the preference visibility if the availability has changed -- otherwise
             // the preference may be incorrectly added to screens with collapsed sections.
@@ -112,7 +97,7 @@
             return;
         }
 
-        if (mFeatureProvider.isSupported(mContext)) {
+        if (isAvailable()) {
             if (mScreen.findPreference(getPreferenceKey()) == null) {
                 mScreen.addPreference(mPreference);
             }
@@ -121,15 +106,22 @@
         }
     }
 
+    private boolean isAssistGestureEnabled() {
+        return Settings.Secure.getInt(mContext.getContentResolver(),
+                SECURE_KEY_ASSIST, ON) != 0;
+    }
+
+    private boolean isSilenceGestureEnabled() {
+        return Settings.Secure.getInt(mContext.getContentResolver(),
+                SECURE_KEY_SILENCE, ON) != 0;
+    }
+
     @Override
     public void updateState(Preference preference) {
-        boolean isEnabled = isSwitchPrefEnabled() && mFeatureProvider.isSupported(mContext);
+        boolean isEnabled = isAssistGestureEnabled() && mFeatureProvider.isSupported(mContext);
 
         if (!mAssistOnly) {
-            boolean assistGestureSilenceEnabled = Settings.Secure.getInt(
-                    mContext.getContentResolver(),
-                    Settings.Secure.ASSIST_GESTURE_SILENCE_ALERTS_ENABLED, 1) != 0;
-            isEnabled = isEnabled || assistGestureSilenceEnabled;
+            isEnabled = isEnabled || isSilenceGestureEnabled();
         }
 
         if (preference != null) {
@@ -146,7 +138,8 @@
     @Override
     public boolean onPreferenceChange(Preference preference, Object newValue) {
         final boolean enabled = (boolean) newValue;
-        Settings.Secure.putInt(mContext.getContentResolver(), SECURE_KEY, enabled ? ON : OFF);
+        Settings.Secure.putInt(mContext.getContentResolver(), SECURE_KEY_ASSIST,
+                enabled ? ON : OFF);
         updateState(preference);
         return true;
     }
@@ -163,9 +156,8 @@
 
     @Override
     protected boolean isSwitchPrefEnabled() {
-        final int assistGestureEnabled = Settings.Secure.getInt(mContext.getContentResolver(),
-                SECURE_KEY, ON);
-        return assistGestureEnabled != 0;
+        // Does nothing
+        return true;
     }
 
     @Override
@@ -174,7 +166,7 @@
                 AssistGestureSettings.class.getName(), mAssistGesturePrefKey,
                 mContext.getString(R.string.display_settings));
 
-        return new InlineSwitchPayload(SECURE_KEY, ResultPayload.SettingsSource.SECURE,
+        return new InlineSwitchPayload(SECURE_KEY_ASSIST, ResultPayload.SettingsSource.SECURE,
                 ON /* onValue */, intent, isAvailable(), ON /* defaultValue */);
     }
 }
diff --git a/src/com/android/settings/gestures/GestureSettings.java b/src/com/android/settings/gestures/GestureSettings.java
index 805c4a1..4d38b09 100644
--- a/src/com/android/settings/gestures/GestureSettings.java
+++ b/src/com/android/settings/gestures/GestureSettings.java
@@ -75,8 +75,8 @@
             @NonNull Context context, @Nullable Lifecycle lifecycle,
             @NonNull AmbientDisplayConfiguration ambientDisplayConfiguration) {
         final List<AbstractPreferenceController> controllers = new ArrayList<>();
-        controllers.add(new AssistGesturePreferenceController(context, lifecycle, KEY_ASSIST,
-                false /* assistOnly */));
+        controllers.add(new AssistGestureSettingsPreferenceController(context, lifecycle,
+                KEY_ASSIST, false /* assistOnly */));
         controllers.add(new SwipeToNotificationPreferenceController(context, lifecycle,
                 KEY_SWIPE_DOWN));
         controllers.add(new DoubleTwistPreferenceController(context, lifecycle, KEY_DOUBLE_TWIST));
diff --git a/tests/robotests/src/com/android/settings/gestures/AssistGesturePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/AssistGestureSettingsPreferenceControllerTest.java
similarity index 70%
rename from tests/robotests/src/com/android/settings/gestures/AssistGesturePreferenceControllerTest.java
rename to tests/robotests/src/com/android/settings/gestures/AssistGestureSettingsPreferenceControllerTest.java
index b2d3596..6767346 100644
--- a/tests/robotests/src/com/android/settings/gestures/AssistGesturePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/gestures/AssistGestureSettingsPreferenceControllerTest.java
@@ -16,9 +16,6 @@
 
 package com.android.settings.gestures;
 
-import static android.provider.Settings.Secure.ASSIST_GESTURE_ENABLED;
-
-import static android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE;
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.Mockito.when;
@@ -26,17 +23,16 @@
 import android.content.ContentResolver;
 import android.content.Context;
 import android.provider.Settings;
-
 import android.provider.Settings.Secure;
+
 import com.android.settings.TestConfig;
-import com.android.settings.display.AutoBrightnessPreferenceController;
 import com.android.settings.search.InlinePayload;
 import com.android.settings.search.InlineSwitchPayload;
 import com.android.settings.search.ResultPayload;
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
-
 import com.android.settings.testutils.shadow.ShadowSecureSettings;
+
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -45,16 +41,15 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
-import org.robolectric.shadows.ShadowApplication;
 
 @RunWith(SettingsRobolectricTestRunner.class)
 @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
-public class AssistGesturePreferenceControllerTest {
+public class AssistGestureSettingsPreferenceControllerTest {
 
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
     private Context mContext;
     private FakeFeatureFactory mFactory;
-    private AssistGesturePreferenceController mController;
+    private AssistGestureSettingsPreferenceController mController;
 
     private static final String KEY_ASSIST = "gesture_assist";
 
@@ -63,7 +58,8 @@
         MockitoAnnotations.initMocks(this);
         FakeFeatureFactory.setupForTest(mContext);
         mFactory = (FakeFeatureFactory) FakeFeatureFactory.getFactory(mContext);
-        mController = new AssistGesturePreferenceController(mContext, null, KEY_ASSIST, false);
+        mController = new AssistGestureSettingsPreferenceController(mContext, null, KEY_ASSIST,
+                false);
     }
 
     @Test
@@ -80,31 +76,11 @@
     }
 
     @Test
-    public void testSwitchEnabled_configIsSet_shouldReturnTrue() {
-        // Set the setting to be enabled.
-        final Context context = ShadowApplication.getInstance().getApplicationContext();
-        Settings.System.putInt(context.getContentResolver(), ASSIST_GESTURE_ENABLED, 1);
-        mController = new AssistGesturePreferenceController(context, null, KEY_ASSIST, false);
-
-        assertThat(mController.isSwitchPrefEnabled()).isTrue();
-    }
-
-    @Test
-    public void testSwitchEnabled_configIsNotSet_shouldReturnFalse() {
-        // Set the setting to be disabled.
-        final Context context = ShadowApplication.getInstance().getApplicationContext();
-        Settings.System.putInt(context.getContentResolver(), ASSIST_GESTURE_ENABLED, 0);
-        mController = new AssistGesturePreferenceController(context, null, KEY_ASSIST, false);
-
-        assertThat(mController.isSwitchPrefEnabled()).isFalse();
-    }
-
-    @Test
     public void testPreferenceController_ProperResultPayloadType() {
         final Context context = RuntimeEnvironment.application;
-        AssistGesturePreferenceController controller =
-                new AssistGesturePreferenceController(context, null /* lifecycle */, KEY_ASSIST,
-                        false /* assistOnly */);
+        AssistGestureSettingsPreferenceController controller =
+                new AssistGestureSettingsPreferenceController(context, null /* lifecycle */,
+                        KEY_ASSIST, false /* assistOnly */);
         ResultPayload payload = controller.getResultPayload();
         assertThat(payload).isInstanceOf(InlineSwitchPayload.class);
     }
diff --git a/tests/robotests/src/com/android/settings/gestures/AssistGestureSettingsTest.java b/tests/robotests/src/com/android/settings/gestures/AssistGestureSettingsTest.java
index cfd3f52..1f5c9be 100644
--- a/tests/robotests/src/com/android/settings/gestures/AssistGestureSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/gestures/AssistGestureSettingsTest.java
@@ -62,13 +62,6 @@
     }
 
     @Test
-    public void testGetPreferenceControllers_shouldAllBeCreated() {
-        final List<AbstractPreferenceController> controllers =
-                mSettings.getPreferenceControllers(mContext);
-        assertThat(controllers.isEmpty()).isFalse();
-    }
-
-    @Test
     public void testSearchIndexProvider_shouldIndexResource() {
         final List<SearchIndexableResource> indexRes =
                 AssistGestureSettings.SEARCH_INDEX_DATA_PROVIDER.getXmlResourcesToIndex(