diff options
author | cyBerta <cyberta@riseup.net> | 2019-10-01 00:25:54 +0200 |
---|---|---|
committer | cyBerta <cyberta@riseup.net> | 2019-10-01 00:25:54 +0200 |
commit | fca6c9dcff1b5b5400a61b7411a7f72460fbfbfa (patch) | |
tree | c8efd8b964d495467619000fa7435c2a5527efa1 /app/src/main/java/se/leap/bitmaskclient/Provider.java | |
parent | 7820e8c0819a10c5b4729678607681fcfe30cbae (diff) | |
parent | 685da193ea29f3e7a8a42d55747dfb2f956f23b6 (diff) |
Merge branch 'pluggableTransports2'
Diffstat (limited to 'app/src/main/java/se/leap/bitmaskclient/Provider.java')
-rw-r--r-- | app/src/main/java/se/leap/bitmaskclient/Provider.java | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/app/src/main/java/se/leap/bitmaskclient/Provider.java b/app/src/main/java/se/leap/bitmaskclient/Provider.java index c81f5739..067f9b2e 100644 --- a/app/src/main/java/se/leap/bitmaskclient/Provider.java +++ b/app/src/main/java/se/leap/bitmaskclient/Provider.java @@ -21,6 +21,7 @@ import android.os.Parcelable; import com.google.gson.Gson; +import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; @@ -28,8 +29,13 @@ import java.net.MalformedURLException; import java.net.URL; import java.util.Locale; +import static de.blinkt.openvpn.core.connection.Connection.TransportType.OBFS4; +import static se.leap.bitmaskclient.Constants.CAPABILITIES; +import static se.leap.bitmaskclient.Constants.GATEWAYS; import static se.leap.bitmaskclient.Constants.PROVIDER_ALLOWED_REGISTERED; import static se.leap.bitmaskclient.Constants.PROVIDER_ALLOW_ANONYMOUS; +import static se.leap.bitmaskclient.Constants.TRANSPORT; +import static se.leap.bitmaskclient.Constants.TYPE; import static se.leap.bitmaskclient.ProviderAPI.ERRORS; /** @@ -119,6 +125,25 @@ public final class Provider implements Parcelable { hasPrivateKey(); } + public boolean supportsPluggableTransports() { + try { + JSONArray gatewayJsons = eipServiceJson.getJSONArray(GATEWAYS); + for (int i = 0; i < gatewayJsons.length(); i++) { + JSONArray transports = gatewayJsons.getJSONObject(i). + getJSONObject(CAPABILITIES). + getJSONArray(TRANSPORT); + for (int j = 0; j < transports.length(); j++) { + if (OBFS4.toString().equals(transports.getJSONObject(j).getString(TYPE))) { + return true; + } + } + } + } catch (Exception e) { + e.printStackTrace(); + } + return false; + } + public void setMainUrl(URL url) { mainUrl.setUrl(url); } |