From: Lucas Dupin Date: Sun, 11 Feb 2018 02:18:19 +0000 (-0800) Subject: Disable "double tap to check" when "always on" X-Git-Tag: android-x86-9.0-r1~97^2^2 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=8e490b40390f3d5361d32a5884ec841f7c3b2da4;p=android-x86%2Fpackages-apps-Settings.git Disable "double tap to check" when "always on" "Double tap to check" has no effect when AOD is enabled. Double tapping will take you to the lock screen anyway. Test: manual Test: make RunSettingsRoboTests ROBOTEST_FILTER=DoubleTapScreenPreferenceControllerTest Change-Id: Ia97b7ecb00a9d83b867959d83642d476841e2f13 Fixes: 73096311 --- diff --git a/src/com/android/settings/display/AmbientDisplaySettings.java b/src/com/android/settings/display/AmbientDisplaySettings.java index 187325c0c7..3cac078e5a 100644 --- a/src/com/android/settings/display/AmbientDisplaySettings.java +++ b/src/com/android/settings/display/AmbientDisplaySettings.java @@ -79,7 +79,7 @@ public class AmbientDisplaySettings extends DashboardFragment { protected List getPreferenceControllers(Context context) { return buildPreferenceControllers(context, getLifecycle(), new AmbientDisplayConfiguration(context), mMetricsFeatureProvider, - () -> { updatePreferenceStates(); }); + this::updatePreferenceStates); } @Override diff --git a/src/com/android/settings/gestures/DoubleTapScreenPreferenceController.java b/src/com/android/settings/gestures/DoubleTapScreenPreferenceController.java index 5412f368ad..aa08e6f21d 100644 --- a/src/com/android/settings/gestures/DoubleTapScreenPreferenceController.java +++ b/src/com/android/settings/gestures/DoubleTapScreenPreferenceController.java @@ -102,4 +102,9 @@ public class DoubleTapScreenPreferenceController extends GesturePreferenceContro return new InlineSwitchPayload(SECURE_KEY, ResultPayload.SettingsSource.SECURE, ON /* onValue */, intent, isAvailable(), ON /* defaultValue */); } + + @Override + protected boolean canHandleClicks() { + return !mAmbientConfig.alwaysOnEnabled(mUserId); + } } \ No newline at end of file diff --git a/tests/robotests/src/com/android/settings/gestures/DoubleTapScreenPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/DoubleTapScreenPreferenceControllerTest.java index 8f06c40481..74e1e5defd 100644 --- a/tests/robotests/src/com/android/settings/gestures/DoubleTapScreenPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/gestures/DoubleTapScreenPreferenceControllerTest.java @@ -161,4 +161,16 @@ public class DoubleTapScreenPreferenceControllerTest { assertThat(DoubleTapScreenPreferenceController.isSuggestionComplete( mAmbientDisplayConfiguration, prefs)).isTrue(); } + + @Test + public void canHandleClicks_falseWhenAlwaysOnEnabled() { + when(mAmbientDisplayConfiguration.alwaysOnEnabled(anyInt())).thenReturn(true); + assertThat(mController.canHandleClicks()).isFalse(); + } + + @Test + public void canHandleClicks_trueWhenAlwaysOnDisabled() { + when(mAmbientDisplayConfiguration.alwaysOnEnabled(anyInt())).thenReturn(false); + assertThat(mController.canHandleClicks()).isTrue(); + } }