taler-android

Android apps for GNU Taler (wallet, PoS, cashier)
Log | Files | Refs | README | LICENSE

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:
Mwallet/src/main/java/net/taler/wallet/MainActivity.kt | 4+++-
Mwallet/src/main/java/net/taler/wallet/MainFragment.kt | 5+++--
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(