From d6e238fc33e9f3fd280460de1069d24526a23271 Mon Sep 17 00:00:00 2001
From: "Tadashi G. Takaoka" <takaoka@google.com>
Date: Wed, 23 May 2012 14:48:16 +0900
Subject: [PATCH] Fix RuntiomeException when no custom input style is defined

Bug: 6524480
Change-Id: I6bceea9fe07095b9ff3ed25c5677a82fa5d4086a
---
 .../com/android/inputmethod/latin/AdditionalSubtype.java  | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/java/src/com/android/inputmethod/latin/AdditionalSubtype.java b/java/src/com/android/inputmethod/latin/AdditionalSubtype.java
index f0076a5b61..ffdbfbb679 100644
--- a/java/src/com/android/inputmethod/latin/AdditionalSubtype.java
+++ b/java/src/com/android/inputmethod/latin/AdditionalSubtype.java
@@ -22,6 +22,7 @@ import static com.android.inputmethod.latin.Constants.Subtype.ExtraValue.KEYBOAR
 import static com.android.inputmethod.latin.Constants.Subtype.ExtraValue.UNTRANSLATABLE_STRING_IN_SUBTYPE_NAME;
 
 import android.os.Build;
+import android.text.TextUtils;
 import android.view.inputmethod.InputMethodSubtype;
 
 import java.util.ArrayList;
@@ -84,11 +85,14 @@ public class AdditionalSubtype {
     }
 
     public static InputMethodSubtype[] createAdditionalSubtypesArray(String prefSubtypes) {
+        if (TextUtils.isEmpty(prefSubtypes)) {
+            return null;
+        }
         final String[] prefSubtypeArray = prefSubtypes.split(PREF_SUBTYPE_SEPARATOR);
         final ArrayList<InputMethodSubtype> subtypesList =
                 new ArrayList<InputMethodSubtype>(prefSubtypeArray.length);
-        for (int i = 0; i < prefSubtypeArray.length; i++) {
-            final InputMethodSubtype subtype = createAdditionalSubtype(prefSubtypeArray[i]);
+        for (final String prefSubtype : prefSubtypeArray) {
+            final InputMethodSubtype subtype = createAdditionalSubtype(prefSubtype);
             if (subtype.getNameResId() == SubtypeLocale.UNKNOWN_KEYBOARD_LAYOUT) {
                 // Skip unknown keyboard layout subtype. This may happen when predefined keyboard
                 // layout has been removed.
-- 
GitLab