Merge "Handle null extras for MediaDescriptions" into tm-qpr-dev am: 7bf32dfd3f am: b5b3c5a1c8

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/21354214

Change-Id: Ibb30a4666ab3eb2bc683b5428030b882a4fcc87d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Beth Thibodeau
2023-02-10 16:26:34 +00:00
committed by Automerger Merge Worker
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