From 9577ac8ced1f1559a1bfcb7705612bfd2f4b2922 Mon Sep 17 00:00:00 2001 From: KalimochoAz Date: Wed, 2 May 2012 16:52:40 +0200 Subject: Add control for DSS gamma settings Imoseyon discovered that patch from ti. With this setting we can also control this new kernel feature alredy commited Change-Id: Ie863edf1c45f73024ac4a0eab8ccfd048062e262 --- .../res/layout/preference_dialog_gamma_tuning.xml | 26 +++++++++++++- GNexusParts/res/values/strings.xml | 1 + .../settings/device/GammaTuningPreference.java | 40 +++++++++++++++------- init.tuna.rc | 3 ++ 4 files changed, 56 insertions(+), 14 deletions(-) diff --git a/GNexusParts/res/layout/preference_dialog_gamma_tuning.xml b/GNexusParts/res/layout/preference_dialog_gamma_tuning.xml index 110dc32..8df2204 100644 --- a/GNexusParts/res/layout/preference_dialog_gamma_tuning.xml +++ b/GNexusParts/res/layout/preference_dialog_gamma_tuning.xml @@ -80,11 +80,35 @@ android:paddingLeft="20dip" android:paddingRight="20dip" /> + + + + diff --git a/GNexusParts/res/values/strings.xml b/GNexusParts/res/values/strings.xml index 43f27a5..37264c0 100644 --- a/GNexusParts/res/values/strings.xml +++ b/GNexusParts/res/values/strings.xml @@ -23,6 +23,7 @@ Default CM Sett. Dark Sett. + DSS Gamma Set. Default. Natural diff --git a/GNexusParts/src/com/cyanogenmod/settings/device/GammaTuningPreference.java b/GNexusParts/src/com/cyanogenmod/settings/device/GammaTuningPreference.java index 839a02b..749398b 100644 --- a/GNexusParts/src/com/cyanogenmod/settings/device/GammaTuningPreference.java +++ b/GNexusParts/src/com/cyanogenmod/settings/device/GammaTuningPreference.java @@ -42,20 +42,21 @@ public class GammaTuningPreference extends DialogPreference implements OnClickLi }; private static final int[] SEEKBAR_ID = new int[] { - R.id.gamma_red_seekbar, R.id.gamma_green_seekbar, R.id.gamma_blue_seekbar + R.id.gamma_red_seekbar, R.id.gamma_green_seekbar, R.id.gamma_blue_seekbar, R.id.gamma_dss_seekbar }; private static final int[] VALUE_DISPLAY_ID = new int[] { - R.id.gamma_red_value, R.id.gamma_green_value, R.id.gamma_blue_value + R.id.gamma_red_value, R.id.gamma_green_value, R.id.gamma_blue_value, R.id.gamma_dss_value }; private static final String[] FILE_PATH = new String[] { "/sys/class/misc/samoled_color/red_v1_offset", "/sys/class/misc/samoled_color/green_v1_offset", - "/sys/class/misc/samoled_color/blue_v1_offset" + "/sys/class/misc/samoled_color/blue_v1_offset", + "/sys/devices/platform/omapdss/manager0/gamma" }; - private GammaSeekBar mSeekBars[] = new GammaSeekBar[3]; + private GammaSeekBar mSeekBars[] = new GammaSeekBar[4]; private static final int MAX_VALUE = 200; @@ -81,7 +82,10 @@ public class GammaTuningPreference extends DialogPreference implements OnClickLi for (int i = 0; i < SEEKBAR_ID.length; i++) { SeekBar seekBar = (SeekBar) view.findViewById(SEEKBAR_ID[i]); TextView valueDisplay = (TextView) view.findViewById(VALUE_DISPLAY_ID[i]); - mSeekBars[i] = new GammaSeekBar(seekBar, valueDisplay, FILE_PATH[i]); + if (i < 3) + mSeekBars[i] = new GammaSeekBar(seekBar, valueDisplay, FILE_PATH[i], OFFSET_VALUE, MAX_VALUE); + else + mSeekBars[i] = new GammaSeekBar(seekBar, valueDisplay, FILE_PATH[i], 0, 10); } SetupButtonClickListeners(view); } @@ -167,12 +171,18 @@ public class GammaTuningPreference extends DialogPreference implements OnClickLi private TextView mValueDisplay; - public GammaSeekBar(SeekBar seekBar, TextView valueDisplay, String filePath) { + private int iOffset; + + private int iMax; + + public GammaSeekBar(SeekBar seekBar, TextView valueDisplay, String filePath, Integer offsetValue, Integer maxValue) { int iValue; mSeekBar = seekBar; mValueDisplay = valueDisplay; mFilePath = filePath; + iOffset = offsetValue; + iMax = maxValue; SharedPreferences sharedPreferences = getSharedPreferences(); @@ -181,11 +191,12 @@ public class GammaTuningPreference extends DialogPreference implements OnClickLi String sDefaultValue = Utils.readOneLine(mFilePath); iValue = Integer.valueOf(sDefaultValue); } else { - iValue = MAX_VALUE - OFFSET_VALUE; + iValue = iMax - iOffset; } mOriginal = iValue; - mSeekBar.setMax(MAX_VALUE); + mSeekBar.setMax(iMax); + reset(); mSeekBar.setOnSeekBarChangeListener(this); } @@ -193,7 +204,7 @@ public class GammaTuningPreference extends DialogPreference implements OnClickLi public void reset() { int iValue; - iValue = mOriginal + OFFSET_VALUE; + iValue = mOriginal + iOffset; mSeekBar.setProgress(iValue); updateValue(mOriginal); } @@ -201,7 +212,7 @@ public class GammaTuningPreference extends DialogPreference implements OnClickLi public void save() { int iValue; - iValue = mSeekBar.getProgress() - OFFSET_VALUE; + iValue = mSeekBar.getProgress() - iOffset; Editor editor = getEditor(); editor.putInt(mFilePath, iValue); editor.commit(); @@ -211,7 +222,7 @@ public class GammaTuningPreference extends DialogPreference implements OnClickLi public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { int iValue; - iValue = progress - OFFSET_VALUE; + iValue = progress - iOffset; Utils.writeValue(mFilePath, String.valueOf((long) iValue)); updateValue(iValue); } @@ -252,21 +263,24 @@ public class GammaTuningPreference extends DialogPreference implements OnClickLi } private void SetCMSettings() { - mSeekBars[0].SetNewValue(-15); + mSeekBars[0].SetNewValue(2); mSeekBars[1].SetNewValue(15); - mSeekBars[2].SetNewValue(-10); + mSeekBars[2].SetNewValue(5); + mSeekBars[3].SetNewValue(8); } private void SetSBrightSettings() { mSeekBars[0].SetNewValue(6); mSeekBars[1].SetNewValue(25); mSeekBars[2].SetNewValue(7); + mSeekBars[3].SetNewValue(4); } private void SetDefaultSettings() { mSeekBars[0].SetNewValue(0); mSeekBars[1].SetNewValue(0); mSeekBars[2].SetNewValue(0); + mSeekBars[3].SetNewValue(0); } } diff --git a/init.tuna.rc b/init.tuna.rc index 37fbc16..4956b2e 100755 --- a/init.tuna.rc +++ b/init.tuna.rc @@ -71,6 +71,9 @@ on fs chmod 0777 /dev/tiler chmod 0777 /dev/dmm +# change permissions for gamma settings + chmod 0666 /sys/devices/platform/omapdss/manager0/gamma + # change permissions for ION driver chmod 0777 /dev/ion -- cgit v1.1