diff options
-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) { |