Allow hub to show resume UMO state
Media is only active for 10 minutes once paused, but can be inactive
but resumable for 2 days
Bug: 358226354
Fix: 358226354
Test: atest CommunalMediaRepositoryImplTest
manually verified that media was resumable from the hub
Flag: com.android.systemui.communal_hub
Change-Id: I30205ae0a1a17e6ce2a6464d46ca76f52e0f5476
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/communal/data/repository/CommunalMediaRepositoryImplTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/communal/data/repository/CommunalMediaRepositoryImplTest.kt
index dd28022..dd5ad17 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/communal/data/repository/CommunalMediaRepositoryImplTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/communal/data/repository/CommunalMediaRepositoryImplTest.kt
@@ -67,7 +67,7 @@
testScope.runTest {
val mediaModel = collectLastValue(underTest.mediaModel)
runCurrent()
- assertThat(mediaModel()?.hasActiveMediaOrRecommendation).isFalse()
+ assertThat(mediaModel()?.hasAnyMediaOrRecommendation).isFalse()
}
@Test
@@ -81,16 +81,16 @@
// 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 @@
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()
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/communal/data/model/CommunalMediaModel.kt b/packages/SystemUI/src/com/android/systemui/communal/data/model/CommunalMediaModel.kt
index 33edb80..c46f0d1 100644
--- a/packages/SystemUI/src/com/android/systemui/communal/data/model/CommunalMediaModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/communal/data/model/CommunalMediaModel.kt
@@ -21,21 +21,21 @@
/** 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,
)
}
diff --git a/packages/SystemUI/src/com/android/systemui/communal/data/repository/CommunalMediaRepository.kt b/packages/SystemUI/src/com/android/systemui/communal/data/repository/CommunalMediaRepository.kt
index fe9154c..882991aa 100644
--- a/packages/SystemUI/src/com/android/systemui/communal/data/repository/CommunalMediaRepository.kt
+++ b/packages/SystemUI/src/com/android/systemui/communal/data/repository/CommunalMediaRepository.kt
@@ -80,10 +80,10 @@
}
private fun updateMediaModel(data: MediaData? = null) {
- if (mediaDataManager.hasActiveMediaOrRecommendation()) {
+ if (mediaDataManager.hasAnyMediaOrRecommendation()) {
_mediaModel.value =
CommunalMediaModel(
- hasActiveMediaOrRecommendation = true,
+ hasAnyMediaOrRecommendation = true,
createdTimestampMillis = data?.createdTimestampMillis ?: 0L,
)
} else {
diff --git a/packages/SystemUI/src/com/android/systemui/communal/domain/interactor/CommunalInteractor.kt b/packages/SystemUI/src/com/android/systemui/communal/domain/interactor/CommunalInteractor.kt
index 6aaaf3d..0c6d085 100644
--- a/packages/SystemUI/src/com/android/systemui/communal/domain/interactor/CommunalInteractor.kt
+++ b/packages/SystemUI/src/com/android/systemui/communal/domain/interactor/CommunalInteractor.kt
@@ -509,7 +509,7 @@
)
// Add UMO
- if (mediaHostVisible && media.hasActiveMediaOrRecommendation) {
+ if (mediaHostVisible && media.hasAnyMediaOrRecommendation) {
ongoingContent.add(
CommunalContentModel.Umo(
createdTimestampMillis = media.createdTimestampMillis,
diff --git a/packages/SystemUI/src/com/android/systemui/communal/ui/viewmodel/CommunalViewModel.kt b/packages/SystemUI/src/com/android/systemui/communal/ui/viewmodel/CommunalViewModel.kt
index b06cf3f..c0a18f2 100644
--- a/packages/SystemUI/src/com/android/systemui/communal/ui/viewmodel/CommunalViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/communal/ui/viewmodel/CommunalViewModel.kt
@@ -252,7 +252,7 @@
with(mediaHost) {
expansion = MediaHostState.EXPANDED
expandedMatchesParentHeight = true
- showsOnlyActiveMedia = true
+ showsOnlyActiveMedia = false
falsingProtectionNeeded = false
init(MediaHierarchyManager.LOCATION_COMMUNAL_HUB)
}
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/communal/data/repository/FakeCommunalMediaRepository.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/communal/data/repository/FakeCommunalMediaRepository.kt
index 14b1984..e0ed687 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/communal/data/repository/FakeCommunalMediaRepository.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/communal/data/repository/FakeCommunalMediaRepository.kt
@@ -28,7 +28,7 @@
fun mediaActive(timestamp: Long = 0L) {
_mediaModel.value =
CommunalMediaModel(
- hasActiveMediaOrRecommendation = true,
+ hasAnyMediaOrRecommendation = true,
createdTimestampMillis = timestamp,
)
}