From 8e490b40390f3d5361d32a5884ec841f7c3b2da4 Mon Sep 17 00:00:00 2001 From: Lucas Dupin Date: Sat, 10 Feb 2018 18:18:19 -0800 Subject: [PATCH] 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 --- .../settings/display/AmbientDisplaySettings.java | 2 +- .../DoubleTapScreenPreferenceController.java | 5 +++++ .../DoubleTapScreenPreferenceControllerTest.java | 12 ++++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/display/AmbientDisplaySettings.java b/src/com/android/settings/display/AmbientDisplaySettings.java index 187325c0c7f..3cac078e5a3 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 5412f368ad5..aa08e6f21d7 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 8f06c40481a..74e1e5defd4 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(); + } }