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

Commit 8ccd288f authored by Yin-Chia Yeh's avatar Yin-Chia Yeh Committed by android-build-team Robot
Browse files

Camera: fix camera status after HAL crash

When camera HAL dies and cameraserver is still alive, make sure
we update camera status after HAL re-register itself.

Test: kill hal process and run camera app, CTS
Bug: 63058983
Change-Id: Iba7e6cbebb674994c905f7feb1776acc479b612f
(cherry picked from commit fad32283)
parent 45919549
Loading
Loading
Loading
Loading
+19 −15
Original line number Diff line number Diff line
@@ -231,14 +231,17 @@ status_t CameraService::enumerateProviders() {

    for (auto& cameraId : mCameraProviderManager->getCameraDeviceIds()) {
        String8 id8 = String8(cameraId.c_str());
        bool cameraFound = false;
        {

            Mutex::Autolock lock(mCameraStatesLock);
            auto iter = mCameraStates.find(id8);
            if (iter != mCameraStates.end()) {
                continue;
                cameraFound = true;
            }
        }

        if (!cameraFound) {
            hardware::camera::common::V1_0::CameraResourceCost cost;
            res = mCameraProviderManager->getResourceCost(cameraId, &cost);
            if (res != OK) {
@@ -255,6 +258,7 @@ status_t CameraService::enumerateProviders() {
                mCameraStates.emplace(id8,
                    std::make_shared<CameraState>(id8, cost.resourceCost, conflicting));
            }
        }

        onDeviceStatusChanged(id8, CameraDeviceStatus::PRESENT);