Merge pull request #1667 from mfietz/issue/1658-sync-duplicates

Prevent gpodder sync duplicates
diff --git a/core/src/main/java/de/danoeh/antennapod/core/gpoddernet/GpodnetService.java b/core/src/main/java/de/danoeh/antennapod/core/gpoddernet/GpodnetService.java
index a24e3a4..48f2349 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/gpoddernet/GpodnetService.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/gpoddernet/GpodnetService.java
@@ -735,13 +735,19 @@
         List<String> added = new LinkedList<String>();
         JSONArray jsonAdded = object.getJSONArray("add");
         for (int i = 0; i < jsonAdded.length(); i++) {
-            added.add(jsonAdded.getString(i));
+            String addedUrl = jsonAdded.getString(i);
+            // gpodder escapes colons unnecessarily
+            addedUrl = addedUrl.replace("%3A", ":");
+            added.add(addedUrl);
         }
 
         List<String> removed = new LinkedList<String>();
         JSONArray jsonRemoved = object.getJSONArray("remove");
         for (int i = 0; i < jsonRemoved.length(); i++) {
-            removed.add(jsonRemoved.getString(i));
+            String removedUrl = jsonRemoved.getString(i);
+            // gpodder escapes colons unnecessarily
+            removedUrl = removedUrl.replace("%3A", ":");
+            removed.add(removedUrl);
         }
 
         long timestamp = object.getLong("timestamp");