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

Commit 040eaf1d 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

Change-Id: I2942facaf5b979d86ac3ae89c449730b5581b818
parents 1bc4a863 28c5bca5
Loading
Loading
Loading
Loading
+11 −6
Original line number Original line Diff line number Diff line
@@ -208,6 +208,14 @@ void CameraService::pingCameraServiceProxy() {
    proxyBinder->pingForUserUpdate();
    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() {
CameraService::~CameraService() {
    VendorTagDescriptor::clearGlobalVendorTagDescriptor();
    VendorTagDescriptor::clearGlobalVendorTagDescriptor();
    mUidPolicy->unregisterSelf();
    mUidPolicy->unregisterSelf();
@@ -246,6 +254,8 @@ void CameraService::addStates(const String8 id) {
    if (mFlashlight->hasFlashUnit(id)) {
    if (mFlashlight->hasFlashUnit(id)) {
        Mutex::Autolock al(mTorchStatusMutex);
        Mutex::Autolock al(mTorchStatusMutex);
        mTorchStatusMap.add(id, TorchModeStatus::AVAILABLE_OFF);
        mTorchStatusMap.add(id, TorchModeStatus::AVAILABLE_OFF);

        broadcastTorchModeStatus(id, TorchModeStatus::AVAILABLE_OFF);
    }
    }


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


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


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


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


} // namespace android
} // namespace android