aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/files/LocalStorage.java
diff options
context:
space:
mode:
authorrsudev <rasch@munin-soft.de>2012-05-12 16:19:00 +0200
committerrsudev <rasch@munin-soft.de>2012-05-12 16:19:00 +0200
commitb4dc24ad4b9d8a747d9db3cacc3dffd30b6dc5bf (patch)
tree4acaf8759079510ff6db7c6b3ae219a63aac6c13 /main/src/cgeo/geocaching/files/LocalStorage.java
parent55947617aa1a12b2126237741e250822694342f2 (diff)
downloadcgeo-b4dc24ad4b9d8a747d9db3cacc3dffd30b6dc5bf.zip
cgeo-b4dc24ad4b9d8a747d9db3cacc3dffd30b6dc5bf.tar.gz
cgeo-b4dc24ad4b9d8a747d9db3cacc3dffd30b6dc5bf.tar.bz2
Allow to move the c:geo database to the sdcard.
Partially implements issue #11
Diffstat (limited to 'main/src/cgeo/geocaching/files/LocalStorage.java')
-rw-r--r--main/src/cgeo/geocaching/files/LocalStorage.java22
1 files changed, 19 insertions, 3 deletions
diff --git a/main/src/cgeo/geocaching/files/LocalStorage.java b/main/src/cgeo/geocaching/files/LocalStorage.java
index eea761b..14f60da 100644
--- a/main/src/cgeo/geocaching/files/LocalStorage.java
+++ b/main/src/cgeo/geocaching/files/LocalStorage.java
@@ -25,7 +25,7 @@ import java.io.OutputStream;
*/
public class LocalStorage {
- /** Name of the local private directory to use to hold cached information */
+ /** Name of the local private directory used to hold cached information */
public final static String cache = ".cgeo";
/**
@@ -48,8 +48,24 @@ public class LocalStorage {
private static File getStorageSpecific(boolean secondary) {
return Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED) ^ secondary ?
- new File(Environment.getExternalStorageDirectory(), LocalStorage.cache) :
- new File(new File(new File(Environment.getDataDirectory(), "data"), "cgeo.geocaching"), LocalStorage.cache);
+ getExternalStorageBase() :
+ new File(getInternalStorageBase(), LocalStorage.cache);
+ }
+
+ public static File getExternalDbDirectory() {
+ return getExternalStorageBase();
+ }
+
+ public static File getInternalDbDirectory() {
+ return new File(getInternalStorageBase(), "databases");
+ }
+
+ private static File getExternalStorageBase() {
+ return new File(Environment.getExternalStorageDirectory(), LocalStorage.cache);
+ }
+
+ private static File getInternalStorageBase() {
+ return new File(new File(Environment.getDataDirectory(), "data"), "cgeo.geocaching");
}
/**