summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKalimochoAz <calimochoazucarado@gmail.com>2012-04-24 22:59:22 +0200
committerKalimochoAz <calimochoazucarado@gmail.com>2012-04-24 23:03:38 +0200
commit267dacb77535619880b7bdfbd1a1d0d4361faca5 (patch)
tree71e3b8ffd4eb1065d5044ef9b6741d97fe0ec175
parentd6e350b33372a7cc2b1fae81281caf1338b2af94 (diff)
downloaddevice_samsung_crespo-267dacb77535619880b7bdfbd1a1d0d4361faca5.zip
device_samsung_crespo-267dacb77535619880b7bdfbd1a1d0d4361faca5.tar.gz
device_samsung_crespo-267dacb77535619880b7bdfbd1a1d0d4361faca5.tar.bz2
Create preset screen
Change-Id: I0813c95872dc149f40962d7d9f6f35dc45b0b1aa
-rwxr-xr-xCrespoParts/res/drawable/blue_tuning_preview.xml9
-rwxr-xr-xCrespoParts/res/drawable/green_tuning_preview.xml9
-rwxr-xr-xCrespoParts/res/drawable/red_tuning_preview.xml9
-rwxr-xr-xCrespoParts/res/layout/preference_colorgamma_presets.xml120
-rw-r--r--CrespoParts/res/values/strings.xml12
-rwxr-xr-xCrespoParts/res/xml/display_preferences.xml4
-rw-r--r--CrespoParts/src/com/cyanogenmod/settings/device/ColorHackPresets.java212
-rw-r--r--CrespoParts/src/com/cyanogenmod/settings/device/ColorTuningPreference.java1
-rw-r--r--CrespoParts/src/com/cyanogenmod/settings/device/DeviceSettings.java1
-rwxr-xr-xCrespoParts/src/com/cyanogenmod/settings/device/DisplayFragmentActivity.java4
-rw-r--r--CrespoParts/src/com/cyanogenmod/settings/device/GammaTuningPreference.java2
11 files changed, 382 insertions, 1 deletions
diff --git a/CrespoParts/res/drawable/blue_tuning_preview.xml b/CrespoParts/res/drawable/blue_tuning_preview.xml
new file mode 100755
index 0000000..98ea313
--- /dev/null
+++ b/CrespoParts/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/CrespoParts/res/drawable/green_tuning_preview.xml b/CrespoParts/res/drawable/green_tuning_preview.xml
new file mode 100755
index 0000000..4f09471
--- /dev/null
+++ b/CrespoParts/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/CrespoParts/res/drawable/red_tuning_preview.xml b/CrespoParts/res/drawable/red_tuning_preview.xml
new file mode 100755
index 0000000..a55ea12
--- /dev/null
+++ b/CrespoParts/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/CrespoParts/res/layout/preference_colorgamma_presets.xml b/CrespoParts/res/layout/preference_colorgamma_presets.xml
new file mode 100755
index 0000000..bd50287
--- /dev/null
+++ b/CrespoParts/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/CrespoParts/res/values/strings.xml b/CrespoParts/res/values/strings.xml
index 2622884..661fb8d 100644
--- a/CrespoParts/res/values/strings.xml
+++ b/CrespoParts/res/values/strings.xml
@@ -9,12 +9,14 @@
<string name="category_cpu_title">CPU</string>
<string name="cpu_deepidle_title_head">Deep Idle</string>
- <string name="cpu_deepidle_summary_head">Enables deep idle, intended to provide better battery life. (NO STABLE AT ALL. you can have reboots!)</string>
+ <string name="cpu_deepidle_summary_head">Enables deep idle.</string>
<string name="category_screen_title">WM8994 Settings ( voodoo )</string>
<string name="color_tuning_title_head">Color Multipliers Tuning</string>
<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>
@@ -25,6 +27,14 @@
<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>
diff --git a/CrespoParts/res/xml/display_preferences.xml b/CrespoParts/res/xml/display_preferences.xml
index 9772b20..45795d1 100755
--- a/CrespoParts/res/xml/display_preferences.xml
+++ b/CrespoParts/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/CrespoParts/src/com/cyanogenmod/settings/device/ColorHackPresets.java b/CrespoParts/src/com/cyanogenmod/settings/device/ColorHackPresets.java
new file mode 100644
index 0000000..f110d4f
--- /dev/null
+++ b/CrespoParts/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(-50, 0);
+ WriteGamma(-50, 1);
+ WriteGamma(-40, 2);
+ }
+
+ private void Preset3() {
+ WriteMultiplier(0.658602179, 0);
+ WriteMultiplier(0.7311828147, 1);
+ WriteMultiplier(1.0, 2);
+ WriteGamma(-41, 0);
+ WriteGamma(-46, 1);
+ WriteGamma(-31, 2);
+ }
+
+ private void Preset4() {
+ WriteMultiplier(0.7231, 0);
+ WriteMultiplier(0.7016, 1);
+ WriteMultiplier(0.6532, 2);
+ WriteGamma(-35, 0);
+ WriteGamma(-55, 1);
+ WriteGamma(-48, 2);
+ }
+
+ private void Preset5() {
+ WriteMultiplier(0.6666, 0);
+ WriteMultiplier(0.6666, 1);
+ WriteMultiplier(0.8333, 2);
+ WriteGamma(-44, 0);
+ WriteGamma(-44, 1);
+ WriteGamma(-22, 2);
+ }
+
+ private void Preset6() {
+ WriteMultiplier(1.0, 0);
+ WriteMultiplier(0.7688, 1);
+ WriteMultiplier(0.2473, 2);
+ WriteGamma(-57, 0);
+ WriteGamma(-39, 1);
+ WriteGamma(45, 2);
+ }
+
+}
diff --git a/CrespoParts/src/com/cyanogenmod/settings/device/ColorTuningPreference.java b/CrespoParts/src/com/cyanogenmod/settings/device/ColorTuningPreference.java
index 378fb38..0ca7ae2 100644
--- a/CrespoParts/src/com/cyanogenmod/settings/device/ColorTuningPreference.java
+++ b/CrespoParts/src/com/cyanogenmod/settings/device/ColorTuningPreference.java
@@ -123,6 +123,7 @@ public class ColorTuningPreference extends DialogPreference implements OnClickLi
}
SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
+
for (String filePath : FILE_PATH) {
String sDefaultValue = Utils.readOneLine(filePath);
Log.d(TAG,"INIT: " + sDefaultValue);
diff --git a/CrespoParts/src/com/cyanogenmod/settings/device/DeviceSettings.java b/CrespoParts/src/com/cyanogenmod/settings/device/DeviceSettings.java
index de26a53..d84a78b 100644
--- a/CrespoParts/src/com/cyanogenmod/settings/device/DeviceSettings.java
+++ b/CrespoParts/src/com/cyanogenmod/settings/device/DeviceSettings.java
@@ -43,6 +43,7 @@ public class DeviceSettings extends Activity {
public static final String ACTION_UPDATE_PREFERENCES = "com.cyanogenmod.settings.device.UPDATE";
public static final String KEY_COLOR_TUNING = "color_tuning";
public static final String KEY_GAMMA_TUNING = "gamma_tuning";
+ public static final String KEY_COLOR_PRESET = "color_presets";
public static final String KEY_DEEPIDLE = "deepidle";
public static final String KEY_DEEPIDLE_STATS = "deepidle_stats";
public static final String KEY_NOTIFICATION = "touchkey_notification";
diff --git a/CrespoParts/src/com/cyanogenmod/settings/device/DisplayFragmentActivity.java b/CrespoParts/src/com/cyanogenmod/settings/device/DisplayFragmentActivity.java
index b2ae578..d719b73 100755
--- a/CrespoParts/src/com/cyanogenmod/settings/device/DisplayFragmentActivity.java
+++ b/CrespoParts/src/com/cyanogenmod/settings/device/DisplayFragmentActivity.java
@@ -33,6 +33,7 @@ public class DisplayFragmentActivity extends PreferenceFragment {
private ColorTuningPreference mColorTuning;
private GammaTuningPreference mGammaTuning;
+ private ColorHackPresets mColorPreset;
@Override
public void onCreate(Bundle savedInstanceState) {
@@ -45,6 +46,9 @@ public class DisplayFragmentActivity extends PreferenceFragment {
mGammaTuning = (GammaTuningPreference) findPreference(DeviceSettings.KEY_GAMMA_TUNING);
mGammaTuning.setEnabled(GammaTuningPreference.isSupported());
+
+ mColorPreset = (ColorHackPresets) findPreference(DeviceSettings.KEY_COLOR_PRESET);
+ mColorPreset.setEnabled(ColorHackPresets.isSupported());
}
}
diff --git a/CrespoParts/src/com/cyanogenmod/settings/device/GammaTuningPreference.java b/CrespoParts/src/com/cyanogenmod/settings/device/GammaTuningPreference.java
index 5bedb73..73a66ad 100644
--- a/CrespoParts/src/com/cyanogenmod/settings/device/GammaTuningPreference.java
+++ b/CrespoParts/src/com/cyanogenmod/settings/device/GammaTuningPreference.java
@@ -27,6 +27,7 @@ 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
@@ -122,6 +123,7 @@ public class GammaTuningPreference extends DialogPreference implements OnClickLi
}
SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
+
Boolean bFirstTime = sharedPrefs.getBoolean("FirstTimeGamma", true);
for (String filePath : FILE_PATH) {
String sDefaultValue = Utils.readOneLine(filePath);