diff options
-rw-r--r-- | api/system-current.txt | 1 | ||||
-rw-r--r-- | media/java/android/media/AudioAttributes.java | 14 |
2 files changed, 15 insertions, 0 deletions
diff --git a/api/system-current.txt b/api/system-current.txt index 6b51eabf6f34..5945723431ea 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -3879,6 +3879,7 @@ package android.media { field public static final int FLAG_BYPASS_INTERRUPTION_POLICY = 64; // 0x40 field public static final int FLAG_BYPASS_MUTE = 128; // 0x80 field public static final int FLAG_HW_HOTWORD = 32; // 0x20 + field @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public static final int USAGE_CALL_ASSISTANT = 17; // 0x11 } public static class AudioAttributes.Builder { diff --git a/media/java/android/media/AudioAttributes.java b/media/java/android/media/AudioAttributes.java index c03e8e20175d..8de3e0a63815 100644 --- a/media/java/android/media/AudioAttributes.java +++ b/media/java/android/media/AudioAttributes.java @@ -18,6 +18,7 @@ package android.media; import android.annotation.IntDef; import android.annotation.NonNull; +import android.annotation.RequiresPermission; import android.annotation.SystemApi; import android.annotation.UnsupportedAppUsage; import android.media.audiopolicy.AudioProductStrategy; @@ -178,6 +179,13 @@ public final class AudioAttributes implements Parcelable { * utterances. */ public final static int USAGE_ASSISTANT = 16; + /** + * @hide + * Usage value to use for assistant voice interaction with remote caller on Cell and VoIP calls. + */ + @SystemApi + @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) + public static final int USAGE_CALL_ASSISTANT = 17; /** * IMPORTANT: when adding new usage types, add them to SDK_USAGES and update SUPPRESSIBLE_USAGES @@ -254,6 +262,7 @@ public final class AudioAttributes implements Parcelable { SUPPRESSIBLE_USAGES.put(USAGE_ASSISTANCE_NAVIGATION_GUIDANCE, SUPPRESSIBLE_MEDIA); SUPPRESSIBLE_USAGES.put(USAGE_GAME, SUPPRESSIBLE_MEDIA); SUPPRESSIBLE_USAGES.put(USAGE_ASSISTANT, SUPPRESSIBLE_MEDIA); + SUPPRESSIBLE_USAGES.put(USAGE_CALL_ASSISTANT, SUPPRESSIBLE_NEVER); /** default volume assignment is STREAM_MUSIC, handle unknown usage as media */ SUPPRESSIBLE_USAGES.put(USAGE_UNKNOWN, SUPPRESSIBLE_MEDIA); SUPPRESSIBLE_USAGES.put(USAGE_ASSISTANCE_SONIFICATION, SUPPRESSIBLE_SYSTEM); @@ -682,6 +691,7 @@ public final class AudioAttributes implements Parcelable { case USAGE_GAME: case USAGE_VIRTUAL_SOURCE: case USAGE_ASSISTANT: + case USAGE_CALL_ASSISTANT: mUsage = usage; break; default: @@ -1135,6 +1145,8 @@ public final class AudioAttributes implements Parcelable { return new String("USAGE_GAME"); case USAGE_ASSISTANT: return new String("USAGE_ASSISTANT"); + case USAGE_CALL_ASSISTANT: + return new String("USAGE_CALL_ASSISTANT"); default: return new String("unknown usage " + usage); } @@ -1238,6 +1250,7 @@ public final class AudioAttributes implements Parcelable { case USAGE_ASSISTANCE_SONIFICATION: return AudioSystem.STREAM_SYSTEM; case USAGE_VOICE_COMMUNICATION: + case USAGE_CALL_ASSISTANT: return AudioSystem.STREAM_VOICE_CALL; case USAGE_VOICE_COMMUNICATION_SIGNALLING: return fromGetVolumeControlStream ? @@ -1302,6 +1315,7 @@ public final class AudioAttributes implements Parcelable { USAGE_ASSISTANCE_SONIFICATION, USAGE_GAME, USAGE_ASSISTANT, + USAGE_CALL_ASSISTANT, }) @Retention(RetentionPolicy.SOURCE) public @interface AttributeUsage {} |