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

Commit 94abf8c1 authored by William Xiao's avatar William Xiao Committed by Android (Google) Code Review
Browse files

Merge "Allow hub to show resume UMO state" into main

parents 783fd952 43e82244
Loading
Loading
Loading
Loading
+8 −8
Original line number Diff line number Diff line
@@ -67,7 +67,7 @@ class CommunalMediaRepositoryImplTest : SysuiTestCase() {
        testScope.runTest {
            val mediaModel = collectLastValue(underTest.mediaModel)
            runCurrent()
            assertThat(mediaModel()?.hasActiveMediaOrRecommendation).isFalse()
            assertThat(mediaModel()?.hasAnyMediaOrRecommendation).isFalse()
        }

    @Test
@@ -81,16 +81,16 @@ class CommunalMediaRepositoryImplTest : SysuiTestCase() {
            // Initial value is false.
            val mediaModel = collectLastValue(underTest.mediaModel)
            runCurrent()
            assertThat(mediaModel()?.hasActiveMediaOrRecommendation).isFalse()
            assertThat(mediaModel()?.hasAnyMediaOrRecommendation).isFalse()

            // Change to media available and notify the listener.
            whenever(mediaDataManager.hasActiveMediaOrRecommendation()).thenReturn(true)
            whenever(mediaDataManager.hasAnyMediaOrRecommendation()).thenReturn(true)
            whenever(mediaData.createdTimestampMillis).thenReturn(1234L)
            mediaDataListenerCaptor.firstValue.onMediaDataLoaded("key", null, mediaData)
            runCurrent()

            // Media active now returns true.
            assertThat(mediaModel()?.hasActiveMediaOrRecommendation).isTrue()
            assertThat(mediaModel()?.hasAnyMediaOrRecommendation).isTrue()
            assertThat(mediaModel()?.createdTimestampMillis).isEqualTo(1234L)
        }

@@ -103,20 +103,20 @@ class CommunalMediaRepositoryImplTest : SysuiTestCase() {
            verify(mediaDataManager).addListener(mediaDataListenerCaptor.capture())

            // Change to media available and notify the listener.
            whenever(mediaDataManager.hasActiveMediaOrRecommendation()).thenReturn(true)
            whenever(mediaDataManager.hasAnyMediaOrRecommendation()).thenReturn(true)
            mediaDataListenerCaptor.firstValue.onMediaDataLoaded("key", null, mediaData)
            runCurrent()

            // Media active now returns true.
            val mediaModel = collectLastValue(underTest.mediaModel)
            assertThat(mediaModel()?.hasActiveMediaOrRecommendation).isTrue()
            assertThat(mediaModel()?.hasAnyMediaOrRecommendation).isTrue()

            // Change to media unavailable and notify the listener.
            whenever(mediaDataManager.hasActiveMediaOrRecommendation()).thenReturn(false)
            whenever(mediaDataManager.hasAnyMediaOrRecommendation()).thenReturn(false)
            mediaDataListenerCaptor.firstValue.onMediaDataRemoved("key", false)
            runCurrent()

            // Media active now returns false.
            assertThat(mediaModel()?.hasActiveMediaOrRecommendation).isFalse()
            assertThat(mediaModel()?.hasAnyMediaOrRecommendation).isFalse()
        }
}
+4 −4
Original line number Diff line number Diff line
@@ -21,21 +21,21 @@ import com.android.systemui.log.table.TableRowLogger

/** Data model of media on the communal hub. */
data class CommunalMediaModel(
    val hasActiveMediaOrRecommendation: Boolean,
    val hasAnyMediaOrRecommendation: Boolean,
    val createdTimestampMillis: Long = 0L,
) : Diffable<CommunalMediaModel> {
    companion object {
        val INACTIVE =
            CommunalMediaModel(
                hasActiveMediaOrRecommendation = false,
                hasAnyMediaOrRecommendation = false,
            )
    }

    override fun logDiffs(prevVal: CommunalMediaModel, row: TableRowLogger) {
        if (hasActiveMediaOrRecommendation != prevVal.hasActiveMediaOrRecommendation) {
        if (hasAnyMediaOrRecommendation != prevVal.hasAnyMediaOrRecommendation) {
            row.logChange(
                columnName = "isMediaActive",
                value = hasActiveMediaOrRecommendation,
                value = hasAnyMediaOrRecommendation,
            )
        }

+2 −2
Original line number Diff line number Diff line
@@ -80,10 +80,10 @@ constructor(
    }

    private fun updateMediaModel(data: MediaData? = null) {
        if (mediaDataManager.hasActiveMediaOrRecommendation()) {
        if (mediaDataManager.hasAnyMediaOrRecommendation()) {
            _mediaModel.value =
                CommunalMediaModel(
                    hasActiveMediaOrRecommendation = true,
                    hasAnyMediaOrRecommendation = true,
                    createdTimestampMillis = data?.createdTimestampMillis ?: 0L,
                )
        } else {
+1 −1
Original line number Diff line number Diff line
@@ -513,7 +513,7 @@ constructor(
                )

                // Add UMO
                if (mediaHostVisible && media.hasActiveMediaOrRecommendation) {
                if (mediaHostVisible && media.hasAnyMediaOrRecommendation) {
                    ongoingContent.add(
                        CommunalContentModel.Umo(
                            createdTimestampMillis = media.createdTimestampMillis,
+1 −1
Original line number Diff line number Diff line
@@ -252,7 +252,7 @@ constructor(
        with(mediaHost) {
            expansion = MediaHostState.EXPANDED
            expandedMatchesParentHeight = true
            showsOnlyActiveMedia = true
            showsOnlyActiveMedia = false
            falsingProtectionNeeded = false
            init(MediaHierarchyManager.LOCATION_COMMUNAL_HUB)
        }
Loading