Merge "Make AudioManager.getReportedSurroundFormats a TestApi" into sc-dev

This commit is contained in:
Kriti Dang
2021-07-16 08:03:05 +00:00
committed by Android (Google) Code Review
4 changed files with 42 additions and 15 deletions

View File

@@ -1421,6 +1421,7 @@ package android.media {
method @RequiresPermission("android.permission.QUERY_AUDIO_STATE") public int abandonAudioFocusForTest(@NonNull android.media.AudioFocusRequest, @NonNull String);
method @Nullable public static android.media.AudioDeviceInfo getDeviceInfoFromType(int);
method @IntRange(from=0) @RequiresPermission("android.permission.QUERY_AUDIO_STATE") public long getFadeOutDurationOnFocusLossMillis(@NonNull android.media.AudioAttributes);
method @NonNull public java.util.List<java.lang.Integer> getReportedSurroundFormats();
method @NonNull public java.util.Map<java.lang.Integer,java.lang.Boolean> getSurroundFormats();
method public boolean hasRegisteredDynamicPolicy();
method @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_ROUTING, android.Manifest.permission.QUERY_AUDIO_STATE}) public boolean isFullVolumeDevice();

View File

@@ -7062,14 +7062,11 @@ public class AudioManager {
@TestApi
@NonNull
public Map<Integer, Boolean> getSurroundFormats() {
Map<Integer, Boolean> surroundFormats = new HashMap<>();
int status = AudioSystem.getSurroundFormats(surroundFormats);
if (status != AudioManager.SUCCESS) {
// fail and bail!
Log.e(TAG, "getSurroundFormats failed:" + status);
return new HashMap<Integer, Boolean>(); // Always return a map.
try {
return getService().getSurroundFormats();
} catch (RemoteException e) {
throw e.rethrowFromSystemServer();
}
return surroundFormats;
}
/**
@@ -7116,15 +7113,14 @@ public class AudioManager {
*
* @return a list of surround formats
*/
public ArrayList<Integer> getReportedSurroundFormats() {
ArrayList<Integer> reportedSurroundFormats = new ArrayList<>();
int status = AudioSystem.getReportedSurroundFormats(reportedSurroundFormats);
if (status != AudioManager.SUCCESS) {
// fail and bail!
Log.e(TAG, "getReportedSurroundFormats failed:" + status);
return new ArrayList<Integer>(); // Always return a list.
@TestApi
@NonNull
public List<Integer> getReportedSurroundFormats() {
try {
return getService().getReportedSurroundFormats();
} catch (RemoteException e) {
throw e.rethrowFromSystemServer();
}
return reportedSurroundFormats;
}
/**

View File

@@ -159,6 +159,10 @@ interface IAudioService {
oneway void reloadAudioSettings();
Map getSurroundFormats();
List getReportedSurroundFormats();
boolean setSurroundFormatEnabled(int audioFormat, boolean enabled);
boolean isSurroundFormatEnabled(int audioFormat);

View File

@@ -1930,6 +1930,32 @@ public class AudioService extends IAudioService.Stub
}
}
/** @see AudioManager#getSurroundFormats() */
@Override
public Map<Integer, Boolean> getSurroundFormats() {
Map<Integer, Boolean> surroundFormats = new HashMap<>();
int status = AudioSystem.getSurroundFormats(surroundFormats);
if (status != AudioManager.SUCCESS) {
// fail and bail!
Log.e(TAG, "getSurroundFormats failed:" + status);
return new HashMap<>(); // Always return a map.
}
return surroundFormats;
}
/** @see AudioManager#getReportedSurroundFormats() */
@Override
public List<Integer> getReportedSurroundFormats() {
ArrayList<Integer> reportedSurroundFormats = new ArrayList<>();
int status = AudioSystem.getReportedSurroundFormats(reportedSurroundFormats);
if (status != AudioManager.SUCCESS) {
// fail and bail!
Log.e(TAG, "getReportedSurroundFormats failed:" + status);
return new ArrayList<>(); // Always return a list.
}
return reportedSurroundFormats;
}
/** @see AudioManager#isSurroundFormatEnabled(int) */
@Override
public boolean isSurroundFormatEnabled(int audioFormat) {