Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cc29bdd2 authored by Tang Lee's avatar Tang Lee Committed by Android (Google) Code Review
Browse files

Merge "Return ILLEGAL_ARGUMENT for setting null callback" into main

parents 1f2e56ed 4be4471d
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -95,13 +95,14 @@ ExternalCameraProviderImpl_2_4::~ExternalCameraProviderImpl_2_4() {

Return<Status> ExternalCameraProviderImpl_2_4::setCallback(
        const sp<ICameraProviderCallback>& callback) {
    if (callback == nullptr) {
        return Status::ILLEGAL_ARGUMENT;
    }

    {
        Mutex::Autolock _l(mLock);
        mCallbacks = callback;
    }
    if (mCallbacks == nullptr) {
        return Status::OK;
    }
    // Send a callback for all devices to initialize
    {
        for (const auto& pair : mCameraStatusMap) {
+3 −3
Original line number Diff line number Diff line
@@ -448,11 +448,11 @@ bool LegacyCameraProviderImpl_2_4::setUpVendorTags() {
// Methods from ::android::hardware::camera::provider::V2_4::ICameraProvider follow.
Return<Status> LegacyCameraProviderImpl_2_4::setCallback(
        const sp<ICameraProviderCallback>& callback) {
    if (callback == nullptr) {
        return Status::ILLEGAL_ARGUMENT;
    }
    Mutex::Autolock _l(mCbLock);
    mCallbacks = callback;
    if (mCallbacks == nullptr) {
        return Status::OK;
    }
    // Add and report all presenting external cameras.
    for (auto const& statusPair : mCameraStatusMap) {
        int id = std::stoi(statusPair.first);
+3 −3
Original line number Diff line number Diff line
@@ -91,11 +91,11 @@ ExternalCameraProviderImpl_2_7::~ExternalCameraProviderImpl_2_7() {

Return<Status> ExternalCameraProviderImpl_2_7::setCallback(
        const sp<ICameraProviderCallback>& callback) {
    if (callback == nullptr) {
        return Status::ILLEGAL_ARGUMENT;
    }
    Mutex::Autolock _l(mLock);
    mCallbacks = callback;
    if (mCallbacks == nullptr) {
        return Status::OK;
    }
    // Send a callback for all devices to initialize
    {
        for (const auto& pair : mCameraStatusMap) {
+4 −4
Original line number Diff line number Diff line
@@ -75,15 +75,15 @@ ExternalCameraProvider::~ExternalCameraProvider() {

ndk::ScopedAStatus ExternalCameraProvider::setCallback(
        const std::shared_ptr<ICameraProviderCallback>& in_callback) {
    if (in_callback == nullptr) {
        return fromStatus(Status::ILLEGAL_ARGUMENT);
    }

    {
        Mutex::Autolock _l(mLock);
        mCallback = in_callback;
    }

    if (mCallback == nullptr) {
        return fromStatus(Status::OK);
    }

    for (const auto& pair : mCameraStatusMap) {
        mCallback->cameraDeviceStatusChange(pair.first, pair.second);
    }