aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBananeweizen <bananeweizen@gmx.de>2015-01-27 21:09:17 +0100
committerBananeweizen <bananeweizen@gmx.de>2015-01-27 21:09:17 +0100
commitcd25db61db15cf360bcab05698e7406c74900a17 (patch)
tree498bb08e20192eeac03d50d8a6dacfcf4ae89206
parent1481041c869097eab7899e3f898fce6e9212c1bb (diff)
downloadcgeo-cd25db61db15cf360bcab05698e7406c74900a17.zip
cgeo-cd25db61db15cf360bcab05698e7406c74900a17.tar.gz
cgeo-cd25db61db15cf360bcab05698e7406c74900a17.tar.bz2
crash restoring backup if no backup exists
-rw-r--r--main/res/values/changelog_release.xml1
-rw-r--r--main/src/cgeo/geocaching/utils/DatabaseBackupUtils.java7
2 files changed, 6 insertions, 2 deletions
diff --git a/main/res/values/changelog_release.xml b/main/res/values/changelog_release.xml
index b0a7286..50e28b3 100644
--- a/main/res/values/changelog_release.xml
+++ b/main/res/values/changelog_release.xml
@@ -4,6 +4,7 @@
<string name="changelog_release" translatable="false">\n
<b>Next release</b>\n
· Fix: Crash exporting GPX for lab caches\n
+ · Fix: Crash restoring non-existing database backup\n
\n
\n
<b>2015.01.20:</b>\n
diff --git a/main/src/cgeo/geocaching/utils/DatabaseBackupUtils.java b/main/src/cgeo/geocaching/utils/DatabaseBackupUtils.java
index e7e793f..ab27264 100644
--- a/main/src/cgeo/geocaching/utils/DatabaseBackupUtils.java
+++ b/main/src/cgeo/geocaching/utils/DatabaseBackupUtils.java
@@ -32,6 +32,9 @@ public class DatabaseBackupUtils {
* calling activity
*/
public static void restoreDatabase(final Activity activity) {
+ if (!hasBackup()) {
+ return;
+ }
final Resources res = activity.getResources();
final ProgressDialog dialog = ProgressDialog.show(activity, res.getString(R.string.init_backup_restore), res.getString(R.string.init_restore_running), true, false);
final AtomicBoolean restoreSuccessful = new AtomicBoolean(false);
@@ -44,8 +47,8 @@ public class DatabaseBackupUtils {
@Override
public void call() {
dialog.dismiss();
- boolean restored = restoreSuccessful.get();
- String message = restored ? res.getString(R.string.init_restore_success) : res.getString(R.string.init_restore_failed);
+ final boolean restored = restoreSuccessful.get();
+ final String message = restored ? res.getString(R.string.init_restore_success) : res.getString(R.string.init_restore_failed);
Dialogs.message(activity, R.string.init_backup_restore, message);
if (activity instanceof MainActivity) {
((MainActivity) activity).updateCacheCounter();