summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKalimochoAz <calimochoazucarado@gmail.com>2012-04-24 23:08:41 +0200
committerKalimochoAz <calimochoazucarado@gmail.com>2012-04-24 23:10:35 +0200
commita9851ff357cbf24dc3dea6fad0e2bddf77d99548 (patch)
tree1e81355c87d91c08e33b2ac7219dcaf1d3b23ed8
parent15ac946d489886c9a1451f7ccedc67e144c500e2 (diff)
downloaddevice_samsung_tuna-a9851ff357cbf24dc3dea6fad0e2bddf77d99548.zip
device_samsung_tuna-a9851ff357cbf24dc3dea6fad0e2bddf77d99548.tar.gz
device_samsung_tuna-a9851ff357cbf24dc3dea6fad0e2bddf77d99548.tar.bz2
Add presets to gamma and color hack
Ad a screen for those settings Change-Id: Ifb6b4258ab3fa4c64f892cbfb7cf6a7d4bcdb9cf
-rwxr-xr-xGNexusParts/res/drawable/blue_tuning_preview.xml9
-rwxr-xr-xGNexusParts/res/drawable/green_tuning_preview.xml9
-rwxr-xr-xGNexusParts/res/drawable/red_tuning_preview.xml9
-rwxr-xr-xGNexusParts/res/layout/preference_colorgamma_presets.xml120
-rw-r--r--GNexusParts/res/layout/preference_dialog_color_tuning.xml31
-rw-r--r--GNexusParts/res/layout/preference_dialog_gamma_tuning.xml31
-rw-r--r--GNexusParts/res/values/strings.xml20
-rwxr-xr-xGNexusParts/res/xml/display_preferences.xml4
-rw-r--r--GNexusParts/src/com/cyanogenmod/settings/device/ColorHackPresets.java212
-rw-r--r--GNexusParts/src/com/cyanogenmod/settings/device/ColorTuningPreference.java51
-rw-r--r--GNexusParts/src/com/cyanogenmod/settings/device/GammaTuningPreference.java69
11 files changed, 556 insertions, 9 deletions
diff --git a/GNexusParts/res/drawable/blue_tuning_preview.xml b/GNexusParts/res/drawable/blue_tuning_preview.xml
new file mode 100755
index 0000000..98ea313
--- /dev/null
+++ b/GNexusParts/res/drawable/blue_tuning_preview.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:shape="rectangle">
+ <gradient
+ android:angle="0"
+ android:startColor="#000000"
+ android:endColor="#0000FF" />
+</shape> \ No newline at end of file
diff --git a/GNexusParts/res/drawable/green_tuning_preview.xml b/GNexusParts/res/drawable/green_tuning_preview.xml
new file mode 100755
index 0000000..4f09471
--- /dev/null
+++ b/GNexusParts/res/drawable/green_tuning_preview.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:shape="rectangle">
+ <gradient
+ android:angle="0"
+ android:startColor="#000000"
+ android:endColor="#00FF00" />
+</shape> \ No newline at end of file
diff --git a/GNexusParts/res/drawable/red_tuning_preview.xml b/GNexusParts/res/drawable/red_tuning_preview.xml
new file mode 100755
index 0000000..a55ea12
--- /dev/null
+++ b/GNexusParts/res/drawable/red_tuning_preview.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:shape="rectangle">
+ <gradient
+ android:angle="0"
+ android:startColor="#000000"
+ android:endColor="#FF0000" />
+</shape> \ No newline at end of file
diff --git a/GNexusParts/res/layout/preference_colorgamma_presets.xml b/GNexusParts/res/layout/preference_colorgamma_presets.xml
new file mode 100755
index 0000000..bd50287
--- /dev/null
+++ b/GNexusParts/res/layout/preference_colorgamma_presets.xml
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <RelativeLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:gravity="center_horizontal"
+ android:paddingBottom="20dip">
+
+ <ImageView
+ android:id="@+id/imageView0"
+ android:layout_width="match_parent"
+ android:layout_height="200dp"
+ android:paddingLeft="20dip"
+ android:paddingRight="20dip"
+ android:paddingTop="5dip"
+ android:src="@drawable/color_tuning_preview" />
+
+ <ImageView
+ android:id="@+id/imageView1"
+ android:layout_width="match_parent"
+ android:layout_height="50dp"
+ android:paddingLeft="20dip"
+ android:paddingRight="20dip"
+ android:paddingTop="5dip"
+ android:src="@drawable/red_tuning_preview" />
+
+ <ImageView
+ android:id="@+id/imageView2"
+ android:layout_width="match_parent"
+ android:layout_height="50dp"
+ android:layout_below="@+id/imageView1"
+ android:paddingLeft="20dip"
+ android:paddingRight="20dip"
+ android:paddingTop="5dip"
+ android:src="@drawable/green_tuning_preview" />
+
+ <ImageView
+ android:id="@+id/imageView3"
+ android:layout_width="match_parent"
+ android:layout_height="50dp"
+ android:layout_below="@+id/imageView2"
+ android:paddingLeft="20dip"
+ android:paddingRight="20dip"
+ android:paddingTop="5dip"
+ android:src="@drawable/blue_tuning_preview" />
+
+ <LinearLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_below="@+id/imageView0"
+ android:orientation="vertical" >
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_weight="1" >
+
+ <Button
+ android:id="@+id/btnPreset1"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/preset1_default_title" android:textSize="10dp" android:width="100dp"/>
+
+ <Button
+ android:id="@+id/btnPreset2"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/preset2_default_title" android:textSize="10dp" android:width="100dp"/>
+
+ <Button
+ android:id="@+id/btnPreset3"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/preset3_default_title" android:textSize="10dp" android:width="100dp"/>
+ </LinearLayout>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content" >
+
+ <Button
+ android:id="@+id/btnPreset4"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/preset4_default_title" android:textSize="10dp" android:width="100dp"/>
+
+ <Button
+ android:id="@+id/btnPreset5"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/preset5_default_title" android:textSize="10dp" android:width="100dp"/>
+
+ <Button
+ android:id="@+id/btnPreset6"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/preset6_default_title" android:textSize="10dp" android:width="100dp"/>
+ </LinearLayout>
+
+ <LinearLayout
+ android:layout_width="320dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1" >
+
+ <TextView
+ android:id="@+id/textView1"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/credits_presets" android:textSize="12dp"/>
+
+ </LinearLayout>
+ </LinearLayout>
+
+ </RelativeLayout>
+
+</ScrollView>
diff --git a/GNexusParts/res/layout/preference_dialog_color_tuning.xml b/GNexusParts/res/layout/preference_dialog_color_tuning.xml
index 6154982..068f88c 100644
--- a/GNexusParts/res/layout/preference_dialog_color_tuning.xml
+++ b/GNexusParts/res/layout/preference_dialog_color_tuning.xml
@@ -80,7 +80,8 @@
android:paddingLeft="20dip"
android:paddingRight="20dip" />
- <ImageView android:src="@drawable/color_tuning_preview"
+ <ImageView android:id="@+id/black_scale_picture_color"
+ android:src="@drawable/color_tuning_preview"
android:layout_width="match_parent"
android:layout_height="40dip"
android:layout_below="@id/color_blue_seekbar"
@@ -88,5 +89,31 @@
android:paddingLeft="20dip"
android:paddingRight="20dip" />
+ <LinearLayout
+ android:id="@+id/linearLayout1"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_below="@+id/black_scale_picture_color" >
+
+ <Button
+ android:id="@+id/btnColorDefault"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/color_default_title" />
+
+ <Button
+ android:id="@+id/btnColorCM"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/color_CM_title" />
+
+ <Button
+ android:id="@+id/btnColorDark"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/color_dark_title" />
+
+ </LinearLayout>
+
</RelativeLayout>
-</ScrollView> \ No newline at end of file
+</ScrollView>
diff --git a/GNexusParts/res/layout/preference_dialog_gamma_tuning.xml b/GNexusParts/res/layout/preference_dialog_gamma_tuning.xml
index 3ece54b..110dc32 100644
--- a/GNexusParts/res/layout/preference_dialog_gamma_tuning.xml
+++ b/GNexusParts/res/layout/preference_dialog_gamma_tuning.xml
@@ -80,7 +80,8 @@
android:paddingLeft="20dip"
android:paddingRight="20dip" />
- <ImageView android:src="@drawable/color_tuning_preview"
+ <ImageView android:id="@+id/black_scale_picture"
+ android:src="@drawable/color_tuning_preview"
android:layout_width="match_parent"
android:layout_height="40dip"
android:layout_below="@id/gamma_blue_seekbar"
@@ -88,5 +89,31 @@
android:paddingLeft="20dip"
android:paddingRight="20dip" />
+ <LinearLayout
+ android:id="@+id/linearLayout1"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_below="@+id/black_scale_picture" >
+
+ <Button
+ android:id="@+id/btnGammaDefault"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/gamma_default_title" />
+
+ <Button
+ android:id="@+id/btnGammaCM"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/gamma_CM_title" />
+
+ <Button
+ android:id="@+id/btnGammaBright"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/gamma_bright_title" />
+
+ </LinearLayout>
+
</RelativeLayout>
-</ScrollView> \ No newline at end of file
+</ScrollView>
diff --git a/GNexusParts/res/values/strings.xml b/GNexusParts/res/values/strings.xml
index b629e90..43f27a5 100644
--- a/GNexusParts/res/values/strings.xml
+++ b/GNexusParts/res/values/strings.xml
@@ -12,9 +12,29 @@
<string name="color_tuning_summary_head">Calibrate multipliers screen color</string>
<string name="gamma_tuning_title_head">Color Gamma Tuning</string>
<string name="gamma_tuning_summary_head">Calibrate gamma color correction</string>
+ <string name="color_hack_presets_title_head">Color hack presets</string>
+ <string name="color_hack_presets_summary_head">Presets for gamma and multipliers tested by some users</string>
<string name="color_red_title">Red</string>
<string name="color_green_title">Green</string>
<string name="color_blue_title">Blue</string>
+ <string name="gamma_default_title">Default</string>
+ <string name="gamma_CM_title">CM Sett.</string>
+ <string name="gamma_bright_title">Bright Sett.</string>
+ <string name="color_default_title">Default</string>
+ <string name="color_CM_title">CM Sett.</string>
+ <string name="color_dark_title">Dark Sett.</string>
+
+ <string name="preset1_default_title">Default.</string>
+ <string name="preset2_default_title">Natural</string>
+ <string name="preset3_default_title">Dark Blue</string>
+ <string name="preset4_default_title">Warm</string>
+ <string name="preset5_default_title">Dark Cold</string>
+ <string name="preset6_default_title">Cross Proc.</string>
+ <string name="credits_presets">Credits: ale.landra91 cpaixao provolinoo</string>
+
+ <string name="category_touchkey_title">Touch Keys</string>
+ <string name="touchkey_notification_title_head">Backlight Notifications</string>
+ <string name="touchkey_notification_summary_head">The touch key backlights will turn on when there is a notification.</string>
<string name="category_radio_title">Radio</string>
<string name="hspa_title_head">HSPA</string>
diff --git a/GNexusParts/res/xml/display_preferences.xml b/GNexusParts/res/xml/display_preferences.xml
index 9772b20..45795d1 100755
--- a/GNexusParts/res/xml/display_preferences.xml
+++ b/GNexusParts/res/xml/display_preferences.xml
@@ -11,5 +11,9 @@
android:key="gamma_tuning"
android:title="@string/gamma_tuning_title_head"
android:summary="@string/gamma_tuning_summary_head" />
+ <com.cyanogenmod.settings.device.ColorHackPresets
+ android:key="color_presets"
+ android:title="@string/color_hack_presets_title_head"
+ android:summary="@string/color_hack_presets_summary_head" />
</PreferenceScreen>
diff --git a/GNexusParts/src/com/cyanogenmod/settings/device/ColorHackPresets.java b/GNexusParts/src/com/cyanogenmod/settings/device/ColorHackPresets.java
new file mode 100644
index 0000000..4d0d02c
--- /dev/null
+++ b/GNexusParts/src/com/cyanogenmod/settings/device/ColorHackPresets.java
@@ -0,0 +1,212 @@
+/*
+ * Copyright (C) 2011 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.cyanogenmod.settings.device;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.content.SharedPreferences.Editor;
+import android.preference.DialogPreference;
+import android.preference.PreferenceManager;
+import android.util.AttributeSet;
+import android.view.View;
+import android.view.View.OnClickListener;
+import android.widget.TextView;
+import android.widget.Button;
+import android.util.Log;
+
+/**
+ * Special preference type that allows configuration of both the ring volume and
+ * notification volume.
+ */
+public class ColorHackPresets extends DialogPreference implements OnClickListener {
+
+ private static final String TAG = "PRESETS...";
+
+ private static final String[] FILE_PATH_GAMMA = 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"
+ };
+
+ private static final String[] FILE_PATH_MULTI = new String[] {
+ "/sys/class/misc/samoled_color/red_multiplier",
+ "/sys/class/misc/samoled_color/green_multiplier",
+ "/sys/class/misc/samoled_color/blue_multiplier"
+ };
+
+ // Track instances to know when to restore original color
+ // (when the orientation changes, a new dialog is created before the old one
+ // is destroyed)
+ private static int sInstances = 0;
+
+ // Align MAX_VALUE with Voodoo Control settings
+ private static final int MAX_VALUE = Integer.MAX_VALUE - 2;
+
+ public ColorHackPresets(Context context, AttributeSet attrs) {
+ super(context, attrs);
+
+ setDialogLayoutResource(R.layout.preference_colorgamma_presets);
+ }
+
+ @Override
+ protected void onBindDialogView(View view) {
+ super.onBindDialogView(view);
+
+ sInstances++;
+
+ SetupButtonClickListeners(view);
+ }
+
+ private void SetupButtonClickListeners(View view) {
+ Button[] mPresets = new Button[6];
+
+ mPresets[0] = (Button)view.findViewById(R.id.btnPreset1);
+ mPresets[1] = (Button)view.findViewById(R.id.btnPreset2);
+ mPresets[2] = (Button)view.findViewById(R.id.btnPreset3);
+ mPresets[3] = (Button)view.findViewById(R.id.btnPreset4);
+ mPresets[4] = (Button)view.findViewById(R.id.btnPreset5);
+ mPresets[5] = (Button)view.findViewById(R.id.btnPreset6);
+ for (int i = 0; i < 6; i++) {
+ mPresets[i].setOnClickListener(this);
+ }
+ }
+
+ @Override
+ protected void onDialogClosed(boolean positiveResult) {
+ super.onDialogClosed(positiveResult);
+
+ sInstances--;
+
+ }
+
+ /**
+ * Restore screen color tuning from SharedPreferences. (Write to kernel.)
+ *
+ * @param context The context to read the SharedPreferences from
+ */
+ public static void restore(Context context) {
+ if (!isSupported()) {
+ return;
+ }
+
+ }
+
+ /**
+ * Check whether the running kernel supports color tuning or not.
+ *
+ * @return Whether color tuning is supported or not
+ */
+ public static boolean isSupported() {
+ boolean supported = true;
+ for (String filePath : FILE_PATH_GAMMA) {
+ if (!Utils.fileExists(filePath)) {
+ supported = false;
+ }
+ }
+
+ return supported;
+ }
+
+ public void onClick(View v) {
+ switch(v.getId()){
+ case R.id.btnPreset1:
+ Preset1();
+ break;
+ case R.id.btnPreset2:
+ Preset2();
+ break;
+ case R.id.btnPreset3:
+ Preset3();
+ break;
+ case R.id.btnPreset4:
+ Preset4();
+ break;
+ case R.id.btnPreset5:
+ Preset5();
+ break;
+ case R.id.btnPreset6:
+ Preset6();
+ break;
+ }
+ }
+
+ private void WriteMultiplier(Double fValue , int iPos) {
+ int iValue = (int) ((double) MAX_VALUE * fValue);
+ Utils.writeColor(FILE_PATH_MULTI[iPos], iValue);
+ Log.i(TAG,"KalimAz: Multiplier: " + iPos+ " Value " + iValue );
+ }
+
+ private void WriteGamma(int iValue , int iPos) {
+ Utils.writeValue(FILE_PATH_GAMMA[iPos], String.valueOf((long) iValue));
+ Log.i(TAG,"KalimAz: Gamma: " + iPos+ " Value " + iValue );
+ }
+
+ private void Preset1() {
+ WriteMultiplier(1.0, 0);
+ WriteMultiplier(1.0, 1);
+ WriteMultiplier(1.0, 2);
+ WriteGamma(0, 0);
+ WriteGamma(0, 1);
+ WriteGamma(0, 2);
+ }
+
+ private void Preset2() {
+ WriteMultiplier(0.8575, 0);
+ WriteMultiplier(0.8575, 1);
+ WriteMultiplier(0.8575, 2);
+ WriteGamma(-12, 0);
+ WriteGamma(12, 1);
+ WriteGamma(-12, 2);
+ }
+
+ private void Preset3() {
+ WriteMultiplier(0.458602179, 0);
+ WriteMultiplier(0.6311828147, 1);
+ WriteMultiplier(0.82258, 2);
+ WriteGamma(-31, 0);
+ WriteGamma(-18, 1);
+ WriteGamma(-0, 2);
+ }
+
+ private void Preset4() {
+ WriteMultiplier(0.7231, 0);
+ WriteMultiplier(0.7016, 1);
+ WriteMultiplier(0.6532, 2);
+ WriteGamma(-31, 0);
+ WriteGamma(-30, 1);
+ WriteGamma(-14, 2);
+ }
+
+ private void Preset5() {
+ WriteMultiplier(0.6666, 0);
+ WriteMultiplier(0.6666, 1);
+ WriteMultiplier(0.8333, 2);
+ WriteGamma(-44, 0);
+ WriteGamma(-44, 1);
+ WriteGamma(-7, 2);
+ }
+
+ private void Preset6() {
+ WriteMultiplier(1.0, 0);
+ WriteMultiplier(0.7688, 1);
+ WriteMultiplier(0.2473, 2);
+ WriteGamma(-57, 0);
+ WriteGamma(-75, 1);
+ WriteGamma(45, 2);
+ }
+
+}
diff --git a/GNexusParts/src/com/cyanogenmod/settings/device/ColorTuningPreference.java b/GNexusParts/src/com/cyanogenmod/settings/device/ColorTuningPreference.java
index 085cae7..0ca7ae2 100644
--- a/GNexusParts/src/com/cyanogenmod/settings/device/ColorTuningPreference.java
+++ b/GNexusParts/src/com/cyanogenmod/settings/device/ColorTuningPreference.java
@@ -23,15 +23,17 @@ import android.preference.DialogPreference;
import android.preference.PreferenceManager;
import android.util.AttributeSet;
import android.view.View;
+import android.view.View.OnClickListener;
import android.widget.SeekBar;
import android.widget.TextView;
import android.util.Log;
+import android.widget.Button;
/**
* Special preference type that allows configuration of both the ring volume and
* notification volume.
*/
-public class ColorTuningPreference extends DialogPreference {
+public class ColorTuningPreference extends DialogPreference implements OnClickListener {
private static final String TAG = "COLOR...";
@@ -80,6 +82,16 @@ public class ColorTuningPreference extends DialogPreference {
TextView valueDisplay = (TextView) view.findViewById(VALUE_DISPLAY_ID[i]);
mSeekBars[i] = new ColorSeekBar(seekBar, valueDisplay, FILE_PATH[i]);
}
+ SetupButtonClickListeners(view);
+ }
+
+ private void SetupButtonClickListeners(View view) {
+ Button mDefaultButton = (Button)view.findViewById(R.id.btnColorDefault);
+ Button mCMButton = (Button)view.findViewById(R.id.btnColorCM);
+ Button mDarkButton = (Button)view.findViewById(R.id.btnColorDark);
+ mDefaultButton.setOnClickListener(this);
+ mCMButton.setOnClickListener(this);
+ mDarkButton.setOnClickListener(this);
}
@Override
@@ -111,6 +123,7 @@ public class ColorTuningPreference extends DialogPreference {
}
SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
+
for (String filePath : FILE_PATH) {
String sDefaultValue = Utils.readOneLine(filePath);
Log.d(TAG,"INIT: " + sDefaultValue);
@@ -210,6 +223,42 @@ public class ColorTuningPreference extends DialogPreference {
mValueDisplay.setText(String.format("%.10f", (double) progress / MAX_VALUE));
}
+ public void SetNewValue(int iValue) {
+ mOriginal = iValue;
+ reset();
+ }
+
}
+ public void onClick(View v) {
+ switch(v.getId()){
+ case R.id.btnColorDefault:
+ SetDefaultSettings();
+ break;
+ case R.id.btnColorCM:
+ SetCMSettings();
+ break;
+ case R.id.btnColorDark:
+ SetDarkSettings();
+ break;
+ }
+ }
+
+ private void SetCMSettings() {
+ mSeekBars[0].SetNewValue(1766478464);
+ mSeekBars[1].SetNewValue(1766478464);
+ mSeekBars[2].SetNewValue(1766478464);
+ }
+
+ private void SetDarkSettings() {
+ mSeekBars[0].SetNewValue(877466432);
+ mSeekBars[1].SetNewValue(877466432);
+ mSeekBars[2].SetNewValue(877466432);
+ }
+
+ private void SetDefaultSettings() {
+ mSeekBars[0].SetNewValue(MAX_VALUE);
+ mSeekBars[1].SetNewValue(MAX_VALUE);
+ mSeekBars[2].SetNewValue(MAX_VALUE);
+ }
}
diff --git a/GNexusParts/src/com/cyanogenmod/settings/device/GammaTuningPreference.java b/GNexusParts/src/com/cyanogenmod/settings/device/GammaTuningPreference.java
index bfbc62e..839a02b 100644
--- a/GNexusParts/src/com/cyanogenmod/settings/device/GammaTuningPreference.java
+++ b/GNexusParts/src/com/cyanogenmod/settings/device/GammaTuningPreference.java
@@ -23,14 +23,17 @@ import android.preference.DialogPreference;
import android.preference.PreferenceManager;
import android.util.AttributeSet;
import android.view.View;
+import android.view.View.OnClickListener;
import android.widget.SeekBar;
import android.widget.TextView;
+import android.widget.Button;
+import android.util.Log;
/**
* Special preference type that allows configuration of both the ring volume and
* notification volume.
*/
-public class GammaTuningPreference extends DialogPreference {
+public class GammaTuningPreference extends DialogPreference implements OnClickListener {
private static final String TAG = "GAMMA...";
@@ -54,9 +57,9 @@ public class GammaTuningPreference extends DialogPreference {
private GammaSeekBar mSeekBars[] = new GammaSeekBar[3];
- private static final int MAX_VALUE = 80;
+ private static final int MAX_VALUE = 200;
- private static final int OFFSET_VALUE = 0;
+ private static final int OFFSET_VALUE = 100;
// Track instances to know when to restore original color
// (when the orientation changes, a new dialog is created before the old one
@@ -80,6 +83,16 @@ public class GammaTuningPreference extends DialogPreference {
TextView valueDisplay = (TextView) view.findViewById(VALUE_DISPLAY_ID[i]);
mSeekBars[i] = new GammaSeekBar(seekBar, valueDisplay, FILE_PATH[i]);
}
+ SetupButtonClickListeners(view);
+ }
+
+ private void SetupButtonClickListeners(View view) {
+ Button mDefaultButton = (Button)view.findViewById(R.id.btnGammaDefault);
+ Button mCMButton = (Button)view.findViewById(R.id.btnGammaCM);
+ Button mBrightButton = (Button)view.findViewById(R.id.btnGammaBright);
+ mDefaultButton.setOnClickListener(this);
+ mCMButton.setOnClickListener(this);
+ mBrightButton.setOnClickListener(this);
}
@Override
@@ -110,10 +123,21 @@ public class GammaTuningPreference extends DialogPreference {
}
SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
+
+ Boolean bFirstTime = sharedPrefs.getBoolean("FirstTimeGamma", true);
for (String filePath : FILE_PATH) {
String sDefaultValue = Utils.readOneLine(filePath);
int iValue = sharedPrefs.getInt(filePath, Integer.valueOf(sDefaultValue));
- Utils.writeValue(filePath, String.valueOf((long) iValue));
+ if (bFirstTime)
+ Utils.writeValue(filePath, "0");
+ else
+ Utils.writeValue(filePath, String.valueOf((long) iValue));
+ }
+ if (bFirstTime)
+ {
+ SharedPreferences.Editor editor = sharedPrefs.edit();
+ editor.putBoolean("FirstTimeGamma", false);
+ editor.commit();
}
}
@@ -206,6 +230,43 @@ public class GammaTuningPreference extends DialogPreference {
mValueDisplay.setText(String.format("%d", (int) progress));
}
+ public void SetNewValue(int iValue) {
+ mOriginal = iValue;
+ reset();
+ }
+
+ }
+
+ public void onClick(View v) {
+ switch(v.getId()){
+ case R.id.btnGammaDefault:
+ SetDefaultSettings();
+ break;
+ case R.id.btnGammaCM:
+ SetCMSettings();
+ break;
+ case R.id.btnGammaBright:
+ SetSBrightSettings();
+ break;
+ }
+ }
+
+ private void SetCMSettings() {
+ mSeekBars[0].SetNewValue(-15);
+ mSeekBars[1].SetNewValue(15);
+ mSeekBars[2].SetNewValue(-10);
+ }
+
+ private void SetSBrightSettings() {
+ mSeekBars[0].SetNewValue(6);
+ mSeekBars[1].SetNewValue(25);
+ mSeekBars[2].SetNewValue(7);
+ }
+
+ private void SetDefaultSettings() {
+ mSeekBars[0].SetNewValue(0);
+ mSeekBars[1].SetNewValue(0);
+ mSeekBars[2].SetNewValue(0);
}
}