From 19afeb166e55a216fc6e2ebcbf9df4c7cb3cfd09 Mon Sep 17 00:00:00 2001 From: Ethan Chen Date: Sun, 15 Dec 2013 21:11:33 -0800 Subject: Camera: disable timelapse if HFR is enabled Change-Id: I9f2cb254981e38bdfd191036d5b2a1593bcb6ef2 --- src/com/android/camera/PieController.java | 14 +++++++++++++- src/com/android/camera/VideoModule.java | 4 ++-- src/com/android/camera/VideoUI.java | 4 ++++ src/com/android/camera/ui/PieItem.java | 4 ++-- 4 files changed, 21 insertions(+), 5 deletions(-) diff --git a/src/com/android/camera/PieController.java b/src/com/android/camera/PieController.java index 3fffedb1d..685e048ca 100644 --- a/src/com/android/camera/PieController.java +++ b/src/com/android/camera/PieController.java @@ -47,6 +47,7 @@ public class PieController { protected PieRenderer mRenderer; private List mPreferences; private Map mPreferenceMap; + private Map mClickItemMap; private Map mOverrides; public void setListener(OnPreferenceChangedListener listener) { @@ -58,12 +59,14 @@ public class PieController { mRenderer = pie; mPreferences = new ArrayList(); mPreferenceMap = new HashMap(); + mClickItemMap = new HashMap(); mOverrides = new HashMap(); } public void initialize(PreferenceGroup group) { mRenderer.clearItems(); mPreferenceMap.clear(); + mClickItemMap.clear(); setPreferenceGroup(group); mPreferences.clear(); mOverrides.clear(); @@ -83,7 +86,9 @@ public class PieController { protected PieItem makeItem(int resId) { // We need a mutable version as we change the alpha Drawable d = mActivity.getResources().getDrawable(resId).mutate(); - return new PieItem(d, 0); + PieItem item = new PieItem(d, 0); + mClickItemMap.put(new Integer(resId), item); + return item; } protected PieItem makeItem(CharSequence value) { @@ -258,4 +263,11 @@ public class PieController { } reloadPreference(pref); } + + public void enableItem(int resId, boolean enable) { + PieItem item = mClickItemMap.get(new Integer(resId)); + if (item != null) { + item.setEnabled(enable); + } + } } diff --git a/src/com/android/camera/VideoModule.java b/src/com/android/camera/VideoModule.java index 89bf38b6a..00ef827f6 100644 --- a/src/com/android/camera/VideoModule.java +++ b/src/com/android/camera/VideoModule.java @@ -2140,11 +2140,11 @@ public class VideoModule implements CameraModule, if (mEnableHFR) { int hfr = Integer.parseInt(hfrModes.get(hfrModes.size() - 1)); mParameters.setVideoHighFrameRate(String.valueOf(hfr)); - mUI.overrideSettings(CameraSettings.KEY_VIDEO_TIME_LAPSE_FRAME_INTERVAL, "0"); + mUI.enableItem(R.drawable.ic_timer, false); } else { mParameters.setVideoHighFrameRate("off"); - mUI.overrideSettings(CameraSettings.KEY_VIDEO_TIME_LAPSE_FRAME_INTERVAL, null); + mUI.enableItem(R.drawable.ic_timer, true); } } diff --git a/src/com/android/camera/VideoUI.java b/src/com/android/camera/VideoUI.java index 0dd5de9de..49093ba55 100644 --- a/src/com/android/camera/VideoUI.java +++ b/src/com/android/camera/VideoUI.java @@ -196,6 +196,10 @@ public class VideoUI implements SurfaceHolder.Callback, PieRenderer.PieListener, mVideoMenu.overrideSettings(keyvalues); } + public void enableItem(int resId, boolean enable) { + mVideoMenu.enableItem(resId, enable); + } + public View getPreview() { return mPreviewFrameLayout; } diff --git a/src/com/android/camera/ui/PieItem.java b/src/com/android/camera/ui/PieItem.java index 34c00605e..474fb6a36 100644 --- a/src/com/android/camera/ui/PieItem.java +++ b/src/com/android/camera/ui/PieItem.java @@ -144,13 +144,13 @@ public class PieItem { } public void performClick() { - if (mOnClickListener != null) { + if (mOnClickListener != null && mEnabled) { mOnClickListener.onClick(this); } } public void performSuperClick() { - if (mOnSuperClickListener != null) { + if (mOnSuperClickListener != null && mEnabled) { mOnSuperClickListener.onClick(this); } } -- cgit v1.2.3