summaryrefslogtreecommitdiffstats
path: root/src/com/cyanogenmod/trebuchet/preference
diff options
context:
space:
mode:
authorDanesh Mondegarian <daneshm90@gmail.com>2013-08-19 21:44:45 -0700
committerDanesh Mondegarian <daneshm90@gmail.com>2013-08-25 11:05:07 -0700
commit596b71d43c5f13f2d0199ffdfeaa550e15838783 (patch)
tree22e84ab3d2760ad86cae3eebfaba8f869815b72c /src/com/cyanogenmod/trebuchet/preference
parentcad0342d7477efbb98227d10f73d7a1bfa7f2417 (diff)
downloadandroid_packages_apps_Trebuchet-596b71d43c5f13f2d0199ffdfeaa550e15838783.tar.gz
android_packages_apps_Trebuchet-596b71d43c5f13f2d0199ffdfeaa550e15838783.tar.bz2
android_packages_apps_Trebuchet-596b71d43c5f13f2d0199ffdfeaa550e15838783.zip
Trebuchet : Icon pack theme
This patchset allows the user to set an icon pack for the entire launcher. Change-Id: I3dc8311f7e0a7a4f174fd568aa1d74b5ceb8471a
Diffstat (limited to 'src/com/cyanogenmod/trebuchet/preference')
-rw-r--r--src/com/cyanogenmod/trebuchet/preference/Preferences.java30
-rw-r--r--src/com/cyanogenmod/trebuchet/preference/PreferencesProvider.java14
2 files changed, 44 insertions, 0 deletions
diff --git a/src/com/cyanogenmod/trebuchet/preference/Preferences.java b/src/com/cyanogenmod/trebuchet/preference/Preferences.java
index cf90b170a..f2fcec8be 100644
--- a/src/com/cyanogenmod/trebuchet/preference/Preferences.java
+++ b/src/com/cyanogenmod/trebuchet/preference/Preferences.java
@@ -23,6 +23,7 @@ import android.preference.Preference;
import android.preference.PreferenceActivity;
import android.preference.PreferenceCategory;
import android.preference.PreferenceFragment;
+import android.preference.PreferenceScreen;
import android.text.TextUtils;
import android.view.MenuItem;
import android.view.LayoutInflater;
@@ -33,6 +34,7 @@ import android.widget.ImageView;
import android.widget.ListAdapter;
import android.widget.TextView;
+import com.cyanogenmod.trebuchet.IconPackHelper;
import com.cyanogenmod.trebuchet.LauncherApplication;
import com.cyanogenmod.trebuchet.R;
@@ -161,11 +163,39 @@ public class Preferences extends PreferenceActivity
}
public static class GeneralFragment extends PreferenceFragment {
+ private static final String ICON_PACK_KEY = "ui_general_iconpack";
+ private Preference mIconPackPreference;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences_general);
+ mIconPackPreference = findPreference(ICON_PACK_KEY);
+ }
+
+ @Override
+ public void onResume() {
+ int numIconPacks = IconPackHelper.getSupportedPackages(
+ getActivity()).size();
+ if (numIconPacks > 0) {
+ mIconPackPreference.setSummary(
+ R.string.preferences_interface_general_iconpack_summary);
+ mIconPackPreference.setEnabled(true);
+ } else {
+ mIconPackPreference.setSummary(R.string.no_iconpacks_summary);
+ mIconPackPreference.setEnabled(false);
+ }
+ super.onResume();
+ }
+
+
+ @Override
+ public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen,
+ Preference preference) {
+ if (preference.getKey().equals("ui_general_iconpack")) {
+ IconPackHelper.pickIconPack(getActivity());
+ }
+ return super.onPreferenceTreeClick(preferenceScreen, preference);
}
}
diff --git a/src/com/cyanogenmod/trebuchet/preference/PreferencesProvider.java b/src/com/cyanogenmod/trebuchet/preference/PreferencesProvider.java
index 9f61f8224..cd88bb5fd 100644
--- a/src/com/cyanogenmod/trebuchet/preference/PreferencesProvider.java
+++ b/src/com/cyanogenmod/trebuchet/preference/PreferencesProvider.java
@@ -61,6 +61,14 @@ public final class PreferencesProvider {
(String) sKeyValues.get(key) : def;
}
+ private static void setString(Context ctx, String key, String value) {
+ SharedPreferences preferences = ctx.getSharedPreferences(PREFERENCES_KEY, 0);
+ Editor editor = preferences.edit();
+ editor.putString(key, value);
+ editor.apply(); // For better performance
+ sKeyValues.put(key, value);
+ }
+
public static class Interface {
public static class Homescreen {
public static int getNumberHomescreens() {
@@ -231,6 +239,12 @@ public final class PreferencesProvider {
public static boolean getFullscreenMode() {
return getBoolean("ui_general_fullscreen", false);
}
+ public static String getIconPack() {
+ return getString("ui_general_iconpack", "");
+ }
+ public static void setIconPack(Context ctx, String packageName) {
+ setString(ctx, "ui_general_iconpack", packageName);
+ }
}
}