Camera: ProCamera - implement onResultReceived callback for metadata callbacks

Change-Id: I46775402b007244bc383d6343a620eebbd492aad
diff --git a/camera/ProCamera.cpp b/camera/ProCamera.cpp
index 5ee0e4d..142c03b 100644
--- a/camera/ProCamera.cpp
+++ b/camera/ProCamera.cpp
@@ -33,6 +33,8 @@
 #include <gui/IGraphicBufferProducer.h>
 #include <gui/Surface.h>
 
+#include <system/camera_metadata.h>
+
 namespace android {
 
 // client singleton for camera service binder interface
@@ -198,6 +200,22 @@
     }
 }
 
+void ProCamera::onResultReceived(int32_t frameId, camera_metadata* result) {
+    ALOGV("%s: frameId = %d, result = %p", __FUNCTION__, frameId, result);
+
+    sp<ProCameraListener> listener;
+    {
+        Mutex::Autolock _l(mLock);
+        listener = mListener;
+    }
+    if (listener != NULL) {
+        listener->onResultReceived(frameId, result);
+    } else {
+        free_camera_metadata(result);
+    }
+
+}
+
 status_t ProCamera::exclusiveTryLock()
 {
     sp <IProCameraUser> c = mCamera;