Merge "Unable to select twilight scheduling after enabling location" into rvc-dev
This commit is contained in:
@@ -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));
|
||||||
}
|
}
|
||||||
|
@@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user