diff options
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/volume/VolumeDialogControllerImpl.java | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogControllerImpl.java b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogControllerImpl.java index 73ec0a47cde5..ad47411554f7 100644 --- a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogControllerImpl.java @@ -913,11 +913,7 @@ public class VolumeDialogControllerImpl implements VolumeDialogController, Dumpa @Override public void onRemoteUpdate(Token token, String name, PlaybackInfo pi) { - if (!mRemoteStreams.containsKey(token)) { - mRemoteStreams.put(token, mNextStream); - if (D.BUG) Log.d(TAG, "onRemoteUpdate: " + name + " is stream " + mNextStream); - mNextStream++; - } + addStream(token, "onRemoteUpdate"); final int stream = mRemoteStreams.get(token); boolean changed = mState.states.indexOfKey(stream) < 0; final StreamState ss = streamStateW(stream); @@ -942,6 +938,7 @@ public class VolumeDialogControllerImpl implements VolumeDialogController, Dumpa @Override public void onRemoteVolumeChanged(Token token, int flags) { + addStream(token, "onRemoteVolumeChanged"); final int stream = mRemoteStreams.get(token); final boolean showUI = shouldShowUI(flags); boolean changed = updateActiveStreamW(stream); @@ -958,6 +955,11 @@ public class VolumeDialogControllerImpl implements VolumeDialogController, Dumpa @Override public void onRemoteRemoved(Token token) { + if (!mRemoteStreams.containsKey(token)) { + if (D.BUG) Log.d(TAG, "onRemoteRemoved: stream doesn't exist, " + + "aborting remote removed for token:" + token.toString()); + return; + } final int stream = mRemoteStreams.get(token); mState.states.remove(stream); if (mState.activeStream == stream) { @@ -983,6 +985,15 @@ public class VolumeDialogControllerImpl implements VolumeDialogController, Dumpa } return null; } + + private void addStream(Token token, String triggeringMethod) { + if (!mRemoteStreams.containsKey(token)) { + mRemoteStreams.put(token, mNextStream); + if (D.BUG) Log.d(TAG, triggeringMethod + ": added stream " + mNextStream + + " from token + "+ token.toString()); + mNextStream++; + } + } } public interface UserActivityListener { |