diff options
author | Steve Kondik <shade@chemlab.org> | 2013-11-02 22:12:13 -0700 |
---|---|---|
committer | Steve Kondik <shade@chemlab.org> | 2013-11-10 14:50:08 -0800 |
commit | fd78d710c887fd17cfccc0b912c4230d28d64135 (patch) | |
tree | 4e6459690e59d7f9303b5d871198606206be15cd /src/com/android/camera/PhotoMenu.java | |
parent | 93dc61d7b20e4d505457ef202bf39b8cc57210c3 (diff) | |
download | android_packages_apps_Gallery2-fd78d710c887fd17cfccc0b912c4230d28d64135.tar.gz android_packages_apps_Gallery2-fd78d710c887fd17cfccc0b912c4230d28d64135.tar.bz2 android_packages_apps_Gallery2-fd78d710c887fd17cfccc0b912c4230d28d64135.zip |
camera: Improve UX consistency
* Create "Enhance" submenu for HDR, beauty, etc
* Reorganize to simplify the menu structure
* Match video mode menus with camera mode
Change-Id: I69c72462b5b2481cf817bce7ccc4757d7f8d6e70
Diffstat (limited to 'src/com/android/camera/PhotoMenu.java')
-rwxr-xr-x[-rw-r--r--] | src/com/android/camera/PhotoMenu.java | 69 |
1 files changed, 56 insertions, 13 deletions
diff --git a/src/com/android/camera/PhotoMenu.java b/src/com/android/camera/PhotoMenu.java index 96e97b3d1..0cfdaa925 100644..100755 --- a/src/com/android/camera/PhotoMenu.java +++ b/src/com/android/camera/PhotoMenu.java @@ -67,17 +67,54 @@ public class PhotoMenu extends PieController Locale locale = res.getConfiguration().locale; // the order is from left to right in the menu - // hdr - if (group.findPreference(CameraSettings.KEY_CAMERA_HDR) != null) { - item = makeSwitchItem(CameraSettings.KEY_CAMERA_HDR, true); - mRenderer.addItem(item); - } // exposure compensation if (group.findPreference(CameraSettings.KEY_EXPOSURE) != null) { item = makeItem(CameraSettings.KEY_EXPOSURE); item.setLabel(res.getString(R.string.pref_exposure_label)); mRenderer.addItem(item); } + // enhance + PieItem enhance = makeItem(R.drawable.ic_enhance); + enhance.setLabel(res.getString(R.string.camera_menu_enhance_label)); + mRenderer.addItem(enhance); + // hdr + if (group.findPreference(CameraSettings.KEY_CAMERA_HDR) != null) { + item = makeSwitchItem(CameraSettings.KEY_CAMERA_HDR, true); + enhance.addItem(item); + } + // beautify + if (group.findPreference(CameraSettings.KEY_BEAUTY_MODE) != null) { + item = makeSwitchItem(CameraSettings.KEY_BEAUTY_MODE, true); + enhance.addItem(item); + } + // slow shutter + if (group.findPreference(CameraSettings.KEY_SLOW_SHUTTER) != null) { + item = makeSwitchItem(CameraSettings.KEY_SLOW_SHUTTER, true); + enhance.addItem(item); + } + // color effect + final ListPreference colorPref = group.findPreference(CameraSettings.KEY_COLOR_EFFECT); + if (colorPref != null) { + item = makeItem(R.drawable.ic_tint); + item.setLabel(res.getString( + R.string.pref_camera_coloreffect_title).toUpperCase(locale)); + item.setOnClickListener(new OnClickListener() { + @Override + public void onClick(PieItem item) { + ListPrefSettingPopup popup = + (ListPrefSettingPopup) mActivity.getLayoutInflater().inflate( + R.layout.list_pref_setting_popup, null, false); + popup.initialize(colorPref); + popup.setSettingChangedListener(PhotoMenu.this); + mUI.dismissPopup(); + mPopup = popup; + mPopupStatus = POPUP_SECOND_LEVEL; + mUI.showPopup(mPopup); + } + }); + enhance.addItem(item); + } + // more settings PieItem more = makeItem(R.drawable.ic_settings_holo_light); more.setLabel(res.getString(R.string.camera_menu_settings_label)); @@ -187,19 +224,16 @@ public class PhotoMenu extends PieController mUI.showPopup(mPopup); } }); - more.addItem(item); + enhance.addItem(item); } // extra settings popup mOtherKeys = new String[] { CameraSettings.KEY_STORAGE, + CameraSettings.KEY_POWER_SHUTTER, CameraSettings.KEY_FOCUS_MODE, CameraSettings.KEY_FOCUS_TIME, - CameraSettings.KEY_BEAUTY_MODE, - CameraSettings.KEY_SLOW_SHUTTER, - CameraSettings.KEY_POWER_SHUTTER, CameraSettings.KEY_ISO_MODE, CameraSettings.KEY_JPEG, - CameraSettings.KEY_COLOR_EFFECT, CameraSettings.KEY_BURST_MODE }; item = makeItem(R.drawable.ic_settings_holo_light); @@ -223,7 +257,7 @@ public class PhotoMenu extends PieController } @Override - // Hit when an item in a popup gets selected + // Hit when an item in the second-level popup gets selected public void onListPrefChanged(ListPreference pref) { if (mPopup != null) { if (mPopupStatus == POPUP_SECOND_LEVEL) { @@ -234,7 +268,7 @@ public class PhotoMenu extends PieController } public void popupDismissed() { - // the popup gets dismissed + // if the 2nd level popup gets dismissed if (mPopup != null) { if (mPopupStatus == POPUP_SECOND_LEVEL) { mPopup = null; @@ -258,11 +292,20 @@ public class PhotoMenu extends PieController @Override public void onSettingChanged(ListPreference pref) { // Reset the scene mode if HDR is set to on. Reset HDR if scene mode is - // set to non-auto. + // set to non-auto. Also disable beautify when HDR is active. if (notSame(pref, CameraSettings.KEY_CAMERA_HDR, mSettingOff)) { setPreference(CameraSettings.KEY_SCENE_MODE, Parameters.SCENE_MODE_AUTO); + setPreference(CameraSettings.KEY_BEAUTY_MODE, mSettingOff); + setPreference(CameraSettings.KEY_SLOW_SHUTTER, "slow-shutter-off"); } else if (notSame(pref, CameraSettings.KEY_SCENE_MODE, Parameters.SCENE_MODE_AUTO)) { setPreference(CameraSettings.KEY_CAMERA_HDR, mSettingOff); + setPreference(CameraSettings.KEY_SLOW_SHUTTER, "slow-shutter-off"); + } else if (notSame(pref, CameraSettings.KEY_BEAUTY_MODE, mSettingOff)) { + setPreference(CameraSettings.KEY_CAMERA_HDR, mSettingOff); + setPreference(CameraSettings.KEY_SLOW_SHUTTER, "slow-shutter-off"); + } else if (notSame(pref, CameraSettings.KEY_SLOW_SHUTTER, "slow-shutter-off")) { + setPreference(CameraSettings.KEY_CAMERA_HDR, mSettingOff); + setPreference(CameraSettings.KEY_BEAUTY_MODE, mSettingOff); } super.onSettingChanged(pref); } |