summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2019-03-28 20:14:17 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2019-03-28 20:14:17 +0000
commitdcb8edfc4d7bc4b99640350d4e7c3181fcbb662f (patch)
tree229be119459bf1fbb0a6593c6eb884789903f6bd
parentcb1f204387bdbfd2c49398d3aa649f3d70b6b295 (diff)
parentaff8c04b25364bdfbcfc719d75057ded46edc225 (diff)
Merge "MediaRecorder: Add IntDef to setAudioSource"
-rw-r--r--media/java/android/media/AudioRecord.java3
-rw-r--r--media/java/android/media/MediaRecorder.java23
2 files changed, 23 insertions, 3 deletions
diff --git a/media/java/android/media/AudioRecord.java b/media/java/android/media/AudioRecord.java
index a7760a80974d..2dd7f0fcd12b 100644
--- a/media/java/android/media/AudioRecord.java
+++ b/media/java/android/media/AudioRecord.java
@@ -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);
diff --git a/media/java/android/media/MediaRecorder.java b/media/java/android/media/MediaRecorder.java
index 575a0bb03f7b..63b22df12953 100644
--- a/media/java/android/media/MediaRecorder.java
+++ b/media/java/android/media/MediaRecorder.java
@@ -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;
/**