X-Git-Url: http://gitweb.fperrin.net/?a=blobdiff_plain;f=src%2Fcom%2Fhughes%2Fandroid%2Fdictionary%2FDictionaryApplication.java;h=ecc7856fa9d680e09b8e3590a60dd0003c348060;hb=8921b3fa8419f957085ca738602f4b1e83ba4f91;hp=9dcbf219b7754aa1b37678416ab44014cac93091;hpb=9cdff5211c0ebb939eb622999be3a8b97ae4fbf8;p=Dictionary.git diff --git a/src/com/hughes/android/dictionary/DictionaryApplication.java b/src/com/hughes/android/dictionary/DictionaryApplication.java index 9dcbf21..ecc7856 100644 --- a/src/com/hughes/android/dictionary/DictionaryApplication.java +++ b/src/com/hughes/android/dictionary/DictionaryApplication.java @@ -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 dictionaryFilesOrdered = new ArrayList(); final Map uncompressedFilenameToDictionaryInfo = new LinkedHashMap(); + + /** + * 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 dictionaryLinks = new - // ArrayList(); - // } - // 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);