diff options
author | cyBerta <cyberta@riseup.net> | 2021-11-10 02:25:47 +0100 |
---|---|---|
committer | cyBerta <cyberta@riseup.net> | 2021-11-10 02:25:47 +0100 |
commit | 1657571812f6585bd2883c97d114f8d9861505c0 (patch) | |
tree | 16e6c5119d7bb99d41e7685085fce31b83f5e75a /app/src/main/java/se/leap/bitmaskclient/providersetup/ProviderApiManagerBase.java | |
parent | 599e93addd79f51959009df558accfa66b6bc15d (diff) |
add a more specific error if provider api communication is attempted without any working internet connection
Diffstat (limited to 'app/src/main/java/se/leap/bitmaskclient/providersetup/ProviderApiManagerBase.java')
-rw-r--r-- | app/src/main/java/se/leap/bitmaskclient/providersetup/ProviderApiManagerBase.java | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/app/src/main/java/se/leap/bitmaskclient/providersetup/ProviderApiManagerBase.java b/app/src/main/java/se/leap/bitmaskclient/providersetup/ProviderApiManagerBase.java index dc15e578..8d626245 100644 --- a/app/src/main/java/se/leap/bitmaskclient/providersetup/ProviderApiManagerBase.java +++ b/app/src/main/java/se/leap/bitmaskclient/providersetup/ProviderApiManagerBase.java @@ -73,6 +73,7 @@ import static se.leap.bitmaskclient.R.string.error_io_exception_user_message; import static se.leap.bitmaskclient.R.string.error_json_exception_user_message; import static se.leap.bitmaskclient.R.string.error_no_such_algorithm_exception_user_message; import static se.leap.bitmaskclient.R.string.malformed_url; +import static se.leap.bitmaskclient.R.string.new_provider_uri; import static se.leap.bitmaskclient.R.string.server_unreachable_message; import static se.leap.bitmaskclient.R.string.service_is_down_error; import static se.leap.bitmaskclient.R.string.vpn_certificate_is_invalid; @@ -118,6 +119,7 @@ import static se.leap.bitmaskclient.providersetup.ProviderAPI.INITIAL_ACTION; import static se.leap.bitmaskclient.providersetup.ProviderAPI.LOGOUT_FAILED; import static se.leap.bitmaskclient.providersetup.ProviderAPI.LOG_IN; import static se.leap.bitmaskclient.providersetup.ProviderAPI.LOG_OUT; +import static se.leap.bitmaskclient.providersetup.ProviderAPI.MISSING_NETWORK_CONNECTION; import static se.leap.bitmaskclient.providersetup.ProviderAPI.PARAMETERS; import static se.leap.bitmaskclient.providersetup.ProviderAPI.PROVIDER_NOK; import static se.leap.bitmaskclient.providersetup.ProviderAPI.PROVIDER_OK; @@ -153,6 +155,7 @@ public abstract class ProviderApiManagerBase { void startTorService() throws InterruptedException, IllegalStateException; void stopTorService(); int getTorHttpTunnelPort(); + boolean hasNetworkConnection(); } private final ProviderApiServiceCallback serviceCallback; @@ -190,6 +193,13 @@ public abstract class ProviderApiManagerBase { return; } + if (!serviceCallback.hasNetworkConnection()) { + Bundle result = new Bundle(); + setErrorResult(result, R.string.error_network_connection, null); + sendToReceiverOrBroadcast(receiver, MISSING_NETWORK_CONNECTION, result, provider); + return; + } + try { if (PreferenceHelper.getUseBridges(preferences)) { startTorProxy(); |