summaryrefslogtreecommitdiff
path: root/app/src/main/java/se/leap/bitmaskclient/eip
diff options
context:
space:
mode:
authorcyberta <cyberta@riseup.net>2022-06-09 01:09:35 +0000
committercyberta <cyberta@riseup.net>2022-06-09 01:09:35 +0000
commitc20478bfa2a07487b81f79c58fbe8a11f4b64bc1 (patch)
tree47e2c09efa030644bd98086d518ec0d3d966fb21 /app/src/main/java/se/leap/bitmaskclient/eip
parent2c79b891cb4e946b400374fb1cd7e08ce14b25d6 (diff)
parent568ee211b417f5b3632e22f61a28cedcbb89cc51 (diff)
Merge branch 'hidden_gateway_pinning' into 'master'
add debug feature to pin single gateways See merge request leap/bitmask_android!193
Diffstat (limited to 'app/src/main/java/se/leap/bitmaskclient/eip')
-rw-r--r--app/src/main/java/se/leap/bitmaskclient/eip/GatewaysManager.java16
1 files changed, 15 insertions, 1 deletions
diff --git a/app/src/main/java/se/leap/bitmaskclient/eip/GatewaysManager.java b/app/src/main/java/se/leap/bitmaskclient/eip/GatewaysManager.java
index 76ec9650..7fc810cc 100644
--- a/app/src/main/java/se/leap/bitmaskclient/eip/GatewaysManager.java
+++ b/app/src/main/java/se/leap/bitmaskclient/eip/GatewaysManager.java
@@ -41,6 +41,7 @@ import de.blinkt.openvpn.core.ConfigParser;
import de.blinkt.openvpn.core.VpnStatus;
import de.blinkt.openvpn.core.connection.Connection;
import de.blinkt.openvpn.core.connection.Connection.TransportType;
+import se.leap.bitmaskclient.BuildConfig;
import se.leap.bitmaskclient.base.models.Location;
import se.leap.bitmaskclient.base.models.Provider;
import se.leap.bitmaskclient.base.models.ProviderObservable;
@@ -419,7 +420,9 @@ public class GatewaysManager {
private void configureFromCurrentProvider() {
Provider provider = ProviderObservable.getInstance().getCurrentProvider();
parseDefaultGateways(provider);
- if (hasSortedGatewaysWithLoad(provider)) {
+ if (BuildConfig.BUILD_TYPE.equals("debug")) {
+ keepOnlyPinnedGateway();
+ } else if (hasSortedGatewaysWithLoad(provider)) {
parseGatewaysWithLoad(provider);
} else {
parseSimpleGatewayList(provider);
@@ -427,5 +430,16 @@ public class GatewaysManager {
}
+ private void keepOnlyPinnedGateway() {
+ String host = PreferenceHelper.getPinnedGateway(this.context);
+ if (host == null) {
+ return;
+ }
+ Gateway gateway = gateways.get(host);
+ gateways.clear();
+ if (gateway != null) {
+ gateways.put(host, gateway);
+ }
+ }
}