]> gitweb.fperrin.net Git - Dictionary.git/blobdiff - src/com/hughes/android/dictionary/DictionaryApplication.java
Fixed crash after update.
[Dictionary.git] / src / com / hughes / android / dictionary / DictionaryApplication.java
index 9dcbf219b7754aa1b37678416ab44014cac93091..ecc7856fa9d680e09b8e3590a60dd0003c348060 100644 (file)
@@ -25,12 +25,9 @@ import android.preference.PreferenceManager;
 import android.util.Log;
 import android.util.TypedValue;
 import android.view.View;
-import android.view.View.OnClickListener;
-import android.view.ViewGroup.LayoutParams;
 import android.widget.Button;
 import android.widget.ImageButton;
 import android.widget.ImageView.ScaleType;
-import android.widget.LinearLayout;
 
 import com.actionbarsherlock.view.Menu;
 import com.actionbarsherlock.view.MenuItem;
@@ -38,9 +35,8 @@ import com.actionbarsherlock.view.MenuItem.OnMenuItemClickListener;
 import com.hughes.android.dictionary.DictionaryInfo.IndexInfo;
 import com.hughes.android.dictionary.engine.Dictionary;
 import com.hughes.android.dictionary.engine.Language;
-import com.hughes.android.dictionary.engine.TransliteratorManager;
 import com.hughes.android.dictionary.engine.Language.LanguageResources;
-import com.hughes.android.util.IntentLauncher;
+import com.hughes.android.dictionary.engine.TransliteratorManager;
 import com.hughes.android.util.PersistentObjectCache;
 import com.hughes.util.ListUtil;
 import com.ibm.icu.text.Collator;
@@ -73,21 +69,20 @@ public class DictionaryApplication extends Application {
         final List<String> dictionaryFilesOrdered = new ArrayList<String>();
 
         final Map<String, DictionaryInfo> uncompressedFilenameToDictionaryInfo = new LinkedHashMap<String, DictionaryInfo>();
+        
+        /**
+         * Sometimes a deserialized version of this datastructure isn't valid.
+         * @return
+         */
+        boolean isValid() {
+            return uncompressedFilenameToDictionaryInfo != null && dictionaryFilesOrdered != null;
+        }
     }
 
     DictionaryConfig dictionaryConfig = null;
 
     int languageButtonPixels = -1;
 
-    // static final class DictionaryHistory implements Serializable {
-    // private static final long serialVersionUID = -4842995032541390284L;
-    // // User-ordered list, persisted, just the ones that are/have been
-    // present.
-    // final List<DictionaryLink> dictionaryLinks = new
-    // ArrayList<DictionaryLink>();
-    // }
-    // DictionaryHistory dictionaryHistory = null;
-
     static synchronized void staticInit(final Context context) {
         if (DOWNLOADABLE_UNCOMPRESSED_FILENAME_NAME_TO_DICTIONARY_INFO != null) {
             return;
@@ -129,6 +124,9 @@ public class DictionaryApplication extends Application {
         if (dictionaryConfig == null) {
             dictionaryConfig = new DictionaryConfig();
         }
+        if (!dictionaryConfig.isValid()) {
+            dictionaryConfig = new DictionaryConfig();
+        }
 
         // Theme stuff.
         setTheme(getSelectedTheme().themeId);