Loading packages/SystemUI/multivalentTests/src/com/android/systemui/bluetooth/qsdialog/AudioSharingInteractorTest.kt +3 −1 Original line number Diff line number Diff line Loading @@ -125,7 +125,9 @@ class AudioSharingInteractorTest : SysuiTestCase() { bluetoothTileDialogAudioSharingRepository.emitAudioSourceStateUpdate() runCurrent() assertThat(value).isNull() assertThat(value).isEqualTo(Unit) verify(bluetoothTileDialogLogger).logAudioSharingStateChanged(true) verify(bluetoothTileDialogLogger).logAudioSourceStateUpdate() } } Loading packages/SystemUI/multivalentTests/src/com/android/systemui/bluetooth/qsdialog/AudioSharingRepositoryTest.kt +12 −0 Original line number Diff line number Diff line Loading @@ -62,6 +62,7 @@ class AudioSharingRepositoryTest : SysuiTestCase() { AudioSharingRepositoryImpl( kosmos.localBluetoothManager, kosmos.audioSharingRepository, kosmos.bluetoothTileDialogLogger, kosmos.testDispatcher, ) } Loading Loading @@ -95,6 +96,8 @@ class AudioSharingRepositoryTest : SysuiTestCase() { audioSharingRepository.setAudioSharingAvailable(true) underTest.startAudioSharing() verify(leAudioBroadcastProfile).startPrivateBroadcast() verify(bluetoothTileDialogLogger) .logAudioSharingRequest(AudioSharingRequest.START_BROADCAST) } } Loading @@ -105,6 +108,8 @@ class AudioSharingRepositoryTest : SysuiTestCase() { audioSharingRepository.setAudioSharingAvailable(false) underTest.startAudioSharing() verify(leAudioBroadcastProfile, never()).startPrivateBroadcast() verify(bluetoothTileDialogLogger, never()) .logAudioSharingRequest(AudioSharingRequest.START_BROADCAST) } } Loading @@ -117,6 +122,8 @@ class AudioSharingRepositoryTest : SysuiTestCase() { audioSharingRepository.setAudioSharingAvailable(true) underTest.stopAudioSharing() verify(leAudioBroadcastProfile).stopLatestBroadcast() verify(bluetoothTileDialogLogger) .logAudioSharingRequest(AudioSharingRequest.STOP_BROADCAST) } } Loading @@ -140,6 +147,7 @@ class AudioSharingRepositoryTest : SysuiTestCase() { runCurrent() verify(leAudioBroadcastAssistant, never()).allConnectedDevices verify(bluetoothTileDialogLogger, never()).logAudioSharingRequest(any()) } } Loading @@ -157,6 +165,7 @@ class AudioSharingRepositoryTest : SysuiTestCase() { runCurrent() verify(leAudioBroadcastAssistant, never()).allConnectedDevices verify(bluetoothTileDialogLogger, never()).logAudioSharingRequest(any()) } } Loading @@ -177,6 +186,7 @@ class AudioSharingRepositoryTest : SysuiTestCase() { runCurrent() verify(leAudioBroadcastAssistant, never()).addSource(any(), any(), anyBoolean()) verify(bluetoothTileDialogLogger, never()).logAudioSharingRequest(any()) } } Loading @@ -198,6 +208,8 @@ class AudioSharingRepositoryTest : SysuiTestCase() { runCurrent() verify(leAudioBroadcastAssistant).addSource(bluetoothDevice, metadata, false) verify(bluetoothTileDialogLogger) .logAudioSharingRequest(AudioSharingRequest.ADD_SOURCE) } } } packages/SystemUI/src/com/android/systemui/bluetooth/qsdialog/AudioSharingDeviceItemActionInteractorImpl.kt +8 −0 Original line number Diff line number Diff line Loading @@ -124,10 +124,18 @@ constructor( when (deviceItem.type) { DeviceItemType.AUDIO_SHARING_MEDIA_BLUETOOTH_DEVICE -> { uiEventLogger.log(BluetoothTileDialogUiEvent.CHECK_MARK_ACTION_BUTTON_CLICKED) logger.logAudioSharingButtonClick( AudioSharingButtonClick.CHECK_MARK, deviceItem, ) audioSharingInteractor.stopAudioSharing() } DeviceItemType.AVAILABLE_AUDIO_SHARING_MEDIA_BLUETOOTH_DEVICE -> { uiEventLogger.log(BluetoothTileDialogUiEvent.PLUS_ACTION_BUTTON_CLICKED) logger.logAudioSharingButtonClick( AudioSharingButtonClick.PLUS_BUTTON, deviceItem, ) audioSharingInteractor.startAudioSharing() } else -> { Loading packages/SystemUI/src/com/android/systemui/bluetooth/qsdialog/AudioSharingInteractor.kt +6 −1 Original line number Diff line number Diff line Loading @@ -40,6 +40,7 @@ import kotlinx.coroutines.flow.flowOn import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.mapNotNull import kotlinx.coroutines.flow.merge import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.flow.receiveAsFlow import kotlinx.coroutines.withContext Loading Loading @@ -73,6 +74,7 @@ constructor( private val context: Context, private val localBluetoothManager: LocalBluetoothManager?, private val audioSharingRepository: AudioSharingRepository, private val logger: BluetoothTileDialogLogger, @Background private val backgroundDispatcher: CoroutineDispatcher, ) : AudioSharingInteractor { Loading @@ -92,9 +94,12 @@ constructor( override val audioSourceStateUpdate = isAudioSharingOn .onEach { logger.logAudioSharingStateChanged(it) } .flatMapLatest { if (it) { audioSharingRepository.audioSourceStateUpdate audioSharingRepository.audioSourceStateUpdate.onEach { logger.logAudioSourceStateUpdate() } } else { emptyFlow() } Loading packages/SystemUI/src/com/android/systemui/bluetooth/qsdialog/AudioSharingRepository.kt +12 −3 Original line number Diff line number Diff line Loading @@ -53,6 +53,7 @@ interface AudioSharingRepository { class AudioSharingRepositoryImpl( private val localBluetoothManager: LocalBluetoothManager, private val settingsLibAudioSharingRepository: SettingsLibAudioSharingRepository, private val logger: BluetoothTileDialogLogger, @Background private val backgroundDispatcher: CoroutineDispatcher, ) : AudioSharingRepository { Loading @@ -79,7 +80,11 @@ class AudioSharingRepositoryImpl( } leAudioBroadcastProfile?.latestBluetoothLeBroadcastMetadata?.let { metadata -> leAudioBroadcastAssistantProfile?.let { it.allConnectedDevices.forEach { sink -> it.addSource(sink, metadata, false) } it.allConnectedDevices.forEach { sink -> it.addSource(sink, metadata, false).also { logger.logAudioSharingRequest(AudioSharingRequest.ADD_SOURCE) } } } } } Loading @@ -99,7 +104,9 @@ class AudioSharingRepositoryImpl( if (!settingsLibAudioSharingRepository.audioSharingAvailable()) { return@withContext } leAudioBroadcastProfile?.startPrivateBroadcast() leAudioBroadcastProfile?.startPrivateBroadcast().also { logger.logAudioSharingRequest(AudioSharingRequest.START_BROADCAST) } } } Loading @@ -108,7 +115,9 @@ class AudioSharingRepositoryImpl( if (!settingsLibAudioSharingRepository.audioSharingAvailable()) { return@withContext } leAudioBroadcastProfile?.stopLatestBroadcast() leAudioBroadcastProfile?.stopLatestBroadcast().also { logger.logAudioSharingRequest(AudioSharingRequest.STOP_BROADCAST) } } } } Loading Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/bluetooth/qsdialog/AudioSharingInteractorTest.kt +3 −1 Original line number Diff line number Diff line Loading @@ -125,7 +125,9 @@ class AudioSharingInteractorTest : SysuiTestCase() { bluetoothTileDialogAudioSharingRepository.emitAudioSourceStateUpdate() runCurrent() assertThat(value).isNull() assertThat(value).isEqualTo(Unit) verify(bluetoothTileDialogLogger).logAudioSharingStateChanged(true) verify(bluetoothTileDialogLogger).logAudioSourceStateUpdate() } } Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/bluetooth/qsdialog/AudioSharingRepositoryTest.kt +12 −0 Original line number Diff line number Diff line Loading @@ -62,6 +62,7 @@ class AudioSharingRepositoryTest : SysuiTestCase() { AudioSharingRepositoryImpl( kosmos.localBluetoothManager, kosmos.audioSharingRepository, kosmos.bluetoothTileDialogLogger, kosmos.testDispatcher, ) } Loading Loading @@ -95,6 +96,8 @@ class AudioSharingRepositoryTest : SysuiTestCase() { audioSharingRepository.setAudioSharingAvailable(true) underTest.startAudioSharing() verify(leAudioBroadcastProfile).startPrivateBroadcast() verify(bluetoothTileDialogLogger) .logAudioSharingRequest(AudioSharingRequest.START_BROADCAST) } } Loading @@ -105,6 +108,8 @@ class AudioSharingRepositoryTest : SysuiTestCase() { audioSharingRepository.setAudioSharingAvailable(false) underTest.startAudioSharing() verify(leAudioBroadcastProfile, never()).startPrivateBroadcast() verify(bluetoothTileDialogLogger, never()) .logAudioSharingRequest(AudioSharingRequest.START_BROADCAST) } } Loading @@ -117,6 +122,8 @@ class AudioSharingRepositoryTest : SysuiTestCase() { audioSharingRepository.setAudioSharingAvailable(true) underTest.stopAudioSharing() verify(leAudioBroadcastProfile).stopLatestBroadcast() verify(bluetoothTileDialogLogger) .logAudioSharingRequest(AudioSharingRequest.STOP_BROADCAST) } } Loading @@ -140,6 +147,7 @@ class AudioSharingRepositoryTest : SysuiTestCase() { runCurrent() verify(leAudioBroadcastAssistant, never()).allConnectedDevices verify(bluetoothTileDialogLogger, never()).logAudioSharingRequest(any()) } } Loading @@ -157,6 +165,7 @@ class AudioSharingRepositoryTest : SysuiTestCase() { runCurrent() verify(leAudioBroadcastAssistant, never()).allConnectedDevices verify(bluetoothTileDialogLogger, never()).logAudioSharingRequest(any()) } } Loading @@ -177,6 +186,7 @@ class AudioSharingRepositoryTest : SysuiTestCase() { runCurrent() verify(leAudioBroadcastAssistant, never()).addSource(any(), any(), anyBoolean()) verify(bluetoothTileDialogLogger, never()).logAudioSharingRequest(any()) } } Loading @@ -198,6 +208,8 @@ class AudioSharingRepositoryTest : SysuiTestCase() { runCurrent() verify(leAudioBroadcastAssistant).addSource(bluetoothDevice, metadata, false) verify(bluetoothTileDialogLogger) .logAudioSharingRequest(AudioSharingRequest.ADD_SOURCE) } } }
packages/SystemUI/src/com/android/systemui/bluetooth/qsdialog/AudioSharingDeviceItemActionInteractorImpl.kt +8 −0 Original line number Diff line number Diff line Loading @@ -124,10 +124,18 @@ constructor( when (deviceItem.type) { DeviceItemType.AUDIO_SHARING_MEDIA_BLUETOOTH_DEVICE -> { uiEventLogger.log(BluetoothTileDialogUiEvent.CHECK_MARK_ACTION_BUTTON_CLICKED) logger.logAudioSharingButtonClick( AudioSharingButtonClick.CHECK_MARK, deviceItem, ) audioSharingInteractor.stopAudioSharing() } DeviceItemType.AVAILABLE_AUDIO_SHARING_MEDIA_BLUETOOTH_DEVICE -> { uiEventLogger.log(BluetoothTileDialogUiEvent.PLUS_ACTION_BUTTON_CLICKED) logger.logAudioSharingButtonClick( AudioSharingButtonClick.PLUS_BUTTON, deviceItem, ) audioSharingInteractor.startAudioSharing() } else -> { Loading
packages/SystemUI/src/com/android/systemui/bluetooth/qsdialog/AudioSharingInteractor.kt +6 −1 Original line number Diff line number Diff line Loading @@ -40,6 +40,7 @@ import kotlinx.coroutines.flow.flowOn import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.mapNotNull import kotlinx.coroutines.flow.merge import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.flow.receiveAsFlow import kotlinx.coroutines.withContext Loading Loading @@ -73,6 +74,7 @@ constructor( private val context: Context, private val localBluetoothManager: LocalBluetoothManager?, private val audioSharingRepository: AudioSharingRepository, private val logger: BluetoothTileDialogLogger, @Background private val backgroundDispatcher: CoroutineDispatcher, ) : AudioSharingInteractor { Loading @@ -92,9 +94,12 @@ constructor( override val audioSourceStateUpdate = isAudioSharingOn .onEach { logger.logAudioSharingStateChanged(it) } .flatMapLatest { if (it) { audioSharingRepository.audioSourceStateUpdate audioSharingRepository.audioSourceStateUpdate.onEach { logger.logAudioSourceStateUpdate() } } else { emptyFlow() } Loading
packages/SystemUI/src/com/android/systemui/bluetooth/qsdialog/AudioSharingRepository.kt +12 −3 Original line number Diff line number Diff line Loading @@ -53,6 +53,7 @@ interface AudioSharingRepository { class AudioSharingRepositoryImpl( private val localBluetoothManager: LocalBluetoothManager, private val settingsLibAudioSharingRepository: SettingsLibAudioSharingRepository, private val logger: BluetoothTileDialogLogger, @Background private val backgroundDispatcher: CoroutineDispatcher, ) : AudioSharingRepository { Loading @@ -79,7 +80,11 @@ class AudioSharingRepositoryImpl( } leAudioBroadcastProfile?.latestBluetoothLeBroadcastMetadata?.let { metadata -> leAudioBroadcastAssistantProfile?.let { it.allConnectedDevices.forEach { sink -> it.addSource(sink, metadata, false) } it.allConnectedDevices.forEach { sink -> it.addSource(sink, metadata, false).also { logger.logAudioSharingRequest(AudioSharingRequest.ADD_SOURCE) } } } } } Loading @@ -99,7 +104,9 @@ class AudioSharingRepositoryImpl( if (!settingsLibAudioSharingRepository.audioSharingAvailable()) { return@withContext } leAudioBroadcastProfile?.startPrivateBroadcast() leAudioBroadcastProfile?.startPrivateBroadcast().also { logger.logAudioSharingRequest(AudioSharingRequest.START_BROADCAST) } } } Loading @@ -108,7 +115,9 @@ class AudioSharingRepositoryImpl( if (!settingsLibAudioSharingRepository.audioSharingAvailable()) { return@withContext } leAudioBroadcastProfile?.stopLatestBroadcast() leAudioBroadcastProfile?.stopLatestBroadcast().also { logger.logAudioSharingRequest(AudioSharingRequest.STOP_BROADCAST) } } } } Loading