aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2014-12-12 04:42:07 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-12-12 04:42:09 +0000
commit8cfad7ed64d08c5a131c9c539aa4fc964030c214 (patch)
tree1b018ac4d46eaeb613bf54f938b7a79ad05ddc1a /java/src/com/android/inputmethod/latin
parent498dbfbd9dcd9a03b91b6efe4d0e5b3afb1df078 (diff)
parent4934a88b618f06600e2d725a43bdd2511715b4ca (diff)
downloadlatinime-8cfad7ed64d08c5a131c9c539aa4fc964030c214.tar.gz
latinime-8cfad7ed64d08c5a131c9c539aa4fc964030c214.tar.xz
latinime-8cfad7ed64d08c5a131c9c539aa4fc964030c214.zip
Merge "Make LanguageOnSpacebarHelper as utility class"
Diffstat (limited to '')
-rw-r--r--java/src/com/android/inputmethod/latin/SubtypeSwitcher.java13
-rw-r--r--java/src/com/android/inputmethod/latin/utils/LanguageOnSpacebarUtils.java (renamed from java/src/com/android/inputmethod/keyboard/internal/LanguageOnSpacebarHelper.java)34
2 files changed, 22 insertions, 25 deletions
diff --git a/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java b/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java
index 92ba6c2d9..d7a03d40b 100644
--- a/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java
+++ b/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java
@@ -20,7 +20,7 @@ import android.content.Context;
import android.content.res.Resources;
import android.view.inputmethod.InputMethodSubtype;
-import com.android.inputmethod.keyboard.internal.LanguageOnSpacebarHelper;
+import com.android.inputmethod.latin.utils.LanguageOnSpacebarUtils;
import com.android.inputmethod.latin.utils.SubtypeLocaleUtils;
import java.util.List;
@@ -33,9 +33,6 @@ public final class SubtypeSwitcher {
private /* final */ RichInputMethodManager mRichImm;
private /* final */ Resources mResources;
- private final LanguageOnSpacebarHelper mLanguageOnSpacebarHelper =
- new LanguageOnSpacebarHelper();
-
public static SubtypeSwitcher getInstance() {
return sInstance;
}
@@ -68,18 +65,14 @@ public final class SubtypeSwitcher {
public void updateParametersOnStartInputView() {
final List<InputMethodSubtype> enabledSubtypesOfThisIme =
mRichImm.getMyEnabledInputMethodSubtypeList(true);
- mLanguageOnSpacebarHelper.onUpdateEnabledSubtypes(enabledSubtypesOfThisIme);
+ LanguageOnSpacebarUtils.setEnabledSubtypes(enabledSubtypesOfThisIme);
}
// Update the current subtype. LatinIME.onCurrentInputMethodSubtypeChanged calls this function.
public void onSubtypeChanged(@Nonnull final RichInputMethodSubtype richSubtype) {
final boolean implicitlyEnabledSubtype = mRichImm
.checkIfSubtypeBelongsToThisImeAndImplicitlyEnabled(richSubtype.getRawSubtype());
- mLanguageOnSpacebarHelper.onSubtypeChanged(
+ LanguageOnSpacebarUtils.onSubtypeChanged(
richSubtype, implicitlyEnabledSubtype, mResources.getConfiguration().locale);
}
-
- public int getLanguageOnSpacebarFormatType(final RichInputMethodSubtype subtype) {
- return mLanguageOnSpacebarHelper.getLanguageOnSpacebarFormatType(subtype);
- }
}
diff --git a/java/src/com/android/inputmethod/keyboard/internal/LanguageOnSpacebarHelper.java b/java/src/com/android/inputmethod/latin/utils/LanguageOnSpacebarUtils.java
index 8ed80107a..fa1583b7a 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/LanguageOnSpacebarHelper.java
+++ b/java/src/com/android/inputmethod/latin/utils/LanguageOnSpacebarUtils.java
@@ -14,12 +14,11 @@
* limitations under the License.
*/
-package com.android.inputmethod.keyboard.internal;
+package com.android.inputmethod.latin.utils;
import android.view.inputmethod.InputMethodSubtype;
import com.android.inputmethod.latin.RichInputMethodSubtype;
-import com.android.inputmethod.latin.utils.SubtypeLocaleUtils;
import java.util.Collections;
import java.util.List;
@@ -30,21 +29,26 @@ import javax.annotation.Nonnull;
/**
* This class determines that the language name on the spacebar should be displayed in what format.
*/
-public final class LanguageOnSpacebarHelper {
+public final class LanguageOnSpacebarUtils {
public static final int FORMAT_TYPE_NONE = 0;
public static final int FORMAT_TYPE_LANGUAGE_ONLY = 1;
public static final int FORMAT_TYPE_FULL_LOCALE = 2;
public static final int FORMAT_TYPE_MULTIPLE = 3;
- private List<InputMethodSubtype> mEnabledSubtypes = Collections.emptyList();
- private boolean mIsSystemLanguageSameAsInputLanguage;
+ private static List<InputMethodSubtype> sEnabledSubtypes = Collections.emptyList();
+ private static boolean sIsSystemLanguageSameAsInputLanguage;
- public int getLanguageOnSpacebarFormatType(@Nonnull final RichInputMethodSubtype subtype) {
+ private LanguageOnSpacebarUtils() {
+ // This utility class is not publicly instantiable.
+ }
+
+ public static int getLanguageOnSpacebarFormatType(
+ @Nonnull final RichInputMethodSubtype subtype) {
if (subtype.isNoLanguage()) {
return FORMAT_TYPE_FULL_LOCALE;
}
// Only this subtype is enabled and equals to the system locale.
- if (mEnabledSubtypes.size() < 2 && mIsSystemLanguageSameAsInputLanguage) {
+ if (sEnabledSubtypes.size() < 2 && sIsSystemLanguageSameAsInputLanguage) {
return FORMAT_TYPE_NONE;
}
final Locale[] locales = subtype.getLocales();
@@ -54,7 +58,7 @@ public final class LanguageOnSpacebarHelper {
final String keyboardLanguage = locales[0].getLanguage();
final String keyboardLayout = subtype.getKeyboardLayoutSetName();
int sameLanguageAndLayoutCount = 0;
- for (final InputMethodSubtype ims : mEnabledSubtypes) {
+ for (final InputMethodSubtype ims : sEnabledSubtypes) {
final String language = SubtypeLocaleUtils.getSubtypeLocale(ims).getLanguage();
if (keyboardLanguage.equals(language) && keyboardLayout.equals(
SubtypeLocaleUtils.getKeyboardLayoutSetName(ims))) {
@@ -67,30 +71,30 @@ public final class LanguageOnSpacebarHelper {
: FORMAT_TYPE_LANGUAGE_ONLY;
}
- public void onUpdateEnabledSubtypes(@Nonnull final List<InputMethodSubtype> enabledSubtypes) {
- mEnabledSubtypes = enabledSubtypes;
+ public static void setEnabledSubtypes(@Nonnull final List<InputMethodSubtype> enabledSubtypes) {
+ sEnabledSubtypes = enabledSubtypes;
}
- public void onSubtypeChanged(@Nonnull final RichInputMethodSubtype subtype,
+ public static void onSubtypeChanged(@Nonnull final RichInputMethodSubtype subtype,
final boolean implicitlyEnabledSubtype, @Nonnull final Locale systemLocale) {
final Locale[] newLocales = subtype.getLocales();
if (newLocales.length > 1) {
// In multi-locales mode, the system language is never the same as the input language
// because there is no single input language.
- mIsSystemLanguageSameAsInputLanguage = false;
+ sIsSystemLanguageSameAsInputLanguage = false;
return;
}
final Locale newLocale = newLocales[0];
if (systemLocale.equals(newLocale)) {
- mIsSystemLanguageSameAsInputLanguage = true;
+ sIsSystemLanguageSameAsInputLanguage = true;
return;
}
if (!systemLocale.getLanguage().equals(newLocale.getLanguage())) {
- mIsSystemLanguageSameAsInputLanguage = false;
+ sIsSystemLanguageSameAsInputLanguage = false;
return;
}
// If the subtype is enabled explicitly, the language name should be displayed even when
// the keyboard language and the system language are equal.
- mIsSystemLanguageSameAsInputLanguage = implicitlyEnabledSubtype;
+ sIsSystemLanguageSameAsInputLanguage = implicitlyEnabledSubtype;
}
}