Use ColorDisplayManager for night display settings

Bug: 123352608
Test: make ROBOTEST_FILTER="(Night*)" RunSettingsRoboTests -j48
Change-Id: Id4ab9ca4a21243be5967d63db72212daefb3dcb9
This commit is contained in:
Christine Franks
2019-01-24 12:18:40 -08:00
parent 17e1190606
commit a21c6edcf6
9 changed files with 55 additions and 53 deletions

View File

@@ -26,14 +26,13 @@ import android.widget.Button;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
import com.android.internal.app.ColorDisplayController;
import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
import com.android.settingslib.widget.LayoutPreference;
public class NightDisplayActivationPreferenceController extends TogglePreferenceController {
private ColorDisplayController mController;
private ColorDisplayManager mColorDisplayManager;
private NightDisplayTimeFormatter mTimeFormatter;
private Button mTurnOffButton;
private Button mTurnOnButton;
@@ -41,14 +40,15 @@ public class NightDisplayActivationPreferenceController extends TogglePreference
private final OnClickListener mListener = new OnClickListener() {
@Override
public void onClick(View v) {
mController.setActivated(!mController.isActivated());
mColorDisplayManager.setNightDisplayActivated(!mColorDisplayManager.isNightDisplayActivated());
updateStateInternal();
}
};
public NightDisplayActivationPreferenceController(Context context, String key) {
super(context, key);
mController = new ColorDisplayController(context);
mColorDisplayManager = context.getSystemService(ColorDisplayManager.class);
mTimeFormatter = new NightDisplayTimeFormatter(context);
}
@@ -83,17 +83,17 @@ public class NightDisplayActivationPreferenceController extends TogglePreference
@Override
public boolean isChecked() {
return mController.isActivated();
return mColorDisplayManager.isNightDisplayActivated();
}
@Override
public boolean setChecked(boolean isChecked) {
return mController.setActivated(isChecked);
return mColorDisplayManager.setNightDisplayActivated(isChecked);
}
@Override
public CharSequence getSummary() {
return mTimeFormatter.getAutoModeTimeSummary(mContext, mController);
return mTimeFormatter.getAutoModeTimeSummary(mContext, mColorDisplayManager);
}
private void updateStateInternal() {
@@ -101,8 +101,8 @@ public class NightDisplayActivationPreferenceController extends TogglePreference
return;
}
final boolean isActivated = mController.isActivated();
final int autoMode = mController.getAutoMode();
final boolean isActivated = mColorDisplayManager.isNightDisplayActivated();
final int autoMode = mColorDisplayManager.getNightDisplayAutoMode();
String buttonText;
if (autoMode == ColorDisplayManager.AUTO_MODE_CUSTOM_TIME) {
@@ -110,8 +110,8 @@ public class NightDisplayActivationPreferenceController extends TogglePreference
? R.string.night_display_activation_off_custom
: R.string.night_display_activation_on_custom,
mTimeFormatter.getFormattedTimeString(isActivated
? mController.getCustomStartTime()
: mController.getCustomEndTime()));
? mColorDisplayManager.getNightDisplayCustomStartTime()
: mColorDisplayManager.getNightDisplayCustomEndTime()));
} else if (autoMode == ColorDisplayManager.AUTO_MODE_TWILIGHT) {
buttonText = mContext.getString(isActivated
? R.string.night_display_activation_off_twilight

View File

@@ -30,11 +30,11 @@ public class NightDisplayAutoModePreferenceController extends BasePreferenceCont
implements Preference.OnPreferenceChangeListener {
private DropDownPreference mPreference;
private ColorDisplayManager mManager;
private ColorDisplayManager mColorDisplayManager;
public NightDisplayAutoModePreferenceController(Context context, String key) {
super(context, key);
mManager = context.getSystemService(ColorDisplayManager.class);
mColorDisplayManager = context.getSystemService(ColorDisplayManager.class);
}
@Override
@@ -63,11 +63,11 @@ public class NightDisplayAutoModePreferenceController extends BasePreferenceCont
@Override
public final void updateState(Preference preference) {
mPreference.setValue(String.valueOf(mManager.getNightDisplayAutoMode()));
mPreference.setValue(String.valueOf(mColorDisplayManager.getNightDisplayAutoMode()));
}
@Override
public final boolean onPreferenceChange(Preference preference, Object newValue) {
return mManager.setNightDisplayAutoMode(Integer.parseInt((String) newValue));
return mColorDisplayManager.setNightDisplayAutoMode(Integer.parseInt((String) newValue));
}
}

View File

@@ -19,18 +19,17 @@ package com.android.settings.display;
import android.content.Context;
import android.hardware.display.ColorDisplayManager;
import androidx.preference.Preference;
import com.android.internal.app.ColorDisplayController;
import com.android.settings.core.BasePreferenceController;
public class NightDisplayCustomEndTimePreferenceController extends BasePreferenceController {
private ColorDisplayController mController;
private ColorDisplayManager mColorDisplayManager;
private NightDisplayTimeFormatter mTimeFormatter;
public NightDisplayCustomEndTimePreferenceController(Context context, String key) {
super(context, key);
mController = new ColorDisplayController(context);
mColorDisplayManager = context.getSystemService(ColorDisplayManager.class);
mTimeFormatter = new NightDisplayTimeFormatter(context);
}
@@ -43,8 +42,9 @@ public class NightDisplayCustomEndTimePreferenceController extends BasePreferenc
@Override
public final void updateState(Preference preference) {
preference
.setVisible(mController.getAutoMode() == ColorDisplayManager.AUTO_MODE_CUSTOM_TIME);
.setVisible(mColorDisplayManager.getNightDisplayAutoMode()
== ColorDisplayManager.AUTO_MODE_CUSTOM_TIME);
preference.setSummary(mTimeFormatter.getFormattedTimeString(
mController.getCustomEndTime()));
mColorDisplayManager.getNightDisplayCustomEndTime()));
}
}

