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
This commit is contained in:
Doris Ling
2017-09-20 15:36:14 -07:00
parent ac040e3b1f
commit 308a2d93fb
2 changed files with 10 additions and 10 deletions

View File

@@ -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);
}

View File

@@ -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();