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

Commit 7a5f6740 authored by Ziyang Cheng's avatar Ziyang Cheng
Browse files

Reland "Expose GenericSoundModel as SystemApi."

API-Coverage-Bug:342000786

Bug: 339267254
Flag: android.media.soundtrigger.generic_model_api
Test: Successfully load the generic sound model and verify
      sound trigger event could be triggered correctly on
      Pixel Watch devices.
Change-Id: Ifbd30375933d0d87426db7614614a84cde787ae8
parent 3ffe8d98
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -6725,6 +6725,14 @@ package android.hardware.soundtrigger {
    field public static final int STATUS_OK = 0; // 0x0
  }
  @FlaggedApi("android.media.soundtrigger.generic_model_api") public static final class SoundTrigger.GenericSoundModel extends android.hardware.soundtrigger.SoundTrigger.SoundModel implements android.os.Parcelable {
    ctor public SoundTrigger.GenericSoundModel(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[], int);
    ctor public SoundTrigger.GenericSoundModel(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[]);
    method public int describeContents();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.GenericSoundModel> CREATOR;
  }
  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 describeContents();
+19 −4
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ import static android.system.OsConstants.EPIPE;
import static java.util.Objects.requireNonNull;

import android.annotation.ElapsedRealtimeLong;
import android.annotation.FlaggedApi;
import android.annotation.IntDef;
import android.annotation.IntRange;
import android.annotation.NonNull;
@@ -874,10 +875,9 @@ public class SoundTrigger {
    /*****************************************************************************
     * A GenericSoundModel is a specialized {@link SoundModel} for non-voice sound
     * patterns.
     *
     * @hide
     ****************************************************************************/
    public static class GenericSoundModel extends SoundModel implements Parcelable {
    @FlaggedApi(android.media.soundtrigger.Flags.FLAG_GENERIC_MODEL_API)
    public static final class GenericSoundModel extends SoundModel implements Parcelable {

        public static final @android.annotation.NonNull Parcelable.Creator<GenericSoundModel> CREATOR
                = new Parcelable.Creator<GenericSoundModel>() {
@@ -890,11 +890,26 @@ public class SoundTrigger {
            }
        };

        /**
         * Constructor for {@link GenericSoundModel} with version.
         *
         * @param uuid Unique identifier for this sound model.
         * @param vendorUuid Unique vendor identifier for this sound model.
         * @param data Opaque data for this sound model.
         * @param version Vendor-specific version number of this sound model.
         */
        public GenericSoundModel(@NonNull UUID uuid, @NonNull UUID vendorUuid,
                @Nullable byte[] data, int version) {
            super(uuid, vendorUuid, TYPE_GENERIC_SOUND, data, version);
        }

        /**
         * Constructor for {@link GenericSoundModel} without version. The version is set to -1.
         *
         * @param uuid Unique identifier for this sound model.
         * @param vendorUuid Unique vendor identifier for this sound model.
         * @param data Opaque data for this sound model.
         */
        @UnsupportedAppUsage
        public GenericSoundModel(@NonNull UUID uuid, @NonNull UUID vendorUuid,
                @Nullable byte[] data) {
@@ -919,7 +934,7 @@ public class SoundTrigger {
        }

        @Override
        public void writeToParcel(Parcel dest, int flags) {
        public void writeToParcel(@NonNull Parcel dest, int flags) {
            dest.writeString(getUuid().toString());
            if (getVendorUuid() == null) {
                dest.writeInt(-1);