View File

@@ -19,18 +19,17 @@ package com.android.settings.display;
import android.content.Context;
import android.hardware.display.ColorDisplayManager;
import androidx.preference.Preference;
import com.android.internal.app.ColorDisplayController;
import com.android.settings.core.BasePreferenceController;
public class NightDisplayCustomStartTimePreferenceController extends BasePreferenceController {
private ColorDisplayController mController;
private ColorDisplayManager mColorDisplayManager;
private NightDisplayTimeFormatter mTimeFormatter;
public NightDisplayCustomStartTimePreferenceController(Context context, String key) {
super(context, key);
mController = new ColorDisplayController(context);
mColorDisplayManager = context.getSystemService(ColorDisplayManager.class);
mTimeFormatter = new NightDisplayTimeFormatter(context);
}
@@ -43,8 +42,9 @@ public class NightDisplayCustomStartTimePreferenceController extends BasePrefere
@Override
public final void updateState(Preference preference) {
preference
.setVisible(mController.getAutoMode() == ColorDisplayManager.AUTO_MODE_CUSTOM_TIME);
.setVisible(mColorDisplayManager.getNightDisplayAutoMode()
== ColorDisplayManager.AUTO_MODE_CUSTOM_TIME);
preference.setSummary(mTimeFormatter.getFormattedTimeString(
mController.getCustomStartTime()));
mColorDisplayManager.getNightDisplayCustomStartTime()));
}
}

View File

@@ -22,26 +22,24 @@ import android.text.TextUtils;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
import androidx.annotation.VisibleForTesting;
import com.android.internal.app.ColorDisplayController;
import com.android.settings.core.SliderPreferenceController;
import com.android.settings.widget.SeekBarPreference;
public class NightDisplayIntensityPreferenceController extends SliderPreferenceController {
private ColorDisplayController mController;
private ColorDisplayManager mColorDisplayManager;
public NightDisplayIntensityPreferenceController(Context context, String key) {
super(context, key);
mController = new ColorDisplayController(context);
mColorDisplayManager = context.getSystemService(ColorDisplayManager.class);
}
@Override
public int getAvailabilityStatus() {
if (!ColorDisplayManager.isNightDisplayAvailable(mContext)) {
return UNSUPPORTED_ON_DEVICE;
} else if (!mController.isActivated()) {
} else if (!mColorDisplayManager.isNightDisplayActivated()) {
return DISABLED_DEPENDENT_SETTING;
}
return AVAILABLE;
@@ -63,22 +61,22 @@ public class NightDisplayIntensityPreferenceController extends SliderPreferenceC
@Override
public final void updateState(Preference preference) {
super.updateState(preference);
preference.setEnabled(mController.isActivated());
preference.setEnabled(mColorDisplayManager.isNightDisplayActivated());
}
@Override
public int getSliderPosition() {
return convertTemperature(mController.getColorTemperature());
return convertTemperature(mColorDisplayManager.getNightDisplayColorTemperature());
}
@Override
public boolean setSliderPosition(int position) {
return mController.setColorTemperature(convertTemperature(position));
return mColorDisplayManager.setNightDisplayColorTemperature(convertTemperature(position));
}
@Override
public int getMaxSteps() {
return convertTemperature(mController.getMinimumColorTemperature());
return convertTemperature(ColorDisplayManager.getMinimumColorTemperature(mContext));
}
/**
@@ -87,6 +85,6 @@ public class NightDisplayIntensityPreferenceController extends SliderPreferenceC
* adjustment status of the input.
*/
private int convertTemperature(int temperature) {
return mController.getMaximumColorTemperature() - temperature;
return ColorDisplayManager.getMaximumColorTemperature(mContext) - temperature;
}
}

View File

@@ -15,6 +15,7 @@
package com.android.settings.display;
import android.content.Context;
import android.hardware.display.ColorDisplayManager;
import android.util.AttributeSet;
import androidx.preference.SwitchPreference;
@@ -26,12 +27,14 @@ import java.time.LocalTime;
public class NightDisplayPreference extends SwitchPreference
implements ColorDisplayController.Callback {
private ColorDisplayManager mColorDisplayManager;
private ColorDisplayController mController;
private NightDisplayTimeFormatter mTimeFormatter;
public NightDisplayPreference(Context context, AttributeSet attrs) {
super(context, attrs);
mColorDisplayManager = context.getSystemService(ColorDisplayManager.class);
mController = new ColorDisplayController(context);
mTimeFormatter = new NightDisplayTimeFormatter(context);
}
@@ -76,6 +79,6 @@ public class NightDisplayPreference extends SwitchPreference
}
private void updateSummary() {
setSummary(mTimeFormatter.getAutoModeTimeSummary(getContext(), mController));
setSummary(mTimeFormatter.getAutoModeTimeSummary(getContext(), mColorDisplayManager));
}
}

