diff options
| -rw-r--r-- | api/test-current.txt | 80 | ||||
| -rw-r--r-- | core/java/android/hardware/soundtrigger/SoundTrigger.java | 15 | 
2 files changed, 92 insertions, 3 deletions
| diff --git a/api/test-current.txt b/api/test-current.txt index a163dea35755..369b2804217a 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -1360,6 +1360,86 @@ package android.hardware.soundtrigger {      field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.KeyphraseMetadata> CREATOR;    } +  public class SoundTrigger { +    field public static final int RECOGNITION_MODE_GENERIC = 8; // 0x8 +    field public static final int RECOGNITION_MODE_USER_AUTHENTICATION = 4; // 0x4 +    field public static final int RECOGNITION_MODE_USER_IDENTIFICATION = 2; // 0x2 +    field public static final int RECOGNITION_MODE_VOICE_TRIGGER = 1; // 0x1 +    field public static final int STATUS_OK = 0; // 0x0 +  } + +  public static final class SoundTrigger.Keyphrase implements android.os.Parcelable { +    ctor public SoundTrigger.Keyphrase(int, int, @NonNull java.util.Locale, @NonNull String, @Nullable int[]); +    method public int getId(); +    method @NonNull public java.util.Locale getLocale(); +    method public int getRecognitionModes(); +    method @NonNull public String getText(); +    method @NonNull public int[] getUsers(); +    method @NonNull public static android.hardware.soundtrigger.SoundTrigger.Keyphrase readFromParcel(@NonNull android.os.Parcel); +    method public void writeToParcel(@NonNull android.os.Parcel, int); +    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.Keyphrase> CREATOR; +  } + +  public static final class SoundTrigger.KeyphraseSoundModel extends android.hardware.soundtrigger.SoundTrigger.SoundModel implements android.os.Parcelable { +    ctor public SoundTrigger.KeyphraseSoundModel(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[], @Nullable android.hardware.soundtrigger.SoundTrigger.Keyphrase[], int); +    ctor public SoundTrigger.KeyphraseSoundModel(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[], @Nullable android.hardware.soundtrigger.SoundTrigger.Keyphrase[]); +    method @NonNull public android.hardware.soundtrigger.SoundTrigger.Keyphrase[] getKeyphrases(); +    method @NonNull public static android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel readFromParcel(@NonNull android.os.Parcel); +    method public void writeToParcel(@NonNull android.os.Parcel, int); +    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel> CREATOR; +  } + +  public static final class SoundTrigger.ModelParamRange implements android.os.Parcelable { +    ctor public SoundTrigger.ModelParamRange(int, int); +    method public int getEnd(); +    method public int getStart(); +    method public void writeToParcel(@NonNull android.os.Parcel, int); +    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.ModelParamRange> CREATOR; +  } + +  public static final class SoundTrigger.ModuleProperties implements android.os.Parcelable { +    ctor public SoundTrigger.ModuleProperties(int, @NonNull String, @NonNull String, @NonNull String, int, @NonNull String, int, int, int, int, boolean, int, boolean, int, boolean, int); +    method public int describeContents(); +    method public int getAudioCapabilities(); +    method @NonNull public String getDescription(); +    method public int getId(); +    method @NonNull public String getImplementor(); +    method public int getMaxBufferMillis(); +    method public int getMaxKeyphrases(); +    method public int getMaxSoundModels(); +    method public int getMaxUsers(); +    method public int getPowerConsumptionMw(); +    method public int getRecognitionModes(); +    method @NonNull public String getSupportedModelArch(); +    method @NonNull public java.util.UUID getUuid(); +    method public int getVersion(); +    method public boolean isCaptureTransitionSupported(); +    method public boolean isConcurrentCaptureSupported(); +    method public boolean isTriggerReturnedInEvent(); +    method public void writeToParcel(android.os.Parcel, int); +    field public static final int AUDIO_CAPABILITY_ECHO_CANCELLATION = 1; // 0x1 +    field public static final int AUDIO_CAPABILITY_NOISE_SUPPRESSION = 2; // 0x2 +    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.ModuleProperties> CREATOR; +  } + +  public static class SoundTrigger.RecognitionEvent { +    ctor public SoundTrigger.RecognitionEvent(int, int, boolean, int, int, int, boolean, @NonNull android.media.AudioFormat, @Nullable byte[]); +    method @Nullable public android.media.AudioFormat getCaptureFormat(); +    method public int getCaptureSession(); +    method public byte[] getData(); +    method public boolean isCaptureAvailable(); +  } + +  public static class SoundTrigger.SoundModel { +    method @NonNull public byte[] getData(); +    method public int getType(); +    method @NonNull public java.util.UUID getUuid(); +    method @NonNull public java.util.UUID getVendorUuid(); +    method public int getVersion(); +    field public static final int TYPE_GENERIC_SOUND = 1; // 0x1 +    field public static final int TYPE_KEYPHRASE = 0; // 0x0 +  } +  }  package android.location { diff --git a/core/java/android/hardware/soundtrigger/SoundTrigger.java b/core/java/android/hardware/soundtrigger/SoundTrigger.java index f9ed2f851552..80f35a0a2e32 100644 --- a/core/java/android/hardware/soundtrigger/SoundTrigger.java +++ b/core/java/android/hardware/soundtrigger/SoundTrigger.java @@ -27,7 +27,9 @@ import static java.util.Objects.requireNonNull;  import android.annotation.IntDef;  import android.annotation.NonNull;  import android.annotation.Nullable; +import android.annotation.SuppressLint;  import android.annotation.SystemApi; +import android.annotation.TestApi;  import android.app.ActivityThread;  import android.compat.annotation.UnsupportedAppUsage;  import android.content.Context; @@ -57,6 +59,7 @@ import java.util.UUID;   *   * @hide   */ +@TestApi  @SystemApi  public class SoundTrigger {      private static final String TAG = "SoundTrigger"; @@ -136,7 +139,9 @@ public class SoundTrigger {          @AudioCapabilities          private final int mAudioCapabilities; -        ModuleProperties(int id, @NonNull String implementor, @NonNull String description, +        /** @hide */ +        @TestApi +        public ModuleProperties(int id, @NonNull String implementor, @NonNull String description,                  @NonNull String uuid, int version, @NonNull String supportedModelArch,                  int maxSoundModels, int maxKeyphrases, int maxUsers,                  @RecognitionModes int recognitionModes, boolean supportsCaptureTransition, @@ -289,7 +294,7 @@ public class SoundTrigger {          }          @Override -        public void writeToParcel(Parcel dest, int flags) { +        public void writeToParcel(@SuppressLint("MissingNullability") Parcel dest, int flags) {              dest.writeInt(getId());              dest.writeString(getImplementor());              dest.writeString(getDescription()); @@ -931,7 +936,9 @@ public class SoundTrigger {           */          private final int mEnd; -        ModelParamRange(int start, int end) { +        /** @hide */ +        @TestApi +        public ModelParamRange(int start, int end) {              this.mStart = start;              this.mEnd = end;          } @@ -1159,6 +1166,7 @@ public class SoundTrigger {          public final byte[] data;          /** @hide */ +        @TestApi          @UnsupportedAppUsage          public RecognitionEvent(int status, int soundModelHandle, boolean captureAvailable,                  int captureSession, int captureDelayMs, int capturePreambleMs, @@ -1209,6 +1217,7 @@ public class SoundTrigger {           *           * @return The data of the event           */ +        @SuppressLint("MissingNullability")          public byte[] getData() {              return data;          } |