summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/hardware
diff options
context:
space:
mode:
authorSteve Kondik <steve@cyngn.com>2015-02-18 03:44:31 -0800
committerAdnan Begovic <adnan@cyngn.com>2015-10-29 17:36:30 -0700
commite65f2833df18e755c847bc86376253a4b96e73f9 (patch)
treee61b573057968f05218a0ad697dd38183bf81149 /src/com/android/settings/hardware
parent8f57a61603b7bc2fca99a510cb6c8188fb9612d2 (diff)
downloadpackages_apps_Settings-e65f2833df18e755c847bc86376253a4b96e73f9.tar.gz
packages_apps_Settings-e65f2833df18e755c847bc86376253a4b96e73f9.tar.bz2
packages_apps_Settings-e65f2833df18e755c847bc86376253a4b96e73f9.zip
livedisplay: Add LiveDisplay settings
* Add preference for LiveDisplay mode, and additional supporting options for auto mode. * CABC, SRE, CE are all under this umbrella now. * Manual RGB tweaking is now handled here and the requirement for CMHW has been removed as it will go thru RenderEngine. * Moved all related code into the livedisplay package. Change-Id: I0b00f2bfd8f8227d64ad271bbe0f004f0b4bcf9d
Diffstat (limited to 'src/com/android/settings/hardware')
-rw-r--r--src/com/android/settings/hardware/DisplayColor.java268
-rw-r--r--src/com/android/settings/hardware/DisplayGamma.java341
2 files changed, 0 insertions, 609 deletions
diff --git a/src/com/android/settings/hardware/DisplayColor.java b/src/com/android/settings/hardware/DisplayColor.java
deleted file mode 100644
index 8441297cd..000000000
--- a/src/com/android/settings/hardware/DisplayColor.java
+++ /dev/null
@@ -1,268 +0,0 @@
-/*
- * Copyright (C) 2013 The CyanogenMod Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.hardware;
-
-import android.app.AlertDialog;
-import android.content.Context;
-import android.content.DialogInterface;
-import android.content.SharedPreferences;
-import android.content.SharedPreferences.Editor;
-import android.os.Bundle;
-import android.os.Parcel;
-import android.os.Parcelable;
-import android.preference.DialogPreference;
-import android.preference.PreferenceManager;
-import android.text.TextUtils;
-import android.util.AttributeSet;
-import android.view.View;
-import android.widget.SeekBar;
-import android.widget.TextView;
-import android.widget.Button;
-
-import com.android.settings.R;
-
-import org.cyanogenmod.hardware.DisplayColorCalibration;
-
-/**
- * Special preference type that allows configuration of Color settings
- */
-public class DisplayColor extends DialogPreference {
- private static final String TAG = "ColorCalibration";
-
- // These arrays must all match in length and order
- private static final int[] SEEKBAR_ID = new int[] {
- R.id.color_red_seekbar,
- R.id.color_green_seekbar,
- R.id.color_blue_seekbar
- };
-
- private static final int[] SEEKBAR_VALUE_ID = new int[] {
- R.id.color_red_value,
- R.id.color_green_value,
- R.id.color_blue_value
- };
-
- private ColorSeekBar[] mSeekBars = new ColorSeekBar[SEEKBAR_ID.length];
- private String[] mCurrentColors;
- private String mOriginalColors;
-
- public DisplayColor(Context context, AttributeSet attrs) {
- super(context, attrs);
-
- if (!isSupported()) {
- return;
- }
-
- setDialogLayoutResource(R.layout.display_color_calibration);
- }
-
- @Override
- protected void onPrepareDialogBuilder(AlertDialog.Builder builder) {
- builder.setNeutralButton(R.string.settings_reset_button,
- new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- }
- });
- }
-
- @Override
- protected void onBindDialogView(View view) {
- super.onBindDialogView(view);
-
- mOriginalColors = DisplayColorCalibration.getCurColors();
- mCurrentColors = mOriginalColors.split(" ");
-
- for (int i = 0; i < SEEKBAR_ID.length; i++) {
- SeekBar seekBar = (SeekBar) view.findViewById(SEEKBAR_ID[i]);
- TextView value = (TextView) view.findViewById(SEEKBAR_VALUE_ID[i]);
- mSeekBars[i] = new ColorSeekBar(seekBar, value, i);
- mSeekBars[i].setValueFromString(mCurrentColors[i]);
- }
- }
-
- @Override
- protected void showDialog(Bundle state) {
- super.showDialog(state);
-
- // Can't use onPrepareDialogBuilder for this as we want the dialog
- // to be kept open on click
- AlertDialog d = (AlertDialog) getDialog();
- Button defaultsButton = d.getButton(DialogInterface.BUTTON_NEUTRAL);
- defaultsButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- int defaultValue = DisplayColorCalibration.getDefValue();
- for (int i = 0; i < mSeekBars.length; i++) {
- mSeekBars[i].mSeekBar.setProgress(defaultValue);
- mCurrentColors[i] = String.valueOf(defaultValue);
- }
- DisplayColorCalibration.setColors(TextUtils.join(" ", mCurrentColors));
- }
- });
- }
-
- @Override
- protected void onDialogClosed(boolean positiveResult) {
- super.onDialogClosed(positiveResult);
-
- if (positiveResult) {
- Editor editor = getEditor();
- editor.putString("display_color_calibration", DisplayColorCalibration.getCurColors());
- editor.commit();
- } else if (mOriginalColors != null) {
- DisplayColorCalibration.setColors(mOriginalColors);
- }
- }
-
- @Override
- protected Parcelable onSaveInstanceState() {
- final Parcelable superState = super.onSaveInstanceState();
- if (getDialog() == null || !getDialog().isShowing()) {
- return superState;
- }
-
- // Save the dialog state
- final SavedState myState = new SavedState(superState);
- myState.currentColors = mCurrentColors;
- myState.originalColors = mOriginalColors;
-
- // Restore the old state when the activity or dialog is being paused
- DisplayColorCalibration.setColors(mOriginalColors);
- mOriginalColors = null;
-
- return myState;
- }
-
- @Override
- protected void onRestoreInstanceState(Parcelable state) {
- if (state == null || !state.getClass().equals(SavedState.class)) {
- // Didn't save state for us in onSaveInstanceState
- super.onRestoreInstanceState(state);
- return;
- }
-
- SavedState myState = (SavedState) state;
- super.onRestoreInstanceState(myState.getSuperState());
- mOriginalColors = myState.originalColors;
- mCurrentColors = myState.currentColors;
- for (int i = 0; i < mSeekBars.length; i++) {
- mSeekBars[i].setValueFromString(mCurrentColors[i]);
- }
- DisplayColorCalibration.setColors(TextUtils.join(" ", mCurrentColors));
- }
-
- public static boolean isSupported() {
- try {
- return DisplayColorCalibration.isSupported();
- } catch (NoClassDefFoundError e) {
- // Hardware abstraction framework isn't installed
- return false;
- }
- }
-
- public static void restore(Context context) {
- if (!isSupported()) {
- return;
- }
-
- final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
- final String value = prefs.getString("display_color_calibration", null);
-
- if (value != null) {
- DisplayColorCalibration.setColors(value);
- }
- }
-
- private static class SavedState extends BaseSavedState {
- String originalColors;
- String[] currentColors;
-
- public SavedState(Parcelable superState) {
- super(superState);
- }
-
- public SavedState(Parcel source) {
- super(source);
- originalColors = source.readString();
- currentColors = source.createStringArray();
- }
-
- @Override
- public void writeToParcel(Parcel dest, int flags) {
- super.writeToParcel(dest, flags);
- dest.writeString(originalColors);
- dest.writeStringArray(currentColors);
- }
-
- public static final Parcelable.Creator<SavedState> CREATOR =
- new Parcelable.Creator<SavedState>() {
-
- public SavedState createFromParcel(Parcel in) {
- return new SavedState(in);
- }
-
- public SavedState[] newArray(int size) {
- return new SavedState[size];
- }
- };
- }
-
- private class ColorSeekBar implements SeekBar.OnSeekBarChangeListener {
- private int mIndex;
- private SeekBar mSeekBar;
- private TextView mValue;
-
- public ColorSeekBar(SeekBar seekBar, TextView value, int index) {
- mSeekBar = seekBar;
- mValue = value;
- mIndex = index;
-
- mSeekBar.setMax(DisplayColorCalibration.getMaxValue() -
- DisplayColorCalibration.getMinValue());
- mSeekBar.setOnSeekBarChangeListener(this);
- }
-
- public void setValueFromString(String valueString) {
- mSeekBar.setProgress(Integer.valueOf(valueString));
- }
-
- @Override
- public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
- int min = DisplayColorCalibration.getMinValue();
- int max = DisplayColorCalibration.getMaxValue();
-
- if (fromUser) {
- mCurrentColors[mIndex] = String.valueOf(progress + min);
- DisplayColorCalibration.setColors(TextUtils.join(" ", mCurrentColors));
- }
-
- int percent = Math.round(100F * progress / (max - min));
- mValue.setText(String.format("%d%%", percent));
- }
-
- @Override
- public void onStartTrackingTouch(SeekBar seekBar) {
- // Do nothing here
- }
-
- @Override
- public void onStopTrackingTouch(SeekBar seekBar) {
- // Do nothing here
- }
- }
-}
diff --git a/src/com/android/settings/hardware/DisplayGamma.java b/src/com/android/settings/hardware/DisplayGamma.java
deleted file mode 100644
index b2592ee58..000000000
--- a/src/com/android/settings/hardware/DisplayGamma.java
+++ /dev/null
@@ -1,341 +0,0 @@
-/*
- * Copyright (C) 2013 The CyanogenMod Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.hardware;
-
-import android.app.AlertDialog;
-import android.content.Context;
-import android.content.DialogInterface;
-import android.content.SharedPreferences;
-import android.content.SharedPreferences.Editor;
-import android.content.res.Resources;
-import android.os.Bundle;
-import android.os.Parcel;
-import android.os.Parcelable;
-import android.preference.DialogPreference;
-import android.preference.PreferenceManager;
-import android.text.TextUtils;
-import android.util.AttributeSet;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.Button;
-import android.widget.SeekBar;
-import android.widget.TextView;
-
-import com.android.settings.R;
-import org.cyanogenmod.hardware.DisplayGammaCalibration;
-
-/**
- * Special preference type that allows configuration of Gamma settings
- */
-public class DisplayGamma extends DialogPreference {
- private static final String TAG = "GammaCalibration";
-
- private static final int[] BAR_COLORS = new int[] {
- R.string.color_red_title,
- R.string.color_green_title,
- R.string.color_blue_title
- };
-
- private GammaSeekBar[][] mSeekBars;
-
- private String[][] mCurrentColors;
- private String[] mOriginalColors;
- private int mNumberOfControls;
-
- public DisplayGamma(Context context, AttributeSet attrs) {
- super(context, attrs);
-
- if (!isSupported()) {
- return;
- }
-
- mNumberOfControls = DisplayGammaCalibration.getNumberOfControls();
- mSeekBars = new GammaSeekBar[mNumberOfControls][BAR_COLORS.length];
-
- mOriginalColors = new String[mNumberOfControls];
- mCurrentColors = new String[mNumberOfControls][];
-
- setDialogLayoutResource(R.layout.display_gamma_calibration);
- }
-
- @Override
- protected void onPrepareDialogBuilder(AlertDialog.Builder builder) {
- builder.setNeutralButton(R.string.settings_reset_button,
- new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- }
- });
- }
-
- @Override
- protected void onBindDialogView(View view) {
- super.onBindDialogView(view);
-
- final ViewGroup container = (ViewGroup) view.findViewById(R.id.gamma_container);
- final LayoutInflater inflater = LayoutInflater.from(getContext());
- final SharedPreferences prefs = getSharedPreferences();
- final Resources res = container.getResources();
- final String[] gammaDescriptors = res.getStringArray(R.array.gamma_descriptors);
-
- // Create multiple sets of seekbars, depending on the
- // number of controls the device has
- for (int index = 0; index < mNumberOfControls; index++) {
- mOriginalColors[index] = DisplayGammaCalibration.getCurGamma(index);
- mCurrentColors[index] = mOriginalColors[index].split(" ");
-
- final String defaultKey = "display_gamma_default_" + index;
- if (!prefs.contains(defaultKey)) {
- prefs.edit().putString(defaultKey, mOriginalColors[index]).commit();
- }
-
- if (mNumberOfControls != 1) {
- TextView header = (TextView) inflater.inflate(
- R.layout.display_gamma_calibration_header, container, false);
-
- if (index < gammaDescriptors.length) {
- header.setText(gammaDescriptors[index]);
- } else {
- header.setText(res.getString(
- R.string.gamma_tuning_control_set_header, index + 1));
- }
- container.addView(header);
- }
-
- for (int color = 0; color < BAR_COLORS.length; color++) {
- ViewGroup item = (ViewGroup) inflater.inflate(
- R.layout.display_gamma_calibration_item, container, false);
-
- mSeekBars[index][color] = new GammaSeekBar(index, color, item);
- mSeekBars[index][color].setGamma(Integer.valueOf(mCurrentColors[index][color]));
- // make sure to add the seekbar group to the container _after_
- // creating GammaSeekBar, so that GammaSeekBar has a chance to
- // get the correct subviews without getting confused by duplicate IDs
- container.addView(item);
- }
- }
- }
-
- @Override
- protected void showDialog(Bundle state) {
- super.showDialog(state);
-
- // can't use onPrepareDialogBuilder for this as we want the dialog
- // to be kept open on click
- AlertDialog d = (AlertDialog) getDialog();
- Button defaultsButton = d.getButton(DialogInterface.BUTTON_NEUTRAL);
- defaultsButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- for (int index = 0; index < mSeekBars.length; index++) {
- final SharedPreferences prefs = getSharedPreferences();
- final String defaultKey = "display_gamma_default_" + index;
- // this key is guaranteed to be present, as we have
- // created it in onBindDialogView()
- final String[] defaultColors = prefs.getString(defaultKey, null).split(" ");
-
- for (int color = 0; color < BAR_COLORS.length; color++) {
- mSeekBars[index][color].setGamma(Integer.valueOf(defaultColors[color]));
- mCurrentColors[index][color] = defaultColors[color];
- }
- DisplayGammaCalibration.setGamma(index,
- TextUtils.join(" ", mCurrentColors[index]));
- }
- }
- });
- }
-
- @Override
- protected void onDialogClosed(boolean positiveResult) {
- super.onDialogClosed(positiveResult);
-
- if (positiveResult) {
- Editor editor = getEditor();
- for (int i = 0; i < mNumberOfControls; i++) {
- editor.putString("display_gamma_" + i, DisplayGammaCalibration.getCurGamma(i));
- }
- editor.commit();
- } else if (mOriginalColors != null) {
- for (int i = 0; i < mNumberOfControls; i++) {
- DisplayGammaCalibration.setGamma(i, mOriginalColors[i]);
- }
- }
- }
-
- @Override
- protected Parcelable onSaveInstanceState() {
- final Parcelable superState = super.onSaveInstanceState();
- if (getDialog() == null || !getDialog().isShowing()) {
- return superState;
- }
-
- // Save the dialog state
- final SavedState myState = new SavedState(superState);
- myState.controlCount = mNumberOfControls;
- myState.currentColors = mCurrentColors;
- myState.originalColors = mOriginalColors;
-
- // Restore the old state when the activity or dialog is being paused
- for (int i = 0; i < mNumberOfControls; i++) {
- DisplayGammaCalibration.setGamma(i, mOriginalColors[i]);
- }
- mOriginalColors = null;
-
- return myState;
- }
-
- @Override
- protected void onRestoreInstanceState(Parcelable state) {
- if (state == null || !state.getClass().equals(SavedState.class)) {
- // Didn't save state for us in onSaveInstanceState
- super.onRestoreInstanceState(state);
- return;
- }
-
- SavedState myState = (SavedState) state;
- super.onRestoreInstanceState(myState.getSuperState());
- mNumberOfControls = myState.controlCount;
- mOriginalColors = myState.originalColors;
- mCurrentColors = myState.currentColors;
-
- for (int index = 0; index < mNumberOfControls; index++) {
- for (int color = 0; color < BAR_COLORS.length; color++) {
- mSeekBars[index][color].setGamma(Integer.valueOf(mCurrentColors[index][color]));
- }
- DisplayGammaCalibration.setGamma(index, TextUtils.join(" ", mCurrentColors[index]));
- }
- }
-
- public static boolean isSupported() {
- try {
- return DisplayGammaCalibration.isSupported();
- } catch (NoClassDefFoundError e) {
- // Hardware abstraction framework isn't installed
- return false;
- }
- }
-
- public static void restore(Context context) {
- if (!isSupported()) {
- return;
- }
-
- final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
- for (int i = 0; i < DisplayGammaCalibration.getNumberOfControls(); i++) {
- final String values = prefs.getString("display_gamma_" + i, null);
- if (values != null) {
- DisplayGammaCalibration.setGamma(i, values);
- }
- }
- }
-
- private static class SavedState extends BaseSavedState {
- int controlCount;
- String[] originalColors;
- String[][] currentColors;
-
- public SavedState(Parcelable superState) {
- super(superState);
- }
-
- public SavedState(Parcel source) {
- super(source);
- controlCount = source.readInt();
- originalColors = source.createStringArray();
- currentColors = new String[controlCount][];
- for (int i = 0; i < controlCount; i++) {
- currentColors[i] = source.createStringArray();
- }
- }
-
- @Override
- public void writeToParcel(Parcel dest, int flags) {
- super.writeToParcel(dest, flags);
- dest.writeInt(controlCount);
- dest.writeStringArray(originalColors);
- for (int i = 0; i < controlCount; i++) {
- dest.writeStringArray(currentColors[i]);
- }
- }
-
- public static final Parcelable.Creator<SavedState> CREATOR =
- new Parcelable.Creator<SavedState>() {
-
- public SavedState createFromParcel(Parcel in) {
- return new SavedState(in);
- }
-
- public SavedState[] newArray(int size) {
- return new SavedState[size];
- }
- };
- }
-
- private class GammaSeekBar implements SeekBar.OnSeekBarChangeListener {
- private int mControlIndex;
- private int mColorIndex;
- private int mOriginal;
- private int mMin;
- private SeekBar mSeekBar;
- private TextView mValue;
-
- public GammaSeekBar(int controlIndex, int colorIndex, ViewGroup container) {
- mControlIndex = controlIndex;
- mColorIndex = colorIndex;
-
- mMin = DisplayGammaCalibration.getMinValue(controlIndex);
-
- mValue = (TextView) container.findViewById(R.id.color_value);
- mSeekBar = (SeekBar) container.findViewById(R.id.color_seekbar);
-
- TextView label = (TextView) container.findViewById(R.id.color_text);
- label.setText(container.getContext().getString(BAR_COLORS[colorIndex]));
-
- mSeekBar.setMax(DisplayGammaCalibration.getMaxValue(controlIndex) - mMin);
- mSeekBar.setProgress(0);
- mValue.setText(String.valueOf(mSeekBar.getProgress() + mMin));
-
- // this must be done last, we don't want to apply our initial value to the hardware
- mSeekBar.setOnSeekBarChangeListener(this);
- }
-
- public void setGamma(int gamma) {
- mSeekBar.setProgress(gamma - mMin);
- }
-
- @Override
- public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
- if (fromUser) {
- mCurrentColors[mControlIndex][mColorIndex] = String.valueOf(progress + mMin);
- DisplayGammaCalibration.setGamma(mControlIndex,
- TextUtils.join(" ", mCurrentColors[mControlIndex]));
- }
- mValue.setText(String.valueOf(progress + mMin));
- }
-
- @Override
- public void onStartTrackingTouch(SeekBar seekBar) {
- // Do nothing
- }
-
- @Override
- public void onStopTrackingTouch(SeekBar seekBar) {
- // Do nothing
- }
- }
-}