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

Commit 5a80267c authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "CameraService: Fix missing torch state callback"

parents 5692c9a7 7d859d43
Loading
Loading
Loading
Loading
+11 −6
Original line number Diff line number Diff line
@@ -208,6 +208,14 @@ void CameraService::pingCameraServiceProxy() {
    proxyBinder->pingForUserUpdate();
}

void CameraService::broadcastTorchModeStatus(const String8& cameraId, TorchModeStatus status) {
    Mutex::Autolock lock(mStatusListenerLock);

    for (auto& i : mListenerList) {
        i->onTorchStatusChanged(mapToInterface(status), String16{cameraId});
    }
}

CameraService::~CameraService() {
    VendorTagDescriptor::clearGlobalVendorTagDescriptor();
    mUidPolicy->unregisterSelf();
@@ -246,6 +254,8 @@ void CameraService::addStates(const String8 id) {
    if (mFlashlight->hasFlashUnit(id)) {
        Mutex::Autolock al(mTorchStatusMutex);
        mTorchStatusMap.add(id, TorchModeStatus::AVAILABLE_OFF);

        broadcastTorchModeStatus(id, TorchModeStatus::AVAILABLE_OFF);
    }

    updateCameraNumAndIds();
@@ -398,12 +408,7 @@ void CameraService::onTorchStatusChangedLocked(const String8& cameraId,
        }
    }

    {
        Mutex::Autolock lock(mStatusListenerLock);
        for (auto& i : mListenerList) {
            i->onTorchStatusChanged(mapToInterface(newStatus), String16{cameraId});
        }
    }
    broadcastTorchModeStatus(cameraId, newStatus);
}

Status CameraService::getNumberOfCameras(int32_t type, int32_t* numCameras) {
+2 −0
Original line number Diff line number Diff line
@@ -857,6 +857,8 @@ private:
    static sp<hardware::ICameraServiceProxy> getCameraServiceProxy();
    static void pingCameraServiceProxy();

    void broadcastTorchModeStatus(const String8& cameraId,
            hardware::camera::common::V1_0::TorchModeStatus status);
};

} // namespace android