From 7cd2941785a46a00906ef2c084620f9d8721e091 Mon Sep 17 00:00:00 2001 From: maohangyu <1027148132@qq.com> Date: Fri, 12 Sep 2025 16:15:25 +0800 Subject: [PATCH] fix interrupt Signed-off-by: maohangyu <1027148132@qq.com> --- .../client/service/src/audio_zone_manager.cpp | 16 ++++++++-------- .../interrupt/src/audio_interrupt_service.cpp | 1 - .../service_main/src/audio_policy_server.cpp | 14 +++++++------- 3 files changed, 15 insertions(+), 16 deletions(-) diff --git a/services/audio_policy/client/service/src/audio_zone_manager.cpp b/services/audio_policy/client/service/src/audio_zone_manager.cpp index e0187e4820..abb629262b 100644 --- a/services/audio_policy/client/service/src/audio_zone_manager.cpp +++ b/services/audio_policy/client/service/src/audio_zone_manager.cpp @@ -353,7 +353,7 @@ std::list> AudioZoneManagerInner::GetA int32_t zoneId) { AUDIO_INFO_LOG("in"); - CHECK_AND_RETURN_RET_LOG(zoneId > 0, {}, "zoneId is invalid"); + CHECK_AND_RETURN_RET_LOG(zoneId >= 0, {}, "zoneId is invalid"); return AudioPolicyManager::GetInstance().GetAudioInterruptForZone(zoneId); } @@ -362,7 +362,7 @@ std::list> AudioZoneManagerInner::GetA int32_t zoneId, const std::string &deviceTag) { AUDIO_INFO_LOG("in"); - CHECK_AND_RETURN_RET_LOG(zoneId > 0, {}, "zoneId is invalid"); + CHECK_AND_RETURN_RET_LOG(zoneId >= 0, {}, "zoneId is invalid"); return AudioPolicyManager::GetInstance().GetAudioInterruptForZone(zoneId, deviceTag); } @@ -370,7 +370,7 @@ int32_t AudioZoneManagerInner::RegisterAudioZoneInterruptCallback(int32_t zoneId const std::shared_ptr &callback) { AUDIO_INFO_LOG("in"); - CHECK_AND_RETURN_RET_LOG(zoneId > 0, ERR_INVALID_PARAM, "zoneId is invalid"); + CHECK_AND_RETURN_RET_LOG(zoneId >= 0, ERR_INVALID_PARAM, "zoneId is invalid"); CHECK_AND_RETURN_RET_LOG(callback != nullptr, ERR_INVALID_PARAM, "callback is nullptr"); std::unique_lock lock(clientMutex_); @@ -385,7 +385,7 @@ int32_t AudioZoneManagerInner::RegisterAudioZoneInterruptCallback(int32_t zoneId int32_t AudioZoneManagerInner::UnRegisterAudioZoneInterruptCallback(int32_t zoneId) { AUDIO_INFO_LOG("in"); - CHECK_AND_RETURN_RET_LOG(zoneId > 0, ERR_INVALID_PARAM, "zoneId is invalid"); + CHECK_AND_RETURN_RET_LOG(zoneId >= 0, ERR_INVALID_PARAM, "zoneId is invalid"); std::unique_lock lock(clientMutex_); CHECK_AND_RETURN_RET_LOG(client_ != nullptr, ERROR, "client_ is nullptr!"); @@ -398,7 +398,7 @@ int32_t AudioZoneManagerInner::RegisterAudioZoneInterruptCallback(int32_t zoneId const std::shared_ptr &callback) { AUDIO_INFO_LOG("in"); - CHECK_AND_RETURN_RET_LOG(zoneId > 0, ERR_INVALID_PARAM, "zoneId is invalid"); + CHECK_AND_RETURN_RET_LOG(zoneId >= 0, ERR_INVALID_PARAM, "zoneId is invalid"); CHECK_AND_RETURN_RET_LOG(callback != nullptr, ERR_INVALID_PARAM, "callback is nullptr"); std::unique_lock lock(clientMutex_); @@ -413,7 +413,7 @@ int32_t AudioZoneManagerInner::RegisterAudioZoneInterruptCallback(int32_t zoneId int32_t AudioZoneManagerInner::UnRegisterAudioZoneInterruptCallback(int32_t zoneId, const std::string &deviceTag) { AUDIO_INFO_LOG("in"); - CHECK_AND_RETURN_RET_LOG(zoneId > 0, ERR_INVALID_PARAM, "zoneId is invalid"); + CHECK_AND_RETURN_RET_LOG(zoneId >= 0, ERR_INVALID_PARAM, "zoneId is invalid"); std::unique_lock lock(clientMutex_); CHECK_AND_RETURN_RET_LOG(client_ != nullptr, ERROR, "client_ is nullptr!"); @@ -426,7 +426,7 @@ int32_t AudioZoneManagerInner::InjectInterruptToAudioZone(int32_t zoneId, const std::list> &interrupts) { AUDIO_INFO_LOG("in"); - CHECK_AND_RETURN_RET_LOG(zoneId > 0, ERR_INVALID_PARAM, "zoneId is invalid"); + CHECK_AND_RETURN_RET_LOG(zoneId >= 0, ERR_INVALID_PARAM, "zoneId is invalid"); int32_t result = AudioPolicyManager::GetInstance().InjectInterruptToAudioZone(zoneId, interrupts); CHECK_AND_RETURN_RET_LOG(result == SUCCESS, ERR_OPERATION_FAILED, @@ -438,7 +438,7 @@ int32_t AudioZoneManagerInner::InjectInterruptToAudioZone(int32_t zoneId, const const std::list> &interrupts) { AUDIO_INFO_LOG("in"); - CHECK_AND_RETURN_RET_LOG(zoneId > 0, ERR_INVALID_PARAM, "zoneId is invalid"); + CHECK_AND_RETURN_RET_LOG(zoneId >= 0, ERR_INVALID_PARAM, "zoneId is invalid"); int32_t result = AudioPolicyManager::GetInstance().InjectInterruptToAudioZone(zoneId, deviceTag, interrupts); CHECK_AND_RETURN_RET_LOG(result == SUCCESS, ERR_OPERATION_FAILED, diff --git a/services/audio_policy/server/domain/interrupt/src/audio_interrupt_service.cpp b/services/audio_policy/server/domain/interrupt/src/audio_interrupt_service.cpp index 3796a938da..185a320d13 100644 --- a/services/audio_policy/server/domain/interrupt/src/audio_interrupt_service.cpp +++ b/services/audio_policy/server/domain/interrupt/src/audio_interrupt_service.cpp @@ -2716,7 +2716,6 @@ void AudioInterruptService::SendFocusChangeEvent(const int32_t zoneId, int32_t c const AudioInterrupt &audioInterrupt) { CHECK_AND_RETURN_LOG(handler_ != nullptr, "handler is null"); - CHECK_AND_RETURN_LOG(zoneId == ZONEID_DEFAULT, "zoneId %{public}d is not default", zoneId); auto itZone = zonesMap_.find(zoneId); std::list> audioFocusInfoList {}; diff --git a/services/audio_policy/server/service/service_main/src/audio_policy_server.cpp b/services/audio_policy/server/service/service_main/src/audio_policy_server.cpp index f766ed1f7f..53a31cedae 100644 --- a/services/audio_policy/server/service/service_main/src/audio_policy_server.cpp +++ b/services/audio_policy/server/service/service_main/src/audio_policy_server.cpp @@ -4395,7 +4395,7 @@ int32_t AudioPolicyServer::EnableSystemVolumeProxy(int32_t zoneId, bool enable) int32_t AudioPolicyServer::GetAudioInterruptForZone(int32_t zoneId, std::vector> &retList) { - CHECK_AND_RETURN_RET_LOG(zoneId > 0, ERR_INVALID_PARAM, "audio zone id is invalid"); + CHECK_AND_RETURN_RET_LOG(zoneId >= 0, ERR_INVALID_PARAM, "audio zone id is invalid"); retList = ToIpcInterrupts(AudioZoneService::GetInstance().GetAudioInterruptForZone(zoneId)); return SUCCESS; } @@ -4403,7 +4403,7 @@ int32_t AudioPolicyServer::GetAudioInterruptForZone(int32_t zoneId, int32_t AudioPolicyServer::GetAudioInterruptForZone(int32_t zoneId, const std::string &deviceTag, std::vector> &retList) { - CHECK_AND_RETURN_RET_LOG(zoneId > 0, ERR_INVALID_PARAM, "audio zone id is invalid"); + CHECK_AND_RETURN_RET_LOG(zoneId >= 0, ERR_INVALID_PARAM, "audio zone id is invalid"); retList = ToIpcInterrupts(AudioZoneService::GetInstance().GetAudioInterruptForZone(zoneId, deviceTag)); return SUCCESS; } @@ -4411,7 +4411,7 @@ int32_t AudioPolicyServer::GetAudioInterruptForZone(int32_t zoneId, const std::s // LCOV_EXCL_START int32_t AudioPolicyServer::EnableAudioZoneInterruptReport(int32_t zoneId, const std::string &deviceTag, bool enable) { - CHECK_AND_RETURN_RET_LOG(zoneId > 0, ERR_INVALID_PARAM, "audio zone id is invalid"); + CHECK_AND_RETURN_RET_LOG(zoneId >= 0, ERR_INVALID_PARAM, "audio zone id is invalid"); CHECK_AND_RETURN_RET_LOG(PermissionUtil::VerifySystemPermission(), ERR_PERMISSION_DENIED, "no system permission"); int32_t clientPid = IPCSkeleton::GetCallingPid(); return AudioZoneService::GetInstance().EnableAudioZoneInterruptReport(clientPid, zoneId, deviceTag, enable); @@ -4420,9 +4420,9 @@ int32_t AudioPolicyServer::EnableAudioZoneInterruptReport(int32_t zoneId, const int32_t AudioPolicyServer::InjectInterruptToAudioZone(int32_t zoneId, const std::vector> &interruptsIn) { - CHECK_AND_RETURN_RET_LOG(zoneId > 0, ERR_INVALID_PARAM, "audio zone id is invalid"); + CHECK_AND_RETURN_RET_LOG(zoneId >= 0, ERR_INVALID_PARAM, "audio zone id is invalid"); size_t size = interruptsIn.size(); - CHECK_AND_RETURN_RET_LOG(size > 0 && size < MAX_SIZE, ERR_INVALID_PARAM, + CHECK_AND_RETURN_RET_LOG(size >= 0 && size < MAX_SIZE, ERR_INVALID_PARAM, "invalid interrupt size: %{public}zu", size); CHECK_AND_RETURN_RET_LOG(PermissionUtil::VerifySystemPermission(), ERR_PERMISSION_DENIED, "no system permission"); auto interrupts = FromIpcInterrupts(interruptsIn); @@ -4432,9 +4432,9 @@ int32_t AudioPolicyServer::InjectInterruptToAudioZone(int32_t zoneId, int32_t AudioPolicyServer::InjectInterruptToAudioZone(int32_t zoneId, const std::string &deviceTag, const std::vector> &interruptsIn) { - CHECK_AND_RETURN_RET_LOG(zoneId > 0, ERR_INVALID_PARAM, "audio zone id is invalid"); + CHECK_AND_RETURN_RET_LOG(zoneId >= 0, ERR_INVALID_PARAM, "audio zone id is invalid"); size_t size = interruptsIn.size(); - CHECK_AND_RETURN_RET_LOG(size > 0 && size < MAX_SIZE, ERR_INVALID_PARAM, + CHECK_AND_RETURN_RET_LOG(size >= 0 && size < MAX_SIZE, ERR_INVALID_PARAM, "invalid interrupt size: %{public}zu", size); CHECK_AND_RETURN_RET_LOG(PermissionUtil::VerifySystemPermission(), ERR_PERMISSION_DENIED, "no system permission"); auto interrupts = FromIpcInterrupts(interruptsIn); -- Gitee