From b0140796a31a97ee6de33bdde17e02a86a80155b Mon Sep 17 00:00:00 2001 From: Yin-Chia Yeh Date: Fri, 27 Apr 2018 09:32:39 -0700 Subject: [PATCH] Camera: check return value of callback Test: no crash Bug: 78181355 Change-Id: Iaf953045b64dd7b258cf49919ccb8aa5a8a0c7d1 --- .../device/3.2/default/CameraDeviceSession.cpp | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/camera/device/3.2/default/CameraDeviceSession.cpp b/camera/device/3.2/default/CameraDeviceSession.cpp index 60a57cde9d..1cef882fd1 100644 --- a/camera/device/3.2/default/CameraDeviceSession.cpp +++ b/camera/device/3.2/default/CameraDeviceSession.cpp @@ -393,7 +393,11 @@ void CameraDeviceSession::ResultBatcher::sendBatchShutterCbsLocked( return; } - mCallback->notify(batch->mShutterMsgs); + auto ret = mCallback->notify(batch->mShutterMsgs); + if (!ret.isOk()) { + ALOGE("%s: notify shutter transaction failed: %s", + __FUNCTION__, ret.description().c_str()); + } batch->mShutterDelivered = true; batch->mShutterMsgs.clear(); } @@ -563,7 +567,11 @@ void CameraDeviceSession::ResultBatcher::sendBatchMetadataLocked( } void CameraDeviceSession::ResultBatcher::notifySingleMsg(NotifyMsg& msg) { - mCallback->notify({msg}); + auto ret = mCallback->notify({msg}); + if (!ret.isOk()) { + ALOGE("%s: notify transaction failed: %s", + __FUNCTION__, ret.description().c_str()); + } return; } @@ -654,7 +662,11 @@ void CameraDeviceSession::ResultBatcher::invokeProcessCaptureResultCallback( } } } - mCallback->processCaptureResult(results); + auto ret = mCallback->processCaptureResult(results); + if (!ret.isOk()) { + ALOGE("%s: processCaptureResult transaction failed: %s", + __FUNCTION__, ret.description().c_str()); + } mProcessCaptureResultLock.unlock(); }