From: Reimar Döffinger Date: Wed, 18 Nov 2015 20:54:45 +0000 (+0100) Subject: Add error messages when dictionary path is not writable. X-Git-Url: http://gitweb.fperrin.net/?p=Dictionary.git;a=commitdiff_plain;h=07f8fd315e878357a9a45aeff609aa28474ee5e6 Add error messages when dictionary path is not writable. --- diff --git a/res/values/strings.xml b/res/values/strings.xml index 6069e24..6067957 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -31,6 +31,7 @@ Unzipping dictionary: \n%s Unzipping failed: \n%s Installation finished: \n%s. + Dictionary location %s not writable, change in settings. Search Text @@ -96,5 +97,6 @@ theme UI theme User-interface color theme. + Chosen directory not writable, try one of diff --git a/src/com/hughes/android/dictionary/DictionaryManagerActivity.java b/src/com/hughes/android/dictionary/DictionaryManagerActivity.java index d9b1eed..127de43 100644 --- a/src/com/hughes/android/dictionary/DictionaryManagerActivity.java +++ b/src/com/hughes/android/dictionary/DictionaryManagerActivity.java @@ -173,7 +173,11 @@ public class DictionaryManagerActivity extends ActionBarActivity { Toast.makeText(context, getString(R.string.installationFinished, dest), Toast.LENGTH_LONG).show(); } catch (Exception e) { - new AlertDialog.Builder(context).setTitle(getString(R.string.error)).setMessage(getString(R.string.unzippingFailed, dest)).setNeutralButton("Close", null).show(); + String msg = getString(R.string.unzippingFailed, dest); + if (!application.getDictDir().canWrite()) { + msg = getString(R.string.notWritable, application.getDictDir().getAbsolutePath()); + } + new AlertDialog.Builder(context).setTitle(getString(R.string.error)).setMessage(msg).setNeutralButton("Close", null).show(); Log.e(LOG, "Failed to unzip.", e); } finally { localZipFile.delete(); diff --git a/src/com/hughes/android/dictionary/PreferenceActivity.java b/src/com/hughes/android/dictionary/PreferenceActivity.java index e141259..470677a 100644 --- a/src/com/hughes/android/dictionary/PreferenceActivity.java +++ b/src/com/hughes/android/dictionary/PreferenceActivity.java @@ -66,7 +66,19 @@ public class PreferenceActivity extends android.preference.PreferenceActivity defaultDic.setEntries(entries); defaultDic.setEntryValues(entryvalues); + } + @Override + protected void onPause() { + super.onPause(); + final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); + prefs.unregisterOnSharedPreferenceChangeListener(this); + } + + @Override + protected void onResume() { + super.onResume(); + final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); prefs.registerOnSharedPreferenceChangeListener(this); } @@ -96,7 +108,7 @@ public class PreferenceActivity extends android.preference.PreferenceActivity dirs += "\n" + externalFilesDir; } new AlertDialog.Builder(this).setTitle(getString(R.string.error)) - .setMessage("Chosen directory not writeable, try one of" + dirs) + .setMessage(getString(R.string.chosenNotWritable) + dirs) .setNeutralButton("Close", null).show(); } }