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

Commit 7627c943 authored by Carter Hsu's avatar Carter Hsu Committed by Android (Google) Code Review
Browse files

Merge "audio: add Ultrasound input source and content_type"

parents 00e27a8f 0267771f
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ package android {
    field public static final String ACCESS_TV_DESCRAMBLER = "android.permission.ACCESS_TV_DESCRAMBLER";
    field public static final String ACCESS_TV_SHARED_FILTER = "android.permission.ACCESS_TV_SHARED_FILTER";
    field public static final String ACCESS_TV_TUNER = "android.permission.ACCESS_TV_TUNER";
    field public static final String ACCESS_ULTRASOUND = "android.permission.ACCESS_ULTRASOUND";
    field public static final String ACCESS_VIBRATOR_STATE = "android.permission.ACCESS_VIBRATOR_STATE";
    field public static final String ACTIVITY_EMBEDDING = "android.permission.ACTIVITY_EMBEDDING";
    field public static final String ADJUST_RUNTIME_PERMISSIONS_POLICY = "android.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY";
@@ -5669,6 +5670,7 @@ package android.media {
    method public int getCapturePreset();
    method public int getSystemUsage();
    method public static boolean isSystemUsage(int);
    field @RequiresPermission(android.Manifest.permission.ACCESS_ULTRASOUND) public static final int CONTENT_TYPE_ULTRASOUND = 1997; // 0x7cd
    field public static final int FLAG_BEACON = 8; // 0x8
    field public static final int FLAG_BYPASS_INTERRUPTION_POLICY = 64; // 0x40
    field public static final int FLAG_BYPASS_MUTE = 128; // 0x80
@@ -5685,6 +5687,7 @@ package android.media {
    method public android.media.AudioAttributes.Builder setCapturePreset(int);
    method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public android.media.AudioAttributes.Builder setHotwordModeEnabled(boolean);
    method public android.media.AudioAttributes.Builder setInternalCapturePreset(int);
    method @NonNull public android.media.AudioAttributes.Builder setInternalContentType(int);
    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.media.AudioAttributes.Builder setSystemUsage(int);
  }
@@ -5900,6 +5903,7 @@ package android.media {
    field @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_OUTPUT) public static final int ECHO_REFERENCE = 1997; // 0x7cd
    field @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public static final int HOTWORD = 1999; // 0x7cf
    field @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_OUTPUT) public static final int RADIO_TUNER = 1998; // 0x7ce
    field @RequiresPermission(android.Manifest.permission.ACCESS_ULTRASOUND) public static final int ULTRASOUND = 2000; // 0x7d0
  }
  public final class MediaRouter2 {
+5 −5
Original line number Diff line number Diff line
@@ -57,7 +57,7 @@ static struct {
    jmethodID setUsage;
    jmethodID setSystemUsage;
    jmethodID setInternalCapturePreset;
    jmethodID setContentType;
    jmethodID setInternalContentType;
    jmethodID replaceFlags;
    jmethodID addTag;
} gAudioAttributesBuilderMethods;
@@ -127,7 +127,7 @@ static jint nativeAudioAttributesToJavaAudioAttributes(
                          gAudioAttributesBuilderMethods.setInternalCapturePreset,
                          attributes.source);
    env->CallObjectMethod(jAttributeBuilder.get(),
                          gAudioAttributesBuilderMethods.setContentType,
                          gAudioAttributesBuilderMethods.setInternalContentType,
                          attributes.content_type);
    env->CallObjectMethod(jAttributeBuilder.get(),
                          gAudioAttributesBuilderMethods.replaceFlags,
@@ -202,8 +202,8 @@ int register_android_media_AudioAttributes(JNIEnv *env)
    gAudioAttributesBuilderMethods.setInternalCapturePreset = GetMethodIDOrDie(
                env, audioAttributesBuilderClass, "setInternalCapturePreset",
                "(I)Landroid/media/AudioAttributes$Builder;");
    gAudioAttributesBuilderMethods.setContentType = GetMethodIDOrDie(
                env, audioAttributesBuilderClass, "setContentType",
    gAudioAttributesBuilderMethods.setInternalContentType =
            GetMethodIDOrDie(env, audioAttributesBuilderClass, "setInternalContentType",
                             "(I)Landroid/media/AudioAttributes$Builder;");
    gAudioAttributesBuilderMethods.replaceFlags = GetMethodIDOrDie(
                env, audioAttributesBuilderClass, "replaceFlags",
+6 −0
Original line number Diff line number Diff line
@@ -4745,6 +4745,12 @@
    <permission android:name="android.permission.CAPTURE_AUDIO_HOTWORD"
        android:protectionLevel="signature|privileged|role" />

    <!-- @SystemApi Allows an application to access the ultrasound content.
         <p>Not for use by third-party applications.</p>
         @hide -->
    <permission android:name="android.permission.ACCESS_ULTRASOUND"
        android:protectionLevel="signature|privileged" />

    <!-- Puts an application in the chain of trust for sound trigger
         operations. Being in the chain of trust allows an application to
         delegate an identity of a separate entity to the sound trigger system
+4 −0
Original line number Diff line number Diff line
@@ -50,4 +50,8 @@ enum AudioContentType {
     * in a game. These sounds are mostly synthesized or short Foley sounds.
     */
    SONIFICATION = 4,
    /**
     * Content type value to use when the content type is ultrasound.
     */
    ULTRASOUND = 1997,
}
+4 −0
Original line number Diff line number Diff line
@@ -59,4 +59,8 @@ enum AudioInputFlags {
     * Input contains an encoded audio stream.
     */
    DIRECT = 7,
    /**
     * Input is for capturing "ultrasound" audio commands.
     */
    ULTRASOUND = 8,
}
Loading