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

Commit 2a91317a authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Add calling package name to TC requests."

parents 11468cdb 0f138963
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -52484,6 +52484,7 @@ package android.view.textclassifier {
  public static final class ConversationActions.Request implements android.os.Parcelable {
    method public int describeContents();
    method public java.lang.String getCallingPackageName();
    method public java.util.List<android.view.textclassifier.ConversationActions.Message> getConversation();
    method public java.util.List<java.lang.String> getHints();
    method public int getMaxSuggestions();
@@ -52597,6 +52598,7 @@ package android.view.textclassifier {
  public static final class TextClassification.Request implements android.os.Parcelable {
    method public int describeContents();
    method public java.lang.String getCallingPackageName();
    method public android.os.LocaleList getDefaultLocales();
    method public int getEndIndex();
    method public android.os.Bundle getExtras();
@@ -52714,6 +52716,7 @@ package android.view.textclassifier {
  public static final class TextLanguage.Request implements android.os.Parcelable {
    method public int describeContents();
    method public java.lang.String getCallingPackageName();
    method public android.os.Bundle getExtras();
    method public java.lang.CharSequence getText();
    method public void writeToParcel(android.os.Parcel, int);
@@ -52745,6 +52748,7 @@ package android.view.textclassifier {
  public static final class TextLinks.Builder {
    ctor public TextLinks.Builder(java.lang.String);
    method public android.view.textclassifier.TextLinks.Builder addLink(int, int, java.util.Map<java.lang.String, java.lang.Float>);
    method public android.view.textclassifier.TextLinks.Builder addLink(int, int, java.util.Map<java.lang.String, java.lang.Float>, android.os.Bundle);
    method public android.view.textclassifier.TextLinks build();
    method public android.view.textclassifier.TextLinks.Builder clearTextLinks();
    method public android.view.textclassifier.TextLinks.Builder setExtras(android.os.Bundle);
@@ -52752,6 +52756,7 @@ package android.view.textclassifier {
  public static final class TextLinks.Request implements android.os.Parcelable {
    method public int describeContents();
    method public java.lang.String getCallingPackageName();
    method public android.os.LocaleList getDefaultLocales();
    method public android.view.textclassifier.TextClassifier.EntityConfig getEntityConfig();
    method public android.os.Bundle getExtras();
@@ -52774,6 +52779,7 @@ package android.view.textclassifier {
    method public int getEnd();
    method public java.lang.String getEntity(int);
    method public int getEntityCount();
    method public android.os.Bundle getExtras();
    method public int getStart();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.view.textclassifier.TextLinks.TextLink> CREATOR;
@@ -52808,6 +52814,7 @@ package android.view.textclassifier {
  public static final class TextSelection.Request implements android.os.Parcelable {
    method public int describeContents();
    method public java.lang.String getCallingPackageName();
    method public android.os.LocaleList getDefaultLocales();
    method public int getEndIndex();
    method public android.os.Bundle getExtras();
+41 −6
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ import android.os.Parcelable;
import android.text.SpannedString;
import android.util.ArraySet;

import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.util.Preconditions;

import java.lang.annotation.Retention;
@@ -654,6 +655,8 @@ public final class ConversationActions implements Parcelable {
        @NonNull
        @Hint
        private final List<String> mHints;
        @Nullable
        private String mCallingPackageName;

        private Request(
                @NonNull List<Message> conversation,
@@ -666,15 +669,26 @@ public final class ConversationActions implements Parcelable {
            mHints = hints;
        }

        private Request(Parcel in) {
        private static Request readFromParcel(Parcel in) {
            List<Message> conversation = new ArrayList<>();
            in.readParcelableList(conversation, null);
            mConversation = Collections.unmodifiableList(conversation);
            mTypeConfig = in.readParcelable(null);
            mMaxSuggestions = in.readInt();

            TypeConfig typeConfig = in.readParcelable(null);

            int maxSuggestions = in.readInt();

            List<String> hints = new ArrayList<>();
            in.readStringList(hints);
            mHints = Collections.unmodifiableList(hints);

            String callingPackageName = in.readString();

            Request request = new Request(
                    conversation,
                    typeConfig,
                    maxSuggestions,
                    hints);
            request.setCallingPackageName(callingPackageName);
            return request;
        }

        @Override
@@ -683,6 +697,7 @@ public final class ConversationActions implements Parcelable {
            parcel.writeParcelable(mTypeConfig, flags);
            parcel.writeInt(mMaxSuggestions);
            parcel.writeStringList(mHints);
            parcel.writeString(mCallingPackageName);
        }

        @Override
@@ -694,7 +709,7 @@ public final class ConversationActions implements Parcelable {
                new Creator<Request>() {
                    @Override
                    public Request createFromParcel(Parcel in) {
                        return new Request(in);
                        return readFromParcel(in);
                    }

                    @Override
@@ -730,6 +745,26 @@ public final class ConversationActions implements Parcelable {
            return mHints;
        }

        /**
         * Sets the name of the package that is sending this request.
         * <p>
         * Package-private for SystemTextClassifier's use.
         * @hide
         */
        @VisibleForTesting(visibility = VisibleForTesting.Visibility.PACKAGE)
        public void setCallingPackageName(@Nullable String callingPackageName) {
            mCallingPackageName = callingPackageName;
        }

        /**
         * Returns the name of the package that sent this request.
         * This returns {@code null} if no calling package name is set.
         */
        @Nullable
        public String getCallingPackageName() {
            return mCallingPackageName;
        }

        /** Builder object to construct the {@link Request} object. */
        public static final class Builder {
            @NonNull
+5 −1
Original line number Diff line number Diff line
@@ -60,7 +60,7 @@ public final class SystemTextClassifier implements TextClassifier {
        mSettings = Preconditions.checkNotNull(settings);
        mFallback = context.getSystemService(TextClassificationManager.class)
                .getTextClassifier(TextClassifier.LOCAL);
        mPackageName = Preconditions.checkNotNull(context.getPackageName());
        mPackageName = Preconditions.checkNotNull(context.getOpPackageName());
    }

    /**
@@ -72,6 +72,7 @@ public final class SystemTextClassifier implements TextClassifier {
        Preconditions.checkNotNull(request);
        Utils.checkMainThread();
        try {
            request.setCallingPackageName(mPackageName);
            final TextSelectionCallback callback = new TextSelectionCallback();
            mManagerService.onSuggestSelection(mSessionId, request, callback);
            final TextSelection selection = callback.mReceiver.get();
@@ -93,6 +94,7 @@ public final class SystemTextClassifier implements TextClassifier {
        Preconditions.checkNotNull(request);
        Utils.checkMainThread();
        try {
            request.setCallingPackageName(mPackageName);
            final TextClassificationCallback callback = new TextClassificationCallback();
            mManagerService.onClassifyText(mSessionId, request, callback);
            final TextClassification classification = callback.mReceiver.get();
@@ -150,6 +152,7 @@ public final class SystemTextClassifier implements TextClassifier {
        Utils.checkMainThread();

        try {
            request.setCallingPackageName(mPackageName);
            final TextLanguageCallback callback = new TextLanguageCallback();
            mManagerService.onDetectLanguage(mSessionId, request, callback);
            final TextLanguage textLanguage = callback.mReceiver.get();
@@ -168,6 +171,7 @@ public final class SystemTextClassifier implements TextClassifier {
        Utils.checkMainThread();

        try {
            request.setCallingPackageName(mPackageName);
            final ConversationActionsCallback callback = new ConversationActionsCallback();
            mManagerService.onSuggestConversationActions(mSessionId, request, callback);
            final ConversationActions conversationActions = callback.mReceiver.get();
+47 −20
Original line number Diff line number Diff line
@@ -37,11 +37,13 @@ import android.os.Bundle;
import android.os.LocaleList;
import android.os.Parcel;
import android.os.Parcelable;
import android.text.SpannedString;
import android.util.ArrayMap;
import android.view.View.OnClickListener;
import android.view.textclassifier.TextClassifier.EntityType;
import android.view.textclassifier.TextClassifier.Utils;

import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.util.Preconditions;

import java.lang.annotation.Retention;
@@ -518,6 +520,7 @@ public final class TextClassification implements Parcelable {
        @Nullable private final LocaleList mDefaultLocales;
        @Nullable private final ZonedDateTime mReferenceTime;
        @NonNull private final Bundle mExtras;
        @Nullable private String mCallingPackageName;

        private Request(
                CharSequence text,
@@ -577,6 +580,26 @@ public final class TextClassification implements Parcelable {
            return mReferenceTime;
        }

        /**
         * Sets the name of the package that is sending this request.
         * <p>
         * For SystemTextClassifier's use.
         * @hide
         */
        @VisibleForTesting(visibility = VisibleForTesting.Visibility.PACKAGE)
        public void setCallingPackageName(@Nullable String callingPackageName) {
            mCallingPackageName = callingPackageName;
        }

        /**
         * Returns the name of the package that sent this request.
         * This returns {@code null} if no calling package name is set.
         */
        @Nullable
        public String getCallingPackageName() {
            return mCallingPackageName;
        }

        /**
         * Returns the extended data.
         *
@@ -660,7 +683,8 @@ public final class TextClassification implements Parcelable {
             */
            @NonNull
            public Request build() {
                return new Request(mText, mStartIndex, mEndIndex, mDefaultLocales, mReferenceTime,
                return new Request(new SpannedString(mText), mStartIndex, mEndIndex,
                        mDefaultLocales, mReferenceTime,
                        mExtras == null ? Bundle.EMPTY : mExtras.deepCopy());
            }
        }
@@ -672,25 +696,37 @@ public final class TextClassification implements Parcelable {

        @Override
        public void writeToParcel(Parcel dest, int flags) {
            dest.writeString(mText.toString());
            dest.writeCharSequence(mText);
            dest.writeInt(mStartIndex);
            dest.writeInt(mEndIndex);
            dest.writeInt(mDefaultLocales != null ? 1 : 0);
            if (mDefaultLocales != null) {
                mDefaultLocales.writeToParcel(dest, flags);
            }
            dest.writeInt(mReferenceTime != null ? 1 : 0);
            if (mReferenceTime != null) {
                dest.writeString(mReferenceTime.toString());
            }
            dest.writeParcelable(mDefaultLocales, flags);
            dest.writeString(mReferenceTime == null ? null : mReferenceTime.toString());
            dest.writeString(mCallingPackageName);
            dest.writeBundle(mExtras);
        }

        private static Request readFromParcel(Parcel in) {
            final CharSequence text = in.readCharSequence();
            final int startIndex = in.readInt();
            final int endIndex = in.readInt();
            final LocaleList defaultLocales = in.readParcelable(null);
            final String referenceTimeString = in.readString();
            final ZonedDateTime referenceTime = referenceTimeString == null
                    ? null : ZonedDateTime.parse(referenceTimeString);
            final String callingPackageName = in.readString();
            final Bundle extras = in.readBundle();

            final Request request = new Request(text, startIndex, endIndex,
                    defaultLocales, referenceTime, extras);
            request.setCallingPackageName(callingPackageName);
            return request;
        }

        public static final Parcelable.Creator<Request> CREATOR =
                new Parcelable.Creator<Request>() {
                    @Override
                    public Request createFromParcel(Parcel in) {
                        return new Request(in);
                        return readFromParcel(in);
                    }

                    @Override
@@ -698,15 +734,6 @@ public final class TextClassification implements Parcelable {
                        return new Request[size];
                    }
                };

        private Request(Parcel in) {
            mText = in.readString();
            mStartIndex = in.readInt();
            mEndIndex = in.readInt();
            mDefaultLocales = in.readInt() == 0 ? null : LocaleList.CREATOR.createFromParcel(in);
            mReferenceTime = in.readInt() == 0 ? null : ZonedDateTime.parse(in.readString());
            mExtras = in.readBundle();
        }
    }

    @Override
+34 −8
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ import android.os.Parcel;
import android.os.Parcelable;
import android.util.ArrayMap;

import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.util.Preconditions;

import java.util.Locale;
@@ -90,7 +91,7 @@ public final class TextLanguage implements Parcelable {
     * confidence to low confidence.
     *
     * @throws IndexOutOfBoundsException if the specified index is out of range.
     * @see #getLocaleCount() for the number of locales available.
     * @see #getLocaleHypothesisCount() for the number of locales available.
     */
    @NonNull
    public ULocale getLocale(int index) {
@@ -222,11 +223,12 @@ public final class TextLanguage implements Parcelable {
        };

        private final CharSequence mText;
        private final Bundle mBundle;
        private final Bundle mExtra;
        @Nullable private String mCallingPackageName;

        private Request(CharSequence text, Bundle bundle) {
            mText = text;
            mBundle = bundle;
            mExtra = bundle;
        }

        /**
@@ -237,6 +239,25 @@ public final class TextLanguage implements Parcelable {
            return mText;
        }

        /**
         * Sets the name of the package that is sending this request.
         * Package-private for SystemTextClassifier's use.
         * @hide
         */
        @VisibleForTesting(visibility = VisibleForTesting.Visibility.PACKAGE)
        public void setCallingPackageName(@Nullable String callingPackageName) {
            mCallingPackageName = callingPackageName;
        }

        /**
         * Returns the name of the package that sent this request.
         * This returns null if no calling package name is set.
         */
        @Nullable
        public String getCallingPackageName() {
            return mCallingPackageName;
        }

        /**
         * Returns a bundle containing non-structured extra information about this request.
         *
@@ -246,7 +267,7 @@ public final class TextLanguage implements Parcelable {
         */
        @NonNull
        public Bundle getExtras() {
            return mBundle.deepCopy();
            return mExtra.deepCopy();
        }

        @Override
@@ -257,13 +278,18 @@ public final class TextLanguage implements Parcelable {
        @Override
        public void writeToParcel(Parcel dest, int flags) {
            dest.writeCharSequence(mText);
            dest.writeBundle(mBundle);
            dest.writeString(mCallingPackageName);
            dest.writeBundle(mExtra);
        }

        private static Request readFromParcel(Parcel in) {
            return new Request(
                    in.readCharSequence(),
                    in.readBundle());
            final CharSequence text = in.readCharSequence();
            final String callingPackageName = in.readString();
            final Bundle extra = in.readBundle();

            final Request request = new Request(text, extra);
            request.setCallingPackageName(callingPackageName);
            return request;
        }

        /**
Loading