From dbae54191aa1d4141cc1129508f3f86ea789da7f Mon Sep 17 00:00:00 2001 From: 30079671 Date: Tue, 2 Sep 2025 16:17:03 +0800 Subject: [PATCH 1/3] =?UTF-8?q?GetAudioInterruptBundleName=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E5=8F=8A=E5=8D=95=E5=85=83=E6=B5=8B=E8=AF=95=E7=94=A8?= =?UTF-8?q?=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 30079671 --- .../include/audio_interrupt_info.h | 3 ++ .../include/audio_interrupt_service.h | 2 +- .../interrupt/src/audio_interrupt_service.cpp | 14 +++---- .../src/audio_interrupt_unit_test.cpp | 40 +++++++++++++++++-- 4 files changed, 48 insertions(+), 11 deletions(-) diff --git a/interfaces/inner_api/native/audiocommon/include/audio_interrupt_info.h b/interfaces/inner_api/native/audiocommon/include/audio_interrupt_info.h index 62a75dc9e7..7cb2e8ab26 100644 --- a/interfaces/inner_api/native/audiocommon/include/audio_interrupt_info.h +++ b/interfaces/inner_api/native/audiocommon/include/audio_interrupt_info.h @@ -298,6 +298,7 @@ public: int32_t pid { -1 }; int32_t uid { -1 }; std::string deviceTag; + mutable std::string bundleName; InterruptMode mode { SHARE_MODE }; bool isAudioSessionInterrupt {false}; AudioFocusConcurrency currencySources; @@ -344,6 +345,7 @@ public: res = res && parcel.WriteInt32(interrupt.pid); res = res && parcel.WriteInt32(interrupt.uid); res = res && parcel.WriteString(interrupt.deviceTag); + res = res && parcel.WriteString(interrupt.bundleName); res = res && parcel.WriteInt32(static_cast(interrupt.mode)); res = res && parcel.WriteBool(interrupt.isAudioSessionInterrupt); size_t vct = interrupt.currencySources.sourcesTypes.size(); @@ -370,6 +372,7 @@ public: interrupt.pid = parcel.ReadInt32(); interrupt.uid = parcel.ReadInt32(); interrupt.deviceTag = parcel.ReadString(); + interrupt.bundleName = parcel.ReadString(); interrupt.mode = static_cast(parcel.ReadInt32()); interrupt.isAudioSessionInterrupt = parcel.ReadBool(); int32_t vct = parcel.ReadInt32(); diff --git a/services/audio_policy/server/domain/interrupt/include/audio_interrupt_service.h b/services/audio_policy/server/domain/interrupt/include/audio_interrupt_service.h index 811979b2c2..e42c36c7e0 100644 --- a/services/audio_policy/server/domain/interrupt/include/audio_interrupt_service.h +++ b/services/audio_policy/server/domain/interrupt/include/audio_interrupt_service.h @@ -201,7 +201,7 @@ private: void UpdateFocusStrategy(const std::string &bundleName, AudioFocusEntry &focusEntry, bool isExistMediaStream, bool isIncomingMediaStream); bool IsMediaStream(AudioStreamType audioStreamType); - std::string GetRealBundleName(uint32_t uid); + std::string GetAudioInterruptBundleName(const AudioInterrupt &audioInterrupt); std::string GetCurrentBundleName(uint32_t uid); void UpdateAudioFocusStrategy(const AudioInterrupt ¤tInterrupt, const AudioInterrupt &incomingInterrupt, AudioFocusEntry &focusEntry); 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 3be0c3ae6d..6ed6748bae 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 @@ -1783,14 +1783,14 @@ int32_t AudioInterruptService::SetQueryBundleNameListCallback(const sptr(uid)); + std::string bundleName = GetAudioInterruptBundleName(incomingInterrupt); std::string currentBundleName = GetCurrentBundleName(static_cast(currentUid)); CHECK_AND_RETURN_LOG(!bundleName.empty(), "bundleName is empty"); AudioStreamType existStreamType = existAudioFocusType.streamType; diff --git a/services/audio_policy/test/unittest/audio_interrupt_service_test/src/audio_interrupt_unit_test.cpp b/services/audio_policy/test/unittest/audio_interrupt_service_test/src/audio_interrupt_unit_test.cpp index 43bdbdb8a9..cb28d4a44a 100644 --- a/services/audio_policy/test/unittest/audio_interrupt_service_test/src/audio_interrupt_unit_test.cpp +++ b/services/audio_policy/test/unittest/audio_interrupt_service_test/src/audio_interrupt_unit_test.cpp @@ -2266,7 +2266,7 @@ HWTEST(AudioInterruptUnitTest, InjectInterruptToAudioZone_003, TestSize.Level1) interruptServiceTest->zonesMap_.clear(); interruptServiceTest->zonesMap_[0] = std::make_shared(); interruptServiceTest->zonesMap_[1] = std::make_shared(); - + SetUid1041(); EXPECT_NO_THROW( interruptServiceTest->InjectInterruptToAudioZone(1, interrupts); @@ -2350,7 +2350,7 @@ HWTEST(AudioInterruptUnitTest, InjectInterruptToAudioZone_007, TestSize.Level1) interruptServiceTest->zonesMap_.clear(); interruptServiceTest->zonesMap_[0] = std::make_shared(); interruptServiceTest->zonesMap_[1] = std::make_shared(); - + SetUid1041(); EXPECT_NO_THROW( interruptServiceTest->InjectInterruptToAudioZone(1, "1", interrupts); @@ -3701,7 +3701,7 @@ HWTEST(AudioInterruptUnitTest, AudioInterruptService_118, TestSize.Level1) auto iterActive = myList.begin(); AudioFocuState oldState = ACTIVE; - + std::list> myList2; myList.emplace_back(AudioInterrupt(), AudioFocuState::PAUSEDBYREMOTE); auto iterNew = myList.begin(); @@ -3750,6 +3750,40 @@ HWTEST(AudioInterruptUnitTest, AudioInterruptService_119, TestSize.Level1) EXPECT_EQ(ret1, SUCCESS); } +/** +* @tc.name : Test AudioInterruptService +* @tc.number: AudioInterruptService_120 +* @tc.desc : Test GetAudioInterruptBundleName_01 +*/ +HWTEST(AudioInterruptUnitTest, AudioInterruptService_120, TestSize.Level1) +{ + auto audioInterruptService = std::make_shared(); + ASSERT_NE(AudioInterruptService, nullptr); + + AudioInterrupt audioInterrupt = {}; + audioInterrupt.uid = 1013; + audioInterrupt.bundleName.clear(); + audioInterruptService->GetAudioInterruptBundleName(audioInterrupt); + EXPECT_TRUE(audioInterrupt.bundleName.empty()); +} + +/** +* @tc.name : Test AudioInterruptService +* @tc.number: AudioInterruptService_121 +* @tc.desc : Test GetAudioInterruptBundleName_02 +*/ +HWTEST(AudioInterruptUnitTest, AudioInterruptService_121, TestSize.Level1) +{ + auto audioInterruptService = std::make_shared(); + ASSERT_NE(AudioInterruptService, nullptr); + + AudioInterrupt audioInterrupt = {}; + std::string str = "xyz"; + audioInterrupt.bundleName = str; + audioInterruptService->GetAudioInterruptBundleName(audioInterrupt); + EXPECT_TRUE(audioInterrupt.bundleName.compare(str)==0); +} + /** * @tc.name : Test RegisterDefaultVolumeTypeListener * @tc.number: RegisterDefaultVolumeTypeListenerTest -- Gitee From f8d7f24145a072c4a6f82ba0c9b3a00c8cf311b1 Mon Sep 17 00:00:00 2001 From: 30079671 Date: Tue, 2 Sep 2025 11:53:18 +0000 Subject: [PATCH 2/3] update audio_interrupt_unit_test.cpp. Signed-off-by: 30079671 --- .../src/audio_interrupt_unit_test.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/audio_policy/test/unittest/audio_interrupt_service_test/src/audio_interrupt_unit_test.cpp b/services/audio_policy/test/unittest/audio_interrupt_service_test/src/audio_interrupt_unit_test.cpp index cb28d4a44a..7cebdb6bd8 100644 --- a/services/audio_policy/test/unittest/audio_interrupt_service_test/src/audio_interrupt_unit_test.cpp +++ b/services/audio_policy/test/unittest/audio_interrupt_service_test/src/audio_interrupt_unit_test.cpp @@ -3754,7 +3754,7 @@ HWTEST(AudioInterruptUnitTest, AudioInterruptService_119, TestSize.Level1) * @tc.name : Test AudioInterruptService * @tc.number: AudioInterruptService_120 * @tc.desc : Test GetAudioInterruptBundleName_01 -*/ +*/ HWTEST(AudioInterruptUnitTest, AudioInterruptService_120, TestSize.Level1) { auto audioInterruptService = std::make_shared(); -- Gitee From 913d9849b9b40db364d3c064d851913d84ca7625 Mon Sep 17 00:00:00 2001 From: 30079671 Date: Tue, 2 Sep 2025 12:23:56 +0000 Subject: [PATCH 3/3] update audio_interrupt_unit_test.cpp. Signed-off-by: 30079671 --- .../src/audio_interrupt_unit_test.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/services/audio_policy/test/unittest/audio_interrupt_service_test/src/audio_interrupt_unit_test.cpp b/services/audio_policy/test/unittest/audio_interrupt_service_test/src/audio_interrupt_unit_test.cpp index 7cebdb6bd8..dbe83517c0 100644 --- a/services/audio_policy/test/unittest/audio_interrupt_service_test/src/audio_interrupt_unit_test.cpp +++ b/services/audio_policy/test/unittest/audio_interrupt_service_test/src/audio_interrupt_unit_test.cpp @@ -3758,7 +3758,7 @@ HWTEST(AudioInterruptUnitTest, AudioInterruptService_119, TestSize.Level1) HWTEST(AudioInterruptUnitTest, AudioInterruptService_120, TestSize.Level1) { auto audioInterruptService = std::make_shared(); - ASSERT_NE(AudioInterruptService, nullptr); + ASSERT_NE(audioInterruptService, nullptr); AudioInterrupt audioInterrupt = {}; audioInterrupt.uid = 1013; @@ -3775,7 +3775,7 @@ HWTEST(AudioInterruptUnitTest, AudioInterruptService_120, TestSize.Level1) HWTEST(AudioInterruptUnitTest, AudioInterruptService_121, TestSize.Level1) { auto audioInterruptService = std::make_shared(); - ASSERT_NE(AudioInterruptService, nullptr); + ASSERT_NE(audioInterruptService, nullptr); AudioInterrupt audioInterrupt = {}; std::string str = "xyz"; -- Gitee