diff --git a/services/privacymanager/src/sensitive/camera_manager/camera_manager_adapter.cpp b/services/privacymanager/src/sensitive/camera_manager/camera_manager_adapter.cpp index b0dde7b9bc23e3c5439ee1cd06025b405be338b9..7e42678ef9e9bc23f49d8c0735f42e1643ed06a9 100644 --- a/services/privacymanager/src/sensitive/camera_manager/camera_manager_adapter.cpp +++ b/services/privacymanager/src/sensitive/camera_manager/camera_manager_adapter.cpp @@ -59,14 +59,22 @@ bool CameraManagerAdapter::IsCameraMuted() LOGE(PRI_DOMAIN, PRI_TAG, "Failed to write WriteInterfaceToken."); return false; } - int32_t error = proxy->SendRequest( - static_cast(CameraStandard::CameraServiceInterfaceCode::CAMERA_SERVICE_IS_CAMERA_MUTED), - data, reply, option); + if (!data.WriteInt32(0)) { + return false; + } + int32_t ipcCode = CameraStandard::GetIsCameraMutedIpcCode(); + int32_t error = proxy->SendRequest(ipcCode, data, reply, option); if (error != NO_ERROR) { LOGE(PRI_DOMAIN, PRI_TAG, "SendRequest error: %{public}d", error); return false; } - return reply.ReadBool(); + error = reply.ReadInt32(); + if (error != NO_ERROR) { + return false; + } + + bool isMuteMode = reply.ReadInt32() == 1 ? true : false; + return isMuteMode; #endif }