summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidPreferencesBackend.java16
-rw-r--r--altoslib/AltosPreferencesBackend.java3
-rw-r--r--altosuilib/AltosUIPreferencesBackend.java8
3 files changed, 27 insertions, 0 deletions
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidPreferencesBackend.java b/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidPreferencesBackend.java
index be41ae7c..09a2a7a2 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidPreferencesBackend.java
+++ b/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidPreferencesBackend.java
@@ -22,6 +22,7 @@ import java.util.Map;
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Environment;
+import android.util.*;
import org.altusmetrum.altoslib_5.*;
@@ -71,6 +72,16 @@ public class AltosDroidPreferencesBackend implements AltosPreferencesBackend {
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);
}
@@ -87,6 +98,11 @@ public class AltosDroidPreferencesBackend implements AltosPreferencesBackend {
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) {
editor.remove(key);
}
diff --git a/altoslib/AltosPreferencesBackend.java b/altoslib/AltosPreferencesBackend.java
index 76a99acb..9bb4c99b 100644
--- a/altoslib/AltosPreferencesBackend.java
+++ b/altoslib/AltosPreferencesBackend.java
@@ -33,6 +33,9 @@ public interface AltosPreferencesBackend {
public boolean getBoolean(String key, boolean def);
public void putBoolean(String key, boolean value);
+ public byte[] getBytes(String key, byte[] def);
+ public void putBytes(String key, byte[] value);
+
public boolean nodeExists(String key);
public AltosPreferencesBackend node(String key);
diff --git a/altosuilib/AltosUIPreferencesBackend.java b/altosuilib/AltosUIPreferencesBackend.java
index 4048fd83..8d4431f1 100644
--- a/altosuilib/AltosUIPreferencesBackend.java
+++ b/altosuilib/AltosUIPreferencesBackend.java
@@ -62,6 +62,14 @@ public class AltosUIPreferencesBackend implements AltosPreferencesBackend {
_preferences.putBoolean(key, value);
}
+ public byte[] getBytes(String key, byte[] def) {
+ return _preferences.getByteArray(key, def);
+ }
+
+ public void putBytes(String key, byte[] value) {
+ _preferences.putByteArray(key, value);
+ }
+
public boolean nodeExists(String key) {
try {
return _preferences.nodeExists(key);