From 4e9366183f36e242e920f7593c382b3149c58a4b Mon Sep 17 00:00:00 2001 From: Beverly Date: Fri, 28 Jul 2017 14:05:30 -0400 Subject: [PATCH] Added null test to avoid regression for onRemoteVolumeChanged. Change-Id: Iebcf30a381250c06055143528914632a00e474bc Fixes: 63946353 Test: runtest systemui --- .../systemui/volume/VolumeDialogControllerImpl.java | 4 ++-- .../volume/VolumeDialogControllerImplTest.java | 13 +++++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogControllerImpl.java b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogControllerImpl.java index ad47411554f70..b08b26d77b764 100644 --- a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogControllerImpl.java @@ -100,7 +100,7 @@ public class VolumeDialogControllerImpl implements VolumeDialogController, Dumpa private final MediaSessions mMediaSessions; protected C mCallbacks = new C(); private final State mState = new State(); - private final MediaSessionsCallbacks mMediaSessionsCallbacksW = new MediaSessionsCallbacks(); + protected final MediaSessionsCallbacks mMediaSessionsCallbacksW = new MediaSessionsCallbacks(); private final Vibrator mVibrator; private final boolean mHasVibrator; private boolean mShowA11yStream; @@ -906,7 +906,7 @@ public class VolumeDialogControllerImpl implements VolumeDialogController, Dumpa } } - private final class MediaSessionsCallbacks implements MediaSessions.Callbacks { + protected final class MediaSessionsCallbacks implements MediaSessions.Callbacks { private final HashMap mRemoteStreams = new HashMap<>(); private int mNextStream = DYNAMIC_STREAM_START_INDEX; diff --git a/packages/SystemUI/tests/src/com/android/systemui/volume/VolumeDialogControllerImplTest.java b/packages/SystemUI/tests/src/com/android/systemui/volume/VolumeDialogControllerImplTest.java index 12e9f7c97cde2..06568f70f16c6 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/volume/VolumeDialogControllerImplTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/volume/VolumeDialogControllerImplTest.java @@ -24,6 +24,7 @@ import static org.mockito.Mockito.when; import android.content.Context; import android.media.AudioManager; +import android.media.session.MediaSession; import android.support.test.filters.SmallTest; import com.android.systemui.SysuiTestCase; import com.android.systemui.keyguard.WakefulnessLifecycle; @@ -73,6 +74,18 @@ public class VolumeDialogControllerImplTest extends SysuiTestCase { verify(mCallback, times(1)).onShowRequested(Events.SHOW_REASON_VOLUME_CHANGED); } + @Test + public void testOnRemoteVolumeChanged_newStream_noNullPointer() { + MediaSession.Token token = new MediaSession.Token(null); + mVolumeController.mMediaSessionsCallbacksW.onRemoteVolumeChanged(token, 0); + } + + @Test + public void testOnRemoteRemove_newStream_noNullPointer() { + MediaSession.Token token = new MediaSession.Token(null); + mVolumeController.mMediaSessionsCallbacksW.onRemoteRemoved(token); + } + static class TestableVolumeDialogControllerImpl extends VolumeDialogControllerImpl { public TestableVolumeDialogControllerImpl(Context context, C callback, StatusBar s) { super(context);