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:
jeffreyhuang
2017-10-16 16:56:26 -07:00
parent 32b0f1d486
commit 17edf20fa5
2 changed files with 11 additions and 5 deletions

View File

@@ -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