diff options
author | Scott Jackson <daneren2005@gmail.com> | 2013-06-11 23:57:38 -0700 |
---|---|---|
committer | Scott Jackson <daneren2005@gmail.com> | 2013-06-11 23:57:38 -0700 |
commit | 43c8f9f09a097cf75778ec3aa18a686fedae1989 (patch) | |
tree | 81b68d299a79a293e53a485f7cfd198caf7c77be | |
parent | 6830fe76ed069a1cc141f887a49c165669074f6b (diff) | |
download | dsub-43c8f9f09a097cf75778ec3aa18a686fedae1989.tar.gz dsub-43c8f9f09a097cf75778ec3aa18a686fedae1989.tar.bz2 dsub-43c8f9f09a097cf75778ec3aa18a686fedae1989.zip |
Close #136 Keep a permanent cache of version
-rw-r--r-- | subsonic-android/src/github/daneren2005/dsub/util/Constants.java | 1 | ||||
-rw-r--r-- | subsonic-android/src/github/daneren2005/dsub/util/Util.java | 21 |
2 files changed, 20 insertions, 2 deletions
diff --git a/subsonic-android/src/github/daneren2005/dsub/util/Constants.java b/subsonic-android/src/github/daneren2005/dsub/util/Constants.java index 78ed1a41..0eeb37c9 100644 --- a/subsonic-android/src/github/daneren2005/dsub/util/Constants.java +++ b/subsonic-android/src/github/daneren2005/dsub/util/Constants.java @@ -68,6 +68,7 @@ public final class Constants { public static final String PREFERENCES_KEY_SERVER_INSTANCE = "serverInstanceId"; public static final String PREFERENCES_KEY_SERVER_NAME = "serverName"; public static final String PREFERENCES_KEY_SERVER_URL = "serverUrl"; + public static final String PREFERENCES_KEY_SERVER_VERSION = "serverVersion"; public static final String PREFERENCES_KEY_TEST_CONNECTION = "serverTestConnection"; public static final String PREFERENCES_KEY_OPEN_BROWSER = "openBrowser"; public static final String PREFERENCES_KEY_MUSIC_FOLDER_ID = "musicFolderId"; diff --git a/subsonic-android/src/github/daneren2005/dsub/util/Util.java b/subsonic-android/src/github/daneren2005/dsub/util/Util.java index 8ff80bb7..1603924b 100644 --- a/subsonic-android/src/github/daneren2005/dsub/util/Util.java +++ b/subsonic-android/src/github/daneren2005/dsub/util/Util.java @@ -237,11 +237,28 @@ public final class Util { } public static void setServerRestVersion(Context context, Version version) { - SERVER_REST_VERSIONS.put(getActiveServer(context), version); + int instance = getActiveServer(context); + Version current = SERVER_REST_VERSIONS.get(instance); + if(current != version) { + SERVER_REST_VERSIONS.put(instance, version); + SharedPreferences.Editor editor = getPreferences(context).edit(); + editor.putString(Constants.PREFERENCES_KEY_SERVER_VERSION + instance, version.getVersion()); + editor.commit(); + } } public static Version getServerRestVersion(Context context) { - return SERVER_REST_VERSIONS.get(getActiveServer(context)); + int instance = getActiveServer(context); + Version version = SERVER_REST_VERSIONS.get(instance); + if(version == null) { + SharedPreferences prefs = getPreferences(context); + String versionString = prefs.getString(Constants.PREFERENCES_KEY_SERVER_VERSION + instance, null); + if(versionString != null) { + version = new Version(versionString); + SERVER_REST_VERSIONS.put(instance, version); + } + } + return version; } public static void setSelectedMusicFolderId(Context context, String musicFolderId) { |