Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d1f73a99 authored by Chelsea Hao's avatar Chelsea Hao Committed by Android (Google) Code Review
Browse files

Merge "Add audio sharing debug logs." into main

parents a3ccaa75 5ab5fcb2
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -125,7 +125,9 @@ class AudioSharingInteractorTest : SysuiTestCase() {
                bluetoothTileDialogAudioSharingRepository.emitAudioSourceStateUpdate()
                runCurrent()

                assertThat(value).isNull()
                assertThat(value).isEqualTo(Unit)
                verify(bluetoothTileDialogLogger).logAudioSharingStateChanged(true)
                verify(bluetoothTileDialogLogger).logAudioSourceStateUpdate()
            }
        }

+12 −0
Original line number Diff line number Diff line
@@ -62,6 +62,7 @@ class AudioSharingRepositoryTest : SysuiTestCase() {
            AudioSharingRepositoryImpl(
                kosmos.localBluetoothManager,
                kosmos.audioSharingRepository,
                kosmos.bluetoothTileDialogLogger,
                kosmos.testDispatcher,
            )
    }
@@ -95,6 +96,8 @@ class AudioSharingRepositoryTest : SysuiTestCase() {
                audioSharingRepository.setAudioSharingAvailable(true)
                underTest.startAudioSharing()
                verify(leAudioBroadcastProfile).startPrivateBroadcast()
                verify(bluetoothTileDialogLogger)
                    .logAudioSharingRequest(AudioSharingRequest.START_BROADCAST)
            }
        }

@@ -105,6 +108,8 @@ class AudioSharingRepositoryTest : SysuiTestCase() {
                audioSharingRepository.setAudioSharingAvailable(false)
                underTest.startAudioSharing()
                verify(leAudioBroadcastProfile, never()).startPrivateBroadcast()
                verify(bluetoothTileDialogLogger, never())
                    .logAudioSharingRequest(AudioSharingRequest.START_BROADCAST)
            }
        }

@@ -117,6 +122,8 @@ class AudioSharingRepositoryTest : SysuiTestCase() {
                audioSharingRepository.setAudioSharingAvailable(true)
                underTest.stopAudioSharing()
                verify(leAudioBroadcastProfile).stopLatestBroadcast()
                verify(bluetoothTileDialogLogger)
                    .logAudioSharingRequest(AudioSharingRequest.STOP_BROADCAST)
            }
        }

@@ -140,6 +147,7 @@ class AudioSharingRepositoryTest : SysuiTestCase() {
                runCurrent()

                verify(leAudioBroadcastAssistant, never()).allConnectedDevices
                verify(bluetoothTileDialogLogger, never()).logAudioSharingRequest(any())
            }
        }

@@ -157,6 +165,7 @@ class AudioSharingRepositoryTest : SysuiTestCase() {
                runCurrent()

                verify(leAudioBroadcastAssistant, never()).allConnectedDevices
                verify(bluetoothTileDialogLogger, never()).logAudioSharingRequest(any())
            }
        }

@@ -177,6 +186,7 @@ class AudioSharingRepositoryTest : SysuiTestCase() {
                runCurrent()

                verify(leAudioBroadcastAssistant, never()).addSource(any(), any(), anyBoolean())
                verify(bluetoothTileDialogLogger, never()).logAudioSharingRequest(any())
            }
        }

@@ -198,6 +208,8 @@ class AudioSharingRepositoryTest : SysuiTestCase() {
                runCurrent()

                verify(leAudioBroadcastAssistant).addSource(bluetoothDevice, metadata, false)
                verify(bluetoothTileDialogLogger)
                    .logAudioSharingRequest(AudioSharingRequest.ADD_SOURCE)
            }
        }
}
+8 −0
Original line number Diff line number Diff line
@@ -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 -> {
+6 −1
Original line number Diff line number Diff line
@@ -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

@@ -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 {

@@ -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()
                }
+12 −3
Original line number Diff line number Diff line
@@ -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 {

@@ -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)
                        }
                    }
                }
            }
        }
@@ -99,7 +104,9 @@ class AudioSharingRepositoryImpl(
            if (!settingsLibAudioSharingRepository.audioSharingAvailable()) {
                return@withContext
            }
            leAudioBroadcastProfile?.startPrivateBroadcast()
            leAudioBroadcastProfile?.startPrivateBroadcast().also {
                logger.logAudioSharingRequest(AudioSharingRequest.START_BROADCAST)
            }
        }
    }

@@ -108,7 +115,9 @@ class AudioSharingRepositoryImpl(
            if (!settingsLibAudioSharingRepository.audioSharingAvailable()) {
                return@withContext
            }
            leAudioBroadcastProfile?.stopLatestBroadcast()
            leAudioBroadcastProfile?.stopLatestBroadcast().also {
                logger.logAudioSharingRequest(AudioSharingRequest.STOP_BROADCAST)
            }
        }
    }
}
Loading