Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7bf32dfd authored by Beth Thibodeau's avatar Beth Thibodeau Committed by Android (Google) Code Review
Browse files

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

parents 698171c3 0261ba2c
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -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;
        }

+18 −0
Original line number Diff line number Diff line
@@ -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