diff options
2 files changed, 22 insertions, 2 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/util/MediaDataUtils.java b/packages/SystemUI/src/com/android/systemui/media/controls/util/MediaDataUtils.java index 85282a1d6c12..e95106e0987a 100644 --- a/packages/SystemUI/src/com/android/systemui/media/controls/util/MediaDataUtils.java +++ b/packages/SystemUI/src/com/android/systemui/media/controls/util/MediaDataUtils.java @@ -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; } diff --git a/packages/SystemUI/tests/src/com/android/systemui/media/controls/pipeline/MediaDataManagerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/media/controls/pipeline/MediaDataManagerTest.kt index 6f1b42bf1d19..9f12329321e1 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/media/controls/pipeline/MediaDataManagerTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/media/controls/pipeline/MediaDataManagerTest.kt @@ -827,6 +827,24 @@ class MediaDataManagerTest : SysuiTestCase() { } @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 val desc = |