Merge "Unable to select twilight scheduling after enabling location" into rvc-dev

This commit is contained in:
Jay Aliomer
2020-05-12 15:42:49 +00:00
committed by Android (Google) Code Review
2 changed files with 9 additions and 9 deletions

View File

@@ -74,7 +74,7 @@ public class NightDisplayAutoModePreferenceController extends BasePreferenceCont
if (String.valueOf(ColorDisplayManager.AUTO_MODE_TWILIGHT).equals(newValue) if (String.valueOf(ColorDisplayManager.AUTO_MODE_TWILIGHT).equals(newValue)
&& !mLocationManager.isLocationEnabled()) { && !mLocationManager.isLocationEnabled()) {
TwilightLocationDialog.show(mContext); TwilightLocationDialog.show(mContext);
return false; return true;
} }
return mColorDisplayManager.setNightDisplayAutoMode(Integer.parseInt((String) newValue)); return mColorDisplayManager.setNightDisplayAutoMode(Integer.parseInt((String) newValue));
} }

View File

@@ -33,7 +33,7 @@ import com.android.settings.display.TwilightLocationDialog;
*/ */
public class DarkModeScheduleSelectorController extends BasePreferenceController public class DarkModeScheduleSelectorController extends BasePreferenceController
implements Preference.OnPreferenceChangeListener { implements Preference.OnPreferenceChangeListener {
private static final String TAG = DarkModeScheduleSelectorController.class.getSimpleName();
private final UiModeManager mUiModeManager; private final UiModeManager mUiModeManager;
private PowerManager mPowerManager; private PowerManager mPowerManager;
private DropDownPreference mPreference; private DropDownPreference mPreference;
@@ -51,7 +51,6 @@ public class DarkModeScheduleSelectorController extends BasePreferenceController
public void displayPreference(PreferenceScreen screen) { public void displayPreference(PreferenceScreen screen) {
super.displayPreference(screen); super.displayPreference(screen);
mPreference = screen.findPreference(getPreferenceKey()); mPreference = screen.findPreference(getPreferenceKey());
init();
} }
@Override @Override
@@ -59,7 +58,8 @@ public class DarkModeScheduleSelectorController extends BasePreferenceController
return BasePreferenceController.AVAILABLE; return BasePreferenceController.AVAILABLE;
} }
private void init() { @Override
public final void updateState(Preference preference) {
final boolean batterySaver = mPowerManager.isPowerSaveMode(); final boolean batterySaver = mPowerManager.isPowerSaveMode();
mPreference.setEnabled(!batterySaver); mPreference.setEnabled(!batterySaver);
mCurrentMode = getCurrentMode(); mCurrentMode = getCurrentMode();
@@ -87,25 +87,25 @@ public class DarkModeScheduleSelectorController extends BasePreferenceController
if (newMode == mCurrentMode) { if (newMode == mCurrentMode) {
return false; return false;
} }
mCurrentMode = newMode; if (newMode == mPreference.findIndexOfValue(
if (mCurrentMode == mPreference.findIndexOfValue(
mContext.getString(R.string.dark_ui_auto_mode_never))) { mContext.getString(R.string.dark_ui_auto_mode_never))) {
boolean active = (mContext.getResources().getConfiguration().uiMode boolean active = (mContext.getResources().getConfiguration().uiMode
& Configuration.UI_MODE_NIGHT_YES) != 0; & Configuration.UI_MODE_NIGHT_YES) != 0;
int mode = active ? UiModeManager.MODE_NIGHT_YES int mode = active ? UiModeManager.MODE_NIGHT_YES
: UiModeManager.MODE_NIGHT_NO; : UiModeManager.MODE_NIGHT_NO;
mUiModeManager.setNightMode(mode); mUiModeManager.setNightMode(mode);
} else if (mCurrentMode == mPreference.findIndexOfValue( } else if (newMode == mPreference.findIndexOfValue(
mContext.getString(R.string.dark_ui_auto_mode_auto))) { mContext.getString(R.string.dark_ui_auto_mode_auto))) {
if (!mLocationManager.isLocationEnabled()) { if (!mLocationManager.isLocationEnabled()) {
TwilightLocationDialog.show(mContext); TwilightLocationDialog.show(mContext);
return false; return true;
} }
mUiModeManager.setNightMode(UiModeManager.MODE_NIGHT_AUTO); 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))) { mContext.getString(R.string.dark_ui_auto_mode_custom))) {
mUiModeManager.setNightMode(UiModeManager.MODE_NIGHT_CUSTOM); mUiModeManager.setNightMode(UiModeManager.MODE_NIGHT_CUSTOM);
} }
mCurrentMode = newMode;
return true; return true;
} }
} }