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

Commit ef1688ac authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Add MediaRecorder.SystemSource." into sc-dev

parents 405df3c9 958faf9a
Loading
Loading
Loading
Loading
+9 −5
Original line number Diff line number Diff line
@@ -1988,7 +1988,7 @@ public class AudioManager {
     */
    @SystemApi
    @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING)
    public boolean setPreferredDeviceForCapturePreset(int capturePreset,
    public boolean setPreferredDeviceForCapturePreset(@MediaRecorder.SystemSource int capturePreset,
                                                      @NonNull AudioDeviceAttributes device) {
        return setPreferredDevicesForCapturePreset(capturePreset, Arrays.asList(device));
    }
@@ -2002,7 +2002,8 @@ public class AudioManager {
     */
    @SystemApi
    @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING)
    public boolean clearPreferredDevicesForCapturePreset(int capturePreset) {
    public boolean clearPreferredDevicesForCapturePreset(
            @MediaRecorder.SystemSource int capturePreset) {
        if (!MediaRecorder.isValidAudioSource(capturePreset)) {
            return false;
        }
@@ -2024,7 +2025,8 @@ public class AudioManager {
    @NonNull
    @SystemApi
    @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING)
    public List<AudioDeviceAttributes> getPreferredDevicesForCapturePreset(int capturePreset) {
    public List<AudioDeviceAttributes> getPreferredDevicesForCapturePreset(
            @MediaRecorder.SystemSource int capturePreset) {
        if (!MediaRecorder.isValidAudioSource(capturePreset)) {
            return new ArrayList<AudioDeviceAttributes>();
        }
@@ -2036,7 +2038,8 @@ public class AudioManager {
    }

    private boolean setPreferredDevicesForCapturePreset(
            int capturePreset, @NonNull List<AudioDeviceAttributes> devices) {
            @MediaRecorder.SystemSource int capturePreset,
            @NonNull List<AudioDeviceAttributes> devices) {
        Objects.requireNonNull(devices);
        if (!MediaRecorder.isValidAudioSource(capturePreset)) {
            return false;
@@ -2081,7 +2084,8 @@ public class AudioManager {
         * @param devices a list of newly set preferred audio devices
         */
        void onPreferredDevicesForCapturePresetChanged(
                int capturePreset, @NonNull List<AudioDeviceAttributes> devices);
                @MediaRecorder.SystemSource int capturePreset,
                @NonNull List<AudioDeviceAttributes> devices);
    }

    /**
+20 −0
Original line number Diff line number Diff line
@@ -395,6 +395,26 @@ public class MediaRecorder implements AudioRouting,
    @Retention(RetentionPolicy.SOURCE)
    public @interface Source {}

    /** @hide */
    @IntDef({
        AudioSource.DEFAULT,
        AudioSource.MIC,
        AudioSource.VOICE_UPLINK,
        AudioSource.VOICE_DOWNLINK,
        AudioSource.VOICE_CALL,
        AudioSource.CAMCORDER,
        AudioSource.VOICE_RECOGNITION,
        AudioSource.VOICE_COMMUNICATION,
        AudioSource.REMOTE_SUBMIX,
        AudioSource.UNPROCESSED,
        AudioSource.VOICE_PERFORMANCE,
        AudioSource.ECHO_REFERENCE,
        AudioSource.RADIO_TUNER,
        AudioSource.HOTWORD,
    })
    @Retention(RetentionPolicy.SOURCE)
    public @interface SystemSource {}

    // TODO make AudioSource static (API change) and move this method inside the AudioSource class
    /**
     * @hide