Merge "CameraService: Fix missing torch state callback" am: 5a80267cc4 am: 28c5bca5a9

am: 040eaf1dd9

Change-Id: I7fded40f84985919bf58a549fe59b2510f9ef5f3
gugelfrei
Shuzhen Wang 6 years ago committed by android-build-merger
commit b98450a738

@ -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) {

@ -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

Loading…
Cancel
Save