Unable to select twilight scheduling after enabling location
Test: run settings tests
Change-Id: I74945dd69f0da9733ee0a5e27ab63852df9544e9
Bug: 153115261
diff --git a/src/com/android/settings/display/NightDisplayAutoModePreferenceController.java b/src/com/android/settings/display/NightDisplayAutoModePreferenceController.java
index fb2dbc3..ef11e00 100644
--- a/src/com/android/settings/display/NightDisplayAutoModePreferenceController.java
+++ b/src/com/android/settings/display/NightDisplayAutoModePreferenceController.java
@@ -74,7 +74,7 @@
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));
}
diff --git a/src/com/android/settings/display/darkmode/DarkModeScheduleSelectorController.java b/src/com/android/settings/display/darkmode/DarkModeScheduleSelectorController.java
index 6acaf82..2ac9a9f 100644
--- a/src/com/android/settings/display/darkmode/DarkModeScheduleSelectorController.java
+++ b/src/com/android/settings/display/darkmode/DarkModeScheduleSelectorController.java
@@ -33,7 +33,7 @@
*/
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 void displayPreference(PreferenceScreen screen) {
super.displayPreference(screen);
mPreference = screen.findPreference(getPreferenceKey());
- init();
}
@Override
@@ -59,7 +58,8 @@
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 @@
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;
}
}