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

Commit 7bc6358a 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: I690971a567b813ff3bc6a7b96649da986e2fd31b
parents 722b1974 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));
    }
}