summaryrefslogtreecommitdiffstats
path: root/AriesParts/src/com/cyanogenmod/settings/device/DockAudio.java
diff options
context:
space:
mode:
Diffstat (limited to 'AriesParts/src/com/cyanogenmod/settings/device/DockAudio.java')
-rw-r--r--AriesParts/src/com/cyanogenmod/settings/device/DockAudio.java57
1 files changed, 57 insertions, 0 deletions
diff --git a/AriesParts/src/com/cyanogenmod/settings/device/DockAudio.java b/AriesParts/src/com/cyanogenmod/settings/device/DockAudio.java
new file mode 100644
index 0000000..1070fa0
--- /dev/null
+++ b/AriesParts/src/com/cyanogenmod/settings/device/DockAudio.java
@@ -0,0 +1,57 @@
+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;
+
+public class DockAudio implements OnPreferenceChangeListener {
+
+ private static final String[] FILE_PATH = new String[] {
+ "/sys/class/misc/dockaudio/cardock_enable",
+ "/sys/class/misc/dockaudio/deskdock_enable"
+ };
+
+ public static boolean isSupported() {
+ boolean supported = true;
+
+ for (int i = 0; i < FILE_PATH.length; i++) {
+ if (!Utils.fileExists(FILE_PATH[i])) {
+ supported = false;
+ }
+ }
+ return supported;
+ }
+
+ /**
+ * Restore dockaudio settings 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);
+ int value;
+ for (int i = 0; i < FILE_PATH.length; i++) {
+ if (i == 0)
+ value = sharedPrefs.getBoolean(DeviceSettings.KEY_CARDOCK_AUDIO, false) ? 1 : 0;
+ else
+ value = sharedPrefs.getBoolean(DeviceSettings.KEY_DESKDOCK_AUDIO, false) ? 1 : 0;
+
+ Utils.writeValue(FILE_PATH[i], String.valueOf(value));
+ }
+ }
+
+ @Override
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
+ for (int i = 0; i < FILE_PATH.length; i++) {
+ Utils.writeValue(FILE_PATH[i], ((CheckBoxPreference)preference).isChecked() ? "0" : "1");
+ }
+ return true;
+ }
+
+}