From f89327aa886c35665420b2aebaa459c415df40b8 Mon Sep 17 00:00:00 2001 From: Daniel Nishi Date: Tue, 8 Aug 2017 17:29:46 -0700 Subject: [PATCH] Expose the notification-swipe controls. Bug: 62022517 Test: Settings robotest Change-Id: I41368a9e03f38052bb47d04f6b98d56808d07e48 --- ...ipeToNotificationPreferenceController.java | 35 ++++++++-------- ...oNotificationPreferenceControllerTest.java | 40 ------------------- 2 files changed, 16 insertions(+), 59 deletions(-) diff --git a/src/com/android/settings/gestures/SwipeToNotificationPreferenceController.java b/src/com/android/settings/gestures/SwipeToNotificationPreferenceController.java index 3b5dbbad9a1..6f334a512f9 100644 --- a/src/com/android/settings/gestures/SwipeToNotificationPreferenceController.java +++ b/src/com/android/settings/gestures/SwipeToNotificationPreferenceController.java @@ -17,29 +17,24 @@ package com.android.settings.gestures; import android.content.Context; -import android.content.Intent; import android.content.SharedPreferences; import android.provider.Settings; import android.support.v7.preference.Preference; -import com.android.settings.R; import com.android.settings.Utils; -import com.android.settings.search.DatabaseIndexingUtils; -import com.android.settings.search.InlineSwitchPayload; -import com.android.settings.search.ResultPayload; import com.android.settingslib.core.lifecycle.Lifecycle; import static android.provider.Settings.Secure.SYSTEM_NAVIGATION_KEYS_ENABLED; public class SwipeToNotificationPreferenceController extends GesturePreferenceController { - private final int ON = 1; - private final int OFF = 0; + private static final int ON = 1; + private static final int OFF = 0; private static final String PREF_KEY_VIDEO = "gesture_swipe_down_fingerprint_video"; private final String mSwipeDownFingerPrefKey; - private final String SECURE_KEY = SYSTEM_NAVIGATION_KEYS_ENABLED; + private static final String SECURE_KEY = SYSTEM_NAVIGATION_KEYS_ENABLED; public SwipeToNotificationPreferenceController(Context context, Lifecycle lifecycle, String key) { @@ -70,28 +65,30 @@ public class SwipeToNotificationPreferenceController extends GesturePreferenceCo @Override public boolean isAvailable() { - return isGestureAvailable(mContext); + return SwipeToNotificationPreferenceController.isAvailable(mContext); } @Override public boolean onPreferenceChange(Preference preference, Object newValue) { - Settings.Secure.putInt(mContext.getContentResolver(), SECURE_KEY, - (boolean) newValue ? ON : OFF); + setSwipeToNotification(mContext, (boolean) newValue); return true; } @Override protected boolean isSwitchPrefEnabled() { - return Settings.Secure.getInt(mContext.getContentResolver(), SECURE_KEY, OFF) == ON; + return isSwipeToNotificationOn(mContext); } - @Override - public ResultPayload getResultPayload() { - final Intent intent = DatabaseIndexingUtils.buildSubsettingIntent(mContext, - SwipeToNotificationSettings.class.getName(), mSwipeDownFingerPrefKey, - mContext.getString(R.string.display_settings)); + public static boolean isSwipeToNotificationOn(Context context) { + return Settings.Secure.getInt(context.getContentResolver(), SECURE_KEY, OFF) == ON; + } - return new InlineSwitchPayload(SECURE_KEY, ResultPayload.SettingsSource.SECURE, - ON /* onValue */, intent, isAvailable(), OFF /* defaultValue */); + public static boolean setSwipeToNotification(Context context, boolean isEnabled) { + return Settings.Secure.putInt( + context.getContentResolver(), SECURE_KEY, isEnabled ? ON : OFF); + } + + public static boolean isAvailable(Context context) { + return isGestureAvailable(context); } } diff --git a/tests/robotests/src/com/android/settings/gestures/SwipeToNotificationPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/SwipeToNotificationPreferenceControllerTest.java index 3b92ed1c22a..d4fc014afb9 100644 --- a/tests/robotests/src/com/android/settings/gestures/SwipeToNotificationPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/gestures/SwipeToNotificationPreferenceControllerTest.java @@ -129,46 +129,6 @@ public class SwipeToNotificationPreferenceControllerTest { assertThat(mController.isSwitchPrefEnabled()).isFalse(); } - @Test - public void testPreferenceController_ProperResultPayloadType() { - when(mContext.getResources(). - getBoolean(com.android.internal.R.bool.config_supportSystemNavigationKeys)) - .thenReturn(true); - - SwipeToNotificationPreferenceController controller = - new SwipeToNotificationPreferenceController(mContext, null /* lifecycle */, - SYSTEM_NAVIGATION_KEYS_ENABLED); - ResultPayload payload = controller.getResultPayload(); - assertThat(payload).isInstanceOf(InlineSwitchPayload.class); - } - - @Test - @Config(shadows = ShadowSecureSettings.class) - public void testSetValue_updatesCorrectly() { - int newValue = 1; - ContentResolver resolver = mContext.getContentResolver(); - Settings.Secure.putInt(resolver, Settings.Secure.SYSTEM_NAVIGATION_KEYS_ENABLED, 0); - - ((InlinePayload) mController.getResultPayload()).setValue(mContext, newValue); - int updatedValue = Settings.Secure.getInt(resolver, - Settings.Secure.SYSTEM_NAVIGATION_KEYS_ENABLED, -1); - - assertThat(updatedValue).isEqualTo(newValue); - } - - @Test - @Config(shadows = ShadowSecureSettings.class) - public void testGetValue_correctValueReturned() { - int currentValue = 1; - ContentResolver resolver = mContext.getContentResolver(); - Settings.Secure.putInt(resolver, - Settings.Secure.SYSTEM_NAVIGATION_KEYS_ENABLED, currentValue); - - int newValue = ((InlinePayload) mController.getResultPayload()).getValue(mContext); - - assertThat(newValue).isEqualTo(currentValue); - } - private void stubFingerprintSupported(boolean enabled) { when(mPackageManager.hasSystemFeature(PackageManager.FEATURE_FINGERPRINT)) .thenReturn(enabled);