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

Commit e189ac52 authored by tim peng's avatar tim peng Committed by Android (Google) Code Review
Browse files

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

parents f1f7b861 2f87c336
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);