summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Beattie <mike@ethernal.org>2012-09-18 23:46:17 +1200
committerMike Beattie <mike@ethernal.org>2012-09-18 23:46:17 +1200
commitc058ec2d6070458a0b7d3ef56041e985412ee565 (patch)
treed5b7c9005e2419c71262c8ca8b43892b225a4f9d
parent36e684724e327dbd4319411ef0602fafb4d0c073 (diff)
altos{lib,ui,droid}: move OS specific code out of altoslib
This is to allow the usage of AltosLog on Android - no swing, so we need to push the "home directory" code used to pick a default telemetry logging path - using the PreferencesBackend interface for now. Signed-off-by: Mike Beattie <mike@ethernal.org>
-rw-r--r--altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidPreferences.java6
-rw-r--r--altoslib/AltosPreferences.java4
-rw-r--r--altoslib/AltosPreferencesBackend.java4
-rw-r--r--altosui/AltosUIPreferencesBackend.java6
4 files changed, 17 insertions, 3 deletions
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidPreferences.java b/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidPreferences.java
index b8487d07..3b4bdcf8 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidPreferences.java
+++ b/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidPreferences.java
@@ -17,9 +17,12 @@
package org.altusmetrum.AltosDroid;
+import java.io.File;
import java.util.Map;
import android.content.Context;
import android.content.SharedPreferences;
+import android.os.Environment;
+
import org.altusmetrum.AltosLib.*;
public class AltosDroidPreferences implements AltosPreferencesBackend {
@@ -92,4 +95,7 @@ public class AltosDroidPreferences implements AltosPreferencesBackend {
editor.apply();
}
+ public File homeDirectory() {
+ return Environment.getExternalStorageDirectory();
+ }
}
diff --git a/altoslib/AltosPreferences.java b/altoslib/AltosPreferences.java
index a82ea3f6..47196d6e 100644
--- a/altoslib/AltosPreferences.java
+++ b/altoslib/AltosPreferences.java
@@ -19,7 +19,6 @@ package org.altusmetrum.AltosLib;
import java.io.*;
import java.util.*;
-import javax.swing.filechooser.FileSystemView;
public class AltosPreferences {
public static AltosPreferencesBackend backend = null;
@@ -145,8 +144,7 @@ public class AltosPreferences {
if (logdir_string != null)
logdir = new File(logdir_string);
else {
- /* Use the file system view default directory */
- logdir = new File(FileSystemView.getFileSystemView().getDefaultDirectory(), logdirName);
+ logdir = new File(backend.homeDirectory(), logdirName);
if (!logdir.exists())
logdir.mkdirs();
}
diff --git a/altoslib/AltosPreferencesBackend.java b/altoslib/AltosPreferencesBackend.java
index 3fc4b0aa..a1184c0b 100644
--- a/altoslib/AltosPreferencesBackend.java
+++ b/altoslib/AltosPreferencesBackend.java
@@ -17,6 +17,8 @@
package org.altusmetrum.AltosLib;
+import java.io.File;
+
public interface AltosPreferencesBackend {
public String getString(String key, String def);
@@ -38,4 +40,6 @@ public interface AltosPreferencesBackend {
public void remove(String key);
public void flush();
+
+ public File homeDirectory();
}
diff --git a/altosui/AltosUIPreferencesBackend.java b/altosui/AltosUIPreferencesBackend.java
index 210dcb8b..3131fd32 100644
--- a/altosui/AltosUIPreferencesBackend.java
+++ b/altosui/AltosUIPreferencesBackend.java
@@ -17,8 +17,10 @@
package altosui;
+import java.io.File;
import java.util.prefs.*;
import org.altusmetrum.AltosLib.*;
+import javax.swing.filechooser.FileSystemView;
public class AltosUIPreferencesBackend implements AltosPreferencesBackend {
@@ -92,4 +94,8 @@ public class AltosUIPreferencesBackend implements AltosPreferencesBackend {
}
}
+ public File homeDirectory() {
+ /* Use the file system view default directory */
+ return FileSystemView.getFileSystemView().getDefaultDirectory();
+ }
}