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

Commit 429ad7bc authored by Michael Mikhail's avatar Michael Mikhail
Browse files

Enable media compose path for statusbar media popup

Flag: com.android.systemui.media_controls_in_compose
Bug: 434231366
Test: atest SystemUiRoboTests:MediaControlChipInteractorTest
Change-Id: I9331e47bc61d0f57c745c17681b79514b5f4d895
parent 48d2463d
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -30,7 +30,7 @@ import com.android.systemui.media.controls.shared.model.MediaAction
import com.android.systemui.media.controls.shared.model.MediaButton
import com.android.systemui.media.controls.shared.model.MediaData
import com.android.systemui.media.remedia.data.repository.mediaRepository
import com.android.systemui.scene.shared.flag.SceneContainerFlag
import com.android.systemui.media.remedia.shared.flag.MediaControlsInComposeFlag
import com.android.systemui.testKosmos
import com.google.common.truth.Truth.assertThat
import org.junit.Before
@@ -188,7 +188,7 @@ class MediaControlChipInteractorTest(flags: FlagsParameterization) : SysuiTestCa
        }

    private fun updateMedia(mediaData: MediaData) {
        if (SceneContainerFlag.isEnabled) {
        if (MediaControlsInComposeFlag.isEnabled) {
            mediaRepository.addCurrentUserMediaEntry(mediaData)
        } else {
            kosmos.underTest.updateMediaControlChipModelLegacy(mediaData)
@@ -196,7 +196,7 @@ class MediaControlChipInteractorTest(flags: FlagsParameterization) : SysuiTestCa
    }

    private fun removeMedia(mediaData: MediaData) {
        if (SceneContainerFlag.isEnabled) {
        if (MediaControlsInComposeFlag.isEnabled) {
            val instanceId = mediaData.instanceId
            mediaRepository.removeCurrentUserMediaEntry(instanceId, mediaData)
        } else {
+4 −4
Original line number Diff line number Diff line
@@ -22,8 +22,8 @@ import com.android.systemui.dagger.qualifiers.Background
import com.android.systemui.media.controls.shared.model.MediaData
import com.android.systemui.media.remedia.data.model.MediaDataModel
import com.android.systemui.media.remedia.data.repository.MediaRepositoryImpl
import com.android.systemui.media.remedia.shared.flag.MediaControlsInComposeFlag
import com.android.systemui.res.R
import com.android.systemui.scene.shared.flag.SceneContainerFlag
import com.android.systemui.statusbar.featurepods.media.shared.model.MediaControlChipModel
import javax.inject.Inject
import kotlinx.coroutines.CoroutineScope
@@ -59,18 +59,18 @@ constructor(
    /**
     * A flow of [MediaControlChipModel] representing the current state of the media controls chip.
     * This flow emits null when no active media is playing or when playback information is
     * unavailable. This flow is only active when [SceneContainerFlag] is disabled.
     * unavailable. This flow is only active when [MediaControlsInComposeFlag] is disabled.
     */
    private val mediaControlChipModelLegacy = MutableStateFlow<MediaControlChipModel?>(null)

    fun updateMediaControlChipModelLegacy(mediaData: MediaData?) {
        if (!SceneContainerFlag.isEnabled) {
        if (!MediaControlsInComposeFlag.isEnabled) {
            mediaControlChipModelLegacy.value = mediaData?.toMediaControlChipModel()
        }
    }

    private val _mediaControlChipModel: Flow<MediaControlChipModel?> =
        if (SceneContainerFlag.isEnabled) {
        if (MediaControlsInComposeFlag.isEnabled) {
            mediaControlChipModelForScene
        } else {
            mediaControlChipModelLegacy