Merge "Revert "[Media ML] Replace AudioSystem.isActiveStream"" into sc-dev

This commit is contained in:
Sungsoo Lim
2021-07-28 01:59:19 +00:00
committed by Android (Google) Code Review
3 changed files with 6 additions and 22 deletions

View File

@@ -18,9 +18,6 @@ package com.android.server.media;
import android.content.Context; import android.content.Context;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.media.AudioAttributes;
import android.media.AudioManager;
import android.media.AudioPlaybackConfiguration;
import android.os.Binder; import android.os.Binder;
import java.io.PrintWriter; import java.io.PrintWriter;
@@ -32,7 +29,7 @@ class MediaServerUtils {
/** /**
* Verify that caller holds {@link android.Manifest.permission#DUMP}. * 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) if (context.checkCallingOrSelfPermission(android.Manifest.permission.DUMP)
!= PackageManager.PERMISSION_GRANTED) { != PackageManager.PERMISSION_GRANTED) {
pw.println("Permission Denial: can't dump " + tag + " from from pid=" pw.println("Permission Denial: can't dump " + tag + " from from pid="
@@ -43,18 +40,4 @@ class MediaServerUtils {
return true; 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;
}
} }

View File

@@ -24,6 +24,7 @@ import android.content.Intent;
import android.content.pm.ParceledListSlice; import android.content.pm.ParceledListSlice;
import android.media.AudioAttributes; import android.media.AudioAttributes;
import android.media.AudioManager; import android.media.AudioManager;
import android.media.AudioSystem;
import android.media.MediaMetadata; import android.media.MediaMetadata;
import android.media.Rating; import android.media.Rating;
import android.media.VolumeProvider; import android.media.VolumeProvider;
@@ -515,7 +516,7 @@ public class MediaSessionRecord implements IBinder.DeathRecipient, MediaSessionR
public void run() { public void run() {
try { try {
if (useSuggested) { if (useSuggested) {
if (MediaServerUtils.isStreamActive(mAudioManager, stream)) { if (AudioSystem.isStreamActive(stream, 0)) {
mAudioManager.adjustSuggestedStreamVolumeForUid(stream, mAudioManager.adjustSuggestedStreamVolumeForUid(stream,
direction, flags, opPackageName, uid, pid, direction, flags, opPackageName, uid, pid,
mContext.getApplicationInfo().targetSdkVersion); mContext.getApplicationInfo().targetSdkVersion);

View File

@@ -42,6 +42,7 @@ import android.content.IntentFilter;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.media.AudioManager; import android.media.AudioManager;
import android.media.AudioPlaybackConfiguration; import android.media.AudioPlaybackConfiguration;
import android.media.AudioSystem;
import android.media.IRemoteSessionCallback; import android.media.IRemoteSessionCallback;
import android.media.MediaCommunicationManager; import android.media.MediaCommunicationManager;
import android.media.Session2Token; import android.media.Session2Token;
@@ -2147,7 +2148,7 @@ public class MediaSessionService extends SystemService implements Monitor {
boolean preferSuggestedStream = false; boolean preferSuggestedStream = false;
if (isValidLocalStreamType(suggestedStream) if (isValidLocalStreamType(suggestedStream)
&& MediaServerUtils.isStreamActive(mAudioManager, suggestedStream)) { && AudioSystem.isStreamActive(suggestedStream, 0)) {
preferSuggestedStream = true; preferSuggestedStream = true;
} }
if (session == null || preferSuggestedStream) { if (session == null || preferSuggestedStream) {
@@ -2156,8 +2157,7 @@ public class MediaSessionService extends SystemService implements Monitor {
+ ". flags=" + flags + ", preferSuggestedStream=" + ". flags=" + flags + ", preferSuggestedStream="
+ preferSuggestedStream + ", session=" + session); + preferSuggestedStream + ", session=" + session);
} }
if (musicOnly && !MediaServerUtils.isStreamActive(mAudioManager, if (musicOnly && !AudioSystem.isStreamActive(AudioManager.STREAM_MUSIC, 0)) {
AudioManager.STREAM_MUSIC)) {
if (DEBUG_KEY_EVENT) { if (DEBUG_KEY_EVENT) {
Log.d(TAG, "Nothing is playing on the music stream. Skipping volume event," Log.d(TAG, "Nothing is playing on the music stream. Skipping volume event,"
+ " flags=" + flags); + " flags=" + flags);