summaryrefslogtreecommitdiff
path: root/cashier/src/main/java/net/taler/cashier/MainViewModel.kt
diff options
context:
space:
mode:
authorTorsten Grote <t@grobox.de>2020-04-23 11:52:04 -0300
committerTorsten Grote <t@grobox.de>2020-04-23 11:52:04 -0300
commitffc78da700c5665786d2838752d8465e1b07c72f (patch)
tree9c02a258253392644cdb47b8caffc1652b3f6464 /cashier/src/main/java/net/taler/cashier/MainViewModel.kt
parenta99932be13e415d542658696f1281eac8a1c48f0 (diff)
downloadtaler-android-ffc78da700c5665786d2838752d8465e1b07c72f.tar.gz
taler-android-ffc78da700c5665786d2838752d8465e1b07c72f.tar.bz2
taler-android-ffc78da700c5665786d2838752d8465e1b07c72f.zip
[cashier] add offline detection to all failing HTTP requests
and show a better error message in these cases
Diffstat (limited to 'cashier/src/main/java/net/taler/cashier/MainViewModel.kt')
-rw-r--r--cashier/src/main/java/net/taler/cashier/MainViewModel.kt7
1 files changed, 6 insertions, 1 deletions
diff --git a/cashier/src/main/java/net/taler/cashier/MainViewModel.kt b/cashier/src/main/java/net/taler/cashier/MainViewModel.kt
index 3587e95..c8d9a3b 100644
--- a/cashier/src/main/java/net/taler/cashier/MainViewModel.kt
+++ b/cashier/src/main/java/net/taler/cashier/MainViewModel.kt
@@ -103,7 +103,11 @@ class MainViewModel(private val app: Application) : AndroidViewModel(app) {
}
}
is HttpJsonResult.Error -> {
- ConfigResult.Error(response.statusCode == 401, response.msg)
+ if (response.statusCode > 0 && app.isOnline()) {
+ ConfigResult.Error(response.statusCode == 401, response.msg)
+ } else {
+ ConfigResult.Offline
+ }
}
}
mConfigResult.postValue(result)
@@ -156,5 +160,6 @@ data class Config(
sealed class ConfigResult {
class Error(val authError: Boolean, val msg: String) : ConfigResult()
+ object Offline : ConfigResult()
object Success : ConfigResult()
}