From 9da975d887ef8d63970e4b11dc9f2c0e0da92705 Mon Sep 17 00:00:00 2001 From: Jayant Chowdhary Date: Wed, 14 Aug 2019 15:00:24 -0700 Subject: [PATCH] camera2 ndk: Allow nullptr for ACameraCaptureSession_captureCallbacks.onClosed. Bug: 134680093 Test: AImageReaderVendorTest Change-Id: I8d365b434c257e949496d9495d0fa31a18a2e068 Signed-off-by: Jayant Chowdhary --- camera/ndk/impl/ACameraCaptureSession.cpp | 4 +++- .../ndk_vendor/tests/AImageReaderVendorTest.cpp | 16 ++-------------- 2 files changed, 5 insertions(+), 15 deletions(-) diff --git a/camera/ndk/impl/ACameraCaptureSession.cpp b/camera/ndk/impl/ACameraCaptureSession.cpp index d6f14122ea..68db233d29 100644 --- a/camera/ndk/impl/ACameraCaptureSession.cpp +++ b/camera/ndk/impl/ACameraCaptureSession.cpp @@ -33,7 +33,9 @@ ACameraCaptureSession::~ACameraCaptureSession() { dev->unlockDevice(); } // Fire onClosed callback - (*mUserSessionCallback.onClosed)(mUserSessionCallback.context, this); + if (mUserSessionCallback.onClosed != nullptr) { + (*mUserSessionCallback.onClosed)(mUserSessionCallback.context, this); + } ALOGV("~ACameraCaptureSession: %p is deleted", this); } diff --git a/camera/ndk/ndk_vendor/tests/AImageReaderVendorTest.cpp b/camera/ndk/ndk_vendor/tests/AImageReaderVendorTest.cpp index 7ab0124be1..938b5f55b8 100644 --- a/camera/ndk/ndk_vendor/tests/AImageReaderVendorTest.cpp +++ b/camera/ndk/ndk_vendor/tests/AImageReaderVendorTest.cpp @@ -253,21 +253,9 @@ class CameraHelper { return true; } - static void onDeviceDisconnected(void* /*obj*/, ACameraDevice* /*device*/) {} - - static void onDeviceError(void* /*obj*/, ACameraDevice* /*device*/, int /*errorCode*/) {} - - static void onSessionClosed(void* /*obj*/, ACameraCaptureSession* /*session*/) {} - - static void onSessionReady(void* /*obj*/, ACameraCaptureSession* /*session*/) {} - - static void onSessionActive(void* /*obj*/, ACameraCaptureSession* /*session*/) {} - private: - ACameraDevice_StateCallbacks mDeviceCb{this, onDeviceDisconnected, - onDeviceError}; - ACameraCaptureSession_stateCallbacks mSessionCb{ - this, onSessionClosed, onSessionReady, onSessionActive}; + ACameraDevice_StateCallbacks mDeviceCb{this, nullptr, nullptr}; + ACameraCaptureSession_stateCallbacks mSessionCb{ this, nullptr, nullptr, nullptr}; native_handle_t* mImgReaderAnw = nullptr; // not owned by us.