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

Commit 48d707ae authored by Jae Seo's avatar Jae Seo Committed by Android Git Automerger
Browse files

am 26f7720e: Merge "MediaSession: Do not lock on AudioManager.getStreamVolume" into mnc-dev

* commit '26f7720e':
  MediaSession: Do not lock on AudioManager.getStreamVolume
parents fe7a311c 26f7720e
Loading
Loading
Loading
Loading
+13 −14
Original line number Diff line number Diff line
@@ -1067,23 +1067,22 @@ public class MediaSessionRecord implements IBinder.DeathRecipient {

        @Override
        public ParcelableVolumeInfo getVolumeAttributes() {
            int volumeType;
            AudioAttributes attributes;
            synchronized (mLock) {
                int type;
                int max;
                int current;
                if (mVolumeType == PlaybackInfo.PLAYBACK_TYPE_REMOTE) {
                    type = mVolumeControlType;
                    max = mMaxVolume;
                    current = mOptimisticVolume != -1 ? mOptimisticVolume
                            : mCurrentVolume;
                } else {
                    int stream = AudioAttributes.toLegacyStreamType(mAudioAttrs);
                    type = VolumeProvider.VOLUME_CONTROL_ABSOLUTE;
                    max = mAudioManager.getStreamMaxVolume(stream);
                    current = mAudioManager.getStreamVolume(stream);
                }
                return new ParcelableVolumeInfo(mVolumeType, mAudioAttrs, type, max, current);
            }
                    int current = mOptimisticVolume != -1 ? mOptimisticVolume : mCurrentVolume;
                    return new ParcelableVolumeInfo(
                            mVolumeType, mAudioAttrs, mVolumeControlType, mMaxVolume, current);
                }
                volumeType = mVolumeType;
                attributes = mAudioAttrs;
            }
            int stream = AudioAttributes.toLegacyStreamType(attributes);
            int max = mAudioManager.getStreamMaxVolume(stream);
            int current = mAudioManager.getStreamVolume(stream);
            return new ParcelableVolumeInfo(
                    volumeType, attributes, VolumeProvider.VOLUME_CONTROL_ABSOLUTE, max, current);
        }

        @Override