summaryrefslogtreecommitdiff
path: root/app/src/main
diff options
context:
space:
mode:
authorvbh <56578479+vbh@users.noreply.github.com>2021-10-24 09:42:00 +0000
committerGitHub <noreply@github.com>2021-10-24 11:42:00 +0200
commitbf95bf172d245be583c2db082d46fb7c27315718 (patch)
tree81bc650215809c090c0fffdcd732b984822b68f5 /app/src/main
parentb860ee33d0d5a3f0543697a3348bc1eb8f614965 (diff)
downloadAntennaPod-bf95bf172d245be583c2db082d46fb7c27315718.zip
Don't forget proxy settings when disabling proxy (#5471)
Diffstat (limited to 'app/src/main')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/dialog/ProxyDialog.java70
1 files changed, 44 insertions, 26 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 13258b4ec..ad2ed3499 100644
--- a/app/src/main/java/de/danoeh/antennapod/dialog/ProxyDialog.java
+++ b/app/src/main/java/de/danoeh/antennapod/dialog/ProxyDialog.java
@@ -67,6 +67,7 @@ public class ProxyDialog {
.setView(content)
.setNegativeButton(R.string.cancel_label, null)
.setPositiveButton(R.string.proxy_test_label, null)
+ .setNeutralButton(R.string.reset, null)
.show();
// To prevent cancelling the dialog on button click
dialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener((view) -> {
@@ -75,36 +76,19 @@ public class ProxyDialog {
test();
return;
}
- String type = (String) spType.getSelectedItem();
- ProxyConfig proxy;
- if (Proxy.Type.valueOf(type) == Proxy.Type.DIRECT) {
- proxy = ProxyConfig.direct();
- } else {
- String host = etHost.getText().toString();
- String port = etPort.getText().toString();
- String username = etUsername.getText().toString();
- if (TextUtils.isEmpty(username)) {
- username = null;
- }
- String password = etPassword.getText().toString();
- if (TextUtils.isEmpty(password)) {
- password = null;
- }
- int portValue = 0;
- if (!TextUtils.isEmpty(port)) {
- portValue = Integer.parseInt(port);
- }
- 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);
+ setProxyConfig();
AntennapodHttpClient.reinit();
dialog.dismiss();
});
+ dialog.getButton(AlertDialog.BUTTON_NEUTRAL).setOnClickListener((view) -> {
+ etHost.getText().clear();
+ etPort.getText().clear();
+ etUsername.getText().clear();
+ etPassword.getText().clear();
+ setProxyConfig();
+ });
+
List<String> types = new ArrayList<>();
types.add(Proxy.Type.DIRECT.name());
types.add(Proxy.Type.HTTP.name());
@@ -144,6 +128,11 @@ public class ProxyDialog {
spType.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
+ if (position == 0) {
+ dialog.getButton(AlertDialog.BUTTON_NEUTRAL).setVisibility(View.GONE);
+ } else {
+ dialog.getButton(AlertDialog.BUTTON_NEUTRAL).setVisibility(View.VISIBLE);
+ }
enableSettings(position > 0);
setTestRequired(position > 0);
}
@@ -158,6 +147,35 @@ public class ProxyDialog {
return dialog;
}
+ private void setProxyConfig() {
+ String type = (String) spType.getSelectedItem();
+ ProxyConfig proxy;
+ if (Proxy.Type.valueOf(type) == Proxy.Type.DIRECT) {
+ proxy = ProxyConfig.direct();
+ } else {
+ String host = etHost.getText().toString();
+ String port = etPort.getText().toString();
+ String username = etUsername.getText().toString();
+ if (TextUtils.isEmpty(username)) {
+ username = null;
+ }
+ String password = etPassword.getText().toString();
+ if (TextUtils.isEmpty(password)) {
+ password = null;
+ }
+ int portValue = 0;
+ if (!TextUtils.isEmpty(port)) {
+ portValue = Integer.parseInt(port);
+ }
+ 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);
+ }
+
private final TextWatcher requireTestOnChange = new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}