Merge "MediaRecorder: Add IntDef to setAudioSource"

This commit is contained in:
TreeHugger Robot
2019-03-28 20:14:17 +00:00
committed by Android (Google) Code Review
2 changed files with 23 additions and 3 deletions

View File

@@ -25,6 +25,7 @@ import android.annotation.SystemApi;
import android.annotation.TestApi;
import android.annotation.UnsupportedAppUsage;
import android.app.ActivityThread;
import android.media.MediaRecorder.Source;
import android.media.audiopolicy.AudioMix;
import android.media.audiopolicy.AudioPolicy;
import android.media.projection.MediaProjection;
@@ -539,7 +540,7 @@ public class AudioRecord implements AudioRouting, MicrophoneDirection,
* @return the same Builder instance.
* @throws IllegalArgumentException
*/
public Builder setAudioSource(int source) throws IllegalArgumentException {
public Builder setAudioSource(@Source int source) throws IllegalArgumentException {
Preconditions.checkState(
mAudioPlaybackCaptureConfiguration == null,
ERROR_MESSAGE_SOURCE_MISMATCH);

View File

@@ -18,6 +18,7 @@ package android.media;
import android.annotation.CallbackExecutor;
import android.annotation.FloatRange;
import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.RequiresPermission;
@@ -42,6 +43,8 @@ import java.io.File;
import java.io.FileDescriptor;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
import java.util.List;
@@ -355,6 +358,22 @@ public class MediaRecorder implements AudioRouting,
public static final int HOTWORD = 1999;
}
/** @hide */
@IntDef({
AudioSource.DEFAULT,
AudioSource.MIC,
AudioSource.VOICE_UPLINK,
AudioSource.VOICE_DOWNLINK,
AudioSource.VOICE_CALL,
AudioSource.CAMCORDER,
AudioSource.VOICE_RECOGNITION,
AudioSource.VOICE_COMMUNICATION,
AudioSource.UNPROCESSED,
AudioSource.VOICE_PERFORMANCE,
})
@Retention(RetentionPolicy.SOURCE)
public @interface Source {}
// TODO make AudioSource static (API change) and move this method inside the AudioSource class
/**
* @hide
@@ -547,11 +566,11 @@ public class MediaRecorder implements AudioRouting,
* to be specified before setting recording-parameters or encoders. Call
* this only before setOutputFormat().
*
* @param audio_source the audio source to use
* @param audioSource the audio source to use
* @throws IllegalStateException if it is called after setOutputFormat()
* @see android.media.MediaRecorder.AudioSource
*/
public native void setAudioSource(int audio_source)
public native void setAudioSource(@Source int audioSource)
throws IllegalStateException;
/**