summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSultanxda <sultanxda@gmail.com>2015-12-06 10:30:28 -0800
committerSteve Kondik <steve@cyngn.com>2016-11-02 12:24:49 -0700
commit19938c6c5bbb2ad63a2b177f92e2a497b2a4438e (patch)
tree45dfd22a6c29589db481434faca04b54a89b7fe6 /src
parent230c5ffbba2cb9513be91309294f45482c1110c6 (diff)
downloadandroid_packages_apps_Snap-19938c6c5bbb2ad63a2b177f92e2a497b2a4438e.tar.gz
android_packages_apps_Snap-19938c6c5bbb2ad63a2b177f92e2a497b2a4438e.tar.bz2
android_packages_apps_Snap-19938c6c5bbb2ad63a2b177f92e2a497b2a4438e.zip
Snap: Add ability to set the tap-to-focus duration to 0 sec
Setting a tap-to-focus duration of 0 seconds allows for a quick, manual refocus of the subject without interfering with the exposure. This is particularly useful when recording videos. [mikeioannina]: Adapted to Snap Change-Id: Ie3d92e50f755c938e9725438ba5baad0d0985485 Signed-off-by: Sultanxda <sultanxda@gmail.com>
Diffstat (limited to 'src')
-rw-r--r--src/com/android/camera/FocusOverlayManager.java23
1 files changed, 15 insertions, 8 deletions
diff --git a/src/com/android/camera/FocusOverlayManager.java b/src/com/android/camera/FocusOverlayManager.java
index 860f34eec..ac6dc58c2 100644
--- a/src/com/android/camera/FocusOverlayManager.java
+++ b/src/com/android/camera/FocusOverlayManager.java
@@ -269,8 +269,10 @@ public class FocusOverlayManager {
if (focused) {
mState = STATE_SUCCESS;
// Lock exposure and white balance
- setAeAwbLock(true);
- mListener.setFocusParameters();
+ if (mFocusTime != 200) {
+ setAeAwbLock(true);
+ mListener.setFocusParameters();
+ }
} else {
mState = STATE_FAIL;
}
@@ -282,14 +284,16 @@ public class FocusOverlayManager {
if (focused) {
mState = STATE_SUCCESS;
// Lock exposure and white balance
- setAeAwbLock(true);
- mListener.setFocusParameters();
+ if (mFocusTime != 200) {
+ setAeAwbLock(true);
+ mListener.setFocusParameters();
+ }
} else {
mState = STATE_FAIL;
}
// If this is triggered by touch focus, cancel focus after a
// while.
- if ((mFocusArea != null) && (mFocusTime != 0)) {
+ if (mFocusArea != null) {
mHandler.sendEmptyMessageDelayed(RESET_TOUCH_FOCUS, mFocusTime);
}
if (shutterButtonPressed) {
@@ -389,15 +393,18 @@ public class FocusOverlayManager {
// Stop face detection because we want to specify focus and metering area.
mListener.stopFaceDetection();
+ if (mFocusTime == 200) {
+ setAeAwbLock(true);
+ mListener.setFocusParameters();
+ }
+
// Set the focus area and metering area.
mListener.setFocusParameters();
if (mFocusAreaSupported) {
autoFocus();
} else { // Just show the indicator in all other cases.
mHandler.removeMessages(RESET_TOUCH_FOCUS);
- if (mFocusTime != 0) {
- mHandler.sendEmptyMessageDelayed(RESET_TOUCH_FOCUS, mFocusTime);
- }
+ mHandler.sendEmptyMessageDelayed(RESET_TOUCH_FOCUS, mFocusTime);
}
}