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

Commit 3ffe34a4 authored by tim peng's avatar tim peng Committed by Automerger Merge Worker
Browse files

Merge "Settings crashed by a null worker" into rvc-dev am: e189ac52

Change-Id: I4a837f5a6e19c1df63ef45e4579710cc40afda9c
parents f8d7c09e e189ac52
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import android.content.Intent;
import android.graphics.Bitmap;
import android.media.session.MediaController;
import android.net.Uri;
import android.util.Log;

import androidx.core.graphics.drawable.IconCompat;
import androidx.slice.Slice;
@@ -104,6 +105,10 @@ public class MediaOutputIndicatorSlice implements CustomSliceable {

    @Override
    public void onNotifyChange(Intent i) {
        if (getWorker() == null) {
            Log.d(TAG, "onNotifyChange: Worker is null");
            return;
        }
        final MediaController mediaController = getWorker().getActiveLocalMediaController();
        final Intent intent = new Intent()
                .setPackage(Utils.SETTINGS_PACKAGE_NAME)
+10 −0
Original line number Diff line number Diff line
@@ -21,7 +21,9 @@ import static com.android.settings.slices.CustomSliceRegistry.MEDIA_OUTPUT_INDIC

import static com.google.common.truth.Truth.assertThat;

import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -190,6 +192,14 @@ public class MediaOutputIndicatorSliceTest {
        assertThat(metadata.isErrorSlice()).isTrue();
    }

    @Test
    public void onNotifyChange_noWorker_doNothing() {
        sMediaOutputIndicatorWorker = null;
        mMediaOutputIndicatorSlice.onNotifyChange(new Intent());

        verify(mContext, never()).startActivity(any());
    }

    @Test
    public void onNotifyChange_withActiveLocalMedia_verifyIntentExtra() {
        when(mMediaController.getSessionToken()).thenReturn(mToken);