Set default autoframing values

Set default values for autoframing in CaptureRequest, CaptureResult and
CameraCharacteristics. This will also fix
CaptureRequestTest#testAutoframing which is complaining about
autoframingAvailable key being null.

Test: atest CaptureResultTest#testCameraCaptureResultAllKeys,
CaptureRequestTest#testAutoframing
Bug: 259572724

Change-Id: I596abc0bd1e7aa57c4ef1326fe6185695894951c
diff --git a/services/camera/libcameraservice/device3/Camera3Device.cpp b/services/camera/libcameraservice/device3/Camera3Device.cpp
index d189de2..1d54b17 100644
--- a/services/camera/libcameraservice/device3/Camera3Device.cpp
+++ b/services/camera/libcameraservice/device3/Camera3Device.cpp
@@ -1461,6 +1461,13 @@
                     &kDefaultJpegQuality, 1);
         }
 
+        // Fill in AUTOFRAMING if not available
+        if (!mRequestTemplateCache[templateId].exists(ANDROID_CONTROL_AUTOFRAMING)) {
+            static const uint8_t kDefaultAutoframingMode = ANDROID_CONTROL_AUTOFRAMING_OFF;
+            mRequestTemplateCache[templateId].update(ANDROID_CONTROL_AUTOFRAMING,
+                    &kDefaultAutoframingMode, 1);
+        }
+
         *request = mRequestTemplateCache[templateId];
         mLastTemplateId = templateId;
     }