Duplicate enabled languages when there is only one enabled language

Bug: 3415274

Change-Id: Ibc17733be888044cfa5d1787b8489e642d70d70f
diff --git a/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java b/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java
index f4262cc..d8c89a0 100644
--- a/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java
+++ b/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java
@@ -426,8 +426,15 @@
         if (mConfigUseSpacebarLanguageSwitcher) {
             return mLanguageSwitcher.getEnabledLanguages();
         } else {
+            int enabledLanguageCount = mEnabledLanguagesOfCurrentInputMethod.size();
+            // Workaround for explicitly specifying the voice language
+            if (enabledLanguageCount == 1) {
+                mEnabledLanguagesOfCurrentInputMethod.add(
+                        mEnabledLanguagesOfCurrentInputMethod.get(0));
+                ++enabledLanguageCount;
+            }
             return mEnabledLanguagesOfCurrentInputMethod.toArray(
-                    new String[mEnabledLanguagesOfCurrentInputMethod.size()]);
+                    new String[enabledLanguageCount]);
         }
     }
 
diff --git a/java/src/com/android/inputmethod/voice/VoiceIMEConnector.java b/java/src/com/android/inputmethod/voice/VoiceIMEConnector.java
index 4ceaa1b..277ef7e 100644
--- a/java/src/com/android/inputmethod/voice/VoiceIMEConnector.java
+++ b/java/src/com/android/inputmethod/voice/VoiceIMEConnector.java
@@ -81,7 +81,7 @@
     private static final int RECOGNITIONVIEW_HEIGHT_THRESHOLD_RATIO = 6;
 
     private static final String TAG = VoiceIMEConnector.class.getSimpleName();
-    private static boolean DEBUG = LatinImeLogger.sDBG;
+    private static final boolean DEBUG = LatinImeLogger.sDBG;
 
     private boolean mAfterVoiceInput;
     private boolean mHasUsedVoiceInput;
@@ -715,7 +715,7 @@
         mHandler.updateVoiceResults();
     }
 
-    public FieldContext makeFieldContext() {
+    private FieldContext makeFieldContext() {
         SubtypeSwitcher switcher = SubtypeSwitcher.getInstance();
         return new FieldContext(mService.getCurrentInputConnection(),
                 mService.getCurrentInputEditorInfo(), switcher.getInputLocaleStr(),