commit 1a2d00940e8523f457ae2842a142017dd4940d0e
parent bf907dcd82359aea18c81143d1f80d218a48d2e2
Author: Iván Ávalos <avalos@disroot.org>
Date: Fri, 4 Jul 2025 11:18:40 +0200
[wallet] disable actions when offline
bug 0010105
Diffstat:
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/wallet/src/main/java/net/taler/wallet/MainActivity.kt b/wallet/src/main/java/net/taler/wallet/MainActivity.kt
@@ -25,6 +25,8 @@ import android.os.Bundle
import android.util.Log
import android.view.Menu
import android.view.MenuItem
+import android.view.View.GONE
+import android.view.View.VISIBLE
import android.view.ViewGroup.MarginLayoutParams
import androidx.activity.enableEdgeToEdge
import androidx.activity.viewModels
@@ -140,7 +142,7 @@ class MainActivity : AppCompatActivity(), OnPreferenceStartFragmentCallback {
})
model.networkManager.networkStatus.observe(this) { online ->
- // ui.offlineBanner.visibility = if (online) GONE else VISIBLE
+ ui.offlineBanner.visibility = if (online) GONE else VISIBLE
model.hintNetworkAvailability(online)
}
diff --git a/wallet/src/main/java/net/taler/wallet/MainFragment.kt b/wallet/src/main/java/net/taler/wallet/MainFragment.kt
@@ -117,6 +117,7 @@ class MainFragment: Fragment() {
val settingsFragmentState = rememberFragmentState()
val context = LocalContext.current
+ val online by model.networkManager.networkStatus.observeAsState(false)
val balanceState by model.balanceManager.state.observeAsState(BalanceState.None)
val selectedScope by model.transactionManager.selectedScope.collectAsStateLifecycleAware()
val txStateFilter by model.transactionManager.stateFilter.collectAsStateLifecycleAware()
@@ -218,8 +219,8 @@ class MainFragment: Fragment() {
}
}
- val disableActions = remember(balanceState) {
- (balanceState as? BalanceState.Success)?.balances?.isEmpty() ?: true
+ val disableActions = remember(balanceState, online) {
+ !online || (balanceState as? BalanceState.Success)?.balances?.isEmpty() ?: true
}
TalerActionsModal(