summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZhijun He <zhijunhe@google.com>2013-11-07 13:20:46 -0800
committerAndroid Git Automerger <android-git-automerger@android.com>2013-11-07 13:20:46 -0800
commit0cc7337bac5b1e5368baa896afef0ed41490e69e (patch)
treebe435cc2d7d10b9f13546a175d2469b4e6474358
parent536308c30ace1070276ee88e9dcaf07802bd3b07 (diff)
parent020e6d9bb46850ad39f14e575259a04887a2ea26 (diff)
downloadandroid_frameworks_ex-0cc7337bac5b1e5368baa896afef0ed41490e69e.tar.gz
android_frameworks_ex-0cc7337bac5b1e5368baa896afef0ed41490e69e.tar.bz2
android_frameworks_ex-0cc7337bac5b1e5368baa896afef0ed41490e69e.zip
am 020e6d9b: Merge "camera2: Add updateCaptureRequest method" into klp-dev
* commit '020e6d9bb46850ad39f14e575259a04887a2ea26': camera2: Add updateCaptureRequest method
-rw-r--r--camera2/public/src/com/android/ex/camera2/pos/AutoFocusStateMachine.java21
1 files changed, 21 insertions, 0 deletions
diff --git a/camera2/public/src/com/android/ex/camera2/pos/AutoFocusStateMachine.java b/camera2/public/src/com/android/ex/camera2/pos/AutoFocusStateMachine.java
index 23959e4..500fb12 100644
--- a/camera2/public/src/com/android/ex/camera2/pos/AutoFocusStateMachine.java
+++ b/camera2/public/src/com/android/ex/camera2/pos/AutoFocusStateMachine.java
@@ -366,4 +366,25 @@ public class AutoFocusStateMachine {
SysTrace.endSectionAsync(mCurrentAfTrace, mCurrentAfCookie);
mCurrentAfCookie = AF_UNINITIALIZED;
}
+
+ /**
+ * Update the repeating request with current focus mode.
+ *
+ * <p>This is typically used when a new repeating request is created to update preview with
+ * new metadata (i.e. crop region). The current auto focus mode needs to be carried over for
+ * correct auto focus behavior.<p>
+ *
+ * @param repeatingBuilder Builder for a repeating request.
+ */
+ public synchronized void updateCaptureRequest(CaptureRequest.Builder repeatingBuilder) {
+ if (repeatingBuilder == null) {
+ throw new IllegalArgumentException("repeatingBuilder shouldn't be null");
+ }
+
+ if (mCurrentAfMode == AF_UNINITIALIZED) {
+ throw new IllegalStateException("AF mode was not enabled");
+ }
+
+ repeatingBuilder.set(CaptureRequest.CONTROL_AF_MODE, mCurrentAfMode);
+ }
}