use of android.icu.text.DisplayContext in project android_frameworks_base by DirtyUnicorns.
the class InputMethodSubtype method getDisplayName.
/**
* Returns a display name for this subtype.
*
* <p>If {@code subtypeNameResId} is specified (!= 0) text generated from that resource will
* be returned. The localized string resource of the label should be capitalized for inclusion
* in UI lists. The string resource may contain at most one {@code %s}. If present, the
* {@code %s} will be replaced with the display name of the subtype locale in the user's locale.
*
* <p>If {@code subtypeNameResId} is not specified (== 0) the framework returns the display name
* of the subtype locale, as capitalized for use in UI lists, in the user's locale.
*
* @param context {@link Context} will be used for getting {@link Locale} and
* {@link android.content.pm.PackageManager}.
* @param packageName The package name of the input method.
* @param appInfo The {@link ApplicationInfo} of the input method.
* @return a display name for this subtype.
*/
@NonNull
public CharSequence getDisplayName(Context context, String packageName, ApplicationInfo appInfo) {
if (mSubtypeNameResId == 0) {
return getLocaleDisplayName(getLocaleFromContext(context), getLocaleObject(), DisplayContext.CAPITALIZATION_FOR_UI_LIST_OR_MENU);
}
final CharSequence subtypeName = context.getPackageManager().getText(packageName, mSubtypeNameResId, appInfo);
if (TextUtils.isEmpty(subtypeName)) {
return "";
}
final String subtypeNameString = subtypeName.toString();
String replacementString;
if (containsExtraValueKey(EXTRA_KEY_UNTRANSLATABLE_STRING_IN_SUBTYPE_NAME)) {
replacementString = getExtraValueOf(EXTRA_KEY_UNTRANSLATABLE_STRING_IN_SUBTYPE_NAME);
} else {
final DisplayContext displayContext;
if (TextUtils.equals(subtypeNameString, "%s")) {
displayContext = DisplayContext.CAPITALIZATION_FOR_UI_LIST_OR_MENU;
} else if (subtypeNameString.startsWith("%s")) {
displayContext = DisplayContext.CAPITALIZATION_FOR_BEGINNING_OF_SENTENCE;
} else {
displayContext = DisplayContext.CAPITALIZATION_FOR_MIDDLE_OF_SENTENCE;
}
replacementString = getLocaleDisplayName(getLocaleFromContext(context), getLocaleObject(), displayContext);
}
if (replacementString == null) {
replacementString = "";
}
try {
return String.format(subtypeNameString, replacementString);
} catch (IllegalFormatException e) {
Slog.w(TAG, "Found illegal format in subtype name(" + subtypeName + "): " + e);
return "";
}
}
use of android.icu.text.DisplayContext in project android_frameworks_base by AOSPA.
the class InputMethodSubtype method getDisplayName.
/**
* Returns a display name for this subtype.
*
* <p>If {@code subtypeNameResId} is specified (!= 0) text generated from that resource will
* be returned. The localized string resource of the label should be capitalized for inclusion
* in UI lists. The string resource may contain at most one {@code %s}. If present, the
* {@code %s} will be replaced with the display name of the subtype locale in the user's locale.
*
* <p>If {@code subtypeNameResId} is not specified (== 0) the framework returns the display name
* of the subtype locale, as capitalized for use in UI lists, in the user's locale.
*
* @param context {@link Context} will be used for getting {@link Locale} and
* {@link android.content.pm.PackageManager}.
* @param packageName The package name of the input method.
* @param appInfo The {@link ApplicationInfo} of the input method.
* @return a display name for this subtype.
*/
@NonNull
public CharSequence getDisplayName(Context context, String packageName, ApplicationInfo appInfo) {
if (mSubtypeNameResId == 0) {
return getLocaleDisplayName(getLocaleFromContext(context), getLocaleObject(), DisplayContext.CAPITALIZATION_FOR_UI_LIST_OR_MENU);
}
final CharSequence subtypeName = context.getPackageManager().getText(packageName, mSubtypeNameResId, appInfo);
if (TextUtils.isEmpty(subtypeName)) {
return "";
}
final String subtypeNameString = subtypeName.toString();
String replacementString;
if (containsExtraValueKey(EXTRA_KEY_UNTRANSLATABLE_STRING_IN_SUBTYPE_NAME)) {
replacementString = getExtraValueOf(EXTRA_KEY_UNTRANSLATABLE_STRING_IN_SUBTYPE_NAME);
} else {
final DisplayContext displayContext;
if (TextUtils.equals(subtypeNameString, "%s")) {
displayContext = DisplayContext.CAPITALIZATION_FOR_UI_LIST_OR_MENU;
} else if (subtypeNameString.startsWith("%s")) {
displayContext = DisplayContext.CAPITALIZATION_FOR_BEGINNING_OF_SENTENCE;
} else {
displayContext = DisplayContext.CAPITALIZATION_FOR_MIDDLE_OF_SENTENCE;
}
replacementString = getLocaleDisplayName(getLocaleFromContext(context), getLocaleObject(), displayContext);
}
if (replacementString == null) {
replacementString = "";
}
try {
return String.format(subtypeNameString, replacementString);
} catch (IllegalFormatException e) {
Slog.w(TAG, "Found illegal format in subtype name(" + subtypeName + "): " + e);
return "";
}
}
use of android.icu.text.DisplayContext in project android_frameworks_base by ResurrectionRemix.
the class InputMethodSubtype method getDisplayName.
/**
* Returns a display name for this subtype.
*
* <p>If {@code subtypeNameResId} is specified (!= 0) text generated from that resource will
* be returned. The localized string resource of the label should be capitalized for inclusion
* in UI lists. The string resource may contain at most one {@code %s}. If present, the
* {@code %s} will be replaced with the display name of the subtype locale in the user's locale.
*
* <p>If {@code subtypeNameResId} is not specified (== 0) the framework returns the display name
* of the subtype locale, as capitalized for use in UI lists, in the user's locale.
*
* @param context {@link Context} will be used for getting {@link Locale} and
* {@link android.content.pm.PackageManager}.
* @param packageName The package name of the input method.
* @param appInfo The {@link ApplicationInfo} of the input method.
* @return a display name for this subtype.
*/
@NonNull
public CharSequence getDisplayName(Context context, String packageName, ApplicationInfo appInfo) {
if (mSubtypeNameResId == 0) {
return getLocaleDisplayName(getLocaleFromContext(context), getLocaleObject(), DisplayContext.CAPITALIZATION_FOR_UI_LIST_OR_MENU);
}
final CharSequence subtypeName = context.getPackageManager().getText(packageName, mSubtypeNameResId, appInfo);
if (TextUtils.isEmpty(subtypeName)) {
return "";
}
final String subtypeNameString = subtypeName.toString();
String replacementString;
if (containsExtraValueKey(EXTRA_KEY_UNTRANSLATABLE_STRING_IN_SUBTYPE_NAME)) {
replacementString = getExtraValueOf(EXTRA_KEY_UNTRANSLATABLE_STRING_IN_SUBTYPE_NAME);
} else {
final DisplayContext displayContext;
if (TextUtils.equals(subtypeNameString, "%s")) {
displayContext = DisplayContext.CAPITALIZATION_FOR_UI_LIST_OR_MENU;
} else if (subtypeNameString.startsWith("%s")) {
displayContext = DisplayContext.CAPITALIZATION_FOR_BEGINNING_OF_SENTENCE;
} else {
displayContext = DisplayContext.CAPITALIZATION_FOR_MIDDLE_OF_SENTENCE;
}
replacementString = getLocaleDisplayName(getLocaleFromContext(context), getLocaleObject(), displayContext);
}
if (replacementString == null) {
replacementString = "";
}
try {
return String.format(subtypeNameString, replacementString);
} catch (IllegalFormatException e) {
Slog.w(TAG, "Found illegal format in subtype name(" + subtypeName + "): " + e);
return "";
}
}
use of android.icu.text.DisplayContext in project android_frameworks_base by crdroidandroid.
the class InputMethodSubtype method getDisplayName.
/**
* Returns a display name for this subtype.
*
* <p>If {@code subtypeNameResId} is specified (!= 0) text generated from that resource will
* be returned. The localized string resource of the label should be capitalized for inclusion
* in UI lists. The string resource may contain at most one {@code %s}. If present, the
* {@code %s} will be replaced with the display name of the subtype locale in the user's locale.
*
* <p>If {@code subtypeNameResId} is not specified (== 0) the framework returns the display name
* of the subtype locale, as capitalized for use in UI lists, in the user's locale.
*
* @param context {@link Context} will be used for getting {@link Locale} and
* {@link android.content.pm.PackageManager}.
* @param packageName The package name of the input method.
* @param appInfo The {@link ApplicationInfo} of the input method.
* @return a display name for this subtype.
*/
@NonNull
public CharSequence getDisplayName(Context context, String packageName, ApplicationInfo appInfo) {
if (mSubtypeNameResId == 0) {
return getLocaleDisplayName(getLocaleFromContext(context), getLocaleObject(), DisplayContext.CAPITALIZATION_FOR_UI_LIST_OR_MENU);
}
final CharSequence subtypeName = context.getPackageManager().getText(packageName, mSubtypeNameResId, appInfo);
if (TextUtils.isEmpty(subtypeName)) {
return "";
}
final String subtypeNameString = subtypeName.toString();
String replacementString;
if (containsExtraValueKey(EXTRA_KEY_UNTRANSLATABLE_STRING_IN_SUBTYPE_NAME)) {
replacementString = getExtraValueOf(EXTRA_KEY_UNTRANSLATABLE_STRING_IN_SUBTYPE_NAME);
} else {
final DisplayContext displayContext;
if (TextUtils.equals(subtypeNameString, "%s")) {
displayContext = DisplayContext.CAPITALIZATION_FOR_UI_LIST_OR_MENU;
} else if (subtypeNameString.startsWith("%s")) {
displayContext = DisplayContext.CAPITALIZATION_FOR_BEGINNING_OF_SENTENCE;
} else {
displayContext = DisplayContext.CAPITALIZATION_FOR_MIDDLE_OF_SENTENCE;
}
replacementString = getLocaleDisplayName(getLocaleFromContext(context), getLocaleObject(), displayContext);
}
if (replacementString == null) {
replacementString = "";
}
try {
return String.format(subtypeNameString, replacementString);
} catch (IllegalFormatException e) {
Slog.w(TAG, "Found illegal format in subtype name(" + subtypeName + "): " + e);
return "";
}
}
use of android.icu.text.DisplayContext in project platform_frameworks_base by android.
the class InputMethodSubtype method getDisplayName.
/**
* Returns a display name for this subtype.
*
* <p>If {@code subtypeNameResId} is specified (!= 0) text generated from that resource will
* be returned. The localized string resource of the label should be capitalized for inclusion
* in UI lists. The string resource may contain at most one {@code %s}. If present, the
* {@code %s} will be replaced with the display name of the subtype locale in the user's locale.
*
* <p>If {@code subtypeNameResId} is not specified (== 0) the framework returns the display name
* of the subtype locale, as capitalized for use in UI lists, in the user's locale.
*
* @param context {@link Context} will be used for getting {@link Locale} and
* {@link android.content.pm.PackageManager}.
* @param packageName The package name of the input method.
* @param appInfo The {@link ApplicationInfo} of the input method.
* @return a display name for this subtype.
*/
@NonNull
public CharSequence getDisplayName(Context context, String packageName, ApplicationInfo appInfo) {
if (mSubtypeNameResId == 0) {
return getLocaleDisplayName(getLocaleFromContext(context), getLocaleObject(), DisplayContext.CAPITALIZATION_FOR_UI_LIST_OR_MENU);
}
final CharSequence subtypeName = context.getPackageManager().getText(packageName, mSubtypeNameResId, appInfo);
if (TextUtils.isEmpty(subtypeName)) {
return "";
}
final String subtypeNameString = subtypeName.toString();
String replacementString;
if (containsExtraValueKey(EXTRA_KEY_UNTRANSLATABLE_STRING_IN_SUBTYPE_NAME)) {
replacementString = getExtraValueOf(EXTRA_KEY_UNTRANSLATABLE_STRING_IN_SUBTYPE_NAME);
} else {
final DisplayContext displayContext;
if (TextUtils.equals(subtypeNameString, "%s")) {
displayContext = DisplayContext.CAPITALIZATION_FOR_UI_LIST_OR_MENU;
} else if (subtypeNameString.startsWith("%s")) {
displayContext = DisplayContext.CAPITALIZATION_FOR_BEGINNING_OF_SENTENCE;
} else {
displayContext = DisplayContext.CAPITALIZATION_FOR_MIDDLE_OF_SENTENCE;
}
replacementString = getLocaleDisplayName(getLocaleFromContext(context), getLocaleObject(), displayContext);
}
if (replacementString == null) {
replacementString = "";
}
try {
return String.format(subtypeNameString, replacementString);
} catch (IllegalFormatException e) {
Slog.w(TAG, "Found illegal format in subtype name(" + subtypeName + "): " + e);
return "";
}
}
Aggregations