summaryrefslogtreecommitdiff
path: root/src/de/danoeh/antennapod/preferences
diff options
context:
space:
mode:
authordaniel oeh <daniel.oeh@gmail.com>2013-09-19 17:35:52 +0200
committerdaniel oeh <daniel.oeh@gmail.com>2013-09-19 17:35:52 +0200
commit9eaffe684dd1c91b0e8f62d8520c348d5575da8e (patch)
tree2438a8d306b93d5a80e9072e07da1b3273d786c1 /src/de/danoeh/antennapod/preferences
parent2bfee6d4675f733822bc61ea99dfaf2097794dbd (diff)
downloadAntennaPod-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.java29
-rw-r--r--src/de/danoeh/antennapod/preferences/UserPreferences.java2
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");
}
}
-
}