X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=altosdroid%2Fsrc%2Forg%2Faltusmetrum%2FAltosDroid%2FAltosDroidPreferencesBackend.java;h=854fe86d6edaa6ab29c16fea6666c95ce151e458;hp=bc5300fdc36a3fd3cf0466f5939a368813500eb9;hb=297eb795b24ec31f6599f48bc8c3769557a7ec6f;hpb=4231d68bae69d9a7d1f52205002db452cd5f986d diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidPreferencesBackend.java b/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidPreferencesBackend.java index bc5300fd..854fe86d 100644 --- 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 - * 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 @@ -24,9 +25,9 @@ import android.content.SharedPreferences; import android.os.Environment; import android.util.*; -import org.altusmetrum.altoslib_6.*; +import org.altusmetrum.altoslib_13.*; -public class AltosDroidPreferencesBackend implements AltosPreferencesBackend { +public class AltosDroidPreferencesBackend extends AltosPreferencesBackend { public final static String NAME = "org.altusmetrum.AltosDroid"; private Context context = null; private SharedPreferences prefs = null; @@ -44,10 +45,17 @@ public class AltosDroidPreferencesBackend implements AltosPreferencesBackend { public String[] keys() { Map 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) { + if (!nodeExists(key)) + putBoolean(key, true); return new AltosDroidPreferencesBackend(context, key); } @@ -69,7 +77,17 @@ public class AltosDroidPreferencesBackend implements AltosPreferencesBackend { } public String getString(String key, String def) { - return prefs.getString(key, def); + String ret; + ret = prefs.getString(key, def); +// AltosDebug.debug("AltosDroidPreferencesBackend get string %s:\n", key); +// if (ret == null) +// AltosDebug.debug(" (null)\n"); +// else { +// String[] lines = ret.split("\n"); +// for (String l : lines) +// AltosDebug.debug(" %s\n", l); +// } + return ret; } public byte[] getBytes(String key, byte[] def) { @@ -95,6 +113,10 @@ public class AltosDroidPreferencesBackend implements AltosPreferencesBackend { } public void putString(String key, String value) { +// AltosDebug.debug("AltosDroidPreferencesBackend put string %s:\n", key); +// String[] lines = value.split("\n"); +// for (String l : lines) +// AltosDebug.debug(" %s\n", l); editor.putString(key, value); } @@ -104,6 +126,7 @@ public class AltosDroidPreferencesBackend implements AltosPreferencesBackend { } public void remove(String key) { + AltosDebug.debug("remove preference %s\n", key); editor.remove(key); } @@ -114,4 +137,8 @@ public class AltosDroidPreferencesBackend implements AltosPreferencesBackend { public File homeDirectory() { return Environment.getExternalStorageDirectory(); } + + public void debug(String format, Object ... arguments) { + AltosDebug.debug(format, arguments); + } }