OSDN Git Service

Update DoubleTapScreenPrefCtrl to sdk 26
authorjeffreyhuang <jeffreyhuang@google.com>
Thu, 30 Nov 2017 19:50:00 +0000 (11:50 -0800)
committerjeffreyhuang <jeffreyhuang@google.com>
Thu, 30 Nov 2017 20:16:24 +0000 (12:16 -0800)
Test: make RunSettingsRoboTests -j40
Change-Id: Ia4ed886381e2758b7b1523648833fc57ca58a5b3

src/com/android/settings/gestures/DoubleTapScreenPreferenceController.java
tests/robotests/src/com/android/settings/gestures/DoubleTapScreenPreferenceControllerTest.java

index deffa97..5412f36 100644 (file)
@@ -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);
     }
 
index 2565dc8..72a77b0 100644 (file)
@@ -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();
     }
 }