Loading core/api/current.txt +2 −0 Original line number Diff line number Diff line Loading @@ -53853,6 +53853,7 @@ package android.view.inputmethod { method @NonNull public String getLanguageTag(); method @Deprecated @NonNull public String getLocale(); method public String getMode(); method @NonNull public CharSequence getNameOverride(); method public int getNameResId(); method public boolean isAsciiCapable(); method public boolean isAuxiliary(); Loading @@ -53873,6 +53874,7 @@ package android.view.inputmethod { method public android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder setSubtypeId(int); method public android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder setSubtypeLocale(String); method public android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder setSubtypeMode(String); method @NonNull public android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder setSubtypeNameOverride(@NonNull CharSequence); method public android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder setSubtypeNameResId(int); } core/java/android/view/inputmethod/InputMethodSubtype.java +51 −20 Original line number Diff line number Diff line Loading @@ -86,6 +86,7 @@ public final class InputMethodSubtype implements Parcelable { private final int mSubtypeHashCode; private final int mSubtypeIconResId; private final int mSubtypeNameResId; private final CharSequence mSubtypeNameOverride; private final int mSubtypeId; private final String mSubtypeLocale; private final String mSubtypeLanguageTag; Loading Loading @@ -173,6 +174,21 @@ public final class InputMethodSubtype implements Parcelable { } private int mSubtypeNameResId = 0; /** * Sets the untranslatable name of the subtype. * * This string is used as the subtype's display name if subtype's name res Id is 0. * * @param nameOverride is the name to set. */ @NonNull public InputMethodSubtypeBuilder setSubtypeNameOverride( @NonNull CharSequence nameOverride) { mSubtypeNameOverride = nameOverride; return this; } private CharSequence mSubtypeNameOverride = ""; /** * @param subtypeId is the unique ID for this subtype. The input method framework keeps * track of enabled subtypes by ID. When the IME package gets upgraded, enabled IDs will Loading Loading @@ -231,8 +247,8 @@ public final class InputMethodSubtype implements Parcelable { } } private static InputMethodSubtypeBuilder getBuilder(int nameId, int iconId, String locale, String mode, String extraValue, boolean isAuxiliary, private static InputMethodSubtypeBuilder getBuilder(int nameId, int iconId, String locale, String mode, String extraValue, boolean isAuxiliary, boolean overridesImplicitlyEnabledSubtype, int id, boolean isAsciiCapable) { final InputMethodSubtypeBuilder builder = new InputMethodSubtypeBuilder(); builder.mSubtypeNameResId = nameId; Loading Loading @@ -305,6 +321,7 @@ public final class InputMethodSubtype implements Parcelable { */ private InputMethodSubtype(InputMethodSubtypeBuilder builder) { mSubtypeNameResId = builder.mSubtypeNameResId; mSubtypeNameOverride = builder.mSubtypeNameOverride; mSubtypeIconResId = builder.mSubtypeIconResId; mSubtypeLocale = builder.mSubtypeLocale; mSubtypeLanguageTag = builder.mSubtypeLanguageTag; Loading @@ -327,6 +344,8 @@ public final class InputMethodSubtype implements Parcelable { InputMethodSubtype(Parcel source) { String s; mSubtypeNameResId = source.readInt(); CharSequence cs = TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(source); mSubtypeNameOverride = cs != null ? cs : ""; mSubtypeIconResId = source.readInt(); s = source.readString(); mSubtypeLocale = s != null ? s : ""; Loading @@ -350,6 +369,14 @@ public final class InputMethodSubtype implements Parcelable { return mSubtypeNameResId; } /** * @return The subtype's untranslatable name string. */ @NonNull public CharSequence getNameOverride() { return mSubtypeNameOverride; } /** * @return Resource ID of the subtype icon drawable. */ Loading Loading @@ -532,8 +559,11 @@ public final class InputMethodSubtype implements Parcelable { public CharSequence getDisplayName( Context context, String packageName, ApplicationInfo appInfo) { if (mSubtypeNameResId == 0) { return getLocaleDisplayName(getLocaleFromContext(context), getLocaleObject(), DisplayContext.CAPITALIZATION_FOR_UI_LIST_OR_MENU); return TextUtils.isEmpty(mSubtypeNameOverride) ? getLocaleDisplayName( getLocaleFromContext(context), getLocaleObject(), DisplayContext.CAPITALIZATION_FOR_UI_LIST_OR_MENU) : mSubtypeNameOverride; } final CharSequence subtypeName = context.getPackageManager().getText( Loading Loading @@ -698,6 +728,7 @@ public final class InputMethodSubtype implements Parcelable { @Override public void writeToParcel(Parcel dest, int parcelableFlags) { dest.writeInt(mSubtypeNameResId); TextUtils.writeToParcel(mSubtypeNameOverride, dest, parcelableFlags); dest.writeInt(mSubtypeIconResId); dest.writeString(mSubtypeLocale); dest.writeString(mSubtypeLanguageTag); Loading services/core/java/com/android/server/inputmethod/AdditionalSubtypeUtils.java +5 −0 Original line number Diff line number Diff line Loading @@ -58,6 +58,7 @@ final class AdditionalSubtypeUtils { private static final String NODE_IMI = "imi"; private static final String ATTR_ID = "id"; private static final String ATTR_LABEL = "label"; private static final String ATTR_NAME_OVERRIDE = "nameOverride"; private static final String ATTR_ICON = "icon"; private static final String ATTR_IME_SUBTYPE_ID = "subtypeId"; private static final String ATTR_IME_SUBTYPE_LOCALE = "imeSubtypeLocale"; Loading Loading @@ -161,6 +162,7 @@ final class AdditionalSubtypeUtils { } out.attributeInt(null, ATTR_ICON, subtype.getIconResId()); out.attributeInt(null, ATTR_LABEL, subtype.getNameResId()); out.attribute(null, ATTR_NAME_OVERRIDE, subtype.getNameOverride().toString()); out.attribute(null, ATTR_IME_SUBTYPE_LOCALE, subtype.getLocale()); out.attribute(null, ATTR_IME_SUBTYPE_LANGUAGE_TAG, subtype.getLanguageTag()); Loading Loading @@ -243,6 +245,8 @@ final class AdditionalSubtypeUtils { } final int icon = parser.getAttributeInt(null, ATTR_ICON); final int label = parser.getAttributeInt(null, ATTR_LABEL); final String untranslatableName = parser.getAttributeValue(null, ATTR_NAME_OVERRIDE); final String imeSubtypeLocale = parser.getAttributeValue(null, ATTR_IME_SUBTYPE_LOCALE); final String languageTag = Loading @@ -258,6 +262,7 @@ final class AdditionalSubtypeUtils { final InputMethodSubtype.InputMethodSubtypeBuilder builder = new InputMethodSubtype.InputMethodSubtypeBuilder() .setSubtypeNameResId(label) .setSubtypeNameOverride(untranslatableName) .setSubtypeIconResId(icon) .setSubtypeLocale(imeSubtypeLocale) .setLanguageTag(languageTag) Loading Loading
core/api/current.txt +2 −0 Original line number Diff line number Diff line Loading @@ -53853,6 +53853,7 @@ package android.view.inputmethod { method @NonNull public String getLanguageTag(); method @Deprecated @NonNull public String getLocale(); method public String getMode(); method @NonNull public CharSequence getNameOverride(); method public int getNameResId(); method public boolean isAsciiCapable(); method public boolean isAuxiliary(); Loading @@ -53873,6 +53874,7 @@ package android.view.inputmethod { method public android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder setSubtypeId(int); method public android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder setSubtypeLocale(String); method public android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder setSubtypeMode(String); method @NonNull public android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder setSubtypeNameOverride(@NonNull CharSequence); method public android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder setSubtypeNameResId(int); }
core/java/android/view/inputmethod/InputMethodSubtype.java +51 −20 Original line number Diff line number Diff line Loading @@ -86,6 +86,7 @@ public final class InputMethodSubtype implements Parcelable { private final int mSubtypeHashCode; private final int mSubtypeIconResId; private final int mSubtypeNameResId; private final CharSequence mSubtypeNameOverride; private final int mSubtypeId; private final String mSubtypeLocale; private final String mSubtypeLanguageTag; Loading Loading @@ -173,6 +174,21 @@ public final class InputMethodSubtype implements Parcelable { } private int mSubtypeNameResId = 0; /** * Sets the untranslatable name of the subtype. * * This string is used as the subtype's display name if subtype's name res Id is 0. * * @param nameOverride is the name to set. */ @NonNull public InputMethodSubtypeBuilder setSubtypeNameOverride( @NonNull CharSequence nameOverride) { mSubtypeNameOverride = nameOverride; return this; } private CharSequence mSubtypeNameOverride = ""; /** * @param subtypeId is the unique ID for this subtype. The input method framework keeps * track of enabled subtypes by ID. When the IME package gets upgraded, enabled IDs will Loading Loading @@ -231,8 +247,8 @@ public final class InputMethodSubtype implements Parcelable { } } private static InputMethodSubtypeBuilder getBuilder(int nameId, int iconId, String locale, String mode, String extraValue, boolean isAuxiliary, private static InputMethodSubtypeBuilder getBuilder(int nameId, int iconId, String locale, String mode, String extraValue, boolean isAuxiliary, boolean overridesImplicitlyEnabledSubtype, int id, boolean isAsciiCapable) { final InputMethodSubtypeBuilder builder = new InputMethodSubtypeBuilder(); builder.mSubtypeNameResId = nameId; Loading Loading @@ -305,6 +321,7 @@ public final class InputMethodSubtype implements Parcelable { */ private InputMethodSubtype(InputMethodSubtypeBuilder builder) { mSubtypeNameResId = builder.mSubtypeNameResId; mSubtypeNameOverride = builder.mSubtypeNameOverride; mSubtypeIconResId = builder.mSubtypeIconResId; mSubtypeLocale = builder.mSubtypeLocale; mSubtypeLanguageTag = builder.mSubtypeLanguageTag; Loading @@ -327,6 +344,8 @@ public final class InputMethodSubtype implements Parcelable { InputMethodSubtype(Parcel source) { String s; mSubtypeNameResId = source.readInt(); CharSequence cs = TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(source); mSubtypeNameOverride = cs != null ? cs : ""; mSubtypeIconResId = source.readInt(); s = source.readString(); mSubtypeLocale = s != null ? s : ""; Loading @@ -350,6 +369,14 @@ public final class InputMethodSubtype implements Parcelable { return mSubtypeNameResId; } /** * @return The subtype's untranslatable name string. */ @NonNull public CharSequence getNameOverride() { return mSubtypeNameOverride; } /** * @return Resource ID of the subtype icon drawable. */ Loading Loading @@ -532,8 +559,11 @@ public final class InputMethodSubtype implements Parcelable { public CharSequence getDisplayName( Context context, String packageName, ApplicationInfo appInfo) { if (mSubtypeNameResId == 0) { return getLocaleDisplayName(getLocaleFromContext(context), getLocaleObject(), DisplayContext.CAPITALIZATION_FOR_UI_LIST_OR_MENU); return TextUtils.isEmpty(mSubtypeNameOverride) ? getLocaleDisplayName( getLocaleFromContext(context), getLocaleObject(), DisplayContext.CAPITALIZATION_FOR_UI_LIST_OR_MENU) : mSubtypeNameOverride; } final CharSequence subtypeName = context.getPackageManager().getText( Loading Loading @@ -698,6 +728,7 @@ public final class InputMethodSubtype implements Parcelable { @Override public void writeToParcel(Parcel dest, int parcelableFlags) { dest.writeInt(mSubtypeNameResId); TextUtils.writeToParcel(mSubtypeNameOverride, dest, parcelableFlags); dest.writeInt(mSubtypeIconResId); dest.writeString(mSubtypeLocale); dest.writeString(mSubtypeLanguageTag); Loading
services/core/java/com/android/server/inputmethod/AdditionalSubtypeUtils.java +5 −0 Original line number Diff line number Diff line Loading @@ -58,6 +58,7 @@ final class AdditionalSubtypeUtils { private static final String NODE_IMI = "imi"; private static final String ATTR_ID = "id"; private static final String ATTR_LABEL = "label"; private static final String ATTR_NAME_OVERRIDE = "nameOverride"; private static final String ATTR_ICON = "icon"; private static final String ATTR_IME_SUBTYPE_ID = "subtypeId"; private static final String ATTR_IME_SUBTYPE_LOCALE = "imeSubtypeLocale"; Loading Loading @@ -161,6 +162,7 @@ final class AdditionalSubtypeUtils { } out.attributeInt(null, ATTR_ICON, subtype.getIconResId()); out.attributeInt(null, ATTR_LABEL, subtype.getNameResId()); out.attribute(null, ATTR_NAME_OVERRIDE, subtype.getNameOverride().toString()); out.attribute(null, ATTR_IME_SUBTYPE_LOCALE, subtype.getLocale()); out.attribute(null, ATTR_IME_SUBTYPE_LANGUAGE_TAG, subtype.getLanguageTag()); Loading Loading @@ -243,6 +245,8 @@ final class AdditionalSubtypeUtils { } final int icon = parser.getAttributeInt(null, ATTR_ICON); final int label = parser.getAttributeInt(null, ATTR_LABEL); final String untranslatableName = parser.getAttributeValue(null, ATTR_NAME_OVERRIDE); final String imeSubtypeLocale = parser.getAttributeValue(null, ATTR_IME_SUBTYPE_LOCALE); final String languageTag = Loading @@ -258,6 +262,7 @@ final class AdditionalSubtypeUtils { final InputMethodSubtype.InputMethodSubtypeBuilder builder = new InputMethodSubtype.InputMethodSubtypeBuilder() .setSubtypeNameResId(label) .setSubtypeNameOverride(untranslatableName) .setSubtypeIconResId(icon) .setSubtypeLocale(imeSubtypeLocale) .setLanguageTag(languageTag) Loading