From 7b9e3fdd087979fc6df3930b73cc694a2c3b1824 Mon Sep 17 00:00:00 2001 From: Daniel Sheng Date: Thu, 4 May 2017 15:14:39 -0700 Subject: [PATCH] Camera lift preference now saves correctly Bug: 37751057 Test: manual + make RunSettingsRoboTests Fixed issue where camera lift preference was saving the opposite value of what it was supposed to. Added test to cover saving of value on preference change. Change-Id: I2d2c454eb478afb7f73519f9f05c9a9a1933938b --- ...CameraLiftTriggerPreferenceController.java | 2 +- ...raLiftTriggerPreferenceControllerTest.java | 22 +++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/gestures/CameraLiftTriggerPreferenceController.java b/src/com/android/settings/gestures/CameraLiftTriggerPreferenceController.java index 3035889da0f..3492099e747 100644 --- a/src/com/android/settings/gestures/CameraLiftTriggerPreferenceController.java +++ b/src/com/android/settings/gestures/CameraLiftTriggerPreferenceController.java @@ -57,7 +57,7 @@ public class CameraLiftTriggerPreferenceController extends GesturePreferenceCont public boolean onPreferenceChange(Preference preference, Object newValue) { boolean enabled = (boolean) newValue; Settings.Secure.putInt(mContext.getContentResolver(), - Settings.Secure.CAMERA_LIFT_TRIGGER_ENABLED, enabled ? 0 : 1); + Settings.Secure.CAMERA_LIFT_TRIGGER_ENABLED, enabled ? 1 : 0); return true; } diff --git a/tests/robotests/src/com/android/settings/gestures/CameraLiftTriggerPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/CameraLiftTriggerPreferenceControllerTest.java index 2f12a01d9a7..3ea26abfeb0 100644 --- a/tests/robotests/src/com/android/settings/gestures/CameraLiftTriggerPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/gestures/CameraLiftTriggerPreferenceControllerTest.java @@ -100,4 +100,26 @@ public class CameraLiftTriggerPreferenceControllerTest { assertThat(mController.isSwitchPrefEnabled()).isTrue(); } + + @Test + public void testEnablePreference_shouldSetSetting() { + final Context context = RuntimeEnvironment.application; + mController = new CameraLiftTriggerPreferenceController(context, null, + KEY_CAMERA_LIFT_TRIGGER); + mController.onPreferenceChange(null, true); + + assertThat(Settings.Secure.getInt(context.getContentResolver(), + CAMERA_LIFT_TRIGGER_ENABLED, 0)).isEqualTo(1); + } + + @Test + public void testDisablePreference_shouldClearSetting() { + final Context context = RuntimeEnvironment.application; + mController = new CameraLiftTriggerPreferenceController(context, null, + KEY_CAMERA_LIFT_TRIGGER); + mController.onPreferenceChange(null, false); + + assertThat(Settings.Secure.getInt(context.getContentResolver(), + CAMERA_LIFT_TRIGGER_ENABLED, 1)).isEqualTo(0); + } }