Loading android/app/src/com/android/bluetooth/bass_client/BassClientService.java +4 −4 Original line number Diff line number Diff line Loading @@ -3102,7 +3102,7 @@ public class BassClientService extends ProfileService { return stateMachine.getMaximumSourceCapacity(); } private boolean isLocalBroadcast(int sourceAdvertisingSid) { private boolean isLocalBroadcast(int broadcastId) { LeAudioService leAudioService = mServiceFactory.getLeAudioService(); if (leAudioService == null) { return false; Loading @@ -3112,7 +3112,7 @@ public class BassClientService extends ProfileService { leAudioService.getAllBroadcastMetadata().stream() .anyMatch( meta -> { return meta.getSourceAdvertisingSid() == sourceAdvertisingSid; return meta.getBroadcastId() == broadcastId; }); log("isLocalBroadcast=" + wasFound); return wasFound; Loading @@ -3123,7 +3123,7 @@ public class BassClientService extends ProfileService { return false; } return isLocalBroadcast(metaData.getSourceAdvertisingSid()); return isLocalBroadcast(metaData.getBroadcastId()); } boolean isLocalBroadcast(BluetoothLeBroadcastReceiveState receiveState) { Loading @@ -3131,7 +3131,7 @@ public class BassClientService extends ProfileService { return false; } return isLocalBroadcast(receiveState.getSourceAdvertisingSid()); return isLocalBroadcast(receiveState.getBroadcastId()); } static void log(String msg) { Loading android/app/tests/unit/src/com/android/bluetooth/bass_client/BassClientServiceTest.java +41 −0 Original line number Diff line number Diff line Loading @@ -6471,4 +6471,45 @@ public class BassClientServiceTest { } } } @Test public void testIsLocalBroadacst() { int broadcastId = 12345; BluetoothLeBroadcastMetadata metadata = createBroadcastMetadata(broadcastId); BluetoothLeBroadcastReceiveState receiveState = new BluetoothLeBroadcastReceiveState( TEST_SOURCE_ID, metadata.getSourceAddressType(), metadata.getSourceDevice(), metadata.getSourceAdvertisingSid(), metadata.getBroadcastId(), BluetoothLeBroadcastReceiveState.PA_SYNC_STATE_SYNCHRONIZED, BluetoothLeBroadcastReceiveState.BIG_ENCRYPTION_STATE_NOT_ENCRYPTED, null, metadata.getSubgroups().size(), // Bis sync states metadata.getSubgroups().stream() .map(e -> (long) 0x00000001) .collect(Collectors.toList()), metadata.getSubgroups().stream() .map(e -> e.getContentMetadata()) .collect(Collectors.toList())); /* External broadcast check */ doReturn(new ArrayList<BluetoothLeBroadcastMetadata>()) .when(mLeAudioService) .getAllBroadcastMetadata(); assertThat(mBassClientService.isLocalBroadcast(metadata)).isFalse(); assertThat(mBassClientService.isLocalBroadcast(receiveState)).isFalse(); /* Local broadcast check */ doReturn(new ArrayList<BluetoothLeBroadcastMetadata>(Arrays.asList(metadata))) .when(mLeAudioService) .getAllBroadcastMetadata(); assertThat(mBassClientService.isLocalBroadcast(metadata)).isTrue(); assertThat(mBassClientService.isLocalBroadcast(receiveState)).isTrue(); } } Loading
android/app/src/com/android/bluetooth/bass_client/BassClientService.java +4 −4 Original line number Diff line number Diff line Loading @@ -3102,7 +3102,7 @@ public class BassClientService extends ProfileService { return stateMachine.getMaximumSourceCapacity(); } private boolean isLocalBroadcast(int sourceAdvertisingSid) { private boolean isLocalBroadcast(int broadcastId) { LeAudioService leAudioService = mServiceFactory.getLeAudioService(); if (leAudioService == null) { return false; Loading @@ -3112,7 +3112,7 @@ public class BassClientService extends ProfileService { leAudioService.getAllBroadcastMetadata().stream() .anyMatch( meta -> { return meta.getSourceAdvertisingSid() == sourceAdvertisingSid; return meta.getBroadcastId() == broadcastId; }); log("isLocalBroadcast=" + wasFound); return wasFound; Loading @@ -3123,7 +3123,7 @@ public class BassClientService extends ProfileService { return false; } return isLocalBroadcast(metaData.getSourceAdvertisingSid()); return isLocalBroadcast(metaData.getBroadcastId()); } boolean isLocalBroadcast(BluetoothLeBroadcastReceiveState receiveState) { Loading @@ -3131,7 +3131,7 @@ public class BassClientService extends ProfileService { return false; } return isLocalBroadcast(receiveState.getSourceAdvertisingSid()); return isLocalBroadcast(receiveState.getBroadcastId()); } static void log(String msg) { Loading
android/app/tests/unit/src/com/android/bluetooth/bass_client/BassClientServiceTest.java +41 −0 Original line number Diff line number Diff line Loading @@ -6471,4 +6471,45 @@ public class BassClientServiceTest { } } } @Test public void testIsLocalBroadacst() { int broadcastId = 12345; BluetoothLeBroadcastMetadata metadata = createBroadcastMetadata(broadcastId); BluetoothLeBroadcastReceiveState receiveState = new BluetoothLeBroadcastReceiveState( TEST_SOURCE_ID, metadata.getSourceAddressType(), metadata.getSourceDevice(), metadata.getSourceAdvertisingSid(), metadata.getBroadcastId(), BluetoothLeBroadcastReceiveState.PA_SYNC_STATE_SYNCHRONIZED, BluetoothLeBroadcastReceiveState.BIG_ENCRYPTION_STATE_NOT_ENCRYPTED, null, metadata.getSubgroups().size(), // Bis sync states metadata.getSubgroups().stream() .map(e -> (long) 0x00000001) .collect(Collectors.toList()), metadata.getSubgroups().stream() .map(e -> e.getContentMetadata()) .collect(Collectors.toList())); /* External broadcast check */ doReturn(new ArrayList<BluetoothLeBroadcastMetadata>()) .when(mLeAudioService) .getAllBroadcastMetadata(); assertThat(mBassClientService.isLocalBroadcast(metadata)).isFalse(); assertThat(mBassClientService.isLocalBroadcast(receiveState)).isFalse(); /* Local broadcast check */ doReturn(new ArrayList<BluetoothLeBroadcastMetadata>(Arrays.asList(metadata))) .when(mLeAudioService) .getAllBroadcastMetadata(); assertThat(mBassClientService.isLocalBroadcast(metadata)).isTrue(); assertThat(mBassClientService.isLocalBroadcast(receiveState)).isTrue(); } }