Lazy load SettingsObserver
- Lazy load the SettingsObserver in StayAwakePreferenceController so that search indexing works properly Bug: 34203528 Test: make RunSettingsRoboTests -j40 Change-Id: I1e2afb106ce293f616143da3f37fbde3829f414f
This commit is contained in:
@@ -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