From f3fec57a18f79d41624349ad47cd0b1fe9dfdbbf Mon Sep 17 00:00:00 2001 From: rezanejati Date: Mon, 5 Aug 2019 16:39:05 +0430 Subject: Add socks proxy in network settings --- app/src/main/java/de/danoeh/antennapod/dialog/ProxyDialog.java | 7 +++++-- .../de/danoeh/antennapod/core/service/download/ProxyConfig.java | 4 +++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/de/danoeh/antennapod/dialog/ProxyDialog.java b/app/src/main/java/de/danoeh/antennapod/dialog/ProxyDialog.java index 8f2629b43..71d016e41 100644 --- a/app/src/main/java/de/danoeh/antennapod/dialog/ProxyDialog.java +++ b/app/src/main/java/de/danoeh/antennapod/dialog/ProxyDialog.java @@ -92,7 +92,10 @@ public class ProxyDialog { if(!TextUtils.isEmpty(port)) { portValue = Integer.valueOf(port); } - proxy = ProxyConfig.http(host, portValue, username, password); + if (Proxy.Type.valueOf(type) == Proxy.Type.SOCKS) + proxy = ProxyConfig.socks(host, portValue, username, password); + else + proxy = ProxyConfig.http(host, portValue, username, password); } UserPreferences.setProxyConfig(proxy); AntennapodHttpClient.reinit(); @@ -103,7 +106,7 @@ public class ProxyDialog { .build(); View view = dialog.getCustomView(); spType = view.findViewById(R.id.spType); - String[] types = { Proxy.Type.DIRECT.name(), Proxy.Type.HTTP.name() }; + String[] types = {Proxy.Type.DIRECT.name(), Proxy.Type.HTTP.name(), Proxy.Type.SOCKS.name()}; ArrayAdapter adapter = new ArrayAdapter<>(context, android.R.layout.simple_spinner_item, types); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/download/ProxyConfig.java b/core/src/main/java/de/danoeh/antennapod/core/service/download/ProxyConfig.java index 619b58471..348b523cb 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/service/download/ProxyConfig.java +++ b/core/src/main/java/de/danoeh/antennapod/core/service/download/ProxyConfig.java @@ -21,7 +21,9 @@ public class ProxyConfig { public static ProxyConfig http(String host, int port, String username, String password) { return new ProxyConfig(Proxy.Type.HTTP, host, port, username, password); } - + public static ProxyConfig socks(String host, int port, String username, String password) { + return new ProxyConfig(Proxy.Type.SOCKS, host, port, username, password); + } public ProxyConfig(Proxy.Type type, String host, int port, String username, String password) { this.type = type; this.host = host; -- cgit v1.2.3