Merge "Handle null extras for MediaDescriptions" into tm-qpr-dev am: 7bf32dfd3f
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/21354214 Change-Id: Ibfcba7bc6512662eeb87262fea189138f4db203f Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package com.android.systemui.media.controls.util;
|
package com.android.systemui.media.controls.util;
|
||||||
|
|
||||||
|
import android.annotation.Nullable;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.pm.ApplicationInfo;
|
import android.content.pm.ApplicationInfo;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
@@ -61,8 +62,9 @@ public class MediaDataUtils {
|
|||||||
* @param extras
|
* @param extras
|
||||||
* @return the progress value between 0-1 inclusive if prsent, otherwise null
|
* @return the progress value between 0-1 inclusive if prsent, otherwise null
|
||||||
*/
|
*/
|
||||||
public static Double getDescriptionProgress(Bundle extras) {
|
public static Double getDescriptionProgress(@Nullable Bundle extras) {
|
||||||
if (!extras.containsKey(MediaConstants.DESCRIPTION_EXTRAS_KEY_COMPLETION_STATUS)) {
|
if (extras == null
|
||||||
|
|| !extras.containsKey(MediaConstants.DESCRIPTION_EXTRAS_KEY_COMPLETION_STATUS)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -826,6 +826,24 @@ class MediaDataManagerTest : SysuiTestCase() {
|
|||||||
assertThat(data.resumeProgress).isEqualTo(1)
|
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
|
@Test
|
||||||
fun testResumptionDisabled_dismissesResumeControls() {
|
fun testResumptionDisabled_dismissesResumeControls() {
|
||||||
// WHEN there are resume controls and resumption is switched off
|
// WHEN there are resume controls and resumption is switched off
|
||||||
|
|||||||
Reference in New Issue
Block a user