commit 0084c3148058f49f3e789d956108dcf61d3180d4
parent 2e64ebfc4c5861ffa64adacbe09d649f35f8cf92
Author: Iván Ávalos <avalos@disroot.org>
Date: Fri, 24 Oct 2025 15:49:58 +0200
[wallet] add link to bank accounts from settings
Diffstat:
4 files changed, 36 insertions(+), 12 deletions(-)
diff --git a/wallet/src/main/java/net/taler/wallet/MainActivity.kt b/wallet/src/main/java/net/taler/wallet/MainActivity.kt
@@ -337,6 +337,7 @@ class MainActivity : AppCompatActivity(), OnPreferenceStartFragmentCallback {
): Boolean {
when (pref.key) {
"pref_exchanges" -> nav.navigate(R.id.nav_settings_exchanges)
+ "pref_accounts" -> nav.navigate(R.id.bankAccountsFragment)
"pref_donau" -> nav.navigate(R.id.nav_settings_donau)
}
return true
diff --git a/wallet/src/main/java/net/taler/wallet/accounts/AccountsFragment.kt b/wallet/src/main/java/net/taler/wallet/accounts/AccountsFragment.kt
@@ -19,6 +19,7 @@ package net.taler.wallet.accounts
import android.os.Bundle
import android.view.LayoutInflater
import android.view.ViewGroup
+import androidx.compose.foundation.Image
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.PaddingValues
@@ -59,7 +60,9 @@ import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
+import androidx.compose.ui.graphics.ColorFilter
import androidx.compose.ui.platform.ComposeView
+import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
@@ -235,15 +238,25 @@ fun BankAccountRow(
),
leadingContent = {
Avatar {
- Icon(
- when(paytoUri) {
- is PaytoUriTalerBank -> Icons.Default.Dns
- is PaytoUriBitcoin -> Icons.Default.CurrencyBitcoin
- else -> Icons.Default.AccountBalance
- },
- tint = MaterialTheme.colorScheme.onSecondaryContainer,
- contentDescription = null,
- )
+ when(paytoUri) {
+ is PaytoUriTalerBank -> Image(
+ painterResource(R.drawable.ic_actions),
+ contentDescription = null,
+ colorFilter = ColorFilter.tint(
+ color = MaterialTheme.colorScheme.onSecondaryContainer,
+ )
+ )
+ is PaytoUriBitcoin -> Icon(
+ Icons.Default.CurrencyBitcoin,
+ contentDescription = null,
+ tint = MaterialTheme.colorScheme.onSecondaryContainer,
+ )
+ else -> Icon(
+ Icons.Default.AccountBalance,
+ contentDescription = null,
+ tint = MaterialTheme.colorScheme.onSecondaryContainer,
+ )
+ }
}
},
overlineContent = {
diff --git a/wallet/src/main/res/values/strings.xml b/wallet/src/main/res/values/strings.xml
@@ -412,7 +412,7 @@ GNU Taler is immune to many types of fraud such as credit card data theft, phish
<string name="exchange_menu_manual_withdraw">Withdraw</string>
<string name="exchange_not_contacted">Provider not contacted</string>
<string name="exchange_reload">Reload information</string>
- <string name="exchange_settings_summary">Manage list of providers known to this wallet</string>
+ <string name="exchange_settings_summary">Manage the providers known to this wallet</string>
<string name="exchange_settings_title">Providers</string>
<string name="exchange_tos_accept">Accept terms of service</string>
<string name="exchange_tos_forget">Reject terms of service</string>
@@ -439,6 +439,8 @@ GNU Taler is immune to many types of fraud such as credit card data theft, phish
<string name="settings_alert_import_canceled">Import cancelled</string>
<string name="settings_alert_reset_canceled">Reset cancelled</string>
<string name="settings_alert_reset_done">Wallet has been reset</string>
+ <string name="settings_bank_accounts">Bank accounts</string>
+ <string name="settings_bank_accounts_summary">Manage your bank accounts for deposits</string>
<string name="settings_db_clear_error">Error cleaning database</string>
<string name="settings_db_export">Export database</string>
<string name="settings_db_export_error">Error exporting database</string>
diff --git a/wallet/src/main/res/xml/settings_main.xml b/wallet/src/main/res/xml/settings_main.xml
@@ -15,16 +15,24 @@
-->
<PreferenceScreen xmlns:app="http://schemas.android.com/apk/res-auto"
- xmlns:tools="http://schemas.android.com/tools">
+ xmlns:tools="http://schemas.android.com/tools"
+ xmlns:android="http://schemas.android.com/apk/res/android">
<Preference
app:fragment="net.taler.wallet.exchanges.ExchangeListFragment"
- app:icon="@drawable/ic_account_balance"
+ app:icon="@drawable/ic_account_balance_wallet"
app:key="pref_exchanges"
app:summary="@string/exchange_settings_summary"
app:title="@string/exchange_settings_title" />
<Preference
+ android:fragment="net.taler.wallet.accounts.BankAccountsFragment"
+ android:icon="@drawable/ic_account_balance"
+ android:key="pref_accounts"
+ android:summary="@string/settings_bank_accounts_summary"
+ android:title="@string/settings_bank_accounts" />
+
+ <Preference
app:fragment="net.taler.wallet.donau.SetDonauFragment"
app:icon="@drawable/ic_donau"
app:key="pref_donau"