Move some static methods from SubtypeSwitcher to Utils

Change-Id: I3ea8ffcdefcefaa82ae76a31bb65977009d8a040
This commit is contained in:
Tadashi G. Takaoka 2011-08-24 12:44:33 +09:00
parent f77009ac3a
commit 57f05f4412
5 changed files with 36 additions and 36 deletions

View file

@ -21,7 +21,6 @@ import com.android.inputmethod.latin.DictionaryFactory;
import com.android.inputmethod.latin.R; import com.android.inputmethod.latin.R;
import com.android.inputmethod.latin.Settings; import com.android.inputmethod.latin.Settings;
import com.android.inputmethod.latin.SharedPreferencesCompat; import com.android.inputmethod.latin.SharedPreferencesCompat;
import com.android.inputmethod.latin.SubtypeSwitcher;
import com.android.inputmethod.latin.Utils; import com.android.inputmethod.latin.Utils;
import org.xmlpull.v1.XmlPullParserException; import org.xmlpull.v1.XmlPullParserException;
@ -237,12 +236,12 @@ public class InputLanguageSelection extends PreferenceActivity {
if (finalSize == 0) { if (finalSize == 0) {
preprocess[finalSize++] = preprocess[finalSize++] =
new LocaleEntry(SubtypeSwitcher.getFullDisplayName(l, false), l); new LocaleEntry(Utils.getFullDisplayName(l, false), l);
} else { } else {
if (s.equals("zz_ZZ")) { if (s.equals("zz_ZZ")) {
// ignore this locale // ignore this locale
} else { } else {
final String displayName = SubtypeSwitcher.getFullDisplayName(l, false); final String displayName = Utils.getFullDisplayName(l, false);
preprocess[finalSize++] = new LocaleEntry(displayName, l); preprocess[finalSize++] = new LocaleEntry(displayName, l);
} }
} }

View file

@ -18,6 +18,7 @@ package com.android.inputmethod.deprecated.voice;
import com.android.inputmethod.latin.R; import com.android.inputmethod.latin.R;
import com.android.inputmethod.latin.SubtypeSwitcher; import com.android.inputmethod.latin.SubtypeSwitcher;
import com.android.inputmethod.latin.Utils;
import android.content.Context; import android.content.Context;
import android.content.res.Resources; import android.content.res.Resources;
@ -221,7 +222,7 @@ public class RecognitionView {
Locale locale = SubtypeSwitcher.getInstance().getInputLocale(); Locale locale = SubtypeSwitcher.getInstance().getInputLocale();
mLanguage.setVisibility(View.VISIBLE); mLanguage.setVisibility(View.VISIBLE);
mLanguage.setText(SubtypeSwitcher.getFullDisplayName(locale, true)); mLanguage.setText(Utils.getFullDisplayName(locale, true));
mPopupLayout.setBackgroundDrawable(mListeningBorder); mPopupLayout.setBackgroundDrawable(mListeningBorder);
break; break;

View file

@ -216,7 +216,7 @@ public class LatinKeyboard extends Keyboard {
final Rect bounds = new Rect(); final Rect bounds = new Rect();
// Estimate appropriate language name text size to fit in maxTextWidth. // 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); int textWidth = getTextWidth(paint, language, origTextSize, bounds);
// Assuming text width and text size are proportional to each other. // Assuming text width and text size are proportional to each other.
float textSize = origTextSize * Math.min(width / textWidth, 1.0f); float textSize = origTextSize * Math.min(width / textWidth, 1.0f);
@ -228,7 +228,7 @@ public class LatinKeyboard extends Keyboard {
final boolean useShortName; final boolean useShortName;
if (useMiddleName) { if (useMiddleName) {
language = SubtypeSwitcher.getMiddleDisplayLanguage(locale); language = Utils.getMiddleDisplayLanguage(locale);
textWidth = getTextWidth(paint, language, origTextSize, bounds); textWidth = getTextWidth(paint, language, origTextSize, bounds);
textSize = origTextSize * Math.min(width / textWidth, 1.0f); textSize = origTextSize * Math.min(width / textWidth, 1.0f);
useShortName = (textSize / origTextSize < MINIMUM_SCALE_OF_LANGUAGE_NAME) useShortName = (textSize / origTextSize < MINIMUM_SCALE_OF_LANGUAGE_NAME)
@ -238,7 +238,7 @@ public class LatinKeyboard extends Keyboard {
} }
if (useShortName) { if (useShortName) {
language = SubtypeSwitcher.getShortDisplayLanguage(locale); language = Utils.getShortDisplayLanguage(locale);
textWidth = getTextWidth(paint, language, origTextSize, bounds); textWidth = getTextWidth(paint, language, origTextSize, bounds);
textSize = origTextSize * Math.min(width / textWidth, 1.0f); textSize = origTextSize * Math.min(width / textWidth, 1.0f);
} }

View file

@ -492,36 +492,8 @@ public class SubtypeSwitcher {
KeyboardSwitcher.getInstance().getKeyboardView().getWindowToken()); 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() { public String getInputLanguageName() {
return getDisplayLanguage(getInputLocale()); return Utils.getDisplayLanguage(getInputLocale());
} }
///////////////////////////// /////////////////////////////

View file

@ -769,4 +769,32 @@ public class Utils {
StringBuilderPool.recycle((StringBuilder)garbage); 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);
}
} }