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

Commit 1380c0e8 authored by Kriti Dang's avatar Kriti Dang
Browse files

Make AudioManager.getReportedSurroundFormats a TestApi

Access to the API needed from a tunnel mode CTS test.
TestAPIs dont work in CTS test if they intrenally call AudioSystem.
Changing getSurroundFormats and getReportedSurroundFormats to call
AudioService instead of AudioSystem.

Bug: 189823767
Test: atest android.media.cts.DecoderTest#testTunneledAudioPTSGapsAc3
Change-Id: If6287743f57b77d0eb2639e4a2e9409c7d778f06
parent eedfc66f
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1419,6 +1419,7 @@ package android.media {
    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 public static final int[] getPublicStreamTypes();
    method @NonNull public java.util.List<java.lang.Integer> getReportedSurroundFormats();
    method public int getStreamMinVolumeInt(int);
    method @NonNull public java.util.Map<java.lang.Integer,java.lang.Boolean> getSurroundFormats();
    method public boolean hasRegisteredDynamicPolicy();
+11 −15
Original line number Diff line number Diff line
@@ -7078,14 +7078,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;
    }

    /**
@@ -7132,15 +7129,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;
    }

    /**
+4 −0
Original line number Diff line number Diff line
@@ -163,6 +163,10 @@ interface IAudioService {

    oneway void reloadAudioSettings();

    Map getSurroundFormats();

    List getReportedSurroundFormats();

    boolean setSurroundFormatEnabled(int audioFormat, boolean enabled);

    boolean isSurroundFormatEnabled(int audioFormat);
+26 −0
Original line number Diff line number Diff line
@@ -1932,6 +1932,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) {