diff options
author | jt1134 <jt1134@gmail.com> | 2012-07-29 06:11:29 -0500 |
---|---|---|
committer | jt1134 <jt1134@gmail.com> | 2012-07-29 06:11:29 -0500 |
commit | 3c4cca0e9e8c17d7be8f8ccb207f8f2775e95ccd (patch) | |
tree | c4c0180dde1d152c85382ad6f88b2a21a877d093 /AriesParts/src/com/cyanogenmod/settings/device/DockAudio.java | |
parent | 49b6cff5a8e35a354b019d2c5ff1e5a17522f074 (diff) | |
download | device_samsung_aries-common-3c4cca0e9e8c17d7be8f8ccb207f8f2775e95ccd.zip device_samsung_aries-common-3c4cca0e9e8c17d7be8f8ccb207f8f2775e95ccd.tar.gz device_samsung_aries-common-3c4cca0e9e8c17d7be8f8ccb207f8f2775e95ccd.tar.bz2 |
AriesParts: add toggles for car and desk dock audio output
Change-Id: Icd651195588b779ff36df0d6f4e9cf23785eaaec
Diffstat (limited to 'AriesParts/src/com/cyanogenmod/settings/device/DockAudio.java')
-rw-r--r-- | AriesParts/src/com/cyanogenmod/settings/device/DockAudio.java | 57 |
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; + } + +} |