Loading media/java/android/media/MediaRouter.java +18 −8 Original line number Diff line number Diff line Loading @@ -43,6 +43,7 @@ import android.os.RemoteException; import android.os.ServiceManager; import android.os.UserHandle; import android.text.TextUtils; import android.util.ArrayMap; import android.util.Log; import android.view.Display; import android.view.DisplayAddress; Loading @@ -54,6 +55,7 @@ import java.lang.annotation.RetentionPolicy; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Objects; import java.util.concurrent.CopyOnWriteArrayList; Loading Loading @@ -111,6 +113,8 @@ public class MediaRouter { IMediaRouterClient mClient; MediaRouterClientState mClientState; Map<Integer, Integer> mStreamVolume = new ArrayMap<>(); final IAudioRoutesObserver.Stub mAudioRoutesObserver = new IAudioRoutesObserver.Stub() { @Override public void dispatchAudioRoutesChanged(final AudioRoutesInfo newRoutes) { Loading Loading @@ -262,6 +266,17 @@ public class MediaRouter { mCurAudioRoutesInfo.bluetoothName = newRoutes.bluetoothName; } int getStreamVolume(int streamType) { if (!mStreamVolume.containsKey(streamType)) { try { mStreamVolume.put(streamType, mAudioService.getStreamVolume(streamType)); } catch (RemoteException e) { Log.e(TAG, "Error getting local stream volume", e); } } return mStreamVolume.get(streamType); } boolean isBluetoothA2dpOn() { try { return mBluetoothA2dpRoute != null && mAudioService.isBluetoothA2dpOn(); Loading Loading @@ -1976,13 +1991,7 @@ public class MediaRouter { */ public int getVolume() { if (mPlaybackType == PLAYBACK_TYPE_LOCAL) { int vol = 0; try { vol = sStatic.mAudioService.getStreamVolume(mPlaybackStream); } catch (RemoteException e) { Log.e(TAG, "Error getting local stream volume", e); } return vol; return sStatic.getStreamVolume(mPlaybackStream); } else { return mVolume; } Loading Loading @@ -3139,11 +3148,12 @@ public class MediaRouter { if (intent.getAction().equals(AudioManager.VOLUME_CHANGED_ACTION)) { final int streamType = intent.getIntExtra(AudioManager.EXTRA_VOLUME_STREAM_TYPE, -1); final int newVolume = intent.getIntExtra(AudioManager.EXTRA_VOLUME_STREAM_VALUE, 0); sStatic.mStreamVolume.put(streamType, newVolume); if (streamType != AudioManager.STREAM_MUSIC) { return; } final int newVolume = intent.getIntExtra(AudioManager.EXTRA_VOLUME_STREAM_VALUE, 0); final int oldVolume = intent.getIntExtra( AudioManager.EXTRA_PREV_VOLUME_STREAM_VALUE, 0); if (newVolume != oldVolume) { Loading Loading
media/java/android/media/MediaRouter.java +18 −8 Original line number Diff line number Diff line Loading @@ -43,6 +43,7 @@ import android.os.RemoteException; import android.os.ServiceManager; import android.os.UserHandle; import android.text.TextUtils; import android.util.ArrayMap; import android.util.Log; import android.view.Display; import android.view.DisplayAddress; Loading @@ -54,6 +55,7 @@ import java.lang.annotation.RetentionPolicy; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Objects; import java.util.concurrent.CopyOnWriteArrayList; Loading Loading @@ -111,6 +113,8 @@ public class MediaRouter { IMediaRouterClient mClient; MediaRouterClientState mClientState; Map<Integer, Integer> mStreamVolume = new ArrayMap<>(); final IAudioRoutesObserver.Stub mAudioRoutesObserver = new IAudioRoutesObserver.Stub() { @Override public void dispatchAudioRoutesChanged(final AudioRoutesInfo newRoutes) { Loading Loading @@ -262,6 +266,17 @@ public class MediaRouter { mCurAudioRoutesInfo.bluetoothName = newRoutes.bluetoothName; } int getStreamVolume(int streamType) { if (!mStreamVolume.containsKey(streamType)) { try { mStreamVolume.put(streamType, mAudioService.getStreamVolume(streamType)); } catch (RemoteException e) { Log.e(TAG, "Error getting local stream volume", e); } } return mStreamVolume.get(streamType); } boolean isBluetoothA2dpOn() { try { return mBluetoothA2dpRoute != null && mAudioService.isBluetoothA2dpOn(); Loading Loading @@ -1976,13 +1991,7 @@ public class MediaRouter { */ public int getVolume() { if (mPlaybackType == PLAYBACK_TYPE_LOCAL) { int vol = 0; try { vol = sStatic.mAudioService.getStreamVolume(mPlaybackStream); } catch (RemoteException e) { Log.e(TAG, "Error getting local stream volume", e); } return vol; return sStatic.getStreamVolume(mPlaybackStream); } else { return mVolume; } Loading Loading @@ -3139,11 +3148,12 @@ public class MediaRouter { if (intent.getAction().equals(AudioManager.VOLUME_CHANGED_ACTION)) { final int streamType = intent.getIntExtra(AudioManager.EXTRA_VOLUME_STREAM_TYPE, -1); final int newVolume = intent.getIntExtra(AudioManager.EXTRA_VOLUME_STREAM_VALUE, 0); sStatic.mStreamVolume.put(streamType, newVolume); if (streamType != AudioManager.STREAM_MUSIC) { return; } final int newVolume = intent.getIntExtra(AudioManager.EXTRA_VOLUME_STREAM_VALUE, 0); final int oldVolume = intent.getIntExtra( AudioManager.EXTRA_PREV_VOLUME_STREAM_VALUE, 0); if (newVolume != oldVolume) { Loading