Loading packages/SystemUI/multivalentTests/src/com/android/systemui/media/remedia/data/repository/MediaRepositoryTest.kt +22 −0 Original line number Diff line number Diff line Loading @@ -106,6 +106,28 @@ class MediaRepositoryTest : SysuiTestCase() { assertThat(underTest.removeCurrentUserMediaEntry(instanceId)).isEqualTo(userMedia) } @Test fun addMultipleCurrentUserMediaEntries_thenRemove_returnsValues() = testScope.runTest { val currentUserEntries by collectLastValue(underTest.currentUserEntries) val firstInstanceId = InstanceId.fakeInstanceId(123) val secondInstanceId = InstanceId.fakeInstanceId(321) val firstUserMedia = createMediaData("app1", false, LOCAL, false, firstInstanceId) val secondUserMedia = createMediaData("app2", true, LOCAL, false, secondInstanceId) addCurrentUserMediaEntry(firstUserMedia) addCurrentUserMediaEntry(secondUserMedia) assertThat(currentUserEntries?.get(firstInstanceId)).isEqualTo(firstUserMedia) assertThat(currentUserEntries?.get(secondInstanceId)).isEqualTo(secondUserMedia) assertThat(underTest.removeCurrentUserMediaEntry(firstInstanceId)) .isEqualTo(firstUserMedia) assertThat(underTest.removeCurrentUserMediaEntry(secondInstanceId)) .isEqualTo(secondUserMedia) } @Test fun addMediaEntry_activeThenInactivate() = testScope.runTest { Loading packages/SystemUI/src/com/android/systemui/media/remedia/data/repository/MediaRepository.kt +5 −7 Original line number Diff line number Diff line Loading @@ -127,9 +127,7 @@ constructor( val sortedMap = TreeMap<MediaSortKeyModel, MediaDataModel>(comparator) val currentModel = sortedMedia.values.find { it.instanceId == data.instanceId } sortedMap.putAll( sortedMedia.filter { (keyModel, _) -> keyModel.instanceId != data.instanceId } ) sortedMap.putAll(sortedMedia.filter { (_, model) -> model.instanceId != data.instanceId }) mutableUserEntries.value[data.instanceId]?.let { mediaData -> with(mediaData) { Loading Loading @@ -186,7 +184,9 @@ constructor( private fun removeFromSortedMedia(data: MediaData) { currentMedia.removeIf { model -> data.instanceId == model.instanceId } sortedMedia = TreeMap(sortedMedia.filter { (keyModel, _) -> keyModel.instanceId != data.instanceId }) TreeMap<MediaSortKeyModel, MediaDataModel>(comparator).apply { putAll(sortedMedia.filter { (_, model) -> model.instanceId != data.instanceId }) } clearControllerState(data.instanceId) } Loading Loading @@ -437,9 +437,7 @@ constructor( ?.let { val sortedMap = TreeMap<MediaSortKeyModel, MediaDataModel>(comparator) sortedMap.putAll( sortedMedia.filter { (keyModel, _) -> keyModel.instanceId != newModel.instanceId } sortedMedia.filter { (_, model) -> model.instanceId != newModel.instanceId } ) sortedMap[it] = newModel sortedMedia = sortedMap Loading Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/media/remedia/data/repository/MediaRepositoryTest.kt +22 −0 Original line number Diff line number Diff line Loading @@ -106,6 +106,28 @@ class MediaRepositoryTest : SysuiTestCase() { assertThat(underTest.removeCurrentUserMediaEntry(instanceId)).isEqualTo(userMedia) } @Test fun addMultipleCurrentUserMediaEntries_thenRemove_returnsValues() = testScope.runTest { val currentUserEntries by collectLastValue(underTest.currentUserEntries) val firstInstanceId = InstanceId.fakeInstanceId(123) val secondInstanceId = InstanceId.fakeInstanceId(321) val firstUserMedia = createMediaData("app1", false, LOCAL, false, firstInstanceId) val secondUserMedia = createMediaData("app2", true, LOCAL, false, secondInstanceId) addCurrentUserMediaEntry(firstUserMedia) addCurrentUserMediaEntry(secondUserMedia) assertThat(currentUserEntries?.get(firstInstanceId)).isEqualTo(firstUserMedia) assertThat(currentUserEntries?.get(secondInstanceId)).isEqualTo(secondUserMedia) assertThat(underTest.removeCurrentUserMediaEntry(firstInstanceId)) .isEqualTo(firstUserMedia) assertThat(underTest.removeCurrentUserMediaEntry(secondInstanceId)) .isEqualTo(secondUserMedia) } @Test fun addMediaEntry_activeThenInactivate() = testScope.runTest { Loading
packages/SystemUI/src/com/android/systemui/media/remedia/data/repository/MediaRepository.kt +5 −7 Original line number Diff line number Diff line Loading @@ -127,9 +127,7 @@ constructor( val sortedMap = TreeMap<MediaSortKeyModel, MediaDataModel>(comparator) val currentModel = sortedMedia.values.find { it.instanceId == data.instanceId } sortedMap.putAll( sortedMedia.filter { (keyModel, _) -> keyModel.instanceId != data.instanceId } ) sortedMap.putAll(sortedMedia.filter { (_, model) -> model.instanceId != data.instanceId }) mutableUserEntries.value[data.instanceId]?.let { mediaData -> with(mediaData) { Loading Loading @@ -186,7 +184,9 @@ constructor( private fun removeFromSortedMedia(data: MediaData) { currentMedia.removeIf { model -> data.instanceId == model.instanceId } sortedMedia = TreeMap(sortedMedia.filter { (keyModel, _) -> keyModel.instanceId != data.instanceId }) TreeMap<MediaSortKeyModel, MediaDataModel>(comparator).apply { putAll(sortedMedia.filter { (_, model) -> model.instanceId != data.instanceId }) } clearControllerState(data.instanceId) } Loading Loading @@ -437,9 +437,7 @@ constructor( ?.let { val sortedMap = TreeMap<MediaSortKeyModel, MediaDataModel>(comparator) sortedMap.putAll( sortedMedia.filter { (keyModel, _) -> keyModel.instanceId != newModel.instanceId } sortedMedia.filter { (_, model) -> model.instanceId != newModel.instanceId } ) sortedMap[it] = newModel sortedMedia = sortedMap Loading