Merge "Handle null extras for MediaDescriptions" into tm-qpr-dev

This commit is contained in:
Beth Thibodeau
2023-02-10 15:21:49 +00:00
committed by Android (Google) Code Review
2 changed files with 22 additions and 2 deletions

View File

@@ -16,6 +16,7 @@
package com.android.systemui.media.controls.util;
import android.annotation.Nullable;
import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
@@ -61,8 +62,9 @@ public class MediaDataUtils {
* @param extras
* @return the progress value between 0-1 inclusive if prsent, otherwise null
*/
public static Double getDescriptionProgress(Bundle extras) {
if (!extras.containsKey(MediaConstants.DESCRIPTION_EXTRAS_KEY_COMPLETION_STATUS)) {
public static Double getDescriptionProgress(@Nullable Bundle extras) {
if (extras == null
|| !extras.containsKey(MediaConstants.DESCRIPTION_EXTRAS_KEY_COMPLETION_STATUS)) {
return null;
}

View File

@@ -826,6 +826,24 @@ class MediaDataManagerTest : SysuiTestCase() {
assertThat(data.resumeProgress).isEqualTo(1)
}
@Test
fun testAddResumptionControls_hasNoExtras() {
whenever(mediaFlags.isResumeProgressEnabled()).thenReturn(true)
// WHEN resumption controls are added that do not have any extras
val desc =
MediaDescription.Builder().run {
setTitle(SESSION_TITLE)
build()
}
addResumeControlAndLoad(desc)
// Resume progress is null
val data = mediaDataCaptor.value
assertThat(data.resumption).isTrue()
assertThat(data.resumeProgress).isEqualTo(null)
}
@Test
fun testResumptionDisabled_dismissesResumeControls() {
// WHEN there are resume controls and resumption is switched off