Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/stefan-niedermann/nextcloud-deck.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordesperateCoder <echotodevnull@gmail.com>2020-12-13 17:56:05 +0300
committerdesperateCoder <echotodevnull@gmail.com>2020-12-13 17:56:05 +0300
commitab66cedf7bd19789546eaad456f0503eff2b3752 (patch)
tree9ed6ee68ea37154184951d72fc5ed6b21a070b7c
parent3cab6716c9e005a4bba42dfbd342e6e1c764af27 (diff)
#757 offline exception: hard fail on offline exception with extra info for @lightlike757-offline-exception
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/exceptions/OfflineException.java3
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/ServerAdapter.java24
2 files changed, 23 insertions, 4 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/exceptions/OfflineException.java b/app/src/main/java/it/niedermann/nextcloud/deck/exceptions/OfflineException.java
index c63b801a0..e7f851dd2 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/exceptions/OfflineException.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/exceptions/OfflineException.java
@@ -4,4 +4,7 @@ public class OfflineException extends IllegalStateException {
public OfflineException() {
super("Device is currently offline.");
}
+ public OfflineException(String message) {
+ super(message);
+ }
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/ServerAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/ServerAdapter.java
index bff8ddfdb..1fb8d19ac 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/ServerAdapter.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/ServerAdapter.java
@@ -94,23 +94,39 @@ public class ServerAdapter {
Network network = cm.getActiveNetwork();
NetworkCapabilities capabilities = cm.getNetworkCapabilities(network);
if (capabilities == null) {
- return false;
+ throw new OfflineException("prefKeyWifiOnly=true, Android lower >=M: cm.getNetworkCapabilities(network) is null.");
+// return false;
}
- return capabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI);
+ boolean b = capabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI);
+ if (!b) {
+ throw new OfflineException("prefKeyWifiOnly=true, Android lower >=M: capabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) is false.");
+ }
+ return b;
} else {
NetworkInfo networkInfo = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (networkInfo == null) {
- return false;
+ throw new OfflineException("prefKeyWifiOnly=true, Android lower than M: cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI) is null.");
+ }
+ if (!networkInfo.isConnected()) {
+ throw new OfflineException("prefKeyWifiOnly=true, Android lower than M: networkInfo.isConnected() is false.");
}
return networkInfo.isConnected();
}
} else {
+ if (cm.getActiveNetworkInfo() == null) {
+ throw new OfflineException("prefKeyWifiOnly=false: cm.getActiveNetworkInfo() is null.");
+ }
+ if (!cm.getActiveNetworkInfo().isConnected()) {
+ throw new OfflineException("prefKeyWifiOnly=false: cm.getActiveNetworkInfo().isConnected() is false.");
+ }
+
return cm.getActiveNetworkInfo() != null && cm.getActiveNetworkInfo().isConnected();
}
}
- return false;
+ throw new OfflineException("ConnectivityManager is just null.");
+// return false;
}
// TODO what is this?