diff options
| author | Keith Packard <keithp@keithp.com> | 2016-04-19 23:17:01 -0400 | 
|---|---|---|
| committer | Keith Packard <keithp@keithp.com> | 2016-04-19 23:21:30 -0400 | 
| commit | 45bcf595d0a6a6001459f7f2055cd15e4839550b (patch) | |
| tree | a6aa2c1f071e8b61fc88be2d635994077819cca2 | |
| parent | 90ba010aaa84a7d8b93c63543568a16ab0cb5984 (diff) | |
altoslib: Add debugging to AltosPreferences.state() etc
This let me find why AltosDroid was losing the last state information
for each target.
Signed-off-by: Keith Packard <keithp@keithp.com>
| -rw-r--r-- | altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidPreferencesBackend.java | 4 | ||||
| -rw-r--r-- | altoslib/AltosPreferences.java | 19 | ||||
| -rw-r--r-- | altoslib/AltosPreferencesBackend.java | 2 | ||||
| -rw-r--r-- | altosuilib/AltosUIPreferencesBackend.java | 4 | 
4 files changed, 28 insertions, 1 deletions
| diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidPreferencesBackend.java b/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidPreferencesBackend.java index 14e6ce73..eeccd090 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidPreferencesBackend.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidPreferencesBackend.java @@ -120,4 +120,8 @@ public class AltosDroidPreferencesBackend implements AltosPreferencesBackend {  	public File homeDirectory() {  		return Environment.getExternalStorageDirectory();  	} + +	public void debug(String format, Object ... arguments) { +		AltosDebug.debug(format, arguments); +	}  } diff --git a/altoslib/AltosPreferences.java b/altoslib/AltosPreferences.java index 91cfc6b6..4de7e87f 100644 --- a/altoslib/AltosPreferences.java +++ b/altoslib/AltosPreferences.java @@ -351,6 +351,11 @@ public class AltosPreferences {  	public static void set_state(int serial, AltosState state, AltosListenerState listener_state) { +		backend.debug("set_state for %d pos %g,%g\n", +			      serial, +			      state.gps != null ? state.gps.lat : 0.0, +			      state.gps != null ? state.gps.lon : 0.0); +  		ByteArrayOutputStream baos = new ByteArrayOutputStream();  		try { @@ -367,6 +372,7 @@ public class AltosPreferences {  				flush_preferences();  			}  		} catch (IOException ie) { +			backend.debug("set_state failed %s\n", ie.toString());  		}  	} @@ -376,6 +382,7 @@ public class AltosPreferences {  		for (String key : keys) {  			if (key.startsWith(statePreferenceHead)) { +				backend.debug("list_states %s\n", key);  				try {  					int serial = AltosParse.parse_int(key.substring(statePreferenceHead.length()));  					states.add(serial); @@ -403,21 +410,31 @@ public class AltosPreferences {  	public static AltosSavedState state(int serial) {  		byte[] bytes = null; +		backend.debug("get state %d\n", serial); +  		synchronized(backend) {  			bytes = backend.getBytes(String.format(statePreferenceFormat, serial), null);  		} -		if (bytes == null) +		if (bytes == null) { +			backend.debug("no state for %d\n", serial);  			return null; +		}  		ByteArrayInputStream bais = new ByteArrayInputStream(bytes);  		try {  			ObjectInputStream ois = new ObjectInputStream(bais);  			AltosSavedState saved_state = (AltosSavedState) ois.readObject(); +			backend.debug("got saved state for %d: %g,%g\n", +				      serial, +				      saved_state.state.gps != null ? saved_state.state.gps.lat : 0.0, +				      saved_state.state.gps != null ? saved_state.state.gps.lon : 0.0);  			return saved_state;  		} catch (IOException ie) { +			backend.debug("IO exception %s\n", ie.toString());  		} catch (ClassNotFoundException ce) { +			backend.debug("ClassNotFoundException %s\n", ce.toString());  		}  		return null;  	} diff --git a/altoslib/AltosPreferencesBackend.java b/altoslib/AltosPreferencesBackend.java index f43c2ec9..5337527f 100644 --- a/altoslib/AltosPreferencesBackend.java +++ b/altoslib/AltosPreferencesBackend.java @@ -45,4 +45,6 @@ public interface AltosPreferencesBackend {  	public void    flush();  	public File homeDirectory(); + +	public void debug(String format, Object ... arguments);  } diff --git a/altosuilib/AltosUIPreferencesBackend.java b/altosuilib/AltosUIPreferencesBackend.java index 6d7aa88b..0b01dea6 100644 --- a/altosuilib/AltosUIPreferencesBackend.java +++ b/altosuilib/AltosUIPreferencesBackend.java @@ -106,4 +106,8 @@ public class AltosUIPreferencesBackend implements AltosPreferencesBackend {  		/* Use the file system view default directory */  		return FileSystemView.getFileSystemView().getDefaultDirectory();  	} + +	public void debug(String format, Object ... arguments) { +		System.out.printf(format, arguments); +	}  } | 
