From ce7bd8f0bff7a7e531b3efd69a9acc18a0d9fdfd Mon Sep 17 00:00:00 2001 From: Thad Hughes Date: Fri, 1 Jul 2011 16:02:54 -0700 Subject: [PATCH] go --- AndroidManifest.xml | 3 +- .../dictionary/DictionaryApplication.java | 40 +++++++++++++++++++ .../android/dictionary/DownloadActivity.java | 3 ++ .../android/util/PersistentObjectCache.java | 3 ++ 4 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 src/com/hughes/android/dictionary/DictionaryApplication.java diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 34f5f80..0dc4c87 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -21,7 +21,8 @@ android:name=".DictionaryApplication" > + android:backupAgent="DictionaryBackupAgent" + --> diff --git a/src/com/hughes/android/dictionary/DictionaryApplication.java b/src/com/hughes/android/dictionary/DictionaryApplication.java new file mode 100644 index 0000000..fbb417a --- /dev/null +++ b/src/com/hughes/android/dictionary/DictionaryApplication.java @@ -0,0 +1,40 @@ +package com.hughes.android.dictionary; + +import com.hughes.android.dictionary.engine.TransliteratorManager; + +import android.app.Activity; +import android.app.Application; +import android.content.SharedPreferences; +import android.content.SharedPreferences.OnSharedPreferenceChangeListener; +import android.preference.PreferenceManager; +import android.util.Log; + +public class DictionaryApplication extends Application { + + @Override + public void onCreate() { + super.onCreate(); + Log.d("QuickDic", "Application: onCreate"); + TransliteratorManager.init(null); + + final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); + prefs.registerOnSharedPreferenceChangeListener(new OnSharedPreferenceChangeListener() { + @Override + public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, + String key) { + Log.d("THAD", "prefs changed: " + key); + } + }); + } + + public void applyTheme(final Activity activity) { + final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); + final String theme = prefs.getString(getString(R.string.themeKey), "themeLight"); + Log.d("QuickDic", "Setting theme to: " + theme); + if (theme.equals("themeLight")) { + activity.setTheme(R.style.Theme_Light); + } else { + activity.setTheme(R.style.Theme_Default); + } + } +} diff --git a/src/com/hughes/android/dictionary/DownloadActivity.java b/src/com/hughes/android/dictionary/DownloadActivity.java index a783402..96d68ab 100755 --- a/src/com/hughes/android/dictionary/DownloadActivity.java +++ b/src/com/hughes/android/dictionary/DownloadActivity.java @@ -79,6 +79,9 @@ public class DownloadActivity extends Activity { final URLConnection connection = uri.openConnection(); contentLength = connection.getContentLength(); final InputStream in = connection.getInputStream(); + if (in == null) { + throw new IOException("Unable to open InputStream from source: " + source); + } final FileOutputStream out = new FileOutputStream(destTmpFile); int bytesRead = copyStream(in, out, R.string.downloading); diff --git a/src/com/hughes/android/util/PersistentObjectCache.java b/src/com/hughes/android/util/PersistentObjectCache.java index cd5b5e3..aa730bc 100644 --- a/src/com/hughes/android/util/PersistentObjectCache.java +++ b/src/com/hughes/android/util/PersistentObjectCache.java @@ -57,6 +57,9 @@ public class PersistentObjectCache { private PersistentObjectCache(final Context context) { dir = context.getFilesDir(); + if (dir == null) { + throw new RuntimeException("context.getFilesDir() == null"); + } } public static synchronized PersistentObjectCache getInstance() { -- 2.43.0