diff --git a/src/com/android/settings/gestures/DoubleTapScreenPreferenceController.java b/src/com/android/settings/gestures/DoubleTapScreenPreferenceController.java index deffa97a270..5412f368ad5 100644 --- a/src/com/android/settings/gestures/DoubleTapScreenPreferenceController.java +++ b/src/com/android/settings/gestures/DoubleTapScreenPreferenceController.java @@ -22,6 +22,7 @@ import android.content.Intent; import android.content.SharedPreferences; import android.provider.Settings; import android.support.v7.preference.Preference; +import android.support.annotation.VisibleForTesting; import com.android.internal.hardware.AmbientDisplayConfiguration; import com.android.settings.R; @@ -55,8 +56,13 @@ public class DoubleTapScreenPreferenceController extends GesturePreferenceContro } public static boolean isSuggestionComplete(Context context, SharedPreferences prefs) { - AmbientDisplayConfiguration ambientConfig = new AmbientDisplayConfiguration(context); - return !ambientConfig.pulseOnDoubleTapAvailable() + return isSuggestionComplete(new AmbientDisplayConfiguration(context), prefs); + } + + @VisibleForTesting + static boolean isSuggestionComplete(AmbientDisplayConfiguration config, + SharedPreferences prefs) { + return !config.pulseOnDoubleTapAvailable() || prefs.getBoolean(DoubleTapScreenSettings.PREF_KEY_SUGGESTION_COMPLETE, false); } diff --git a/src/com/android/settings/gestures/PickupGesturePreferenceController.java b/src/com/android/settings/gestures/PickupGesturePreferenceController.java index 314cbc36a20..02107c123d3 100644 --- a/src/com/android/settings/gestures/PickupGesturePreferenceController.java +++ b/src/com/android/settings/gestures/PickupGesturePreferenceController.java @@ -24,6 +24,7 @@ import android.content.Intent; import android.content.SharedPreferences; import android.provider.Settings; import android.support.v7.preference.Preference; +import android.support.annotation.VisibleForTesting; import com.android.internal.hardware.AmbientDisplayConfiguration; import com.android.settings.R; @@ -90,7 +91,7 @@ public class PickupGesturePreferenceController extends GesturePreferenceControll @Override public boolean canHandleClicks() { - return mAmbientConfig.pulseOnPickupCanBeModified(mUserId); + return pulseOnPickupCanBeModified(); } @Override @@ -102,4 +103,9 @@ public class PickupGesturePreferenceController extends GesturePreferenceControll return new InlineSwitchPayload(SECURE_KEY, ResultPayload.SettingsSource.SECURE, ON /* onValue */, intent, isAvailable(), ON /* defaultValue */); } + + @VisibleForTesting + boolean pulseOnPickupCanBeModified() { + return mAmbientConfig.pulseOnPickupCanBeModified(mUserId); + } } diff --git a/tests/robotests/src/com/android/settings/gestures/AssistGestureSettingsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/AssistGestureSettingsPreferenceControllerTest.java index 7633ce902ff..40c4af3d920 100644 --- a/tests/robotests/src/com/android/settings/gestures/AssistGestureSettingsPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/gestures/AssistGestureSettingsPreferenceControllerTest.java @@ -45,7 +45,7 @@ import org.robolectric.annotation.Config; @RunWith(SettingsRobolectricTestRunner.class) @Config( manifest = TestConfig.MANIFEST_PATH, - sdk = TestConfig.SDK_VERSION, + sdk = TestConfig.SDK_VERSION_O, shadows = ShadowSecureSettings.class ) public class AssistGestureSettingsPreferenceControllerTest { diff --git a/tests/robotests/src/com/android/settings/gestures/AssistGestureSettingsTest.java b/tests/robotests/src/com/android/settings/gestures/AssistGestureSettingsTest.java index 041b7e082b7..b2bd27e61a8 100644 --- a/tests/robotests/src/com/android/settings/gestures/AssistGestureSettingsTest.java +++ b/tests/robotests/src/com/android/settings/gestures/AssistGestureSettingsTest.java @@ -41,7 +41,7 @@ import org.robolectric.shadows.ShadowApplication; import java.util.List; @RunWith(SettingsRobolectricTestRunner.class) -@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O) public class AssistGestureSettingsTest { @Mock(answer = Answers.RETURNS_DEEP_STUBS) private Context mContext; diff --git a/tests/robotests/src/com/android/settings/gestures/DoubleTapPowerPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/DoubleTapPowerPreferenceControllerTest.java index 1f5ca209c38..12ecc902350 100644 --- a/tests/robotests/src/com/android/settings/gestures/DoubleTapPowerPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/gestures/DoubleTapPowerPreferenceControllerTest.java @@ -48,7 +48,7 @@ import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; @RunWith(SettingsRobolectricTestRunner.class) -@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION, shadows = { +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O, shadows = { SettingsShadowResources.class }) public class DoubleTapPowerPreferenceControllerTest { diff --git a/tests/robotests/src/com/android/settings/gestures/DoubleTapPowerSettingsTest.java b/tests/robotests/src/com/android/settings/gestures/DoubleTapPowerSettingsTest.java index b9635a745e7..e322b0776c9 100644 --- a/tests/robotests/src/com/android/settings/gestures/DoubleTapPowerSettingsTest.java +++ b/tests/robotests/src/com/android/settings/gestures/DoubleTapPowerSettingsTest.java @@ -32,7 +32,7 @@ import java.util.List; import static com.google.common.truth.Truth.assertThat; @RunWith(SettingsRobolectricTestRunner.class) -@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O) public class DoubleTapPowerSettingsTest { private DoubleTapPowerSettings mSettings; diff --git a/tests/robotests/src/com/android/settings/gestures/DoubleTapScreenPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/DoubleTapScreenPreferenceControllerTest.java index 2565dc845db..72a77b0a392 100644 --- a/tests/robotests/src/com/android/settings/gestures/DoubleTapScreenPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/gestures/DoubleTapScreenPreferenceControllerTest.java @@ -17,6 +17,7 @@ package com.android.settings.gestures; import static com.google.common.truth.Truth.assertThat; + import static org.mockito.Matchers.anyInt; import static org.mockito.Mockito.when; @@ -46,9 +47,7 @@ import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; @RunWith(SettingsRobolectricTestRunner.class) -@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION, shadows = { - SettingsShadowResources.class -}) +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O) public class DoubleTapScreenPreferenceControllerTest { @Mock(answer = Answers.RETURNS_DEEP_STUBS) @@ -139,25 +138,19 @@ public class DoubleTapScreenPreferenceControllerTest { @Test public void isSuggestionCompleted_ambientDisplay_falseWhenNotVisited() { - SettingsShadowResources.overrideResource( - com.android.internal.R.string.config_dozeComponent, "foo"); - SettingsShadowResources.overrideResource( - com.android.internal.R.string.config_dozeDoubleTapSensorType, "bar"); + when(mAmbientDisplayConfiguration.pulseOnDoubleTapAvailable()).thenReturn(true); // No stored value in shared preferences if not visited yet. final Context context = RuntimeEnvironment.application; final SharedPreferences prefs = new SuggestionFeatureProviderImpl(context) .getSharedPrefs(context); - assertThat(DoubleTapScreenPreferenceController.isSuggestionComplete(context, prefs)) - .isFalse(); + assertThat(DoubleTapScreenPreferenceController.isSuggestionComplete( + mAmbientDisplayConfiguration, prefs)).isFalse(); } @Test public void isSuggestionCompleted_ambientDisplay_trueWhenVisited() { - SettingsShadowResources.overrideResource( - com.android.internal.R.string.config_dozeComponent, "foo"); - SettingsShadowResources.overrideResource( - com.android.internal.R.string.config_dozeDoubleTapSensorType, "bar"); + when(mAmbientDisplayConfiguration.pulseOnDoubleTapAvailable()).thenReturn(false); final Context context = RuntimeEnvironment.application; final SharedPreferences prefs = new SuggestionFeatureProviderImpl(context) .getSharedPrefs(context); @@ -165,7 +158,7 @@ public class DoubleTapScreenPreferenceControllerTest { prefs.edit().putBoolean( DoubleTapScreenSettings.PREF_KEY_SUGGESTION_COMPLETE, true).commit(); - assertThat(DoubleTapScreenPreferenceController.isSuggestionComplete(context, prefs)) - .isTrue(); + assertThat(DoubleTapScreenPreferenceController.isSuggestionComplete( + mAmbientDisplayConfiguration, prefs)).isTrue(); } } diff --git a/tests/robotests/src/com/android/settings/gestures/DoubleTapScreenSettingsTest.java b/tests/robotests/src/com/android/settings/gestures/DoubleTapScreenSettingsTest.java index 3d56d7141ce..e29bf7947c8 100644 --- a/tests/robotests/src/com/android/settings/gestures/DoubleTapScreenSettingsTest.java +++ b/tests/robotests/src/com/android/settings/gestures/DoubleTapScreenSettingsTest.java @@ -32,7 +32,7 @@ import java.util.List; import static com.google.common.truth.Truth.assertThat; @RunWith(SettingsRobolectricTestRunner.class) -@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O) public class DoubleTapScreenSettingsTest { private DoubleTapScreenSettings mSettings; diff --git a/tests/robotests/src/com/android/settings/gestures/DoubleTwistGestureSettingsTest.java b/tests/robotests/src/com/android/settings/gestures/DoubleTwistGestureSettingsTest.java index 236896a2a5a..081ff797b6b 100644 --- a/tests/robotests/src/com/android/settings/gestures/DoubleTwistGestureSettingsTest.java +++ b/tests/robotests/src/com/android/settings/gestures/DoubleTwistGestureSettingsTest.java @@ -32,7 +32,7 @@ import java.util.List; import static com.google.common.truth.Truth.assertThat; @RunWith(SettingsRobolectricTestRunner.class) -@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O) public class DoubleTwistGestureSettingsTest { private DoubleTwistGestureSettings mSettings; diff --git a/tests/robotests/src/com/android/settings/gestures/DoubleTwistPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/DoubleTwistPreferenceControllerTest.java index a7516fc9ae0..b48889fbbff 100644 --- a/tests/robotests/src/com/android/settings/gestures/DoubleTwistPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/gestures/DoubleTwistPreferenceControllerTest.java @@ -51,7 +51,7 @@ import java.util.ArrayList; import java.util.List; @RunWith(SettingsRobolectricTestRunner.class) -@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION, shadows = { +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O, shadows = { SettingsShadowResources.class }) public class DoubleTwistPreferenceControllerTest { diff --git a/tests/robotests/src/com/android/settings/gestures/GesturesSettingsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/GesturesSettingsPreferenceControllerTest.java index b12b3736d2c..dcc06af94d2 100644 --- a/tests/robotests/src/com/android/settings/gestures/GesturesSettingsPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/gestures/GesturesSettingsPreferenceControllerTest.java @@ -48,7 +48,7 @@ import java.util.ArrayList; import java.util.List; @RunWith(SettingsRobolectricTestRunner.class) -@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O) public class GesturesSettingsPreferenceControllerTest { @Mock(answer = Answers.RETURNS_DEEP_STUBS) diff --git a/tests/robotests/src/com/android/settings/gestures/PickupGesturePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/PickupGesturePreferenceControllerTest.java index 8757a65906d..ffd4928cb61 100644 --- a/tests/robotests/src/com/android/settings/gestures/PickupGesturePreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/gestures/PickupGesturePreferenceControllerTest.java @@ -18,6 +18,8 @@ package com.android.settings.gestures; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Matchers.anyInt; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.spy; import static org.mockito.Mockito.when; import android.content.ContentResolver; @@ -46,7 +48,7 @@ import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; @RunWith(SettingsRobolectricTestRunner.class) -@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION, shadows = { +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O, shadows = { SettingsShadowResources.class }) public class PickupGesturePreferenceControllerTest { @@ -105,14 +107,16 @@ public class PickupGesturePreferenceControllerTest { @Test public void testCanHandleClicks_configIsSet_shouldReturnTrue() { - when(mAmbientDisplayConfiguration.pulseOnPickupCanBeModified(anyInt())).thenReturn(true); + mController = spy(mController); + doReturn(true).when(mController).pulseOnPickupCanBeModified(); assertThat(mController.canHandleClicks()).isTrue(); } @Test public void testCanHandleClicks_configIsNotSet_shouldReturnFalse() { - when(mAmbientDisplayConfiguration.pulseOnPickupCanBeModified(anyInt())).thenReturn(false); + mController = spy(mController); + doReturn(false).when(mController).pulseOnPickupCanBeModified(); assertThat(mController.canHandleClicks()).isFalse(); } diff --git a/tests/robotests/src/com/android/settings/gestures/PickupGestureSettingsTest.java b/tests/robotests/src/com/android/settings/gestures/PickupGestureSettingsTest.java index 2c4a1c4e26c..05c88babc11 100644 --- a/tests/robotests/src/com/android/settings/gestures/PickupGestureSettingsTest.java +++ b/tests/robotests/src/com/android/settings/gestures/PickupGestureSettingsTest.java @@ -32,7 +32,7 @@ import java.util.List; import static com.google.common.truth.Truth.assertThat; @RunWith(SettingsRobolectricTestRunner.class) -@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O) public class PickupGestureSettingsTest { private PickupGestureSettings mSettings; diff --git a/tests/robotests/src/com/android/settings/gestures/SwipeToNotificationPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/SwipeToNotificationPreferenceControllerTest.java index f3cc2cae3a8..f535a9972e5 100644 --- a/tests/robotests/src/com/android/settings/gestures/SwipeToNotificationPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/gestures/SwipeToNotificationPreferenceControllerTest.java @@ -41,7 +41,7 @@ import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowApplication; @RunWith(SettingsRobolectricTestRunner.class) -@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O) public class SwipeToNotificationPreferenceControllerTest { @Mock(answer = Answers.RETURNS_DEEP_STUBS) diff --git a/tests/robotests/src/com/android/settings/gestures/SwipeToNotificationSettingsTest.java b/tests/robotests/src/com/android/settings/gestures/SwipeToNotificationSettingsTest.java index 0b329d3f2b7..7e3b90e45c3 100644 --- a/tests/robotests/src/com/android/settings/gestures/SwipeToNotificationSettingsTest.java +++ b/tests/robotests/src/com/android/settings/gestures/SwipeToNotificationSettingsTest.java @@ -37,7 +37,7 @@ import org.robolectric.shadows.ShadowApplication; import java.util.List; @RunWith(SettingsRobolectricTestRunner.class) -@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O) public class SwipeToNotificationSettingsTest { @Mock