summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJavier Ferrer <javi.f.o@gmail.com>2013-06-08 02:18:27 +0200
committerDaniel Hillenbrand <codeworkx@cyanogenmod.org>2013-06-09 11:27:08 +0200
commit2abc20c0daf70b63ae00569e3fb20d21118f909c (patch)
tree9cd3e79c2fa3f628a615a91ff95dab7254acabe2
parentff2814916614673220ef719745e00f11a38dca57 (diff)
downloaddevice_samsung_i9300-2abc20c0daf70b63ae00569e3fb20d21118f909c.zip
device_samsung_i9300-2abc20c0daf70b63ae00569e3fb20d21118f909c.tar.gz
device_samsung_i9300-2abc20c0daf70b63ae00569e3fb20d21118f909c.tar.bz2
i9300: advanced setting: add content adaptive backlight control
Change-Id: I8979a7434265d76172d6d0180b37abaef61d8aaa
-rw-r--r--DeviceSettings/Android.mk2
-rw-r--r--DeviceSettings/res/values/strings.xml40
-rw-r--r--DeviceSettings/res/xml/screen_preferences.xml82
-rw-r--r--DeviceSettings/src/com/cyanogenmod/settings/device/CABC.java58
-rw-r--r--DeviceSettings/src/com/cyanogenmod/settings/device/DeviceSettings.java5
-rw-r--r--DeviceSettings/src/com/cyanogenmod/settings/device/DockFragmentActivity.java2
-rw-r--r--DeviceSettings/src/com/cyanogenmod/settings/device/HapticFragmentActivity.java2
-rw-r--r--DeviceSettings/src/com/cyanogenmod/settings/device/RadioFragmentActivity.java2
-rw-r--r--DeviceSettings/src/com/cyanogenmod/settings/device/ScreenFragmentActivity.java8
-rw-r--r--DeviceSettings/src/com/cyanogenmod/settings/device/Startup.java1
-rw-r--r--DeviceSettings/src/com/cyanogenmod/settings/device/Utils.java6
-rw-r--r--i9300.mk2
12 files changed, 148 insertions, 62 deletions
diff --git a/DeviceSettings/Android.mk b/DeviceSettings/Android.mk
index 12c8de5..6605185 100644
--- a/DeviceSettings/Android.mk
+++ b/DeviceSettings/Android.mk
@@ -7,7 +7,7 @@ LOCAL_STATIC_JAVA_LIBRARIES := android-support-v13
LOCAL_SRC_FILES := $(call all-java-files-under, src)
-LOCAL_PACKAGE_NAME := GalaxyS3Settings
+LOCAL_PACKAGE_NAME := DeviceSettings
LOCAL_CERTIFICATE := platform
include $(BUILD_PACKAGE)
diff --git a/DeviceSettings/res/values/strings.xml b/DeviceSettings/res/values/strings.xml
index 5570385..1bf9807 100644
--- a/DeviceSettings/res/values/strings.xml
+++ b/DeviceSettings/res/values/strings.xml
@@ -2,22 +2,15 @@
<resources>
<string name="app_name">Advanced settings</string>
- <string name="category_dock_title">Dock</string>
- <string name="dockaudio_subcat_title">Dock Audio</string>
- <string name="use_dock_audio_title_head">Use Dock USB Audio</string>
- <string name="use_dock_audio_summary_head">Use the passive audio out on the dock</string>
-
- <string name="category_haptic_title">Haptic</string>
- <string name="vibrator_subcat_title">Vibrator</string>
- <string name="vibrator_intensity_title_head">Vibrator Intensity</string>
- <string name="vibrator_intensity_summary_head">Set vibrator intensity</string>
-
- <string name="category_radio_title">Radio</string>
- <string name="hspa_title_head">HSPA</string>
- <string name="hspa_summary_head">Enable HSDPA/HSUPA</string>
-
+ <!-- Screen -->
<string name="category_screen_title">Screen</string>
<string name="mdnie_subcat_title">Colors</string>
+
+ <!-- CABC -->
+ <string name="cabc_title_head">CABC</string>
+ <string name="cabc_summary_head">Enable content adaptive backlight control</string>
+
+ <!-- mDNIe -->
<string name="mdnie_scenario_title_head">Scenario</string>
<string name="mdnie_scenario_summary_head">Set the mDNIe Scenario</string>
<string name="mdnie_mode_title_head">Mode</string>
@@ -25,10 +18,12 @@
<string name="mdnie_negative_title_head">Negative Mode</string>
<string name="mdnie_negative_summary_head">Enable/Disable inverted colors</string>
+ <!-- LED -->
<string name="led_subcat_title">Notification LED</string>
<string name="led_fade_title_head">LED Fading</string>
<string name="led_fade_summary_head">Enable LED smooth fading instead of sharp blinking.</string>
+ <!-- Touchkey -->
<string name="touchkey_subcat_title">Touchkeys</string>
<string name="touchkey_light_title_head">Backlight</string>
<string name="touchkey_light_summary_off">Enable backlight</string>
@@ -36,4 +31,21 @@
<string name="touchkey_timeout_title_head">Backlight timeout</string>
<string name="touchkey_timeout_summary_head">Set timeout for the backlight</string>
+ <!-- Dock -->
+ <string name="category_dock_title">Dock</string>
+ <string name="dockaudio_subcat_title">Dock Audio</string>
+ <string name="use_dock_audio_title_head">Use Dock USB Audio</string>
+ <string name="use_dock_audio_summary_head">Use the passive audio out on the dock</string>
+
+ <!-- Haptic -->
+ <string name="category_haptic_title">Haptic</string>
+ <string name="vibrator_subcat_title">Vibrator</string>
+ <string name="vibrator_intensity_title_head">Vibrator Intensity</string>
+ <string name="vibrator_intensity_summary_head">Set vibrator intensity</string>
+
+ <!-- Radio -->
+ <string name="category_radio_title">Radio</string>
+ <string name="hspa_title_head">HSPA</string>
+ <string name="hspa_summary_head">Enable HSDPA/HSUPA</string>
+
</resources>
diff --git a/DeviceSettings/res/xml/screen_preferences.xml b/DeviceSettings/res/xml/screen_preferences.xml
index aff39c0..313f22c 100644
--- a/DeviceSettings/res/xml/screen_preferences.xml
+++ b/DeviceSettings/res/xml/screen_preferences.xml
@@ -1,59 +1,69 @@
<?xml version="1.0" encoding="UTF-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
+ <!-- Screen -->
<PreferenceCategory
- android:title="@string/mdnie_subcat_title">
- <!-- mDNIe Scenario modes -->
- <com.cyanogenmod.settings.device.mDNIeScenario
- android:key="mdnie_scenario"
- android:title="@string/mdnie_scenario_title_head"
- android:summary="@string/mdnie_scenario_summary_head"
- android:entries="@array/mdnie_scenario_entries"
- android:entryValues="@array/mdnie_scenario_entries_values"
- android:defaultValue="0" />
+ android:title="@string/mdnie_subcat_title">
- <!-- mDNIe Mode -->
- <com.cyanogenmod.settings.device.mDNIeMode
- android:key="mdnie_mode"
- android:title="@string/mdnie_mode_title_head"
- android:summary="@string/mdnie_mode_summary_head"
- android:entries="@array/mdnie_mode_entries"
- android:entryValues="@array/mdnie_mode_entries_values"
- android:defaultValue="0" />
+ <!-- CABC -->
+ <com.cyanogenmod.settings.device.CABC
+ android:key="cabc"
+ android:title="@string/cabc_title_head"
+ android:summary="@string/cabc_summary_head"
+ android:defaultValue="true" />
- <!-- mDNIe Negative mode -->
- <com.cyanogenmod.settings.device.mDNIeNegative
- android:key="mdnie_negative"
- android:title="@string/mdnie_negative_title_head"
- android:summary="@string/mdnie_negative_summary_head"
- android:entries="@array/mdnie_negative_entries"
- android:entryValues="@array/mdnie_negative_entries_values"
- android:defaultValue="0" />
+ <!-- mDNIe Scenario modes -->
+ <com.cyanogenmod.settings.device.mDNIeScenario
+ android:key="mdnie_scenario"
+ android:title="@string/mdnie_scenario_title_head"
+ android:summary="@string/mdnie_scenario_summary_head"
+ android:entries="@array/mdnie_scenario_entries"
+ android:entryValues="@array/mdnie_scenario_entries_values"
+ android:defaultValue="0" />
+
+ <!-- mDNIe Mode -->
+ <com.cyanogenmod.settings.device.mDNIeMode
+ android:key="mdnie_mode"
+ android:title="@string/mdnie_mode_title_head"
+ android:summary="@string/mdnie_mode_summary_head"
+ android:entries="@array/mdnie_mode_entries"
+ android:entryValues="@array/mdnie_mode_entries_values"
+ android:defaultValue="0" />
+
+ <!-- mDNIe Negative mode -->
+ <com.cyanogenmod.settings.device.mDNIeNegative
+ android:key="mdnie_negative"
+ android:title="@string/mdnie_negative_title_head"
+ android:summary="@string/mdnie_negative_summary_head"
+ android:entries="@array/mdnie_negative_entries"
+ android:entryValues="@array/mdnie_negative_entries_values"
+ android:defaultValue="0" />
</PreferenceCategory>
+ <!-- LED -->
<PreferenceCategory
- android:title="@string/led_subcat_title">
- <!-- LED fading mode -->
- <com.cyanogenmod.settings.device.LedFade
+ android:title="@string/led_subcat_title">
+ <!-- LED fading mode -->
+ <com.cyanogenmod.settings.device.LedFade
android:key="led_fade"
android:title="@string/led_fade_title_head"
android:summary="@string/led_fade_summary_head"
android:entries="@array/led_fade_entries"
- android:entryValues="@array/led_fade_entries_values"
- android:defaultValue="1" />
+ android:entryValues="@array/led_fade_entries_values"
+ android:defaultValue="1" />
</PreferenceCategory>
+ <!-- Touchkeys -->
<PreferenceCategory
- android:title="@string/touchkey_subcat_title">
- <!-- Touchkey backlight -->
- <CheckBoxPreference
+ android:title="@string/touchkey_subcat_title">
+ <!-- Touchkey backlight -->
+ <CheckBoxPreference
android:key="touchkey_light"
android:title="@string/touchkey_light_title_head"
android:summaryOff="@string/touchkey_light_summary_off"
android:summaryOn="@string/touchkey_light_summary_on"
- android:defaultValue="true"
- />
- <com.cyanogenmod.settings.device.TouchkeyTimeout
+ android:defaultValue="true" />
+ <com.cyanogenmod.settings.device.TouchkeyTimeout
android:key="touchkey_timeout"
android:title="@string/touchkey_timeout_title_head"
android:summary="@string/touchkey_timeout_summary_head"
diff --git a/DeviceSettings/src/com/cyanogenmod/settings/device/CABC.java b/DeviceSettings/src/com/cyanogenmod/settings/device/CABC.java
new file mode 100644
index 0000000..af247d8
--- /dev/null
+++ b/DeviceSettings/src/com/cyanogenmod/settings/device/CABC.java
@@ -0,0 +1,58 @@
+/*
+ * 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.cyanogenmod.settings.device;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.preference.CheckBoxPreference;
+import android.preference.Preference;
+import android.preference.Preference.OnPreferenceChangeListener;
+import android.preference.PreferenceManager;
+import android.util.AttributeSet;
+
+public class CABC extends CheckBoxPreference implements OnPreferenceChangeListener {
+
+ public CABC(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ this.setOnPreferenceChangeListener(this);
+ }
+
+ private static final String FILE = "/sys/class/lcd/panel/power_reduce";
+
+ public static boolean isSupported() {
+ return Utils.fileExists(FILE);
+ }
+
+ /**
+ * Restore cabc setting from SharedPreferences. (Write to kernel.)
+ * @param context The context to read the SharedPreferences from
+ */
+ public static void restore(Context context) {
+ if (!isSupported()) {
+ return;
+ }
+
+ SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
+ Utils.writeValue(FILE, sharedPrefs.getBoolean(DeviceSettings.KEY_CABC, true) ? "1" : "0");
+ }
+
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
+ Utils.writeValue(FILE, (Boolean)newValue ? "1" : "0");
+ return true;
+ }
+
+}
diff --git a/DeviceSettings/src/com/cyanogenmod/settings/device/DeviceSettings.java b/DeviceSettings/src/com/cyanogenmod/settings/device/DeviceSettings.java
index 6c5fc67..3284e39 100644
--- a/DeviceSettings/src/com/cyanogenmod/settings/device/DeviceSettings.java
+++ b/DeviceSettings/src/com/cyanogenmod/settings/device/DeviceSettings.java
@@ -36,14 +36,15 @@ public class DeviceSettings extends FragmentActivity {
public static final String SHARED_PREFERENCES_BASENAME = "com.cyanogenmod.settings.device";
public static final String ACTION_UPDATE_PREFERENCES = "com.cyanogenmod.settings.device.UPDATE";
- public static final String KEY_HSPA = "hspa";
- public static final String KEY_VIBRATOR_INTENSITY = "vibrator_intensity";
+ public static final String KEY_CABC = "cabc";
public static final String KEY_MDNIE_SCENARIO = "mdnie_scenario";
public static final String KEY_MDNIE_MODE = "mdnie_mode";
public static final String KEY_MDNIE_NEGATIVE = "mdnie_negative";
public static final String KEY_LED_FADE = "led_fade";
public static final String KEY_TOUCHKEY_LIGHT = "touchkey_light";
public static final String KEY_TOUCHKEY_TIMEOUT = "touchkey_timeout";
+ public static final String KEY_HSPA = "hspa";
+ public static final String KEY_VIBRATOR_INTENSITY = "vibrator_intensity";
public static final String KEY_USE_DOCK_AUDIO = "dock_audio";
ViewPager mViewPager;
diff --git a/DeviceSettings/src/com/cyanogenmod/settings/device/DockFragmentActivity.java b/DeviceSettings/src/com/cyanogenmod/settings/device/DockFragmentActivity.java
index c57cd63..1adf774 100644
--- a/DeviceSettings/src/com/cyanogenmod/settings/device/DockFragmentActivity.java
+++ b/DeviceSettings/src/com/cyanogenmod/settings/device/DockFragmentActivity.java
@@ -35,7 +35,7 @@ import com.cyanogenmod.settings.device.R;
public class DockFragmentActivity extends PreferenceFragment {
private static final String PREF_ENABLED = "1";
- private static final String TAG = "GalaxyS3Settings_Dock";
+ private static final String TAG = "DeviceSettings_Dock";
@Override
public void onCreate(Bundle savedInstanceState) {
diff --git a/DeviceSettings/src/com/cyanogenmod/settings/device/HapticFragmentActivity.java b/DeviceSettings/src/com/cyanogenmod/settings/device/HapticFragmentActivity.java
index 0f3313d..176d80a 100644
--- a/DeviceSettings/src/com/cyanogenmod/settings/device/HapticFragmentActivity.java
+++ b/DeviceSettings/src/com/cyanogenmod/settings/device/HapticFragmentActivity.java
@@ -33,7 +33,7 @@ import com.cyanogenmod.settings.device.R;
public class HapticFragmentActivity extends PreferenceFragment {
private static final String PREF_ENABLED = "1";
- private static final String TAG = "GalaxyS3Settings_Haptic";
+ private static final String TAG = "DeviceSettings_Haptic";
@Override
public void onCreate(Bundle savedInstanceState) {
diff --git a/DeviceSettings/src/com/cyanogenmod/settings/device/RadioFragmentActivity.java b/DeviceSettings/src/com/cyanogenmod/settings/device/RadioFragmentActivity.java
index 62b855c..d094ef2 100644
--- a/DeviceSettings/src/com/cyanogenmod/settings/device/RadioFragmentActivity.java
+++ b/DeviceSettings/src/com/cyanogenmod/settings/device/RadioFragmentActivity.java
@@ -33,7 +33,7 @@ import com.cyanogenmod.settings.device.R;
public class RadioFragmentActivity extends PreferenceFragment {
private static final String PREF_ENABLED = "1";
- private static final String TAG = "GalaxyS2Parts_Radio";
+ private static final String TAG = "DeviceSettings_Radio";
@Override
public void onCreate(Bundle savedInstanceState) {
diff --git a/DeviceSettings/src/com/cyanogenmod/settings/device/ScreenFragmentActivity.java b/DeviceSettings/src/com/cyanogenmod/settings/device/ScreenFragmentActivity.java
index 36180ae..ea0e429 100644
--- a/DeviceSettings/src/com/cyanogenmod/settings/device/ScreenFragmentActivity.java
+++ b/DeviceSettings/src/com/cyanogenmod/settings/device/ScreenFragmentActivity.java
@@ -33,11 +33,12 @@ import com.cyanogenmod.settings.device.R;
public class ScreenFragmentActivity extends PreferenceFragment {
private static final String PREF_ENABLED = "1";
- private static final String TAG = "GalaxyS3Settings_Screen";
+ private static final String TAG = "DeviceSettings_Screen";
private mDNIeScenario mmDNIeScenario;
private mDNIeMode mmDNIeMode;
private mDNIeNegative mmDNIeNegative;
private LedFade mLedFade;
+ private CABC mCABC;
private static final String FILE_TOUCHKEY_BRIGHTNESS = "/sys/class/sec/sec_touchkey/brightness";
private static final String FILE_TOUCHKEY_DISABLE = "/sys/class/sec/sec_touchkey/force_disable";
@@ -47,8 +48,11 @@ public class ScreenFragmentActivity extends PreferenceFragment {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.screen_preferences);
-
PreferenceScreen prefSet = getPreferenceScreen();
+
+ mCABC = (CABC) findPreference(DeviceSettings.KEY_CABC);
+ mCABC.setEnabled(CABC.isSupported());
+
mmDNIeScenario = (mDNIeScenario) findPreference(DeviceSettings.KEY_MDNIE_SCENARIO);
mmDNIeScenario.setEnabled(mDNIeScenario.isSupported());
diff --git a/DeviceSettings/src/com/cyanogenmod/settings/device/Startup.java b/DeviceSettings/src/com/cyanogenmod/settings/device/Startup.java
index 56b903b..8acfd07 100644
--- a/DeviceSettings/src/com/cyanogenmod/settings/device/Startup.java
+++ b/DeviceSettings/src/com/cyanogenmod/settings/device/Startup.java
@@ -29,6 +29,7 @@ public class Startup extends BroadcastReceiver {
Hspa.restore(context);
RadioFragmentActivity.restore(context);
ScreenFragmentActivity.restore(context);
+ CABC.restore(context);
mDNIeScenario.restore(context);
mDNIeMode.restore(context);
mDNIeNegative.restore(context);
diff --git a/DeviceSettings/src/com/cyanogenmod/settings/device/Utils.java b/DeviceSettings/src/com/cyanogenmod/settings/device/Utils.java
index d4df92f..bd8eb65 100644
--- a/DeviceSettings/src/com/cyanogenmod/settings/device/Utils.java
+++ b/DeviceSettings/src/com/cyanogenmod/settings/device/Utils.java
@@ -29,9 +29,9 @@ import android.content.Context;
public class Utils {
- private static final String TAG = "GalaxyS3Settings_Utils";
- private static final String TAG_READ = "GalaxyS3Settings_Utils_Read";
- private static final String TAG_WRITE = "GalaxyS3Settings_Utils_Write";
+ private static final String TAG = "DeviceSettings_Utils";
+ private static final String TAG_READ = "DeviceSettings_Utils_Read";
+ private static final String TAG_WRITE = "DeviceSettings_Utils_Write";
/**
* Write a string value to the specified file.
diff --git a/i9300.mk b/i9300.mk
index e13cf48..4a52c57 100644
--- a/i9300.mk
+++ b/i9300.mk
@@ -44,7 +44,7 @@ PRODUCT_COPY_FILES += \
# Product specific Packages
PRODUCT_PACKAGES += \
- GalaxyS3Settings \
+ DeviceSettings \
libsecril-client \
libsecril-client-sap \
SamsungServiceMode