diff options
author | Dimitar Borisov <dboris@codeaurora.org> | 2014-09-24 17:32:06 +0300 |
---|---|---|
committer | Dimitar Borisov <dboris@codeaurora.org> | 2014-09-30 19:32:14 +0300 |
commit | 19656479581c4cdda53e6af6acfcb3346b97164a (patch) | |
tree | 68fbc150991ca34e6ab77ced2e603c4c0e925fb3 /src/com/android/camera/PhotoMenu.java | |
parent | 81b91551dfd0f35380094e3434e5358e8d63f0ba (diff) | |
download | android_packages_apps_Snap-19656479581c4cdda53e6af6acfcb3346b97164a.tar.gz android_packages_apps_Snap-19656479581c4cdda53e6af6acfcb3346b97164a.tar.bz2 android_packages_apps_Snap-19656479581c4cdda53e6af6acfcb3346b97164a.zip |
SnapdragonCamera: Add support for CDS and TNR settings
Add support for CDS and TNR settings
- CDS and TNR can be controlled in
photo mode and video mode.
- CDS is set to off and cannot be
set to other value when TNR is enabled
- CDS value is restored when TNR is disabled again
CRs-Fixed: 715042
Change-Id: Idf08403e38d0e3e634b047a955f2328b4237e691
Diffstat (limited to 'src/com/android/camera/PhotoMenu.java')
-rw-r--r-- | src/com/android/camera/PhotoMenu.java | 44 |
1 files changed, 41 insertions, 3 deletions
diff --git a/src/com/android/camera/PhotoMenu.java b/src/com/android/camera/PhotoMenu.java index 78ab98c5d..c4e8f8350 100644 --- a/src/com/android/camera/PhotoMenu.java +++ b/src/com/android/camera/PhotoMenu.java @@ -60,6 +60,9 @@ public class PhotoMenu extends PieController private int popupNum = 0; private PieItem mHdrItem = null; private PieItem mHdrPlusItem = null; + private String mPrevSavedCDS; + private boolean mIsTNREnabled = false; + private boolean mIsCDSUpdated = false; public PhotoMenu(CameraActivity activity, PhotoUI ui, PieRenderer pie) { super(activity, pie); @@ -106,7 +109,9 @@ public class PhotoMenu extends PieController CameraSettings.KEY_LONGSHOT, CameraSettings.KEY_AUTO_HDR, CameraSettings.KEY_HDR_MODE, - CameraSettings.KEY_HDR_NEED_1X + CameraSettings.KEY_HDR_NEED_1X, + CameraSettings.KEY_CDS_MODE, + CameraSettings.KEY_TNR_MODE }; mOtherKeys2 = new String[] { @@ -213,10 +218,43 @@ public class PhotoMenu extends PieController onSettingChanged(pref); } - @Override + @Override public void overrideSettings(final String ... keyvalues) { + if (mPopup1 != null) { + ListPreference pref_tnr = mPreferenceGroup.findPreference(CameraSettings.KEY_TNR_MODE); + ListPreference pref_cds = mPreferenceGroup.findPreference(CameraSettings.KEY_CDS_MODE); + + String tnr = (pref_tnr != null) ? pref_tnr.getValue() : null; + String cds = (pref_cds != null) ? pref_cds.getValue() : null; + + if (mPrevSavedCDS == null && cds != null) { + mPrevSavedCDS = cds; + } + + if ((tnr != null) && !mActivity.getString(R.string. + pref_camera_tnr_default).equals(tnr)) { + mPopup1.setPreferenceEnabled(CameraSettings.KEY_CDS_MODE, false); + mPopup1.overrideSettings(CameraSettings.KEY_CDS_MODE, + mActivity.getString(R.string.pref_camera_cds_value_off)); + mIsTNREnabled = true; + if (!mIsCDSUpdated) { + if (cds != null) { + mPrevSavedCDS = cds; + } + mIsCDSUpdated = true; + } + } else if (tnr != null) { + mPopup1.setPreferenceEnabled(CameraSettings.KEY_CDS_MODE, true); + if (mIsTNREnabled && mPrevSavedCDS != cds) { + mPopup1.overrideSettings(CameraSettings.KEY_CDS_MODE, mPrevSavedCDS); + mIsTNREnabled = false; + mIsCDSUpdated = false; + } + } + } + super.overrideSettings(keyvalues); - if ((mPopup1 == null) && (mPopup2 == null) && (mPopup3 == null)) initializePopup(); + if ((mPopup1 == null) && (mPopup2 == null) && (mPopup3 == null)) initializePopup(); mPopup1.overrideSettings(keyvalues); mPopup2.overrideSettings(keyvalues); mPopup3.overrideSettings(keyvalues); |