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

Commit b646704e authored by Aleksandar Kiridžić's avatar Aleksandar Kiridžić Committed by Android (Google) Code Review
Browse files

Merge "speech: Update alternative spans API"

parents a8c487dd c023ecf0
Loading
Loading
Loading
Loading
+2 −12
Original line number Diff line number Diff line
@@ -39640,6 +39640,7 @@ package android.service.wallpaper {
package android.speech {
  public final class AlternativeSpan implements android.os.Parcelable {
    ctor public AlternativeSpan(int, int, @NonNull java.util.List<java.lang.String>);
    method public int describeContents();
    method @NonNull public java.util.List<java.lang.String> getAlternatives();
    method public int getEndPosition();
@@ -39648,25 +39649,14 @@ package android.speech {
    field @NonNull public static final android.os.Parcelable.Creator<android.speech.AlternativeSpan> CREATOR;
  }
  public static final class AlternativeSpan.Builder {
    ctor public AlternativeSpan.Builder(int, int);
    method @NonNull public android.speech.AlternativeSpan build();
    method @NonNull public android.speech.AlternativeSpan.Builder setAlternatives(@NonNull java.util.List<java.lang.String>);
  }
  public final class AlternativeSpans implements android.os.Parcelable {
    ctor public AlternativeSpans(@NonNull java.util.List<android.speech.AlternativeSpan>);
    method public int describeContents();
    method @NonNull public java.util.List<android.speech.AlternativeSpan> getSpans();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.speech.AlternativeSpans> CREATOR;
  }
  public static final class AlternativeSpans.Builder {
    ctor public AlternativeSpans.Builder();
    method @NonNull public android.speech.AlternativeSpans build();
    method @NonNull public android.speech.AlternativeSpans.Builder setSpans(@NonNull java.util.List<android.speech.AlternativeSpan>);
  }
  public interface RecognitionListener {
    method public void onBeginningOfSpeech();
    method public void onBufferReceived(byte[]);
+26 −85
Original line number Diff line number Diff line
@@ -38,14 +38,10 @@ import java.util.List;
 * other ways manipulating the SpeechRecognizer results before powering dictation features.
 */
@DataClass(
        genBuilder = true,
        genConstructor = false,
        genEqualsHashCode = true,
        genParcelable = true,
        genToString = true
)
@DataClass.Suppress(
        {"Builder.setStartPosition", "Builder.setEndPosition", "Builder.addAlternative"})
public final class AlternativeSpan implements Parcelable {
    /**
     * The start position of the span of the originally recognized string.
@@ -64,17 +60,14 @@ public final class AlternativeSpan implements Parcelable {
    /**
     * All the alternatives for the [mStart, mEnd) span.
     *
     * <p> Must not be empty. If the recognizer does not produce an alternative, this list will
     * contain a single empty string.
     * <p> Must not be empty. The object will only be created
     * if there are some alternatives for the given span.
     *
     * <p> The alternatives may be strings of different lengths than the span they can replace.
     */
    @NonNull
    @DataClass.PluralOf("alternative")
    private final List<String> mAlternatives;
    private static List<String> defaultAlternatives() {
        return new ArrayList<>();
    }

    private void onConstructed() {
        Preconditions.checkArgumentNonnegative(mStartPosition,
@@ -100,8 +93,27 @@ public final class AlternativeSpan implements Parcelable {
    //@formatter:off


    /**
     * Creates a new AlternativeSpan.
     *
     * @param startPosition
     *   The start position of the span of the originally recognized string.
     *
     *   <p> Must be set to a non-negative value before building.
     * @param endPosition
     *   The exclusive end position of the span of the originally recognized string.
     *
     *   <p> Must be set to a value greater than the start of the span before building.
     * @param alternatives
     *   All the alternatives for the [mStart, mEnd) span.
     *
     *   <p> Must not be empty. The object will only be created
     *   if there are some alternatives for the given span.
     *
     *   <p> The alternatives may be strings of different lengths than the span they can replace.
     */
    @DataClass.Generated.Member
    /* package-private */ AlternativeSpan(
    public AlternativeSpan(
            int startPosition,
            int endPosition,
            @NonNull List<String> alternatives) {
@@ -137,8 +149,8 @@ public final class AlternativeSpan implements Parcelable {
    /**
     * All the alternatives for the [mStart, mEnd) span.
     *
     * <p> Must not be empty. If the recognizer does not produce an alternative, this list will
     * contain a single empty string.
     * <p> Must not be empty. The object will only be created
     * if there are some alternatives for the given span.
     *
     * <p> The alternatives may be strings of different lengths than the span they can replace.
     */
@@ -241,82 +253,11 @@ public final class AlternativeSpan implements Parcelable {
        }
    };

    /**
     * A builder for {@link AlternativeSpan}
     */
    @SuppressWarnings("WeakerAccess")
    @DataClass.Generated.Member
    public static final class Builder {

        private int mStartPosition;
        private int mEndPosition;
        private @NonNull List<String> mAlternatives;

        private long mBuilderFieldsSet = 0L;

        /**
         * Creates a new Builder.
         *
         * @param startPosition
         *   The start position of the span of the originally recognized string.
         *
         *   <p> Must be set to a non-negative value before building.
         * @param endPosition
         *   The exclusive end position of the span of the originally recognized string.
         *
         *   <p> Must be set to a value greater than the start of the span before building.
         */
        public Builder(
                int startPosition,
                int endPosition) {
            mStartPosition = startPosition;
            mEndPosition = endPosition;
        }

        /**
         * All the alternatives for the [mStart, mEnd) span.
         *
         * <p> Must not be empty. If the recognizer does not produce an alternative, this list will
         * contain a single empty string.
         *
         * <p> The alternatives may be strings of different lengths than the span they can replace.
         */
        @DataClass.Generated.Member
        public @NonNull Builder setAlternatives(@NonNull List<String> value) {
            checkNotUsed();
            mBuilderFieldsSet |= 0x4;
            mAlternatives = value;
            return this;
        }

        /** Builds the instance. This builder should not be touched after calling this! */
        public @NonNull AlternativeSpan build() {
            checkNotUsed();
            mBuilderFieldsSet |= 0x8; // Mark builder used

            if ((mBuilderFieldsSet & 0x4) == 0) {
                mAlternatives = defaultAlternatives();
            }
            AlternativeSpan o = new AlternativeSpan(
                    mStartPosition,
                    mEndPosition,
                    mAlternatives);
            return o;
        }

        private void checkNotUsed() {
            if ((mBuilderFieldsSet & 0x8) != 0) {
                throw new IllegalStateException(
                        "This Builder should not be reused. Use a new Builder instance instead");
            }
        }
    }

    @DataClass.Generated(
            time = 1655225556488L,
            time = 1656603431902L,
            codegenVersion = "1.0.23",
            sourceFile = "frameworks/base/core/java/android/speech/AlternativeSpan.java",
            inputSignatures = "private final  int mStartPosition\nprivate final  int mEndPosition\nprivate final @android.annotation.NonNull @com.android.internal.util.DataClass.PluralOf(\"alternative\") java.util.List<java.lang.String> mAlternatives\nprivate static  java.util.List<java.lang.String> defaultAlternatives()\nprivate  void onConstructed()\nclass AlternativeSpan extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genBuilder=true, genConstructor=false, genEqualsHashCode=true, genParcelable=true, genToString=true)")
            inputSignatures = "private final  int mStartPosition\nprivate final  int mEndPosition\nprivate final @android.annotation.NonNull @com.android.internal.util.DataClass.PluralOf(\"alternative\") java.util.List<java.lang.String> mAlternatives\nprivate  void onConstructed()\nclass AlternativeSpan extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genEqualsHashCode=true, genParcelable=true, genToString=true)")
    @Deprecated
    private void __metadata() {}

+9 −55
Original line number Diff line number Diff line
@@ -32,21 +32,15 @@ import java.util.List;
 * specific span (substring) of the originally recognized string.
 */
@DataClass(
        genBuilder = true,
        genConstructor = false,
        genEqualsHashCode = true,
        genParcelable = true,
        genToString = true
)
@DataClass.Suppress({"Builder.addSpan"})
public final class AlternativeSpans implements Parcelable {
    /** List of {@link AlternativeSpan} for a specific speech recognition result. */
    @NonNull
    @DataClass.PluralOf("span")
    private final List<AlternativeSpan> mSpans;
    private static List<AlternativeSpan> defaultSpans() {
        return new ArrayList<>();
    }



@@ -63,8 +57,14 @@ public final class AlternativeSpans implements Parcelable {
    //@formatter:off


    /**
     * Creates a new AlternativeSpans.
     *
     * @param spans
     *   List of {@link AlternativeSpan} for a specific speech recognition result.
     */
    @DataClass.Generated.Member
    /* package-private */ AlternativeSpans(
    public AlternativeSpans(
            @NonNull List<AlternativeSpan> spans) {
        this.mSpans = spans;
        com.android.internal.util.AnnotationValidations.validate(
@@ -163,57 +163,11 @@ public final class AlternativeSpans implements Parcelable {
        }
    };

    /**
     * A builder for {@link AlternativeSpans}
     */
    @SuppressWarnings("WeakerAccess")
    @DataClass.Generated.Member
    public static final class Builder {

        private @NonNull List<AlternativeSpan> mSpans;

        private long mBuilderFieldsSet = 0L;

        public Builder() {
        }

        /**
         * List of {@link AlternativeSpan} for a specific speech recognition result.
         */
        @DataClass.Generated.Member
        public @NonNull Builder setSpans(@NonNull List<AlternativeSpan> value) {
            checkNotUsed();
            mBuilderFieldsSet |= 0x1;
            mSpans = value;
            return this;
        }

        /** Builds the instance. This builder should not be touched after calling this! */
        public @NonNull AlternativeSpans build() {
            checkNotUsed();
            mBuilderFieldsSet |= 0x2; // Mark builder used

            if ((mBuilderFieldsSet & 0x1) == 0) {
                mSpans = defaultSpans();
            }
            AlternativeSpans o = new AlternativeSpans(
                    mSpans);
            return o;
        }

        private void checkNotUsed() {
            if ((mBuilderFieldsSet & 0x2) != 0) {
                throw new IllegalStateException(
                        "This Builder should not be reused. Use a new Builder instance instead");
            }
        }
    }

    @DataClass.Generated(
            time = 1655151024975L,
            time = 1656603476918L,
            codegenVersion = "1.0.23",
            sourceFile = "frameworks/base/core/java/android/speech/AlternativeSpans.java",
            inputSignatures = "private final @android.annotation.NonNull @com.android.internal.util.DataClass.PluralOf(\"span\") java.util.List<android.speech.AlternativeSpan> mSpans\nprivate static  java.util.List<android.speech.AlternativeSpan> defaultSpans()\nclass AlternativeSpans extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genBuilder=true, genConstructor=false, genEqualsHashCode=true, genParcelable=true, genToString=true)")
            inputSignatures = "private final @android.annotation.NonNull @com.android.internal.util.DataClass.PluralOf(\"span\") java.util.List<android.speech.AlternativeSpan> mSpans\nclass AlternativeSpans extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genEqualsHashCode=true, genParcelable=true, genToString=true)")
    @Deprecated
    private void __metadata() {}