A few problems arise when the app doesn't have access to the network:
If it's on startup, the lateinit blockchain variable is not created, but that doesn't prevent other methods from attempting to use it (sync and getBalance for example), which crashes the app (error is at the Padawan layer).
If it's after startup, the error happens at the bitcoindevkit level, where it attempts a call to the network which fails.
Proposals to deal with this:
A permanent small red/orange/yellow banner at the top of the wallet telling the user the network is not available, so the app will be running in "reduced" mode
Disabling buttons that require network access, OR firing snackbars whenever a network call is being triggered that cannot be completed.
A few problems arise when the app doesn't have access to the network:
blockchain
variable is not created, but that doesn't prevent other methods from attempting to use it (sync and getBalance for example), which crashes the app (error is at the Padawan layer).Proposals to deal with this:
Happy to hear thoughts on this either way.