Reduce result lock scope

Result lock is used to protect pending results. Reduce the scope to
prevent potential deadlock.

Bug: 211162732
Test: GCA, CTS
Change-Id: I19204b9f685c940887bdae9172eb892c69bf4441
diff --git a/common/hal/utils/result_dispatcher.cc b/common/hal/utils/result_dispatcher.cc
index 2d6d120..0a4832c 100644
--- a/common/hal/utils/result_dispatcher.cc
+++ b/common/hal/utils/result_dispatcher.cc
@@ -240,27 +240,29 @@
                                       int64_t timestamp_ns,
                                       int64_t readout_timestamp_ns) {
   ATRACE_CALL();
-  std::lock_guard<std::mutex> lock(result_lock_);
+  {
+    std::lock_guard<std::mutex> lock(result_lock_);
 
-  auto shutter_it = pending_shutters_.find(frame_number);
-  if (shutter_it == pending_shutters_.end()) {
-    ALOGE("%s: Cannot find the pending shutter for frame %u", __FUNCTION__,
-          frame_number);
-    return NAME_NOT_FOUND;
+    auto shutter_it = pending_shutters_.find(frame_number);
+    if (shutter_it == pending_shutters_.end()) {
+      ALOGE("%s: Cannot find the pending shutter for frame %u", __FUNCTION__,
+            frame_number);
+      return NAME_NOT_FOUND;
+    }
+
+    if (shutter_it->second.ready) {
+      ALOGE("%s: Already received shutter (%" PRId64
+            ") for frame %u. New "
+            "timestamp %" PRId64,
+            __FUNCTION__, shutter_it->second.timestamp_ns, frame_number,
+            timestamp_ns);
+      return ALREADY_EXISTS;
+    }
+
+    shutter_it->second.timestamp_ns = timestamp_ns;
+    shutter_it->second.readout_timestamp_ns = readout_timestamp_ns;
+    shutter_it->second.ready = true;
   }
-
-  if (shutter_it->second.ready) {
-    ALOGE("%s: Already received shutter (%" PRId64
-          ") for frame %u. New "
-          "timestamp %" PRId64,
-          __FUNCTION__, shutter_it->second.timestamp_ns, frame_number,
-          timestamp_ns);
-    return ALREADY_EXISTS;
-  }
-
-  shutter_it->second.timestamp_ns = timestamp_ns;
-  shutter_it->second.readout_timestamp_ns = readout_timestamp_ns;
-  shutter_it->second.ready = true;
   {
     std::unique_lock<std::mutex> lock(notify_callback_lock_);
     is_result_shutter_updated_ = true;