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

Commit dba11e82 authored by Jay Aliomer's avatar Jay Aliomer
Browse files

Revert "Revert "Unable to select twilight scheduling after enabling location""

This reverts commit 78243834.
Bug: 153115261
Reason for revert: fixing tests

Change-Id: I497a2b83cbe3eaee5f5fb3eb4df73618130fc6e2
parent fa1e102a
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));
    }
}