-
-
Notifications
You must be signed in to change notification settings - Fork 3.5k
Expand file tree
/
Copy pathProxyManager.java
More file actions
79 lines (68 loc) · 1.97 KB
/
ProxyManager.java
File metadata and controls
79 lines (68 loc) · 1.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
package org.schabi.newpipe.util;
import android.content.Context;
import android.content.SharedPreferences;
import androidx.preference.PreferenceManager;
import java.net.InetSocketAddress;
import java.net.Proxy;
/**
* A class to manage proxy settings.
*/
public class ProxyManager {
private final SharedPreferences sharedPreferences;
/**
* Creates a new ProxyManager.
* @param context the context to use
*/
public ProxyManager(final Context context) {
this.sharedPreferences =
PreferenceManager.getDefaultSharedPreferences(context.getApplicationContext());
}
/**
* Checks if the proxy is enabled.
* @return true if the proxy is enabled, false otherwise
*/
public boolean isProxyEnabled() {
return sharedPreferences.getBoolean("use_proxy", false);
}
/**
* Gets the proxy host.
* @return the proxy host
*/
public String getProxyHost() {
return sharedPreferences.getString("proxy_host", "127.0.0.1");
}
/**
* Gets the proxy port.
* @return the proxy port
*/
public int getProxyPort() {
final String portString = sharedPreferences.getString("proxy_port", "1080");
try {
return Integer.parseInt(portString);
} catch (final NumberFormatException e) {
return 1080;
}
}
/**
* Gets the proxy type.
* @return the proxy type
*/
public Proxy.Type getProxyType() {
final String type = sharedPreferences.getString("proxy_type", "SOCKS");
if ("SOCKS".equals(type)) {
return Proxy.Type.SOCKS;
} else {
return Proxy.Type.HTTP;
}
}
/**
* Gets the proxy.
* @return the proxy, or null if the proxy is not enabled
*/
public Proxy getProxy() {
if (!isProxyEnabled()) {
return null;
}
return new Proxy(getProxyType(), new InetSocketAddress(getProxyHost(), getProxyPort()));
}
}