diff --git a/common/hal/google_camera_hal/hal_utils.cc b/common/hal/google_camera_hal/hal_utils.cc
index fb4e969..22635da 100644
--- a/common/hal/google_camera_hal/hal_utils.cc
+++ b/common/hal/google_camera_hal/hal_utils.cc
@@ -210,6 +210,24 @@
   return false;
 }
 
+bool IsFixedFocusCamera(const HalCameraMetadata* characteristics) {
+  if (characteristics == nullptr) {
+    ALOGE("%s: characteristics (%p) is nullptr", __FUNCTION__, characteristics);
+    return false;
+  }
+
+  camera_metadata_ro_entry entry = {};
+  status_t res =
+      characteristics->Get(ANDROID_LENS_INFO_MINIMUM_FOCUS_DISTANCE, &entry);
+  if (res != OK || entry.count != 1) {
+    ALOGE("%s: Getting ANDROID_LENS_INFO_MINIMUM_FOCUS_DISTANCE failed: %s(%d)",
+          __FUNCTION__, strerror(-res), res);
+    return false;
+  }
+
+  return entry.data.f[0] == 0.0f;
+}
+
 bool IsRequestHdrplusCompatible(const CaptureRequest& request,
                                 int32_t preview_stream_id) {
   if (request.settings == nullptr) {
diff --git a/common/hal/google_camera_hal/hal_utils.h b/common/hal/google_camera_hal/hal_utils.h
index ec73805..1ae517d 100644
--- a/common/hal/google_camera_hal/hal_utils.h
+++ b/common/hal/google_camera_hal/hal_utils.h
@@ -67,6 +67,9 @@
 bool IsRequestHdrplusCompatible(const CaptureRequest& request,
                                 int32_t preview_stream_id);
 
+// Return true if this is a fixed-focus camera.
+bool IsFixedFocusCamera(const HalCameraMetadata* characteristics);
+
 // Return if HDR+ stream is supported
 bool IsStreamHdrplusCompatible(const StreamConfiguration& stream_config,
                                const HalCameraMetadata* characteristics);
