aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/cgeo')
-rw-r--r--main/src/cgeo/geocaching/backup/CentralBackupAgent.java18
-rw-r--r--main/src/cgeo/geocaching/cgeoinit.java2
-rw-r--r--main/src/cgeo/geocaching/compatibility/AndroidLevel8.java4
-rw-r--r--main/src/cgeo/geocaching/compatibility/Compatibility.java6
4 files changed, 30 insertions, 0 deletions
diff --git a/main/src/cgeo/geocaching/backup/CentralBackupAgent.java b/main/src/cgeo/geocaching/backup/CentralBackupAgent.java
new file mode 100644
index 0000000..742eb0c
--- /dev/null
+++ b/main/src/cgeo/geocaching/backup/CentralBackupAgent.java
@@ -0,0 +1,18 @@
+package cgeo.geocaching.backup;
+
+import cgeo.geocaching.cgSettings;
+
+import android.app.backup.BackupAgentHelper;
+import android.app.backup.SharedPreferencesBackupHelper;
+
+public class CentralBackupAgent extends BackupAgentHelper {
+
+ static final String PREFS_BACKUP_KEY = "prefs";
+
+ @Override
+ public void onCreate() {
+ SharedPreferencesBackupHelper helper = new SharedPreferencesBackupHelper(this, cgSettings.preferences);
+ addHelper(PREFS_BACKUP_KEY, helper);
+ }
+
+}
diff --git a/main/src/cgeo/geocaching/cgeoinit.java b/main/src/cgeo/geocaching/cgeoinit.java
index 10495ee..455c00b 100644
--- a/main/src/cgeo/geocaching/cgeoinit.java
+++ b/main/src/cgeo/geocaching/cgeoinit.java
@@ -3,6 +3,7 @@ package cgeo.geocaching;
import cgeo.geocaching.LogTemplateProvider.LogTemplate;
import cgeo.geocaching.cgSettings.mapSourceEnum;
import cgeo.geocaching.activity.AbstractActivity;
+import cgeo.geocaching.compatibility.Compatibility;
import org.apache.commons.lang3.StringUtils;
@@ -139,6 +140,7 @@ public class cgeoinit extends AbstractActivity {
@Override
public void onStop() {
saveValues();
+ Compatibility.dataChanged(getPackageName());
super.onStop();
}
diff --git a/main/src/cgeo/geocaching/compatibility/AndroidLevel8.java b/main/src/cgeo/geocaching/compatibility/AndroidLevel8.java
index 5bca728..5dc6204 100644
--- a/main/src/cgeo/geocaching/compatibility/AndroidLevel8.java
+++ b/main/src/cgeo/geocaching/compatibility/AndroidLevel8.java
@@ -1,6 +1,7 @@
package cgeo.geocaching.compatibility;
import android.app.Activity;
+import android.app.backup.BackupManager;
import android.view.Display;
public class AndroidLevel8 {
@@ -10,4 +11,7 @@ public class AndroidLevel8 {
return display.getRotation();
}
+ public void dataChanged(final String name) {
+ BackupManager.dataChanged(name);
+ }
}
diff --git a/main/src/cgeo/geocaching/compatibility/Compatibility.java b/main/src/cgeo/geocaching/compatibility/Compatibility.java
index 48b553f..cbbfb15 100644
--- a/main/src/cgeo/geocaching/compatibility/Compatibility.java
+++ b/main/src/cgeo/geocaching/compatibility/Compatibility.java
@@ -43,4 +43,10 @@ public final class Compatibility {
return Uri.parse(isLevel8 ? "content://com.android.calendar/events" : "content://calendar/events");
}
+ public static void dataChanged(final String name) {
+ if (isLevel8) {
+ level8.dataChanged(name);
+ }
+ }
+
}