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

Commit b98450a7 authored by Shuzhen Wang's avatar Shuzhen Wang Committed by android-build-merger
Browse files

Merge "CameraService: Fix missing torch state callback" am: 5a80267c am: 28c5bca5

am: 040eaf1d

Change-Id: I7fded40f84985919bf58a549fe59b2510f9ef5f3
parents 581d835e 040eaf1d
Loading
Loading
Loading
Loading
+11 −6
Original line number Diff line number Diff line
@@ -209,6 +209,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();
@@ -247,6 +255,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();
@@ -399,12 +409,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