commit 1f73fe833d1ae040fddb413311f896d1c6859bd7
parent 9dbc3d29f9155288361926dc9d4c3257bad78664
Author: Iván Ávalos <avalos@disroot.org>
Date: Sat, 23 Nov 2024 22:44:15 +0100
[wallet] QC: rename “get test money” to “get demo money” and make it withdraw TESTKUDOS
Diffstat:
2 files changed, 21 insertions(+), 10 deletions(-)
diff --git a/wallet/src/main/java/net/taler/wallet/MainFragment.kt b/wallet/src/main/java/net/taler/wallet/MainFragment.kt
@@ -76,6 +76,8 @@ import androidx.fragment.compose.AndroidFragment
import androidx.fragment.compose.FragmentState
import androidx.fragment.compose.rememberFragmentState
import androidx.navigation.fragment.findNavController
+import com.google.android.material.snackbar.BaseTransientBottomBar.LENGTH_LONG
+import com.google.android.material.snackbar.Snackbar
import kotlinx.coroutines.flow.first
import kotlinx.coroutines.runBlocking
import net.taler.wallet.balances.BalanceState
@@ -173,6 +175,10 @@ class MainFragment: Fragment() {
txResult = txResult,
selectedScope = selectedScope,
selectedCurrencySpec = selectedSpec,
+ onGetDemoMoneyClicked = {
+ model.withdrawManager.withdrawTestkudos()
+ Snackbar.make(requireView(), getString(R.string.settings_test_withdrawal), LENGTH_LONG).show()
+ },
onBalanceClicked = {
model.showTransactions(it.scopeInfo)
},
diff --git a/wallet/src/main/java/net/taler/wallet/balances/BalancesComposable.kt b/wallet/src/main/java/net/taler/wallet/balances/BalancesComposable.kt
@@ -39,7 +39,6 @@ import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
-import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.colorResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.style.TextAlign
@@ -54,7 +53,6 @@ import net.taler.wallet.balances.ScopeInfo.Global
import net.taler.wallet.cleanExchange
import net.taler.wallet.compose.LoadingScreen
import net.taler.wallet.compose.TalerSurface
-import net.taler.wallet.launchInAppBrowser
import net.taler.wallet.transactions.Transaction
import net.taler.wallet.transactions.TransactionsComposable
import net.taler.wallet.transactions.TransactionsResult
@@ -67,6 +65,7 @@ fun BalancesComposable(
txResult: TransactionsResult,
selectedScope: ScopeInfo?,
selectedCurrencySpec: CurrencySpecification?,
+ onGetDemoMoneyClicked: () -> Unit,
onBalanceClicked: (balance: BalanceItem) -> Unit,
onTransactionClicked: (tx: Transaction) -> Unit,
onTransactionsDelete: (txIds: List<String>) -> Unit,
@@ -108,7 +107,10 @@ fun BalancesComposable(
} ?: error("no balance matching scopeInfo")
}
} else {
- EmptyBalancesComposable()
+ EmptyBalancesComposable(
+ innerPadding = innerPadding,
+ onGetDemoMoneyClicked,
+ )
}
}
}
@@ -186,14 +188,17 @@ fun BalanceRow(
}
@Composable
-fun EmptyBalancesComposable() {
+fun EmptyBalancesComposable(
+ innerPadding: PaddingValues,
+ onGetDemoMoneyClicked: () -> Unit,
+) {
Column(
- modifier = Modifier.fillMaxSize(),
+ modifier = Modifier
+ .padding(innerPadding)
+ .fillMaxSize(),
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center,
) {
- val context = LocalContext.current
-
Text(
stringResource(R.string.balances_empty_state),
textAlign = TextAlign.Center,
@@ -202,9 +207,7 @@ fun EmptyBalancesComposable() {
Spacer(Modifier.height(32.dp))
- Button(onClick = {
- launchInAppBrowser(context, context.getString(R.string.balances_empty_demo_url))
- }) {
+ Button(onGetDemoMoneyClicked) {
Text(stringResource(R.string.balances_empty_get_money))
}
}
@@ -241,6 +244,7 @@ fun BalancesComposablePreview() {
txResult = TransactionsResult.Success(listOf()),
selectedScope = null,
selectedCurrencySpec = null,
+ onGetDemoMoneyClicked = {},
onBalanceClicked = {},
onTransactionClicked = {},
onTransactionsDelete = {},
@@ -259,6 +263,7 @@ fun BalancesComposableEmptyPreview() {
txResult = TransactionsResult.Success(listOf()),
selectedScope = null,
selectedCurrencySpec = null,
+ onGetDemoMoneyClicked = {},
onBalanceClicked = {},
onTransactionClicked = {},
onTransactionsDelete = {},