From 308a2d93fb4b9afaaf89c8bd35d176802cdcb7ed Mon Sep 17 00:00:00 2001 From: Doris Ling Date: Wed, 20 Sep 2017 15:36:14 -0700 Subject: [PATCH] Move listening to brightness changes to onStart/onStop. Currently, we register the brightness listener in onResume() and stop listening in onPause(). When we launch the brightness selection bar, the display settings is paused, and hence we don't get the brightness update, and only refresh the percentage when the brightness bar is dismissed. Moving the listening logic to onStart()/onStop() instead, so that we will get the updates all the time when the display settings is launched. Change-Id: I6ed9c8485fdf7721374baff5cea5f7011b63d7ea Fixes: 65981061 Test: make RunSettingsRoboTests --- .../display/BrightnessLevelPreferenceController.java | 10 +++++----- .../BrightnessLevelPreferenceControllerTest.java | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/com/android/settings/display/BrightnessLevelPreferenceController.java b/src/com/android/settings/display/BrightnessLevelPreferenceController.java index e1461dc9747..78fec32607a 100644 --- a/src/com/android/settings/display/BrightnessLevelPreferenceController.java +++ b/src/com/android/settings/display/BrightnessLevelPreferenceController.java @@ -34,13 +34,13 @@ import com.android.settings.core.PreferenceControllerMixin; import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.core.lifecycle.LifecycleObserver; -import com.android.settingslib.core.lifecycle.events.OnPause; -import com.android.settingslib.core.lifecycle.events.OnResume; +import com.android.settingslib.core.lifecycle.events.OnStart; +import com.android.settingslib.core.lifecycle.events.OnStop; import java.text.NumberFormat; public class BrightnessLevelPreferenceController extends AbstractPreferenceController implements - PreferenceControllerMixin, LifecycleObserver, OnResume, OnPause { + PreferenceControllerMixin, LifecycleObserver, OnStart, OnStop { private static final String TAG = "BrightnessPrefCtrl"; private static final String KEY_BRIGHTNESS = "brightness"; @@ -113,7 +113,7 @@ public class BrightnessLevelPreferenceController extends AbstractPreferenceContr } @Override - public void onResume() { + public void onStart() { mContentResolver.registerContentObserver(BRIGHTNESS_MODE_URI, false, mBrightnessObserver); mContentResolver.registerContentObserver(BRIGHTNESS_URI, false, mBrightnessObserver); mContentResolver.registerContentObserver(BRIGHTNESS_FOR_VR_URI, false, mBrightnessObserver); @@ -121,7 +121,7 @@ public class BrightnessLevelPreferenceController extends AbstractPreferenceContr } @Override - public void onPause() { + public void onStop() { mContentResolver.unregisterContentObserver(mBrightnessObserver); } diff --git a/tests/robotests/src/com/android/settings/display/BrightnessLevelPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/BrightnessLevelPreferenceControllerTest.java index d35adef7640..56b940bbdea 100644 --- a/tests/robotests/src/com/android/settings/display/BrightnessLevelPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/display/BrightnessLevelPreferenceControllerTest.java @@ -79,14 +79,14 @@ public class BrightnessLevelPreferenceControllerTest { } @Test - public void onResume_shouldRegisterObserver() { + public void onStart_shouldRegisterObserver() { Context context = RuntimeEnvironment.application; BrightnessLevelPreferenceController controller = new BrightnessLevelPreferenceController(context, null, mPowerManager); ShadowContentResolver shadowContentResolver = (ShadowContentResolver) ShadowExtractor.extract(context.getContentResolver()); - controller.onResume(); + controller.onStart(); assertThat(shadowContentResolver.getContentObservers( System.getUriFor(System.SCREEN_BRIGHTNESS_MODE))).isNotEmpty(); @@ -99,7 +99,7 @@ public class BrightnessLevelPreferenceControllerTest { } @Test - public void onPause_shouldUnregisterObserver() { + public void onStop_shouldUnregisterObserver() { Context context = RuntimeEnvironment.application; BrightnessLevelPreferenceController controller = new BrightnessLevelPreferenceController(context, null, mPowerManager); @@ -107,8 +107,8 @@ public class BrightnessLevelPreferenceControllerTest { (ShadowContentResolver) ShadowExtractor.extract(context.getContentResolver()); controller.displayPreference(mScreen); - controller.onResume(); - controller.onPause(); + controller.onStart(); + controller.onStop(); assertThat(shadowContentResolver.getContentObservers( System.getUriFor(System.SCREEN_BRIGHTNESS_MODE))).isEmpty();