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;
}
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);
}
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;
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)
@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);
prefs.edit().putBoolean(
DoubleTapScreenSettings.PREF_KEY_SUGGESTION_COMPLETE, true).commit();
- assertThat(DoubleTapScreenPreferenceController.isSuggestionComplete(context, prefs))
- .isTrue();
+ assertThat(DoubleTapScreenPreferenceController.isSuggestionComplete(
+ mAmbientDisplayConfiguration, prefs)).isTrue();
}
}