diff options
| author | Mike Beattie <mike@ethernal.org> | 2012-09-18 23:46:17 +1200 | 
|---|---|---|
| committer | Mike Beattie <mike@ethernal.org> | 2012-09-18 23:46:17 +1200 | 
| commit | c058ec2d6070458a0b7d3ef56041e985412ee565 (patch) | |
| tree | d5b7c9005e2419c71262c8ca8b43892b225a4f9d | |
| parent | 36e684724e327dbd4319411ef0602fafb4d0c073 (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.java | 6 | ||||
| -rw-r--r-- | altoslib/AltosPreferences.java | 4 | ||||
| -rw-r--r-- | altoslib/AltosPreferencesBackend.java | 4 | ||||
| -rw-r--r-- | altosui/AltosUIPreferencesBackend.java | 6 | 
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(); +	}  } | 
