diff options
3 files changed, 6 insertions, 22 deletions
diff --git a/services/core/java/com/android/server/media/MediaServerUtils.java b/services/core/java/com/android/server/media/MediaServerUtils.java index a4f11b2470f1..5fa2b1ceaae9 100644 --- a/services/core/java/com/android/server/media/MediaServerUtils.java +++ b/services/core/java/com/android/server/media/MediaServerUtils.java @@ -18,9 +18,6 @@ package com.android.server.media; import android.content.Context; import android.content.pm.PackageManager; -import android.media.AudioAttributes; -import android.media.AudioManager; -import android.media.AudioPlaybackConfiguration; import android.os.Binder; import java.io.PrintWriter; @@ -32,7 +29,7 @@ class MediaServerUtils { /** * Verify that caller holds {@link android.Manifest.permission#DUMP}. */ - static boolean checkDumpPermission(Context context, String tag, PrintWriter pw) { + public static boolean checkDumpPermission(Context context, String tag, PrintWriter pw) { if (context.checkCallingOrSelfPermission(android.Manifest.permission.DUMP) != PackageManager.PERMISSION_GRANTED) { pw.println("Permission Denial: can't dump " + tag + " from from pid=" @@ -43,18 +40,4 @@ class MediaServerUtils { return true; } } - - /** - * Whether the given stream is currently active or not. - */ - static boolean isStreamActive(AudioManager audioManager, int stream) { - for (AudioPlaybackConfiguration configuration - : audioManager.getActivePlaybackConfigurations()) { - AudioAttributes attributes = configuration.getAudioAttributes(); - if (attributes != null && attributes.getVolumeControlStream() == stream) { - return configuration.isActive(); - } - } - return false; - } } diff --git a/services/core/java/com/android/server/media/MediaSessionRecord.java b/services/core/java/com/android/server/media/MediaSessionRecord.java index abcf4fb939e1..1525cd4da669 100644 --- a/services/core/java/com/android/server/media/MediaSessionRecord.java +++ b/services/core/java/com/android/server/media/MediaSessionRecord.java @@ -24,6 +24,7 @@ import android.content.Intent; import android.content.pm.ParceledListSlice; import android.media.AudioAttributes; import android.media.AudioManager; +import android.media.AudioSystem; import android.media.MediaMetadata; import android.media.Rating; import android.media.VolumeProvider; @@ -515,7 +516,7 @@ public class MediaSessionRecord implements IBinder.DeathRecipient, MediaSessionR public void run() { try { if (useSuggested) { - if (MediaServerUtils.isStreamActive(mAudioManager, stream)) { + if (AudioSystem.isStreamActive(stream, 0)) { mAudioManager.adjustSuggestedStreamVolumeForUid(stream, direction, flags, opPackageName, uid, pid, mContext.getApplicationInfo().targetSdkVersion); diff --git a/services/core/java/com/android/server/media/MediaSessionService.java b/services/core/java/com/android/server/media/MediaSessionService.java index 491cd181b6f9..b477ea353c25 100644 --- a/services/core/java/com/android/server/media/MediaSessionService.java +++ b/services/core/java/com/android/server/media/MediaSessionService.java @@ -42,6 +42,7 @@ import android.content.IntentFilter; import android.content.pm.PackageManager; import android.media.AudioManager; import android.media.AudioPlaybackConfiguration; +import android.media.AudioSystem; import android.media.IRemoteSessionCallback; import android.media.MediaCommunicationManager; import android.media.Session2Token; @@ -2147,7 +2148,7 @@ public class MediaSessionService extends SystemService implements Monitor { boolean preferSuggestedStream = false; if (isValidLocalStreamType(suggestedStream) - && MediaServerUtils.isStreamActive(mAudioManager, suggestedStream)) { + && AudioSystem.isStreamActive(suggestedStream, 0)) { preferSuggestedStream = true; } if (session == null || preferSuggestedStream) { @@ -2156,8 +2157,7 @@ public class MediaSessionService extends SystemService implements Monitor { + ". flags=" + flags + ", preferSuggestedStream=" + preferSuggestedStream + ", session=" + session); } - if (musicOnly && !MediaServerUtils.isStreamActive(mAudioManager, - AudioManager.STREAM_MUSIC)) { + if (musicOnly && !AudioSystem.isStreamActive(AudioManager.STREAM_MUSIC, 0)) { if (DEBUG_KEY_EVENT) { Log.d(TAG, "Nothing is playing on the music stream. Skipping volume event," + " flags=" + flags); |