View File

@@ -16,7 +16,6 @@ package com.android.settings.display;
import android.content.Context;
import android.hardware.display.ColorDisplayManager;
import com.android.internal.app.ColorDisplayController;
import com.android.settings.R;
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.core.AbstractPreferenceController;
@@ -37,8 +36,8 @@ public class NightDisplayPreferenceController extends AbstractPreferenceControll
if (!isEnabled) {
return true;
}
final ColorDisplayController controller = new ColorDisplayController(context);
return controller.getAutoMode() != ColorDisplayManager.AUTO_MODE_DISABLED;
final ColorDisplayManager manager = context.getSystemService(ColorDisplayManager.class);
return manager.getNightDisplayAutoMode() != ColorDisplayManager.AUTO_MODE_DISABLED;
}
@Override

View File

@@ -50,6 +50,7 @@ public class NightDisplaySettings extends DashboardFragment
private static final int DIALOG_START_TIME = 0;
private static final int DIALOG_END_TIME = 1;
private ColorDisplayManager mColorDisplayManager;
private ColorDisplayController mController;
@Override
@@ -57,6 +58,7 @@ public class NightDisplaySettings extends DashboardFragment
super.onCreate(savedInstanceState);
final Context context = getContext();
mColorDisplayManager = context.getSystemService(ColorDisplayManager.class);
mController = new ColorDisplayController(context);
}
@@ -93,9 +95,9 @@ public class NightDisplaySettings extends DashboardFragment
if (dialogId == DIALOG_START_TIME || dialogId == DIALOG_END_TIME) {
final LocalTime initialTime;
if (dialogId == DIALOG_START_TIME) {
initialTime = mController.getCustomStartTime();
initialTime = mColorDisplayManager.getNightDisplayCustomStartTime();
} else {
initialTime = mController.getCustomEndTime();
initialTime = mColorDisplayManager.getNightDisplayCustomEndTime();
}
final Context context = getContext();
@@ -103,9 +105,9 @@ public class NightDisplaySettings extends DashboardFragment
return new TimePickerDialog(context, (view, hourOfDay, minute) -> {
final LocalTime time = LocalTime.of(hourOfDay, minute);
if (dialogId == DIALOG_START_TIME) {
mController.setCustomStartTime(time);
mColorDisplayManager.setNightDisplayCustomStartTime(time);
} else {
mController.setCustomEndTime(time);
mColorDisplayManager.setNightDisplayCustomEndTime(time);
}
}, initialTime.getHour(), initialTime.getMinute(), use24HourFormat);
}

View File

@@ -19,7 +19,6 @@ package com.android.settings.display;
import android.content.Context;
import android.hardware.display.ColorDisplayManager;
import com.android.internal.app.ColorDisplayController;
import com.android.settings.R;
import java.text.DateFormat;
@@ -46,22 +45,23 @@ public class NightDisplayTimeFormatter {
return mTimeFormatter.format(c.getTime());
}
public String getAutoModeTimeSummary(Context context, ColorDisplayController controller) {
final int summaryFormatResId = controller.isActivated() ? R.string.night_display_summary_on
: R.string.night_display_summary_off;
return context.getString(summaryFormatResId, getAutoModeSummary(context, controller));
public String getAutoModeTimeSummary(Context context, ColorDisplayManager manager) {
final int summaryFormatResId =
manager.isNightDisplayActivated() ? R.string.night_display_summary_on
: R.string.night_display_summary_off;
return context.getString(summaryFormatResId, getAutoModeSummary(context, manager));
}
private String getAutoModeSummary(Context context, ColorDisplayController controller) {
final boolean isActivated = controller.isActivated();
final int autoMode = controller.getAutoMode();
private String getAutoModeSummary(Context context, ColorDisplayManager manager) {
final boolean isActivated = manager.isNightDisplayActivated();
final int autoMode = manager.getNightDisplayAutoMode();
if (autoMode == ColorDisplayManager.AUTO_MODE_CUSTOM_TIME) {
if (isActivated) {
return context.getString(R.string.night_display_summary_on_auto_mode_custom,
getFormattedTimeString(controller.getCustomEndTime()));
getFormattedTimeString(manager.getNightDisplayCustomEndTime()));
} else {
return context.getString(R.string.night_display_summary_off_auto_mode_custom,
getFormattedTimeString(controller.getCustomStartTime()));
getFormattedTimeString(manager.getNightDisplayCustomStartTime()));
}
} else if (autoMode == ColorDisplayManager.AUTO_MODE_TWILIGHT) {
return context.getString(isActivated