Night display settings UI v2
Bug: 30155646 Change-Id: I912e90e5ec5e8d7426c68484da8396219a40c5ad
This commit is contained in:
@@ -2139,7 +2139,11 @@
|
||||
<!-- Night display screen, setting option name to enable night display (renamed "Night Light" with title caps). [CHAR LIMIT=30] -->
|
||||
<string name="night_display_title">Night Light</string>
|
||||
<!-- Night display screen, description of night display feature (renamed "Night Light" with title caps). [CHAR LIMIT=NONE] -->
|
||||
<string name="night_display_text">Night Light tints your screen red at night. This makes it easier to look at your screen or read in dim light, and may help you fall asleep more easily.</string>
|
||||
<string name="night_display_text">Night Light tints your screen red. This makes it easier to look at your screen or read in dim light, and may help you fall asleep more easily.</string>
|
||||
<!-- Night display screen, category title for settings to schedule when night display activates automatically. [CHAR LIMIT=30] -->
|
||||
<string name="night_display_category_schedule">Schedule</string>
|
||||
<!-- Night display screen, category title for settings to manually activate night display. [CHAR LIMIT=30] -->
|
||||
<string name="night_display_category_status">Status</string>
|
||||
<!-- Night display screen, setting option name to configure whether night display turn on/off automatically. [CHAR LIMIT=30] -->
|
||||
<string name="night_display_auto_mode_title">Turn on automatically</string>
|
||||
<!-- Night display screen, setting option value for night display to *never* turn on/off automatically. [CHAR LIMIT=30] -->
|
||||
|
@@ -36,6 +36,7 @@
|
||||
android:key="night_display"
|
||||
android:title="@string/night_display_title"
|
||||
android:fragment="com.android.settings.display.NightDisplaySettings"
|
||||
android:widgetLayout="@null"
|
||||
settings:keywords="@string/keywords_display_night_display" />
|
||||
|
||||
<!-- Hide night mode for now
|
||||
|
@@ -19,19 +19,32 @@
|
||||
xmlns:settings="http://schemas.android.com/apk/res-auto"
|
||||
android:title="@string/night_display_title">
|
||||
|
||||
<DropDownPreference
|
||||
android:key="night_display_auto_mode"
|
||||
android:title="@string/night_display_auto_mode_title"
|
||||
android:persistent="false"
|
||||
android:summary="%s" />
|
||||
<PreferenceCategory
|
||||
android:title="@string/night_display_category_schedule">
|
||||
|
||||
<Preference
|
||||
android:key="night_display_start_time"
|
||||
android:title="@string/night_display_start_time_title" />
|
||||
<DropDownPreference
|
||||
android:key="night_display_auto_mode"
|
||||
android:title="@string/night_display_auto_mode_title"
|
||||
android:summary="%s" />
|
||||
|
||||
<Preference
|
||||
android:key="night_display_end_time"
|
||||
android:title="@string/night_display_end_time_title" />
|
||||
<Preference
|
||||
android:key="night_display_start_time"
|
||||
android:title="@string/night_display_start_time_title" />
|
||||
|
||||
<Preference
|
||||
android:key="night_display_end_time"
|
||||
android:title="@string/night_display_end_time_title" />
|
||||
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory
|
||||
android:title="@string/night_display_category_status">
|
||||
|
||||
<com.android.settings.display.NightDisplayPreference
|
||||
android:key="night_display_activated"
|
||||
android:title="@string/night_display_title" />
|
||||
|
||||
</PreferenceCategory>
|
||||
|
||||
<com.android.settings.fuelgauge.WallOfTextPreference
|
||||
android:summary="@string/night_display_text"
|
||||
|
@@ -15,7 +15,7 @@
|
||||
package com.android.settings.display;
|
||||
|
||||
import android.content.Context;
|
||||
import android.support.v7.preference.Preference;
|
||||
import android.support.v14.preference.SwitchPreference;
|
||||
import android.util.AttributeSet;
|
||||
|
||||
import com.android.internal.app.NightDisplayController;
|
||||
@@ -25,7 +25,8 @@ import java.text.DateFormat;
|
||||
import java.util.Calendar;
|
||||
import java.util.TimeZone;
|
||||
|
||||
public class NightDisplayPreference extends Preference implements NightDisplayController.Callback {
|
||||
public class NightDisplayPreference extends SwitchPreference
|
||||
implements NightDisplayController.Callback {
|
||||
|
||||
private NightDisplayController mController;
|
||||
private DateFormat mTimeFormatter;
|
||||
|
@@ -22,15 +22,13 @@ import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import android.support.v7.preference.DropDownPreference;
|
||||
import android.support.v7.preference.Preference;
|
||||
import android.widget.Switch;
|
||||
import android.support.v7.preference.TwoStatePreference;
|
||||
import android.widget.TimePicker;
|
||||
|
||||
import com.android.internal.app.NightDisplayController;
|
||||
import com.android.internal.logging.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.SettingsPreferenceFragment;
|
||||
import com.android.settings.widget.SwitchBar;
|
||||
|
||||
import java.text.DateFormat;
|
||||
import java.util.Calendar;
|
||||
@@ -39,14 +37,13 @@ import java.util.TimeZone;
|
||||
/**
|
||||
* Settings screen for Night display.
|
||||
*/
|
||||
public class NightDisplaySettings extends SettingsPreferenceFragment implements
|
||||
NightDisplayController.Callback,
|
||||
Preference.OnPreferenceChangeListener,
|
||||
SwitchBar.OnSwitchChangeListener {
|
||||
public class NightDisplaySettings extends SettingsPreferenceFragment
|
||||
implements NightDisplayController.Callback, Preference.OnPreferenceChangeListener {
|
||||
|
||||
private static final String KEY_NIGHT_DISPLAY_AUTO_MODE = "night_display_auto_mode";
|
||||
private static final String KEY_NIGHT_DISPLAY_START_TIME = "night_display_start_time";
|
||||
private static final String KEY_NIGHT_DISPLAY_END_TIME = "night_display_end_time";
|
||||
private static final String KEY_NIGHT_DISPLAY_ACTIVATED = "night_display_activated";
|
||||
|
||||
private static final int DIALOG_START_TIME = 0;
|
||||
private static final int DIALOG_END_TIME = 1;
|
||||
@@ -57,8 +54,7 @@ public class NightDisplaySettings extends SettingsPreferenceFragment implements
|
||||
private DropDownPreference mAutoModePreference;
|
||||
private Preference mStartTimePreference;
|
||||
private Preference mEndTimePreference;
|
||||
|
||||
private SwitchBar mSwitchBar;
|
||||
private TwoStatePreference mActivatedPreference;
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
@@ -81,6 +77,7 @@ public class NightDisplaySettings extends SettingsPreferenceFragment implements
|
||||
mAutoModePreference = (DropDownPreference) findPreference(KEY_NIGHT_DISPLAY_AUTO_MODE);
|
||||
mStartTimePreference = findPreference(KEY_NIGHT_DISPLAY_START_TIME);
|
||||
mEndTimePreference = findPreference(KEY_NIGHT_DISPLAY_END_TIME);
|
||||
mActivatedPreference = (TwoStatePreference) findPreference(KEY_NIGHT_DISPLAY_ACTIVATED);
|
||||
|
||||
mAutoModePreference.setEntries(new CharSequence[] {
|
||||
getString(R.string.night_display_auto_mode_never),
|
||||
@@ -93,15 +90,7 @@ public class NightDisplaySettings extends SettingsPreferenceFragment implements
|
||||
String.valueOf(NightDisplayController.AUTO_MODE_TWILIGHT)
|
||||
});
|
||||
mAutoModePreference.setOnPreferenceChangeListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActivityCreated(Bundle savedInstanceState) {
|
||||
super.onActivityCreated(savedInstanceState);
|
||||
|
||||
mSwitchBar = ((SettingsActivity) getActivity()).getSwitchBar();
|
||||
mSwitchBar.addOnSwitchChangeListener(this);
|
||||
mSwitchBar.show();
|
||||
mActivatedPreference.setOnPreferenceChangeListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -168,7 +157,7 @@ public class NightDisplaySettings extends SettingsPreferenceFragment implements
|
||||
|
||||
@Override
|
||||
public void onActivated(boolean activated) {
|
||||
mSwitchBar.setChecked(activated);
|
||||
mActivatedPreference.setChecked(activated);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -200,21 +189,12 @@ public class NightDisplaySettings extends SettingsPreferenceFragment implements
|
||||
mEndTimePreference.setSummary(getFormattedTimeString(endTime));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSwitchChanged(Switch switchView, boolean isChecked) {
|
||||
// Attempt to update the NIGHT_DISPLAY_ACTIVATED setting if necessary.
|
||||
final boolean isActivated = mController.isActivated();
|
||||
if (isActivated != isChecked) {
|
||||
if (mController.setActivated(isChecked)) {
|
||||
switchView.setChecked(isActivated);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
if (preference == mAutoModePreference) {
|
||||
return mController.setAutoMode(Integer.parseInt((String) newValue));
|
||||
} else if (preference == mActivatedPreference) {
|
||||
return mController.setActivated((Boolean) newValue);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
Reference in New Issue
Block a user