diff options
author | Michael Kolb <kolby@google.com> | 2013-04-18 12:31:10 -0700 |
---|---|---|
committer | Michael Kolb <kolby@google.com> | 2013-04-18 14:31:18 -0700 |
commit | 25c0ec4c1252a8d0f9de74ba7ade74bc7af3f5b2 (patch) | |
tree | 243814e383c7363ef7e823f79ca1114779cd60fa /src/com/android/camera/PieController.java | |
parent | 9d39c070458686fa31c3173c72332eee60c4dd14 (diff) | |
download | android_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.java | 55 |
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; } |