From 0ee3b694833df5488900f521adbd818a6a2e90a5 Mon Sep 17 00:00:00 2001
From: Jean Chalard <jchalard@google.com>
Date: Tue, 23 Aug 2011 17:55:46 +0900
Subject: [PATCH] Fix an excessive fallback problem.

LatinIME has several fallbacks to ensure a dictionary is used.
However, it should now be possible to deactivate the main dictionary
through the dictionary pack settings. In this case, Latin IME should
not fallback to the built-in dictionary.

Change-Id: Ibd992ad89793169f04a968b40781fce819b87b6f
---
 .../inputmethod/latin/DictionaryFactory.java  | 22 ++++---------------
 1 file changed, 4 insertions(+), 18 deletions(-)

diff --git a/java/src/com/android/inputmethod/latin/DictionaryFactory.java b/java/src/com/android/inputmethod/latin/DictionaryFactory.java
index ffd204dac1..9642151d72 100644
--- a/java/src/com/android/inputmethod/latin/DictionaryFactory.java
+++ b/java/src/com/android/inputmethod/latin/DictionaryFactory.java
@@ -64,24 +64,10 @@ public class DictionaryFactory {
             }
         }
 
-        // null == dictList is not supposed to be possible, but better safe than sorry and it's
-        // safer for future extension. In this case, rather than returning null, it should be safer
-        // to return an empty DictionaryCollection.
-        if (null == dictList) {
-            return new DictionaryCollection();
-        } else {
-            if (dictList.isEmpty()) {
-                // The list may be empty if no dictionaries have been added. The getter should not
-                // return an empty list, but if it does we end up here. Likewise, if the files
-                // we found could not be opened by the native code for any reason (format mismatch,
-                // file too big to fit in memory, etc) then we could have an empty list. In this
-                // case we want to fall back on the resource.
-                return new DictionaryCollection(createBinaryDictionary(context, fallbackResId,
-                        locale));
-            } else {
-                return new DictionaryCollection(dictList);
-            }
-        }
+        // If the list is empty, that means we should not use any dictionary (for example, the user
+        // explicitly disabled the main dictionary), so the following is okay. dictList is never
+        // null, but if for some reason it is, DictionaryCollection handles it gracefully.
+        return new DictionaryCollection(dictList);
     }
 
     /**
-- 
GitLab