Add color transform setting

Bug: 24038268
Change-Id: I2bf45fef85038c29423a86c7bb018a8e750110a6
This commit is contained in:
Jason Monk
2015-09-18 16:16:52 -04:00
parent 43be4b9b78
commit 0217281d33
7 changed files with 255 additions and 2 deletions

View File

@@ -79,6 +79,7 @@ public class DisplaySettings extends SettingsPreferenceFragment implements
private static final String KEY_CAMERA_GESTURE = "camera_gesture";
private static final String KEY_CAMERA_DOUBLE_TAP_POWER_GESTURE
= "camera_double_tap_power_gesture";
private static final String KEY_COLOR_MODE = "color_mode";
private static final int DLG_GLOBAL_CHANGE_WARNING = 1;
@@ -96,6 +97,8 @@ public class DisplaySettings extends SettingsPreferenceFragment implements
private SwitchPreference mCameraGesturePreference;
private SwitchPreference mCameraDoubleTapPowerGesturePreference;
private ColorModePreference mColorModePreference;
@Override
protected int getMetricsCategory() {
return MetricsLogger.DISPLAY;
@@ -171,6 +174,13 @@ public class DisplaySettings extends SettingsPreferenceFragment implements
removePreference(KEY_CAMERA_DOUBLE_TAP_POWER_GESTURE);
}
mColorModePreference = (ColorModePreference) findPreference(KEY_COLOR_MODE);
mColorModePreference.updateCurrentAndSupported();
if (mColorModePreference.getTransformsCount() < 2) {
removePreference(KEY_COLOR_MODE);
mColorModePreference = null;
}
if (RotationPolicy.isRotationLockToggleVisible(activity)) {
DropDownPreference rotatePreference =
(DropDownPreference) findPreference(KEY_AUTO_ROTATE);
@@ -360,6 +370,17 @@ public class DisplaySettings extends SettingsPreferenceFragment implements
public void onResume() {
super.onResume();
updateState();
if (mColorModePreference != null) {
mColorModePreference.startListening();
}
}
@Override
public void onPause() {
super.onPause();
if (mColorModePreference != null) {
mColorModePreference.stopListening();
}
}
@Override
@@ -417,6 +438,10 @@ public class DisplaySettings extends SettingsPreferenceFragment implements
getContentResolver(), CAMERA_DOUBLE_TAP_POWER_GESTURE_DISABLED, 0);
mCameraDoubleTapPowerGesturePreference.setChecked(value == 0);
}
if (mColorModePreference != null) {
mColorModePreference.updateCurrentAndSupported();
}
}
private void updateScreenSaverSummary() {
@@ -556,6 +581,11 @@ public class DisplaySettings extends SettingsPreferenceFragment implements
if (!isCameraDoubleTapPowerGestureAvailable(context.getResources())) {
result.add(KEY_CAMERA_DOUBLE_TAP_POWER_GESTURE);
}
ColorModePreference pref = new ColorModePreference(context, null);
pref.updateCurrentAndSupported();
if (pref.getTransformsCount() < 2) {
result.add(KEY_COLOR_MODE);
}
return result;
}
};