From 4609f9eeaeb59c572324f27e1e1788311f070312 Mon Sep 17 00:00:00 2001
From: jiaoyuan <jiaoyuan@codeaurora.org>
Date: Tue, 23 Jun 2020 16:01:41 +0800
Subject: [PATCH] Snapcam: set af lock

set af lock when locked

Change-Id: I2dc9c3d4d90f39ee4906022d7f80da34e2a035d0
---
 src/com/android/camera/CaptureModule.java | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/src/com/android/camera/CaptureModule.java b/src/com/android/camera/CaptureModule.java
index 871c87e31..a68ca69aa 100755
--- a/src/com/android/camera/CaptureModule.java
+++ b/src/com/android/camera/CaptureModule.java
@@ -409,7 +409,8 @@ public class CaptureModule implements CameraModule, PhotoController,
     public static CaptureRequest.Key<Byte> blinkEnable =
             new CaptureRequest.Key<>("org.codeaurora.qcamera3.facial_attr.blink_enable",
                     Byte.class);
-
+    public static CaptureRequest.Key<Byte> isAfLock =
+            new CaptureRequest.Key<>("org.quic.camera2.statsconfigs.isAFLock", Byte.class);
     public static CaptureResult.Key<Integer> ssmCaptureComplete =
             new CaptureResult.Key<>("com.qti.chi.superslowmotionfrc.CaptureComplete", Integer.class);
     public static CaptureResult.Key<Integer> ssmProcessingComplete =
@@ -2316,6 +2317,7 @@ public class CaptureModule implements CameraModule, PhotoController,
         applyAFRegions(mPreviewRequestBuilder[id], id);
         applyAERegions(mPreviewRequestBuilder[id], id);
         mPreviewRequestBuilder[id].setTag(id);
+        applyIsAfLock(mPreviewRequestBuilder[id]);
         try {
             if (isSSMEnabled() && (mIsPreviewingVideo || mIsRecordingVideo)) {
                 mCaptureSession[id].setRepeatingBurst(createSSMBatchRequest(mVideoRecordRequestBuilder),
@@ -4120,6 +4122,7 @@ public class CaptureModule implements CameraModule, PhotoController,
     private void applyCommonSettings(CaptureRequest.Builder builder, int id) {
         builder.set(CaptureRequest.CONTROL_MODE, CaptureRequest.CONTROL_MODE_AUTO);
         builder.set(CaptureRequest.CONTROL_AF_MODE, mControlAFMode);
+        applyIsAfLock(builder);
         applyAfModes(builder);
         applyFaceDetection(builder);
         applyTouchTrackFocus(builder);
@@ -6087,6 +6090,15 @@ public class CaptureModule implements CameraModule, PhotoController,
         }
     }
 
+    private void applyIsAfLock(CaptureRequest.Builder builder){
+        try {
+            Log.v(TAG, " applyIsAfLock mLockAFAE :" + mLockAFAE);
+            builder.set(CaptureModule.isAfLock, (byte)(mLockAFAE ? 0x01 : 0x00));
+        } catch (IllegalArgumentException e) {
+            Log.w(TAG, "cannot find vendor tag: " + isAfLock.toString());
+        }
+    }
+
     private void applyLivePreview(CaptureRequest.Builder builder) {
         String value = mSettingsManager.getValue(SettingsManager.KEY_LIVE_PREVIEW);
         Log.v(TAG, "applyLivePreview livePreviewValue :" + value );
-- 
GitLab