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

Commit b56a6e06 authored by Jay Aliomer's avatar Jay Aliomer Committed by Automerger Merge Worker
Browse files

Revert "Revert "Unable to select twilight scheduling after enabling location"" am: dba11e82

Change-Id: I7e9c33644e76e7712d0becfdacfdbf1cfdd26b83
parents 565cc81e dba11e82
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -74,7 +74,7 @@ public class NightDisplayAutoModePreferenceController extends BasePreferenceCont
        if (String.valueOf(ColorDisplayManager.AUTO_MODE_TWILIGHT).equals(newValue)
                && !mLocationManager.isLocationEnabled()) {
            TwilightLocationDialog.show(mContext);
            return false;
            return true;
        }
        return mColorDisplayManager.setNightDisplayAutoMode(Integer.parseInt((String) newValue));
    }
+8 −8
Original line number Diff line number Diff line
@@ -33,7 +33,7 @@ import com.android.settings.display.TwilightLocationDialog;
 */
public class DarkModeScheduleSelectorController extends BasePreferenceController
        implements Preference.OnPreferenceChangeListener {

    private static final String TAG = DarkModeScheduleSelectorController.class.getSimpleName();
    private final UiModeManager mUiModeManager;
    private PowerManager mPowerManager;
    private DropDownPreference mPreference;
@@ -51,7 +51,6 @@ public class DarkModeScheduleSelectorController extends BasePreferenceController
    public void displayPreference(PreferenceScreen screen) {
        super.displayPreference(screen);
        mPreference = screen.findPreference(getPreferenceKey());
        init();
    }

    @Override
@@ -59,7 +58,8 @@ public class DarkModeScheduleSelectorController extends BasePreferenceController
        return BasePreferenceController.AVAILABLE;
    }

    private void init() {
    @Override
    public final void updateState(Preference preference) {
        final boolean batterySaver = mPowerManager.isPowerSaveMode();
        mPreference.setEnabled(!batterySaver);
        mCurrentMode = getCurrentMode();
@@ -87,25 +87,25 @@ public class DarkModeScheduleSelectorController extends BasePreferenceController
        if (newMode == mCurrentMode) {
            return false;
        }
        mCurrentMode = newMode;
        if (mCurrentMode == mPreference.findIndexOfValue(
        if (newMode == mPreference.findIndexOfValue(
                mContext.getString(R.string.dark_ui_auto_mode_never))) {
            boolean active = (mContext.getResources().getConfiguration().uiMode
                    & Configuration.UI_MODE_NIGHT_YES) != 0;
            int mode = active ? UiModeManager.MODE_NIGHT_YES
                    : UiModeManager.MODE_NIGHT_NO;
            mUiModeManager.setNightMode(mode);
        } else if (mCurrentMode == mPreference.findIndexOfValue(
        } else if (newMode == mPreference.findIndexOfValue(
                mContext.getString(R.string.dark_ui_auto_mode_auto))) {
            if (!mLocationManager.isLocationEnabled()) {
                TwilightLocationDialog.show(mContext);
                return false;
                return true;
            }
            mUiModeManager.setNightMode(UiModeManager.MODE_NIGHT_AUTO);
        } else if (mCurrentMode == mPreference.findIndexOfValue(
        } else if (newMode == mPreference.findIndexOfValue(
                mContext.getString(R.string.dark_ui_auto_mode_custom))) {
            mUiModeManager.setNightMode(UiModeManager.MODE_NIGHT_CUSTOM);
        }
        mCurrentMode = newMode;
        return true;
    }
}
+3 −0
Original line number Diff line number Diff line
@@ -98,6 +98,7 @@ public class DarkModeScheduleSelectorControllerTest {
    public void nightMode_updateStateNone_dropDownValueChangedToNone() {
        when(mUiService.getNightMode()).thenReturn(UiModeManager.MODE_NIGHT_YES);
        mController.displayPreference(mScreen);
        mController.updateState(mScreen);
        verify(mPreference).setValueIndex(0);
    }

@@ -105,6 +106,7 @@ public class DarkModeScheduleSelectorControllerTest {
    public void nightMode_updateStateNone_dropDownValueChangedToAuto() {
        when(mUiService.getNightMode()).thenReturn(UiModeManager.MODE_NIGHT_AUTO);
        mController.displayPreference(mScreen);
        mController.updateState(mScreen);
        verify(mPreference).setValueIndex(1);
    }

@@ -112,6 +114,7 @@ public class DarkModeScheduleSelectorControllerTest {
    public void batterySaver_dropDown_disabledSelector() {
        when(mPM.isPowerSaveMode()).thenReturn(true);
        mController.displayPreference(mScreen);
        mController.updateState(mScreen);
        verify(mPreference).setEnabled(eq(false));
    }
}