diff options
Diffstat (limited to 'src/com/android/settings/livedisplay/DisplayGamma.java')
| -rw-r--r-- | src/com/android/settings/livedisplay/DisplayGamma.java | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/src/com/android/settings/livedisplay/DisplayGamma.java b/src/com/android/settings/livedisplay/DisplayGamma.java index e75e3a4f4..2b44cea11 100644 --- a/src/com/android/settings/livedisplay/DisplayGamma.java +++ b/src/com/android/settings/livedisplay/DisplayGamma.java @@ -39,7 +39,9 @@ import android.widget.TextView; import com.android.settings.R; import cyanogenmod.hardware.CMHardwareManager; +import cyanogenmod.providers.CMSettings; +import java.util.ArrayList; import java.util.Arrays; /** @@ -165,7 +167,7 @@ public class DisplayGamma extends DialogPreference { mSeekBars[index][color].setGamma(val); mCurrentColors[index][color] = val; } - mHardware.setDisplayGammaCalibration(index, mCurrentColors[index]); + writeDisplayGamma(getContext(), index, mCurrentColors[index]); } } }); @@ -184,7 +186,7 @@ public class DisplayGamma extends DialogPreference { editor.apply(); } else if (mOriginalColors != null) { for (int i = 0; i < mNumberOfControls; i++) { - mHardware.setDisplayGammaCalibration(i, mOriginalColors[i]); + writeDisplayGamma(getContext(), i, mOriginalColors[i]); } } } @@ -204,7 +206,7 @@ public class DisplayGamma extends DialogPreference { // Restore the old state when the activity or dialog is being paused for (int i = 0; i < mNumberOfControls; i++) { - mHardware.setDisplayGammaCalibration(i, mOriginalColors[i]); + writeDisplayGamma(getContext(), i, mOriginalColors[i]); } mOriginalColors = null; @@ -229,7 +231,7 @@ public class DisplayGamma extends DialogPreference { for (int color = 0; color < BAR_COLORS.length; color++) { mSeekBars[index][color].setGamma(mCurrentColors[index][color]); } - mHardware.setDisplayGammaCalibration(index, mCurrentColors[index]); + writeDisplayGamma(getContext(), index, mCurrentColors[index]); } } @@ -259,7 +261,7 @@ public class DisplayGamma extends DialogPreference { rgb[0] = Integer.valueOf(values[0]); rgb[1] = Integer.valueOf(values[1]); rgb[2] = Integer.valueOf(values[2]); - hardware.setDisplayGammaCalibration(i, rgb); + writeDisplayGamma(context, i, rgb); } } } @@ -311,6 +313,19 @@ public class DisplayGamma extends DialogPreference { }; } + private static void writeDisplayGamma(Context context, int index, int[] entries) { + StringBuilder builder = new StringBuilder(); + for (int i = 0; i < entries.length; i++) { + builder.append(i); + if (i != entries.length - 1) { + builder.append("|"); + } + } + CMSettings.Secure.putString(context.getContentResolver(), + CMSettings.Secure.DISPLAY_GAMMA_CALIBRATION_PREFIX + index, + builder.toString()); + } + private class GammaSeekBar implements SeekBar.OnSeekBarChangeListener { private int mControlIndex; private int mColorIndex; @@ -350,8 +365,7 @@ public class DisplayGamma extends DialogPreference { public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { if (fromUser) { mCurrentColors[mControlIndex][mColorIndex] = progress + mMin; - mHardware.setDisplayGammaCalibration(mControlIndex, - mCurrentColors[mControlIndex]); + writeDisplayGamma(getContext(), mControlIndex, mCurrentColors[mControlIndex]); } mValue.setText(String.valueOf(progress + mMin)); } |
