diff options
author | Pawit Pornkitprasan <p.pawit@gmail.com> | 2011-10-31 12:51:40 +0700 |
---|---|---|
committer | Pawit Pornkitprasan <p.pawit@gmail.com> | 2011-10-31 12:51:40 +0700 |
commit | 9cfb69a0b4f04932113b910ff1365f2c0f8720e5 (patch) | |
tree | dfcc36e66b91f7162eb80291ee6972b03baa954f /AriesParts/src/com/cyanogenmod/AriesParts/Hspa.java | |
parent | a80465577d6c6b32946a47a008a2b2640f26391b (diff) | |
download | device_samsung_aries-common-9cfb69a0b4f04932113b910ff1365f2c0f8720e5.zip device_samsung_aries-common-9cfb69a0b4f04932113b910ff1365f2c0f8720e5.tar.gz device_samsung_aries-common-9cfb69a0b4f04932113b910ff1365f2c0f8720e5.tar.bz2 |
AriesParts: Add HSPA setting
Requires I76632c874b872f0d3f9a1013b7dd548af4b91341
Change-Id: I461e90acd6502b633c95d08c482487fdffec259a
Diffstat (limited to 'AriesParts/src/com/cyanogenmod/AriesParts/Hspa.java')
-rw-r--r-- | AriesParts/src/com/cyanogenmod/AriesParts/Hspa.java | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/AriesParts/src/com/cyanogenmod/AriesParts/Hspa.java b/AriesParts/src/com/cyanogenmod/AriesParts/Hspa.java new file mode 100644 index 0000000..7c89127 --- /dev/null +++ b/AriesParts/src/com/cyanogenmod/AriesParts/Hspa.java @@ -0,0 +1,48 @@ +package com.cyanogenmod.AriesParts; + +import android.content.Context; +import android.content.Intent; +import android.content.SharedPreferences; +import android.preference.Preference; +import android.preference.Preference.OnPreferenceChangeListener; +import android.preference.PreferenceManager; + +public class Hspa implements OnPreferenceChangeListener { + + private static final String APK_FILE = "/system/app/SamsungServiceMode.apk"; + private Context mCtx; + + public Hspa(Context context) { + mCtx = context; + } + + public static boolean isSupported() { + return Utils.fileExists(APK_FILE); + } + + /** + * Restore HSPA 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); + sendIntent(context, sharedPrefs.getString(AriesParts.KEY_HSPA, "23")); + } + + @Override + public boolean onPreferenceChange(Preference preference, Object newValue) { + sendIntent(mCtx, (String) newValue); + return true; + } + + private static void sendIntent(Context context, String value) { + Intent i = new Intent("com.cyanogenmod.SamsungServiceMode.EXECUTE"); + i.putExtra("sub_type", 20); // HSPA Setting + i.putExtra("data", value); + context.sendBroadcast(i); + } +} |