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

Commit b4ea6ddc authored by Yohei Yukawa's avatar Yohei Yukawa Committed by Android (Google) Code Review
Browse files

Merge "Introduce EditorInfo#locales."

parents d5500501 8d6eeb01
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -42950,6 +42950,7 @@ package android.view.inputmethod {
    field public int initialSelStart;
    field public int inputType;
    field public java.lang.CharSequence label;
    field public android.util.LocaleList locales;
    field public java.lang.String packageName;
    field public java.lang.String privateImeOptions;
  }
+1 −0
Original line number Diff line number Diff line
@@ -45279,6 +45279,7 @@ package android.view.inputmethod {
    field public int initialSelStart;
    field public int inputType;
    field public java.lang.CharSequence label;
    field public android.util.LocaleList locales;
    field public java.lang.String packageName;
    field public java.lang.String privateImeOptions;
  }
+1 −0
Original line number Diff line number Diff line
@@ -42952,6 +42952,7 @@ package android.view.inputmethod {
    field public int initialSelStart;
    field public int inputType;
    field public java.lang.CharSequence label;
    field public android.util.LocaleList locales;
    field public java.lang.String packageName;
    field public java.lang.String privateImeOptions;
  }
+20 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import android.os.Parcel;
import android.os.Parcelable;
import android.text.InputType;
import android.text.TextUtils;
import android.util.LocaleList;
import android.util.Printer;

/**
@@ -339,6 +340,22 @@ public class EditorInfo implements InputType, Parcelable {
     */
    public Bundle extras;

    /**
     * Additional context information that tells what languages are expected by the user.
     *
     * <p><strong>IME authors:</strong> Possible use cases for IME developers would be:</p>
     * <ul>
     *     <li>Automatically switching keyboard layout.</li>
     *     <li>Changing language model for better typing experience.</li>
     * </ul>
     *
     * <p><strong>Editor authors:</strong> Providing this context information can help IMEs to
     * improve text input experience.  For example, chat applications can remember what language is
     * used in the last conversation for each chat session, and put the last used language at the
     * top of {@link #locales}.</p>
     */
    public LocaleList locales = LocaleList.getEmptyLocaleList();

    /**
     * Ensure that the data in this EditorInfo is compatible with an application
     * that was developed against the given target API version.  This can
@@ -393,6 +410,7 @@ public class EditorInfo implements InputType, Parcelable {
                + " fieldId=" + fieldId
                + " fieldName=" + fieldName);
        pw.println(prefix + "extras=" + extras);
        pw.println(prefix + "locales=" + locales);
    }

    /**
@@ -416,6 +434,7 @@ public class EditorInfo implements InputType, Parcelable {
        dest.writeInt(fieldId);
        dest.writeString(fieldName);
        dest.writeBundle(extras);
        locales.writeToParcel(dest, flags);
    }

    /**
@@ -439,6 +458,7 @@ public class EditorInfo implements InputType, Parcelable {
                    res.fieldId = source.readInt();
                    res.fieldName = source.readString();
                    res.extras = source.readBundle();
                    res.locales = LocaleList.CREATOR.createFromParcel(source);
                    return res;
                }

+3 −0
Original line number Diff line number Diff line
@@ -6439,6 +6439,9 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
                outAttrs.initialCapsMode = ic.getCursorCapsMode(getInputType());
                return ic;
            }
            // LocaleList is designed to be immutable.  This is theoretically equivalent to copy
            // the snapshot of the current text locales.
            outAttrs.locales = getTextLocales();
        }
        return null;
    }