From 36d7e1813cf070c65a720c7d65959ae0f46602d2 Mon Sep 17 00:00:00 2001 From: moshe_ch Date: Thu, 26 Aug 2021 01:04:22 +0300 Subject: [PATCH] Add "No connection" error response with status code -6 --- .../cordovahttp/CordovaHttpPlugin.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/android/com/silkimen/cordovahttp/CordovaHttpPlugin.java b/src/android/com/silkimen/cordovahttp/CordovaHttpPlugin.java index 6760302..ea2f7bf 100644 --- a/src/android/com/silkimen/cordovahttp/CordovaHttpPlugin.java +++ b/src/android/com/silkimen/cordovahttp/CordovaHttpPlugin.java @@ -16,6 +16,9 @@ import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; +import android.content.Context; +import android.net.ConnectivityManager; +import android.net.NetworkInfo; import android.util.Log; import android.util.Base64; @@ -67,6 +70,15 @@ public class CordovaHttpPlugin extends CordovaPlugin implements Observer { return false; } + if(!isNetworkAvailable()) { + CordovaHttpResponse response = new CordovaHttpResponse(); + response.setStatus(-6); + response.setErrorMessage("Not Connected"); + callbackContext.error(response.toJSON()); + + return true; + } + if ("get".equals(action)) { return this.executeHttpRequestWithoutData(action, args, callbackContext); } else if ("head".equals(action)) { @@ -249,4 +261,12 @@ public class CordovaHttpPlugin extends CordovaPlugin implements Observer { } } } + + private boolean isNetworkAvailable() { + ConnectivityManager connectivityManager + = (ConnectivityManager) cordova.getContext().getSystemService(Context.CONNECTIVITY_SERVICE); + NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo(); + + return activeNetworkInfo != null && activeNetworkInfo.isConnected(); + } }