summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/PieController.java
diff options
context:
space:
mode:
authorMichael Kolb <kolby@google.com>2013-04-18 12:31:10 -0700
committerMichael Kolb <kolby@google.com>2013-04-18 14:31:18 -0700
commit25c0ec4c1252a8d0f9de74ba7ade74bc7af3f5b2 (patch)
tree243814e383c7363ef7e823f79ca1114779cd60fa /src/com/android/camera/PieController.java
parent9d39c070458686fa31c3173c72332eee60c4dd14 (diff)
downloadandroid_packages_apps_Snap-25c0ec4c1252a8d0f9de74ba7ade74bc7af3f5b2.tar.gz
android_packages_apps_Snap-25c0ec4c1252a8d0f9de74ba7ade74bc7af3f5b2.tar.bz2
android_packages_apps_Snap-25c0ec4c1252a8d0f9de74ba7ade74bc7af3f5b2.zip
Add more menu options/icons
Bug: 8640131 Added location and scene mode to secondary menu Updated HDR icons Change-Id: I5bed39a2ec037aecf67702d88f738befe61846d4
Diffstat (limited to 'src/com/android/camera/PieController.java')
-rw-r--r--src/com/android/camera/PieController.java55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/com/android/camera/PieController.java b/src/com/android/camera/PieController.java
index 5ccab5e72..565a20ed1 100644
--- a/src/com/android/camera/PieController.java
+++ b/src/com/android/camera/PieController.java
@@ -133,6 +133,50 @@ public class PieController {
return item;
}
+ public PieItem makeSwitchItem(final String prefKey, int position, int count,
+ boolean addListener) {
+ final IconListPreference pref =
+ (IconListPreference) mPreferenceGroup.findPreference(prefKey);
+ if (pref == null) return null;
+ int[] iconIds = pref.getLargeIconIds();
+ int resid = -1;
+ int index = pref.findIndexOfValue(pref.getValue());
+ if (!pref.getUseSingleIcon() && iconIds != null) {
+ // Each entry has a corresponding icon.
+ resid = iconIds[index];
+ } else {
+ // The preference only has a single icon to represent it.
+ resid = pref.getSingleIcon();
+ }
+ PieItem item = makeItem(resid);
+ item.setPosition(position, count);
+ item.setLabel(pref.getLabels()[index]);
+ item.setImageResource(mActivity, resid);
+ mPreferences.add(pref);
+ mPreferenceMap.put(pref, item);
+ if (addListener) {
+ final PieItem fitem = item;
+ item.setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(PieItem item) {
+ IconListPreference pref = (IconListPreference) mPreferenceGroup
+ .findPreference(prefKey);
+ int index = pref.findIndexOfValue(pref.getValue());
+ CharSequence[] values = pref.getEntryValues();
+ index = (index + 1) % values.length;
+ pref.setValueIndex(index);
+ fitem.setLabel(pref.getLabels()[index]);
+ fitem.setImageResource(mActivity,
+ ((IconListPreference) pref).getLargeIconIds()[index]);
+ reloadPreference(pref);
+ onSettingChanged(pref);
+ }
+ });
+ }
+ return item;
+ }
+
+
public PieItem makeDialItem(ListPreference pref, int iconId, float center, float sweep) {
PieItem item = makeItem(iconId);
return item;
@@ -143,6 +187,17 @@ public class PieController {
mRenderer.addItem(item);
}
+ public void updateItem(PieItem item, String prefKey) {
+ IconListPreference pref = (IconListPreference) mPreferenceGroup
+ .findPreference(prefKey);
+ if (pref != null) {
+ int index = pref.findIndexOfValue(pref.getValue());
+ item.setLabel(pref.getLabels()[index]);
+ item.setImageResource(mActivity,
+ ((IconListPreference) pref).getLargeIconIds()[index]);
+ }
+ }
+
public void setPreferenceGroup(PreferenceGroup group) {
mPreferenceGroup = group;
}