Loading services/core/java/com/android/server/media/MediaSessionRecord.java +22 −4 Original line number Diff line number Diff line Loading @@ -257,41 +257,59 @@ public class MediaSessionRecord implements IBinder.DeathRecipient { if (mUseMasterVolume) { // If this device only uses master volume and playback is local // just adjust the master volume and return. boolean isMasterMute = mAudioManager.isMasterMute(); if (isMute) { mAudioManagerInternal.setMasterMuteForUid(!mAudioManager.isMasterMute(), mAudioManagerInternal.setMasterMuteForUid(!isMasterMute, flags, packageName, mICallback, uid); } else { mAudioManagerInternal.adjustMasterVolumeForUid(direction, flags, packageName, uid); if (isMasterMute) { mAudioManagerInternal.setMasterMuteForUid(false, flags, packageName, mICallback, uid); } } return; } int stream = AudioAttributes.toLegacyStreamType(mAudioAttrs); boolean isStreamMute = mAudioManager.isStreamMute(stream); if (useSuggested) { if (AudioSystem.isStreamActive(stream, 0)) { if (isMute) { mAudioManager.setStreamMute(stream, !mAudioManager.isStreamMute(stream)); mAudioManager.setStreamMute(stream, !isStreamMute); } else { mAudioManagerInternal.adjustSuggestedStreamVolumeForUid(stream, direction, flags, packageName, uid); if (isStreamMute) { mAudioManager.setStreamMute(stream, false); } } } else { flags |= previousFlagPlaySound; isStreamMute = mAudioManager.isStreamMute(AudioManager.USE_DEFAULT_STREAM_TYPE); if (isMute) { mAudioManager.setStreamMute(AudioManager.USE_DEFAULT_STREAM_TYPE, !mAudioManager.isStreamMute(AudioManager.USE_DEFAULT_STREAM_TYPE)); !isStreamMute); } else { mAudioManagerInternal.adjustSuggestedStreamVolumeForUid( AudioManager.USE_DEFAULT_STREAM_TYPE, direction, flags, packageName, uid); if (isStreamMute) { mAudioManager.setStreamMute(AudioManager.USE_DEFAULT_STREAM_TYPE, false); } } } } else { if (isMute) { mAudioManager.setStreamMute(stream, !mAudioManager.isStreamMute(stream)); mAudioManager.setStreamMute(stream, !isStreamMute); } else { mAudioManagerInternal.adjustStreamVolumeForUid(stream, direction, flags, packageName, uid); if (isStreamMute) { mAudioManager.setStreamMute(stream, false); } } } } else { Loading services/core/java/com/android/server/media/MediaSessionService.java +13 −7 Original line number Diff line number Diff line Loading @@ -829,21 +829,27 @@ public class MediaSessionService extends SystemService implements Monitor { return; } try { String packageName = getContext().getOpPackageName(); if (mUseMasterVolume) { boolean isMasterMute = mAudioService.isMasterMute(); if (direction == MediaSessionManager.DIRECTION_MUTE) { mAudioService.setMasterMute(!mAudioService.isMasterMute(), flags, getContext().getOpPackageName(), mICallback); mAudioService.setMasterMute(!isMasterMute, flags, packageName, mICallback); } else { mAudioService.adjustMasterVolume(direction, flags, getContext().getOpPackageName()); mAudioService.adjustMasterVolume(direction, flags, packageName); if (isMasterMute) { mAudioService.setMasterMute(false, flags, packageName, mICallback); } } } else { boolean isStreamMute = mAudioService.isStreamMute(suggestedStream); if (direction == MediaSessionManager.DIRECTION_MUTE) { mAudioService.setStreamMute(suggestedStream, !mAudioService.isStreamMute(suggestedStream), mICallback); mAudioService.setStreamMute(suggestedStream, !isStreamMute, mICallback); } else { mAudioService.adjustSuggestedStreamVolume(direction, suggestedStream, flags, getContext().getOpPackageName()); flags, packageName); if (isStreamMute) { mAudioService.setStreamMute(suggestedStream, false, mICallback); } } } } catch (RemoteException e) { Loading Loading
services/core/java/com/android/server/media/MediaSessionRecord.java +22 −4 Original line number Diff line number Diff line Loading @@ -257,41 +257,59 @@ public class MediaSessionRecord implements IBinder.DeathRecipient { if (mUseMasterVolume) { // If this device only uses master volume and playback is local // just adjust the master volume and return. boolean isMasterMute = mAudioManager.isMasterMute(); if (isMute) { mAudioManagerInternal.setMasterMuteForUid(!mAudioManager.isMasterMute(), mAudioManagerInternal.setMasterMuteForUid(!isMasterMute, flags, packageName, mICallback, uid); } else { mAudioManagerInternal.adjustMasterVolumeForUid(direction, flags, packageName, uid); if (isMasterMute) { mAudioManagerInternal.setMasterMuteForUid(false, flags, packageName, mICallback, uid); } } return; } int stream = AudioAttributes.toLegacyStreamType(mAudioAttrs); boolean isStreamMute = mAudioManager.isStreamMute(stream); if (useSuggested) { if (AudioSystem.isStreamActive(stream, 0)) { if (isMute) { mAudioManager.setStreamMute(stream, !mAudioManager.isStreamMute(stream)); mAudioManager.setStreamMute(stream, !isStreamMute); } else { mAudioManagerInternal.adjustSuggestedStreamVolumeForUid(stream, direction, flags, packageName, uid); if (isStreamMute) { mAudioManager.setStreamMute(stream, false); } } } else { flags |= previousFlagPlaySound; isStreamMute = mAudioManager.isStreamMute(AudioManager.USE_DEFAULT_STREAM_TYPE); if (isMute) { mAudioManager.setStreamMute(AudioManager.USE_DEFAULT_STREAM_TYPE, !mAudioManager.isStreamMute(AudioManager.USE_DEFAULT_STREAM_TYPE)); !isStreamMute); } else { mAudioManagerInternal.adjustSuggestedStreamVolumeForUid( AudioManager.USE_DEFAULT_STREAM_TYPE, direction, flags, packageName, uid); if (isStreamMute) { mAudioManager.setStreamMute(AudioManager.USE_DEFAULT_STREAM_TYPE, false); } } } } else { if (isMute) { mAudioManager.setStreamMute(stream, !mAudioManager.isStreamMute(stream)); mAudioManager.setStreamMute(stream, !isStreamMute); } else { mAudioManagerInternal.adjustStreamVolumeForUid(stream, direction, flags, packageName, uid); if (isStreamMute) { mAudioManager.setStreamMute(stream, false); } } } } else { Loading
services/core/java/com/android/server/media/MediaSessionService.java +13 −7 Original line number Diff line number Diff line Loading @@ -829,21 +829,27 @@ public class MediaSessionService extends SystemService implements Monitor { return; } try { String packageName = getContext().getOpPackageName(); if (mUseMasterVolume) { boolean isMasterMute = mAudioService.isMasterMute(); if (direction == MediaSessionManager.DIRECTION_MUTE) { mAudioService.setMasterMute(!mAudioService.isMasterMute(), flags, getContext().getOpPackageName(), mICallback); mAudioService.setMasterMute(!isMasterMute, flags, packageName, mICallback); } else { mAudioService.adjustMasterVolume(direction, flags, getContext().getOpPackageName()); mAudioService.adjustMasterVolume(direction, flags, packageName); if (isMasterMute) { mAudioService.setMasterMute(false, flags, packageName, mICallback); } } } else { boolean isStreamMute = mAudioService.isStreamMute(suggestedStream); if (direction == MediaSessionManager.DIRECTION_MUTE) { mAudioService.setStreamMute(suggestedStream, !mAudioService.isStreamMute(suggestedStream), mICallback); mAudioService.setStreamMute(suggestedStream, !isStreamMute, mICallback); } else { mAudioService.adjustSuggestedStreamVolume(direction, suggestedStream, flags, getContext().getOpPackageName()); flags, packageName); if (isStreamMute) { mAudioService.setStreamMute(suggestedStream, false, mICallback); } } } } catch (RemoteException e) { Loading