Merge "Settings crashed by a null worker" into rvc-dev am: e189ac522e
Change-Id: Ia747117acf1a8d2e7a77049a013fb777e1ab64b9
This commit is contained in:
@@ -25,6 +25,7 @@ import android.content.Intent;
|
|||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
import android.media.session.MediaController;
|
import android.media.session.MediaController;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
|
import android.util.Log;
|
||||||
|
|
||||||
import androidx.core.graphics.drawable.IconCompat;
|
import androidx.core.graphics.drawable.IconCompat;
|
||||||
import androidx.slice.Slice;
|
import androidx.slice.Slice;
|
||||||
@@ -104,6 +105,10 @@ public class MediaOutputIndicatorSlice implements CustomSliceable {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onNotifyChange(Intent i) {
|
public void onNotifyChange(Intent i) {
|
||||||
|
if (getWorker() == null) {
|
||||||
|
Log.d(TAG, "onNotifyChange: Worker is null");
|
||||||
|
return;
|
||||||
|
}
|
||||||
final MediaController mediaController = getWorker().getActiveLocalMediaController();
|
final MediaController mediaController = getWorker().getActiveLocalMediaController();
|
||||||
final Intent intent = new Intent()
|
final Intent intent = new Intent()
|
||||||
.setPackage(Utils.SETTINGS_PACKAGE_NAME)
|
.setPackage(Utils.SETTINGS_PACKAGE_NAME)
|
||||||
|
@@ -21,7 +21,9 @@ import static com.android.settings.slices.CustomSliceRegistry.MEDIA_OUTPUT_INDIC
|
|||||||
|
|
||||||
import static com.google.common.truth.Truth.assertThat;
|
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.doReturn;
|
||||||
|
import static org.mockito.Mockito.never;
|
||||||
import static org.mockito.Mockito.spy;
|
import static org.mockito.Mockito.spy;
|
||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
@@ -190,6 +192,14 @@ public class MediaOutputIndicatorSliceTest {
|
|||||||
assertThat(metadata.isErrorSlice()).isTrue();
|
assertThat(metadata.isErrorSlice()).isTrue();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void onNotifyChange_noWorker_doNothing() {
|
||||||
|
sMediaOutputIndicatorWorker = null;
|
||||||
|
mMediaOutputIndicatorSlice.onNotifyChange(new Intent());
|
||||||
|
|
||||||
|
verify(mContext, never()).startActivity(any());
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onNotifyChange_withActiveLocalMedia_verifyIntentExtra() {
|
public void onNotifyChange_withActiveLocalMedia_verifyIntentExtra() {
|
||||||
when(mMediaController.getSessionToken()).thenReturn(mToken);
|
when(mMediaController.getSessionToken()).thenReturn(mToken);
|
||||||
|
Reference in New Issue
Block a user