Merge "Lazy load SettingsObserver"
This commit is contained in:
committed by
Android (Google) Code Review
commit
9b117ef690
@@ -56,7 +56,6 @@ public class StayAwakePreferenceController extends DeveloperOptionsPreferenceCon
|
||||
|
||||
public StayAwakePreferenceController(Context context, Lifecycle lifecycle) {
|
||||
super(context);
|
||||
mSettingsObserver = new SettingsObserver();
|
||||
|
||||
if (lifecycle != null) {
|
||||
lifecycle.addObserver(this);
|
||||
@@ -99,16 +98,21 @@ public class StayAwakePreferenceController extends DeveloperOptionsPreferenceCon
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
if (mPreference != null) {
|
||||
mSettingsObserver.register(true /* register */);
|
||||
if (mPreference == null) {
|
||||
return;
|
||||
}
|
||||
if (mSettingsObserver == null) {
|
||||
mSettingsObserver = new SettingsObserver();
|
||||
}
|
||||
mSettingsObserver.register(true /* register */);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPause() {
|
||||
if (mPreference != null) {
|
||||
mSettingsObserver.register(false /* unregister */);
|
||||
if (mPreference == null || mSettingsObserver == null) {
|
||||
return;
|
||||
}
|
||||
mSettingsObserver.register(false /* unregister */);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -123,6 +123,7 @@ public class StayAwakePreferenceControllerTest {
|
||||
public void observerOnChangeCalledWithSameUri_preferenceShouldBeUpdated() {
|
||||
Settings.System.putInt(mContentResolver, Settings.Global.STAY_ON_WHILE_PLUGGED_IN,
|
||||
StayAwakePreferenceController.SETTING_VALUE_ON);
|
||||
mController.onResume();
|
||||
mController.mSettingsObserver.onChange(false,
|
||||
Settings.Global.getUriFor(Settings.Global.STAY_ON_WHILE_PLUGGED_IN));
|
||||
|
||||
@@ -133,6 +134,7 @@ public class StayAwakePreferenceControllerTest {
|
||||
public void observerOnChangeCalledWithDifferentUri_preferenceShouldNotBeUpdated() {
|
||||
Settings.System.putInt(mContentResolver, Settings.Global.STAY_ON_WHILE_PLUGGED_IN,
|
||||
StayAwakePreferenceController.SETTING_VALUE_ON);
|
||||
mController.onResume();
|
||||
mController.mSettingsObserver.onChange(false, null);
|
||||
|
||||
verify(mPreference, never()).setChecked(true);
|
||||
|
Reference in New Issue
Block a user