From 57f05f44123fd458203a6f776f2ff904889d2616 Mon Sep 17 00:00:00 2001
From: "Tadashi G. Takaoka" <takaoka@google.com>
Date: Wed, 24 Aug 2011 12:44:33 +0900
Subject: [PATCH] Move some static methods from SubtypeSwitcher to Utils

Change-Id: I3ea8ffcdefcefaa82ae76a31bb65977009d8a040
---
 .../InputLanguageSelection.java               |  5 ++--
 .../deprecated/voice/RecognitionView.java     |  3 +-
 .../inputmethod/keyboard/LatinKeyboard.java   |  6 ++--
 .../inputmethod/latin/SubtypeSwitcher.java    | 30 +------------------
 .../com/android/inputmethod/latin/Utils.java  | 28 +++++++++++++++++
 5 files changed, 36 insertions(+), 36 deletions(-)

diff --git a/java/src/com/android/inputmethod/deprecated/languageswitcher/InputLanguageSelection.java b/java/src/com/android/inputmethod/deprecated/languageswitcher/InputLanguageSelection.java
index e75559e62..7eb5acda8 100644
--- a/java/src/com/android/inputmethod/deprecated/languageswitcher/InputLanguageSelection.java
+++ b/java/src/com/android/inputmethod/deprecated/languageswitcher/InputLanguageSelection.java
@@ -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);
                 }
             }
diff --git a/java/src/com/android/inputmethod/deprecated/voice/RecognitionView.java b/java/src/com/android/inputmethod/deprecated/voice/RecognitionView.java
index dcb826e8f..71d15dc3d 100644
--- a/java/src/com/android/inputmethod/deprecated/voice/RecognitionView.java
+++ b/java/src/com/android/inputmethod/deprecated/voice/RecognitionView.java
@@ -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;
diff --git a/java/src/com/android/inputmethod/keyboard/LatinKeyboard.java b/java/src/com/android/inputmethod/keyboard/LatinKeyboard.java
index 1b6f57b92..e18d3a6a8 100644
--- a/java/src/com/android/inputmethod/keyboard/LatinKeyboard.java
+++ b/java/src/com/android/inputmethod/keyboard/LatinKeyboard.java
@@ -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);
         }
diff --git a/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java b/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java
index 0a391a77e..369b11c11 100644
--- a/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java
+++ b/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java
@@ -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());
     }
 
     /////////////////////////////
diff --git a/java/src/com/android/inputmethod/latin/Utils.java b/java/src/com/android/inputmethod/latin/Utils.java
index 36fbfd951..ff051dcbb 100644
--- a/java/src/com/android/inputmethod/latin/Utils.java
+++ b/java/src/com/android/inputmethod/latin/Utils.java
@@ -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);
+    }
 }