Fix a bug in one of the methods to get a dictionary.

One of the two methods for getting a dictionary from the dictionary
pack had a bug and would not tolerate not getting an actual dictionary.
This change fixes that.

Change-Id: Id58bb27258494fb3aa60ec07a4eb27cfb5cc7279
diff --git a/java/src/com/android/inputmethod/latin/BinaryDictionaryGetter.java b/java/src/com/android/inputmethod/latin/BinaryDictionaryGetter.java
index 562580d..7ce9292 100644
--- a/java/src/com/android/inputmethod/latin/BinaryDictionaryGetter.java
+++ b/java/src/com/android/inputmethod/latin/BinaryDictionaryGetter.java
@@ -78,16 +78,20 @@
         } else {
             try {
                 // If that was no-go, try to find a publicly exported dictionary.
-                return BinaryDictionaryFileDumper.getDictSetFromContentProvider(locale, context);
+                List<AssetFileAddress> listFromContentProvider =
+                        BinaryDictionaryFileDumper.getDictSetFromContentProvider(locale, context);
+                if (null != listFromContentProvider) {
+                    return listFromContentProvider;
+                }
+                // If the list is null, fall through and return the fallback
             } catch (FileNotFoundException e) {
                 Log.e(TAG, "Unable to create dictionary file from provider for locale "
                         + locale.toString() + ": falling back to internal dictionary");
-                return Arrays.asList(loadFallbackResource(context, fallbackResId));
             } catch (IOException e) {
                 Log.e(TAG, "Unable to read source data for locale "
                         + locale.toString() + ": falling back to internal dictionary");
-                return Arrays.asList(loadFallbackResource(context, fallbackResId));
             }
+            return Arrays.asList(loadFallbackResource(context, fallbackResId));
         }
     }
 }