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>
package org.altusmetrum.AltosDroid;
package org.altusmetrum.AltosDroid;
import java.util.Map;
import android.content.Context;
import android.content.SharedPreferences;
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 {
import org.altusmetrum.AltosLib.*;
public class AltosDroidPreferences implements AltosPreferencesBackend {
+ public File homeDirectory() {
+ return Environment.getExternalStorageDirectory();
+ }
import java.io.*;
import java.util.*;
import java.io.*;
import java.util.*;
-import javax.swing.filechooser.FileSystemView;
public class AltosPreferences {
public static AltosPreferencesBackend backend = null;
public class AltosPreferences {
public static AltosPreferencesBackend backend = null;
if (logdir_string != null)
logdir = new File(logdir_string);
else {
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();
}
if (!logdir.exists())
logdir.mkdirs();
}
package org.altusmetrum.AltosLib;
package org.altusmetrum.AltosLib;
public interface AltosPreferencesBackend {
public String getString(String key, String def);
public interface AltosPreferencesBackend {
public String getString(String key, String def);
public void remove(String key);
public void flush();
public void remove(String key);
public void flush();
+
+ public File homeDirectory();
import java.util.prefs.*;
import org.altusmetrum.AltosLib.*;
import java.util.prefs.*;
import org.altusmetrum.AltosLib.*;
+import javax.swing.filechooser.FileSystemView;
public class AltosUIPreferencesBackend implements AltosPreferencesBackend {
public class AltosUIPreferencesBackend implements AltosPreferencesBackend {
+ public File homeDirectory() {
+ /* Use the file system view default directory */
+ return FileSystemView.getFileSystemView().getDefaultDirectory();
+ }