From b0eab98754735c567f683993f718079072117a6b Mon Sep 17 00:00:00 2001 From: Fan Zhang Date: Tue, 10 Jul 2018 11:25:18 -0700 Subject: [PATCH] Update auto brightness pref summary to show on/off Change-Id: I7914957cc9dbffcc12e34fc714bb9c37783a4f33 Fixes: 109885418 Test: robotests --- res/values/strings.xml | 6 +- res/xml/display_settings.xml | 2 +- .../AutoBrightnessPreferenceController.java | 8 +++ ...utoBrightnessPreferenceControllerTest.java | 61 ++++++++++++------- 4 files changed, 52 insertions(+), 25 deletions(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index b88c6118a8e..a17a0654299 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -2568,9 +2568,9 @@ Adjust the brightness of the screen Adaptive brightness - - Optimize brightness level for available light - + + On + Off Preferred brightness is very low diff --git a/res/xml/display_settings.xml b/res/xml/display_settings.xml index bbf2883c4fb..0686bdb1bf8 100644 --- a/res/xml/display_settings.xml +++ b/res/xml/display_settings.xml @@ -42,7 +42,7 @@ diff --git a/src/com/android/settings/display/AutoBrightnessPreferenceController.java b/src/com/android/settings/display/AutoBrightnessPreferenceController.java index 3661056667b..3b7a076f0f3 100644 --- a/src/com/android/settings/display/AutoBrightnessPreferenceController.java +++ b/src/com/android/settings/display/AutoBrightnessPreferenceController.java @@ -21,6 +21,7 @@ import android.content.Context; import android.provider.Settings; import android.text.TextUtils; +import com.android.settings.R; import com.android.settings.core.TogglePreferenceController; @@ -59,4 +60,11 @@ public class AutoBrightnessPreferenceController extends TogglePreferenceControll public boolean isSliceable() { return TextUtils.equals(getPreferenceKey(), "auto_brightness"); } + + @Override + public CharSequence getSummary() { + return mContext.getText(isChecked() + ? R.string.auto_brightness_summary_on + : R.string.auto_brightness_summary_off); + } } \ No newline at end of file diff --git a/tests/robotests/src/com/android/settings/display/AutoBrightnessPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/AutoBrightnessPreferenceControllerTest.java index 188cb92a646..5ceb70f2f86 100644 --- a/tests/robotests/src/com/android/settings/display/AutoBrightnessPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/display/AutoBrightnessPreferenceControllerTest.java @@ -25,6 +25,7 @@ import android.content.ContentResolver; import android.content.Context; import android.provider.Settings; +import com.android.settings.R; import com.android.settings.testutils.SettingsRobolectricTestRunner; import org.junit.Before; @@ -52,50 +53,68 @@ public class AutoBrightnessPreferenceControllerTest { } @Test - public void testOnPreferenceChange_TurnOnAuto_ReturnAuto() { + public void onPreferenceChange_TurnOnAuto_ReturnAuto() { mController.onPreferenceChange(null, true); final int mode = Settings.System.getInt(mContentResolver, SCREEN_BRIGHTNESS_MODE, - SCREEN_BRIGHTNESS_MODE_MANUAL); + SCREEN_BRIGHTNESS_MODE_MANUAL); assertThat(mode).isEqualTo(SCREEN_BRIGHTNESS_MODE_AUTOMATIC); } @Test - public void testOnPreferenceChange_TurnOffAuto_ReturnManual() { + public void onPreferenceChange_TurnOffAuto_ReturnManual() { mController.onPreferenceChange(null, false); final int mode = Settings.System.getInt(mContentResolver, SCREEN_BRIGHTNESS_MODE, - SCREEN_BRIGHTNESS_MODE_AUTOMATIC); + SCREEN_BRIGHTNESS_MODE_AUTOMATIC); assertThat(mode).isEqualTo(SCREEN_BRIGHTNESS_MODE_MANUAL); } @Test - public void testSetValue_updatesCorrectly() { - boolean newValue = true; - Settings.System.putInt(mContentResolver, SCREEN_BRIGHTNESS_MODE, - SCREEN_BRIGHTNESS_MODE_MANUAL); + public void setChecked_updatesCorrectly() { + mController.setChecked(true); - mController.setChecked(newValue); - boolean updatedValue = Settings.System.getInt(mContentResolver, SCREEN_BRIGHTNESS_MODE, -1) - != SCREEN_BRIGHTNESS_MODE_MANUAL; + assertThat(mController.isChecked()).isTrue(); - assertThat(updatedValue).isEqualTo(newValue); + mController.setChecked(false); + + assertThat(mController.isChecked()).isFalse(); } @Test - public void testGetValue_correctValueReturned() { + public void isChecked_no() { Settings.System.putInt(mContentResolver, SCREEN_BRIGHTNESS_MODE, - SCREEN_BRIGHTNESS_MODE_AUTOMATIC); + SCREEN_BRIGHTNESS_MODE_MANUAL); - int newValue = mController.isChecked() ? - SCREEN_BRIGHTNESS_MODE_AUTOMATIC - : SCREEN_BRIGHTNESS_MODE_MANUAL; - - assertThat(newValue).isEqualTo(SCREEN_BRIGHTNESS_MODE_AUTOMATIC); + assertThat(mController.isChecked()).isFalse(); } @Test - public void isSliceableCorrectKey_returnsTrue() { + public void isChecked_yes() { + Settings.System.putInt(mContentResolver, SCREEN_BRIGHTNESS_MODE, + SCREEN_BRIGHTNESS_MODE_AUTOMATIC); + + assertThat(mController.isChecked()).isTrue(); + } + + @Test + public void getSummary_settingOn_shouldReturnOnSummary() { + mController.setChecked(true); + + assertThat(mController.getSummary()) + .isEqualTo(mContext.getText(R.string.auto_brightness_summary_on)); + } + + @Test + public void getSummary_settingOff_shouldReturnOffSummary() { + mController.setChecked(false); + + assertThat(mController.getSummary()) + .isEqualTo(mContext.getText(R.string.auto_brightness_summary_off)); + } + + @Test + public void isSliceable_correctKey_returnsTrue() { final AutoBrightnessPreferenceController controller = new AutoBrightnessPreferenceController(mContext, "auto_brightness"); @@ -103,7 +122,7 @@ public class AutoBrightnessPreferenceControllerTest { } @Test - public void isSliceableIncorrectKey_returnsFalse() { + public void isSliceable_incorrectKey_returnsFalse() { final AutoBrightnessPreferenceController controller = new AutoBrightnessPreferenceController(mContext, "bad_key"); assertThat(controller.isSliceable()).isFalse();