diff --git a/services/audio_policy/server/domain/volume/include/audio_adapter_manager.h b/services/audio_policy/server/domain/volume/include/audio_adapter_manager.h index 8645206c88f969faa31a594b73f9b1bbaf830d49..f524db347f808e69c22b7a2ba52777220d36c60a 100644 --- a/services/audio_policy/server/domain/volume/include/audio_adapter_manager.h +++ b/services/audio_policy/server/domain/volume/include/audio_adapter_manager.h @@ -259,7 +259,7 @@ public: void HandleSaveVolume(DeviceType deviceType, AudioStreamType streamType, int32_t volumeLevel, std::string networkId); - void HandleStreamMuteStatus(AudioStreamType streamType, bool mute, StreamUsage streamUsage = STREAM_USAGE_UNKNOWN, + void HandleStreamMuteStatus(AudioStreamType streamType, bool mute, const DeviceType &deviceType = DEVICE_TYPE_NONE, std::string networkId = LOCAL_NETWORK_ID); void HandleRingerMode(AudioRingerMode ringerMode); diff --git a/services/audio_policy/server/domain/volume/include/audio_adapter_manager_handler.h b/services/audio_policy/server/domain/volume/include/audio_adapter_manager_handler.h index 8fd66887f2bc8fe82bdb261a6212dc27f84374e3..d017676ac9ef3191f965165d5a676ed6d35a4e29 100644 --- a/services/audio_policy/server/domain/volume/include/audio_adapter_manager_handler.h +++ b/services/audio_policy/server/domain/volume/include/audio_adapter_manager_handler.h @@ -56,9 +56,9 @@ public: struct StreamMuteStatusEvent { StreamMuteStatusEvent() = delete; - StreamMuteStatusEvent(const AudioStreamType &streamType, const bool &mute, const StreamUsage &streamUsage, + StreamMuteStatusEvent(const AudioStreamType &streamType, const bool &mute, const DeviceType &deviceType, const std::string &networkId) : streamType_(streamType), mute_(mute), - streamUsage_(streamUsage), deviceType_(deviceType), networkId_(networkId) + deviceType_(deviceType), networkId_(networkId) {} AudioStreamType streamType_; bool mute_; @@ -79,7 +79,7 @@ public: bool SendSaveVolume(const DeviceType &deviceType, const AudioStreamType &streamType, const int32_t &volumeLevel, std::string networkId = "LocalDevice"); bool SendStreamMuteStatusUpdate(const AudioStreamType &streamType, const bool &mute, - const StreamUsage &streamUsage, const DeviceType &deviceType = DEVICE_TYPE_NONE, + const DeviceType &deviceType = DEVICE_TYPE_NONE, std::string networkId = LOCAL_NETWORK_ID); bool SendRingerModeUpdate(const AudioRingerMode &ringerMode); diff --git a/services/audio_policy/server/domain/volume/include/iaudio_policy_interface.h b/services/audio_policy/server/domain/volume/include/iaudio_policy_interface.h index 0f50e6eae4907157d24a22da84d2e2010f2f528b..1360c1aebf77b5949f0aeef2ac28b4794920c47d 100644 --- a/services/audio_policy/server/domain/volume/include/iaudio_policy_interface.h +++ b/services/audio_policy/server/domain/volume/include/iaudio_policy_interface.h @@ -210,7 +210,6 @@ public: std::string networkId) = 0; virtual void HandleStreamMuteStatus(AudioStreamType streamType, bool mute, - StreamUsage streamUsage = STREAM_USAGE_UNKNOWN, const DeviceType &deviceType = DEVICE_TYPE_NONE, std::string networkId = LOCAL_NETWORK_ID) = 0; diff --git a/services/audio_policy/server/domain/volume/src/audio_adapter_manager.cpp b/services/audio_policy/server/domain/volume/src/audio_adapter_manager.cpp index ed91ed14e95f0aa9c7441e6d3880831cae54da2e..ff93f544aa7663ef275dce02fc426273dd955c03 100644 --- a/services/audio_policy/server/domain/volume/src/audio_adapter_manager.cpp +++ b/services/audio_policy/server/domain/volume/src/audio_adapter_manager.cpp @@ -653,7 +653,7 @@ void AudioAdapterManager::HandleSaveVolume(DeviceType deviceType, AudioStreamTyp volumeDataMaintainer_.SaveVolume(deviceType, streamType, volumeLevel, networkId); } -void AudioAdapterManager::HandleStreamMuteStatus(AudioStreamType streamType, bool mute, StreamUsage streamUsage, +void AudioAdapterManager::HandleStreamMuteStatus(AudioStreamType streamType, bool mute, const DeviceType &deviceType, std::string networkId) { if (deviceType != DEVICE_TYPE_NONE) { @@ -956,7 +956,7 @@ int32_t AudioAdapterManager::SetStreamMuteInternal(std::shared_ptrGetKey()]->SetStreamMuteStatus(streamType, mute); if (handler_ != nullptr) { - handler_->SendStreamMuteStatusUpdate(streamType, mute, streamUsage, deviceType, device->networkId_); + handler_->SendStreamMuteStatusUpdate(streamType, mute, deviceType, device->networkId_); } return SetVolumeDb(device, streamType); } @@ -1023,7 +1023,7 @@ int32_t AudioAdapterManager::SetStreamMuteInternal(AudioStreamType streamType, b volumeDataMaintainer_.SaveMuteStatusWithDatabaseVolumeName( currentActiveDevice_.volumeBehavior_.databaseVolumeName, streamType, mute); } else if (handler_ != nullptr) { - handler_->SendStreamMuteStatusUpdate(streamType, mute, streamUsage, deviceType, networkId); + handler_->SendStreamMuteStatusUpdate(streamType, mute, deviceType, networkId); } // Achieve the purpose of adjusting the mute status by adjusting the stream volume. @@ -2397,9 +2397,11 @@ void AudioAdapterManager::ResetRemoteCastDeviceVolume() for (auto &streamType: defaultVolumeTypeList_) { AudioStreamType streamAlias = VolumeUtils::GetVolumeTypeFromStreamType(streamType); int32_t volumeLevel = GetMaxVolumeLevel(streamAlias); - volumeDataMaintainer_.SaveVolume(DEVICE_TYPE_REMOTE_CAST, streamType, volumeLevel); - if (streamType != STREAM_RING) { - volumeDataMaintainer_.SaveMuteStatus(DEVICE_TYPE_REMOTE_CAST, streamType, false); + if (handler_ != nullptr) { + handler_->SendSaveVolume(DEVICE_TYPE_REMOTE_CAST, streamType, volumeLevel, LOCAL_NETWORK_ID); + if (streamType != STREAM_RING) { + handler_->SendStreamMuteStatusUpdate(streamType, false, DEVICE_TYPE_REMOTE_CAST, LOCAL_NETWORK_ID); + } } } } diff --git a/services/audio_policy/server/domain/volume/src/audio_adapter_manager_handler.cpp b/services/audio_policy/server/domain/volume/src/audio_adapter_manager_handler.cpp index 7d538c407476b91b706ed462954fc645af109111..2a9a7ebfcf58281bb2d9f8655471fa36e81ee6b0 100644 --- a/services/audio_policy/server/domain/volume/src/audio_adapter_manager_handler.cpp +++ b/services/audio_policy/server/domain/volume/src/audio_adapter_manager_handler.cpp @@ -64,11 +64,11 @@ bool AudioAdapterManagerHandler::SendSaveVolume(const DeviceType &deviceType, } bool AudioAdapterManagerHandler::SendStreamMuteStatusUpdate(const AudioStreamType &streamType, const bool &mute, - const StreamUsage &streamUsage, const DeviceType &deviceType, std::string networkId) + const DeviceType &deviceType, std::string networkId) { bool ret = true; #ifndef TEST_COVERAGE - auto eventContextObj = std::make_shared(streamType, mute, streamUsage, + auto eventContextObj = std::make_shared(streamType, mute, deviceType, networkId); lock_guard runnerlock(runnerMutex_); ret = SendEvent(AppExecFwk::InnerEvent::Get(EventAdapterManagerServerCmd::STREAM_MUTE_STATUS_UPDATE, @@ -109,7 +109,7 @@ void AudioAdapterManagerHandler::HandleUpdateStreamMuteStatus(const AppExecFwk:: std::shared_ptr eventContextObj = event->GetSharedObject(); CHECK_AND_RETURN_LOG(eventContextObj != nullptr, "EventContextObj get nullptr"); AudioPolicyManagerFactory::GetAudioPolicyManager().HandleStreamMuteStatus(eventContextObj->streamType_, - eventContextObj->mute_, eventContextObj->streamUsage_, eventContextObj->deviceType_, + eventContextObj->mute_, eventContextObj->deviceType_, eventContextObj->networkId_); } diff --git a/services/audio_policy/test/unittest/audio_adapter_manager_unit_test/src/audio_adapter_manager_unit_test.cpp b/services/audio_policy/test/unittest/audio_adapter_manager_unit_test/src/audio_adapter_manager_unit_test.cpp index 0b4b6ee21b073851192f394dd093d8ff3a905f81..864043444df5d941805cee5996c89a3bff1bbbc0 100644 --- a/services/audio_policy/test/unittest/audio_adapter_manager_unit_test/src/audio_adapter_manager_unit_test.cpp +++ b/services/audio_policy/test/unittest/audio_adapter_manager_unit_test/src/audio_adapter_manager_unit_test.cpp @@ -111,9 +111,8 @@ HWTEST_F(AudioAdapterManagerUnitTest, HandleStreamMuteStatus_001, TestSize.Level { AudioStreamType streamType = STREAM_MUSIC; bool mute = true; - StreamUsage streamUsage = STREAM_USAGE_UNKNOWN; DeviceType deviceType = DEVICE_TYPE_BLUETOOTH_A2DP; - AudioAdapterManager::GetInstance().HandleStreamMuteStatus(streamType, mute, streamUsage, deviceType); + AudioAdapterManager::GetInstance().HandleStreamMuteStatus(streamType, mute, deviceType); EXPECT_TRUE(mute); } @@ -127,9 +126,8 @@ HWTEST_F(AudioAdapterManagerUnitTest, HandleStreamMuteStatus_002, TestSize.Level { AudioStreamType streamType = STREAM_MUSIC; bool mute = true; - StreamUsage streamUsage = STREAM_USAGE_UNKNOWN; DeviceType deviceType = DEVICE_TYPE_NONE; - AudioAdapterManager::GetInstance().HandleStreamMuteStatus(streamType, mute, streamUsage, deviceType); + AudioAdapterManager::GetInstance().HandleStreamMuteStatus(streamType, mute, deviceType); EXPECT_TRUE(mute); } diff --git a/test/fuzztest/audioadaptermanager_fuzzer/audio_adapter_manager_fuzzer.cpp b/test/fuzztest/audioadaptermanager_fuzzer/audio_adapter_manager_fuzzer.cpp index 488f2e5d38a273f8336e949691c5429fdb965136..051c95674faedd3872a2f6820e347467de4194b6 100644 --- a/test/fuzztest/audioadaptermanager_fuzzer/audio_adapter_manager_fuzzer.cpp +++ b/test/fuzztest/audioadaptermanager_fuzzer/audio_adapter_manager_fuzzer.cpp @@ -161,9 +161,8 @@ void AudioVolumeManagerHandleStreamMuteStatusFuzzTest(const uint8_t *rawData, si uint32_t index = static_cast(size); AudioStreamType streamType = g_testAudioStreamTypes[index % g_testAudioStreamTypes.size()]; bool mute = static_cast(static_cast(size) % NUM_2); - StreamUsage streamUsage = g_testStreamUsages[index % g_testStreamUsages.size()]; DeviceType deviceType = g_testDeviceTypes[index % g_testDeviceTypes.size()]; - AudioAdapterManager::GetInstance().HandleStreamMuteStatus(streamType, mute, streamUsage, deviceType); + AudioAdapterManager::GetInstance().HandleStreamMuteStatus(streamType, mute, deviceType); } void AudioVolumeManagerSetOffloadVolumeFuzzTest(const uint8_t *rawData, size_t size)