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

Commit 5ab5fcb2 authored by chelseahao's avatar chelseahao
Browse files

Add audio sharing debug logs.

Test: atest
Bug: 382397280
Flag: com.android.settingslib.flags.enable_le_audio_sharing
Change-Id: If4e19adb87cc30388161ab44972f933f21657b33
parent 238c473c
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