Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9b117ef6 authored by Jeffrey Huang's avatar Jeffrey Huang Committed by Android (Google) Code Review
Browse files

Merge "Lazy load SettingsObserver"

parents ec234edc 17edf20f
Loading
Loading
Loading
Loading
+9 −5
Original line number Diff line number Diff line
@@ -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
+2 −0
Original line number Diff line number Diff line
@@ -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);