Move some static methods from SubtypeSwitcher to Utils
Change-Id: I3ea8ffcdefcefaa82ae76a31bb65977009d8a040main
parent
f77009ac3a
commit
57f05f4412
|
@ -21,7 +21,6 @@ import com.android.inputmethod.latin.DictionaryFactory;
|
|||
import com.android.inputmethod.latin.R;
|
||||
import com.android.inputmethod.latin.Settings;
|
||||
import com.android.inputmethod.latin.SharedPreferencesCompat;
|
||||
import com.android.inputmethod.latin.SubtypeSwitcher;
|
||||
import com.android.inputmethod.latin.Utils;
|
||||
|
||||
import org.xmlpull.v1.XmlPullParserException;
|
||||
|
@ -237,12 +236,12 @@ public class InputLanguageSelection extends PreferenceActivity {
|
|||
|
||||
if (finalSize == 0) {
|
||||
preprocess[finalSize++] =
|
||||
new LocaleEntry(SubtypeSwitcher.getFullDisplayName(l, false), l);
|
||||
new LocaleEntry(Utils.getFullDisplayName(l, false), l);
|
||||
} else {
|
||||
if (s.equals("zz_ZZ")) {
|
||||
// ignore this locale
|
||||
} else {
|
||||
final String displayName = SubtypeSwitcher.getFullDisplayName(l, false);
|
||||
final String displayName = Utils.getFullDisplayName(l, false);
|
||||
preprocess[finalSize++] = new LocaleEntry(displayName, l);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,6 +18,7 @@ package com.android.inputmethod.deprecated.voice;
|
|||
|
||||
import com.android.inputmethod.latin.R;
|
||||
import com.android.inputmethod.latin.SubtypeSwitcher;
|
||||
import com.android.inputmethod.latin.Utils;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
|
@ -221,7 +222,7 @@ public class RecognitionView {
|
|||
Locale locale = SubtypeSwitcher.getInstance().getInputLocale();
|
||||
|
||||
mLanguage.setVisibility(View.VISIBLE);
|
||||
mLanguage.setText(SubtypeSwitcher.getFullDisplayName(locale, true));
|
||||
mLanguage.setText(Utils.getFullDisplayName(locale, true));
|
||||
|
||||
mPopupLayout.setBackgroundDrawable(mListeningBorder);
|
||||
break;
|
||||
|
|
|
@ -216,7 +216,7 @@ public class LatinKeyboard extends Keyboard {
|
|||
final Rect bounds = new Rect();
|
||||
|
||||
// Estimate appropriate language name text size to fit in maxTextWidth.
|
||||
String language = SubtypeSwitcher.getFullDisplayName(locale, true);
|
||||
String language = Utils.getFullDisplayName(locale, true);
|
||||
int textWidth = getTextWidth(paint, language, origTextSize, bounds);
|
||||
// Assuming text width and text size are proportional to each other.
|
||||
float textSize = origTextSize * Math.min(width / textWidth, 1.0f);
|
||||
|
@ -228,7 +228,7 @@ public class LatinKeyboard extends Keyboard {
|
|||
|
||||
final boolean useShortName;
|
||||
if (useMiddleName) {
|
||||
language = SubtypeSwitcher.getMiddleDisplayLanguage(locale);
|
||||
language = Utils.getMiddleDisplayLanguage(locale);
|
||||
textWidth = getTextWidth(paint, language, origTextSize, bounds);
|
||||
textSize = origTextSize * Math.min(width / textWidth, 1.0f);
|
||||
useShortName = (textSize / origTextSize < MINIMUM_SCALE_OF_LANGUAGE_NAME)
|
||||
|
@ -238,7 +238,7 @@ public class LatinKeyboard extends Keyboard {
|
|||
}
|
||||
|
||||
if (useShortName) {
|
||||
language = SubtypeSwitcher.getShortDisplayLanguage(locale);
|
||||
language = Utils.getShortDisplayLanguage(locale);
|
||||
textWidth = getTextWidth(paint, language, origTextSize, bounds);
|
||||
textSize = origTextSize * Math.min(width / textWidth, 1.0f);
|
||||
}
|
||||
|
|
|
@ -492,36 +492,8 @@ public class SubtypeSwitcher {
|
|||
KeyboardSwitcher.getInstance().getKeyboardView().getWindowToken());
|
||||
}
|
||||
|
||||
public static String getFullDisplayName(Locale locale, boolean returnsNameInThisLocale) {
|
||||
if (returnsNameInThisLocale) {
|
||||
return toTitleCase(SubtypeLocale.getFullDisplayName(locale), locale);
|
||||
} else {
|
||||
return toTitleCase(locale.getDisplayName(), locale);
|
||||
}
|
||||
}
|
||||
|
||||
public static String getDisplayLanguage(Locale locale) {
|
||||
return toTitleCase(SubtypeLocale.getFullDisplayName(locale), locale);
|
||||
}
|
||||
|
||||
public static String getMiddleDisplayLanguage(Locale locale) {
|
||||
return toTitleCase((Utils.constructLocaleFromString(
|
||||
locale.getLanguage()).getDisplayLanguage(locale)), locale);
|
||||
}
|
||||
|
||||
public static String getShortDisplayLanguage(Locale locale) {
|
||||
return toTitleCase(locale.getLanguage(), locale);
|
||||
}
|
||||
|
||||
private static String toTitleCase(String s, Locale locale) {
|
||||
if (s.length() == 0) {
|
||||
return s;
|
||||
}
|
||||
return s.toUpperCase(locale).charAt(0) + s.substring(1);
|
||||
}
|
||||
|
||||
public String getInputLanguageName() {
|
||||
return getDisplayLanguage(getInputLocale());
|
||||
return Utils.getDisplayLanguage(getInputLocale());
|
||||
}
|
||||
|
||||
/////////////////////////////
|
||||
|
|
|
@ -769,4 +769,32 @@ public class Utils {
|
|||
StringBuilderPool.recycle((StringBuilder)garbage);
|
||||
}
|
||||
}
|
||||
|
||||
public static String getFullDisplayName(Locale locale, boolean returnsNameInThisLocale) {
|
||||
if (returnsNameInThisLocale) {
|
||||
return toTitleCase(SubtypeLocale.getFullDisplayName(locale), locale);
|
||||
} else {
|
||||
return toTitleCase(locale.getDisplayName(), locale);
|
||||
}
|
||||
}
|
||||
|
||||
public static String getDisplayLanguage(Locale locale) {
|
||||
return toTitleCase(SubtypeLocale.getFullDisplayName(locale), locale);
|
||||
}
|
||||
|
||||
public static String getMiddleDisplayLanguage(Locale locale) {
|
||||
return toTitleCase((constructLocaleFromString(
|
||||
locale.getLanguage()).getDisplayLanguage(locale)), locale);
|
||||
}
|
||||
|
||||
public static String getShortDisplayLanguage(Locale locale) {
|
||||
return toTitleCase(locale.getLanguage(), locale);
|
||||
}
|
||||
|
||||
private static String toTitleCase(String s, Locale locale) {
|
||||
if (s.length() <= 1) {
|
||||
return s;
|
||||
}
|
||||
return s.toUpperCase(locale).charAt(0) + s.substring(1);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue