Add lastActive to the media carousel sort comparator

See b/231339801 for more information.

Fixes: 231339801
Test: Augmented existing tests. Manually reproduced without fix and could not reproduce with it.
Change-Id: I5b365e2064b6680dc136903016ee9ae6b7d3ce7c
This commit is contained in:
Justin Weir
2022-05-19 17:56:44 -04:00
parent 2a3709618b
commit 04fb2d8174
2 changed files with 11 additions and 1 deletions

View File

@@ -945,6 +945,7 @@ internal object MediaPlayerData {
.thenByDescending { shouldPrioritizeSs == it.isSsMediaRec }
.thenByDescending { !it.data.resumption }
.thenByDescending { it.data.playbackLocation != MediaData.PLAYBACK_CAST_REMOTE }
.thenByDescending { it.data.lastActive }
.thenByDescending { it.updateTime }
.thenByDescending { it.data.notificationKey }

View File

@@ -136,9 +136,18 @@ class MediaCarouselControllerTest : SysuiTestCase() {
val resume2 = Triple("resume 2",
DATA.copy(active = false, isPlaying = false,
playbackLocation = MediaData.PLAYBACK_LOCAL, resumption = true),
playbackLocation = MediaData.PLAYBACK_LOCAL, resumption = true),
1000L)
val activeMoreRecent = Triple("active more recent",
DATA.copy(active = false, isPlaying = false,
playbackLocation = MediaData.PLAYBACK_LOCAL, resumption = true, lastActive = 2L),
1000L)
val activeLessRecent = Triple("active less recent",
DATA.copy(active = false, isPlaying = false,
playbackLocation = MediaData.PLAYBACK_LOCAL, resumption = true, lastActive = 1L),
1000L)
// Expected ordering for media players:
// Actively playing local sessions
// Actively playing cast sessions