diff options
author | daniel oeh <daniel.oeh@gmail.com> | 2013-09-19 17:35:52 +0200 |
---|---|---|
committer | daniel oeh <daniel.oeh@gmail.com> | 2013-09-19 17:35:52 +0200 |
commit | 9eaffe684dd1c91b0e8f62d8520c348d5575da8e (patch) | |
tree | 2438a8d306b93d5a80e9072e07da1b3273d786c1 /src/de/danoeh/antennapod/preferences | |
parent | 2bfee6d4675f733822bc61ea99dfaf2097794dbd (diff) | |
download | AntennaPod-9eaffe684dd1c91b0e8f62d8520c348d5575da8e.zip |
Added option to set gpodder.net hostname
Diffstat (limited to 'src/de/danoeh/antennapod/preferences')
-rw-r--r-- | src/de/danoeh/antennapod/preferences/GpodnetPreferences.java | 29 | ||||
-rw-r--r-- | src/de/danoeh/antennapod/preferences/UserPreferences.java | 2 |
2 files changed, 30 insertions, 1 deletions
diff --git a/src/de/danoeh/antennapod/preferences/GpodnetPreferences.java b/src/de/danoeh/antennapod/preferences/GpodnetPreferences.java index 44b0f3cc3..0130a4a87 100644 --- a/src/de/danoeh/antennapod/preferences/GpodnetPreferences.java +++ b/src/de/danoeh/antennapod/preferences/GpodnetPreferences.java @@ -5,6 +5,7 @@ import android.content.SharedPreferences; import android.util.Log; import de.danoeh.antennapod.AppConfig; import de.danoeh.antennapod.PodcastApp; +import de.danoeh.antennapod.gpoddernet.GpodnetService; import de.danoeh.antennapod.service.GpodnetSyncService; import java.util.Collection; @@ -23,6 +24,8 @@ public class GpodnetPreferences { public static final String PREF_GPODNET_USERNAME = "de.danoeh.antennapod.preferences.gpoddernet.username"; public static final String PREF_GPODNET_PASSWORD = "de.danoeh.antennapod.preferences.gpoddernet.password"; public static final String PREF_GPODNET_DEVICEID = "de.danoeh.antennapod.preferences.gpoddernet.deviceID"; + public static final String PREF_GPODNET_HOSTNAME = "prefGpodnetHostname"; + public static final String PREF_LAST_SYNC_TIMESTAMP = "de.danoeh.antennapod.preferences.gpoddernet.last_sync_timestamp"; public static final String PREF_SYNC_ADDED = "de.danoeh.antennapod.preferences.gpoddernet.sync_added"; @@ -31,6 +34,7 @@ public class GpodnetPreferences { private static String username; private static String password; private static String deviceID; + private static String hostname; private static ReentrantLock feedListLock = new ReentrantLock(); private static Set<String> addedFeeds; @@ -56,6 +60,7 @@ public class GpodnetPreferences { lastSyncTimestamp = prefs.getLong(PREF_LAST_SYNC_TIMESTAMP, 0); addedFeeds = readListFromString(prefs.getString(PREF_SYNC_ADDED, "")); removedFeeds = readListFromString(prefs.getString(PREF_SYNC_REMOVED, "")); + hostname = checkGpodnetHostname(prefs.getString(PREF_GPODNET_HOSTNAME, GpodnetService.DEFAULT_BASE_HOST)); preferencesLoaded = true; } @@ -119,6 +124,20 @@ public class GpodnetPreferences { writePreference(PREF_LAST_SYNC_TIMESTAMP, lastSyncTimestamp); } + public static String getHostname() { + ensurePreferencesLoaded(); + return hostname; + } + + public static void setHostname(String value) { + value = checkGpodnetHostname(value); + if (!value.equals(hostname)) { + logout(); + writePreference(PREF_GPODNET_HOSTNAME, value); + hostname = value; + } + } + public static void addAddedFeed(String feed) { ensurePreferencesLoaded(); feedListLock.lock(); @@ -214,4 +233,14 @@ public class GpodnetPreferences { } return result.toString().trim(); } + + private static String checkGpodnetHostname(String value) { + int startIndex = 0; + if (value.startsWith("http://")) { + startIndex = "http://".length(); + } else if (value.startsWith("https://")) { + startIndex = "https://".length(); + } + return value.substring(startIndex); + } } diff --git a/src/de/danoeh/antennapod/preferences/UserPreferences.java b/src/de/danoeh/antennapod/preferences/UserPreferences.java index 0d07a7178..2df436554 100644 --- a/src/de/danoeh/antennapod/preferences/UserPreferences.java +++ b/src/de/danoeh/antennapod/preferences/UserPreferences.java @@ -6,6 +6,7 @@ import java.util.LinkedList; import java.util.List; import java.util.concurrent.TimeUnit; +import de.danoeh.antennapod.gpoddernet.GpodnetService; import org.apache.commons.lang3.StringUtils; import org.json.JSONArray; import org.json.JSONException; @@ -473,5 +474,4 @@ public class UserPreferences implements Log.d(TAG, "Automatic update was deactivated"); } } - } |