From 6b5551ae77afe050ee4ed59a7c88f1b8192e7379 Mon Sep 17 00:00:00 2001 From: Eric Kok Date: Thu, 16 Oct 2014 19:39:42 +0200 Subject: [PATCH] Fix Deluge magnet support -- Deluge doesn't support application/x-www-form-urlencoded magnet links any more, like send from Chrome. Fixes #168, fixes #169. --- lib/src/org/transdroid/daemon/Aria2c/Aria2Adapter.java | 2 ++ lib/src/org/transdroid/daemon/Deluge/DelugeAdapter.java | 3 +++ 2 files changed, 5 insertions(+) diff --git a/lib/src/org/transdroid/daemon/Aria2c/Aria2Adapter.java b/lib/src/org/transdroid/daemon/Aria2c/Aria2Adapter.java index c06cded5..08bde516 100644 --- a/lib/src/org/transdroid/daemon/Aria2c/Aria2Adapter.java +++ b/lib/src/org/transdroid/daemon/Aria2c/Aria2Adapter.java @@ -341,6 +341,8 @@ public class Aria2Adapter implements IDaemonAdapter { JSONArray files = tor.getJSONArray("files"); if (files.length() > 0) { name = Uri.parse(files.getJSONObject(0).getString("path")).getLastPathSegment(); + if (name == null) + name = files.getJSONObject(0).getString("path"); } } if (name == null) diff --git a/lib/src/org/transdroid/daemon/Deluge/DelugeAdapter.java b/lib/src/org/transdroid/daemon/Deluge/DelugeAdapter.java index 41c81252..2c7972dd 100644 --- a/lib/src/org/transdroid/daemon/Deluge/DelugeAdapter.java +++ b/lib/src/org/transdroid/daemon/Deluge/DelugeAdapter.java @@ -22,6 +22,7 @@ import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.net.URI; +import java.net.URLDecoder; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -276,6 +277,8 @@ public class DelugeAdapter implements IDaemonAdapter { // Request to add a magnet link by URL String magnet = ((AddByMagnetUrlTask)task).getUrl(); + // Deluge doesn't support (fully) application/x-www-form-urlencoded magnet links + magnet = URLDecoder.decode(magnet, "UTF-8"); params.put(magnet); params.put(new JSONArray());