projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Switch from GPLv2 to GPLv2+
[fw/altos]
/
altosdroid
/
src
/
org
/
altusmetrum
/
AltosDroid
/
AltosDroidPreferencesBackend.java
diff --git
a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidPreferencesBackend.java
b/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidPreferencesBackend.java
index be41ae7cf35b345b157d11127730c73971618bdc..2e6ccb34e2227277910bbf1237392ff404980287 100644
(file)
--- a/
altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidPreferencesBackend.java
+++ b/
altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidPreferencesBackend.java
@@
-3,7
+3,8
@@
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
@@
-22,10
+23,11
@@
import java.util.Map;
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Environment;
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Environment;
+import android.util.*;
-import org.altusmetrum.altoslib_
5
.*;
+import org.altusmetrum.altoslib_
11
.*;
-public class AltosDroidPreferencesBackend
implement
s AltosPreferencesBackend {
+public class AltosDroidPreferencesBackend
extend
s AltosPreferencesBackend {
public final static String NAME = "org.altusmetrum.AltosDroid";
private Context context = null;
private SharedPreferences prefs = null;
public final static String NAME = "org.altusmetrum.AltosDroid";
private Context context = null;
private SharedPreferences prefs = null;
@@
-43,10
+45,17
@@
public class AltosDroidPreferencesBackend implements AltosPreferencesBackend {
public String[] keys() {
Map<String, ?> all = prefs.getAll();
public String[] keys() {
Map<String, ?> all = prefs.getAll();
- return (String[])all.keySet().toArray();
+ Object[] ao = all.keySet().toArray();
+
+ String[] as = new String[ao.length];
+ for (int i = 0; i < ao.length; i++)
+ as[i] = (String) ao[i];
+ return as;
}
public AltosPreferencesBackend node(String key) {
}
public AltosPreferencesBackend node(String key) {
+ if (!nodeExists(key))
+ putBoolean(key, true);
return new AltosDroidPreferencesBackend(context, key);
}
return new AltosDroidPreferencesBackend(context, key);
}
@@
-71,6
+80,16
@@
public class AltosDroidPreferencesBackend implements AltosPreferencesBackend {
return prefs.getString(key, def);
}
return prefs.getString(key, def);
}
+ public byte[] getBytes(String key, byte[] def) {
+ String save = prefs.getString(key, null);
+
+ if (save == null)
+ return def;
+
+ byte[] bytes = Base64.decode(save, Base64.DEFAULT);
+ return bytes;
+ }
+
public void putBoolean(String key, boolean value) {
editor.putBoolean(key, value);
}
public void putBoolean(String key, boolean value) {
editor.putBoolean(key, value);
}
@@
-87,7
+106,13
@@
public class AltosDroidPreferencesBackend implements AltosPreferencesBackend {
editor.putString(key, value);
}
editor.putString(key, value);
}
+ public void putBytes(String key, byte[] bytes) {
+ String save = Base64.encodeToString(bytes, Base64.DEFAULT);
+ editor.putString(key, save);
+ }
+
public void remove(String key) {
public void remove(String key) {
+ AltosDebug.debug("remove preference %s\n", key);
editor.remove(key);
}
editor.remove(key);
}
@@
-98,4
+123,8
@@
public class AltosDroidPreferencesBackend implements AltosPreferencesBackend {
public File homeDirectory() {
return Environment.getExternalStorageDirectory();
}
public File homeDirectory() {
return Environment.getExternalStorageDirectory();
}
+
+ public void debug(String format, Object ... arguments) {
+ AltosDebug.debug(format, arguments);
+ }
}
}