diff options
39 files changed, 238 insertions, 185 deletions
diff --git a/wallet/build.gradle b/wallet/build.gradle index 6cd9f2e..737a1de 100644 --- a/wallet/build.gradle +++ b/wallet/build.gradle @@ -130,9 +130,10 @@ dependencies { implementation "androidx.compose.animation:animation:$compose_version" implementation "androidx.compose.ui:ui-tooling:$compose_version" implementation "androidx.compose.material:material:1.3.1" + implementation "androidx.compose.material3:material3:1.0.1" implementation "androidx.compose.material:material-icons-extended:1.3.1" implementation "androidx.lifecycle:lifecycle-viewmodel-compose:$lifecycle_version" - implementation "com.google.accompanist:accompanist-themeadapter-material:0.28.0" + implementation "com.google.accompanist:accompanist-themeadapter-material3:0.28.0" // Lists and Selection implementation "androidx.recyclerview:recyclerview:1.2.1" diff --git a/wallet/src/main/AndroidManifest.xml b/wallet/src/main/AndroidManifest.xml index 23746cd..01e82a6 100644 --- a/wallet/src/main/AndroidManifest.xml +++ b/wallet/src/main/AndroidManifest.xml @@ -34,6 +34,7 @@ android:required="false" /> <application + android:name=".WalletApp" android:allowBackup="true" android:extractNativeLibs="true" android:fullBackupContent="@xml/backup_descriptor" diff --git a/wallet/src/main/java/net/taler/wallet/MainActivity.kt b/wallet/src/main/java/net/taler/wallet/MainActivity.kt index 13fd394..cd07ef8 100644 --- a/wallet/src/main/java/net/taler/wallet/MainActivity.kt +++ b/wallet/src/main/java/net/taler/wallet/MainActivity.kt @@ -22,6 +22,7 @@ import android.content.Context import android.content.Intent import android.content.Intent.ACTION_VIEW import android.content.IntentFilter +import android.content.res.Configuration import android.net.Uri import android.os.Bundle import android.util.Log @@ -34,6 +35,7 @@ import androidx.activity.viewModels import androidx.appcompat.app.AppCompatActivity import androidx.core.os.bundleOf import androidx.core.view.GravityCompat.START +import androidx.core.view.WindowInsetsControllerCompat import androidx.lifecycle.MutableLiveData import androidx.lifecycle.Observer import androidx.lifecycle.viewModelScope @@ -44,6 +46,7 @@ import androidx.navigation.ui.setupWithNavController import androidx.preference.Preference import androidx.preference.PreferenceFragmentCompat import androidx.preference.PreferenceFragmentCompat.OnPreferenceStartFragmentCallback +import com.google.android.material.elevation.SurfaceColors import com.google.android.material.navigation.NavigationView.OnNavigationItemSelectedListener import com.google.android.material.snackbar.BaseTransientBottomBar.LENGTH_LONG import com.google.android.material.snackbar.Snackbar @@ -84,8 +87,20 @@ class MainActivity : AppCompatActivity(), OnNavigationItemSelectedListener, handleTalerUri(result.contents, "QR code") } + private val insetsController: WindowInsetsControllerCompat? by lazy { + window?.let { window -> WindowInsetsControllerCompat(window, window.decorView) } + } + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) + + // Set status bar color + val color = SurfaceColors.SURFACE_0.getColor(this) + window.statusBarColor = color + window.navigationBarColor = color + insetsController?.isAppearanceLightStatusBars = + resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK != Configuration.UI_MODE_NIGHT_YES + ui = ActivityMainBinding.inflate(layoutInflater) setContentView(ui.root) diff --git a/wallet/src/main/java/net/taler/wallet/ReceiveFundsFragment.kt b/wallet/src/main/java/net/taler/wallet/ReceiveFundsFragment.kt index ac6b0bd..730faae 100644 --- a/wallet/src/main/java/net/taler/wallet/ReceiveFundsFragment.kt +++ b/wallet/src/main/java/net/taler/wallet/ReceiveFundsFragment.kt @@ -31,11 +31,12 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.text.KeyboardOptions import androidx.compose.foundation.verticalScroll -import androidx.compose.material.Button -import androidx.compose.material.MaterialTheme -import androidx.compose.material.OutlinedTextField -import androidx.compose.material.Surface -import androidx.compose.material.Text +import androidx.compose.material3.Button +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.OutlinedTextField +import androidx.compose.material3.Surface +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf @@ -111,6 +112,7 @@ class ReceiveFundsFragment : Fragment() { } } +@OptIn(ExperimentalMaterial3Api::class) @Composable private fun ReceiveFundsIntro( currency: String, @@ -157,13 +159,13 @@ private fun ReceiveFundsIntro( modifier = Modifier, text = currency, softWrap = false, - style = MaterialTheme.typography.h6, + style = MaterialTheme.typography.titleLarge, ) } Text( modifier = Modifier.padding(horizontal = 16.dp), text = stringResource(R.string.receive_intro), - style = MaterialTheme.typography.h6, + style = MaterialTheme.typography.titleLarge, ) Row(modifier = Modifier.padding(16.dp)) { Button( diff --git a/wallet/src/main/java/net/taler/wallet/SendFundsFragment.kt b/wallet/src/main/java/net/taler/wallet/SendFundsFragment.kt index 90b4ee0..daf1898 100644 --- a/wallet/src/main/java/net/taler/wallet/SendFundsFragment.kt +++ b/wallet/src/main/java/net/taler/wallet/SendFundsFragment.kt @@ -29,11 +29,12 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.text.KeyboardOptions import androidx.compose.foundation.verticalScroll -import androidx.compose.material.Button -import androidx.compose.material.MaterialTheme -import androidx.compose.material.OutlinedTextField -import androidx.compose.material.Surface -import androidx.compose.material.Text +import androidx.compose.material3.Button +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.OutlinedTextField +import androidx.compose.material3.Surface +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf @@ -98,6 +99,7 @@ class SendFundsFragment : Fragment() { } } +@OptIn(ExperimentalMaterial3Api::class) @Composable private fun SendFundsIntro( currency: String, @@ -152,13 +154,13 @@ private fun SendFundsIntro( modifier = Modifier, text = currency, softWrap = false, - style = MaterialTheme.typography.h6, + style = MaterialTheme.typography.titleLarge, ) } Text( modifier = Modifier.padding(horizontal = 16.dp), text = stringResource(R.string.send_intro), - style = MaterialTheme.typography.h6, + style = MaterialTheme.typography.titleLarge, ) Row(modifier = Modifier.padding(16.dp)) { fun onClickButton(block: (Amount) -> Unit) { @@ -170,6 +172,7 @@ private fun SendFundsIntro( Button( modifier = Modifier .padding(end = 16.dp) + .height(IntrinsicSize.Max) .weight(1f), onClick = { onClickButton { amount -> onDeposit(amount) } diff --git a/wallet/src/main/java/net/taler/wallet/WalletApp.kt b/wallet/src/main/java/net/taler/wallet/WalletApp.kt new file mode 100644 index 0000000..e94b8fe --- /dev/null +++ b/wallet/src/main/java/net/taler/wallet/WalletApp.kt @@ -0,0 +1,27 @@ +/* + * This file is part of GNU Taler + * (C) 2023 Taler Systems S.A. + * + * GNU Taler is free software; you can redistribute it and/or modify it under the + * terms of the GNU General Public License as published by the Free Software + * Foundation; either version 3, or (at your option) any later version. + * + * GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with + * GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> + */ + +package net.taler.wallet + +import android.app.Application +import com.google.android.material.color.DynamicColors + +class WalletApp: Application() { + override fun onCreate() { + super.onCreate() + DynamicColors.applyToActivitiesIfAvailable(this) + } +}
\ No newline at end of file diff --git a/wallet/src/main/java/net/taler/wallet/compose/QrCodeUriComposable.kt b/wallet/src/main/java/net/taler/wallet/compose/QrCodeUriComposable.kt index 5359f1a..0157f90 100644 --- a/wallet/src/main/java/net/taler/wallet/compose/QrCodeUriComposable.kt +++ b/wallet/src/main/java/net/taler/wallet/compose/QrCodeUriComposable.kt @@ -29,12 +29,12 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.rememberScrollState -import androidx.compose.material.Button -import androidx.compose.material.ButtonColors -import androidx.compose.material.ButtonDefaults -import androidx.compose.material.Icon -import androidx.compose.material.MaterialTheme -import androidx.compose.material.Text +import androidx.compose.material3.Button +import androidx.compose.material3.ButtonColors +import androidx.compose.material3.ButtonDefaults +import androidx.compose.material3.Icon +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Text import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.ContentCopy import androidx.compose.runtime.Composable @@ -86,7 +86,7 @@ fun ColumnScope.QrCodeUriComposable( Text( modifier = Modifier.horizontalScroll(scrollState), fontFamily = FontFamily.Monospace, - style = MaterialTheme.typography.body1, + style = MaterialTheme.typography.bodyLarge, text = talerUri, ) } @@ -100,11 +100,11 @@ fun ColumnScope.QrCodeUriComposable( label = clipBoardLabel, content = talerUri, buttonText = buttonText, - colors = ButtonDefaults.buttonColors(backgroundColor = Color.Transparent) + colors = ButtonDefaults.buttonColors(containerColor = Color.Transparent) ) ShareButton( content = talerUri, - colors = ButtonDefaults.buttonColors(backgroundColor = Color.Transparent) + colors = ButtonDefaults.buttonColors(containerColor = Color.Transparent) ) } } @@ -136,7 +136,7 @@ fun CopyToClipboardButton( Text( modifier = Modifier.padding(start = 8.dp), text = buttonText, - style = MaterialTheme.typography.body1, + style = MaterialTheme.typography.bodyLarge, ) } } diff --git a/wallet/src/main/java/net/taler/wallet/compose/ShareButton.kt b/wallet/src/main/java/net/taler/wallet/compose/ShareButton.kt index 0ac7048..ebf2a2f 100644 --- a/wallet/src/main/java/net/taler/wallet/compose/ShareButton.kt +++ b/wallet/src/main/java/net/taler/wallet/compose/ShareButton.kt @@ -21,12 +21,12 @@ import android.content.Intent.ACTION_SEND import android.content.Intent.EXTRA_TEXT import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.padding -import androidx.compose.material.Button -import androidx.compose.material.ButtonColors -import androidx.compose.material.ButtonDefaults -import androidx.compose.material.Icon -import androidx.compose.material.MaterialTheme -import androidx.compose.material.Text +import androidx.compose.material3.Button +import androidx.compose.material3.ButtonColors +import androidx.compose.material3.ButtonDefaults +import androidx.compose.material3.Icon +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Text import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Share import androidx.compose.runtime.Composable @@ -64,7 +64,7 @@ fun ShareButton( Text( modifier = Modifier.padding(start = 8.dp), text = buttonText, - style = MaterialTheme.typography.body1, + style = MaterialTheme.typography.bodyLarge, ) } } diff --git a/wallet/src/main/java/net/taler/wallet/compose/Utils.kt b/wallet/src/main/java/net/taler/wallet/compose/Utils.kt index 8e3a032..9a27431 100644 --- a/wallet/src/main/java/net/taler/wallet/compose/Utils.kt +++ b/wallet/src/main/java/net/taler/wallet/compose/Utils.kt @@ -16,7 +16,7 @@ package net.taler.wallet.compose -import androidx.compose.material.Surface +import androidx.compose.material3.Surface import androidx.compose.runtime.Composable import androidx.compose.runtime.State import androidx.compose.runtime.collectAsState @@ -25,7 +25,7 @@ import androidx.compose.ui.platform.LocalLifecycleOwner import androidx.lifecycle.Lifecycle import androidx.lifecycle.LifecycleOwner import androidx.lifecycle.flowWithLifecycle -import com.google.accompanist.themeadapter.material.MdcTheme +import com.google.accompanist.themeadapter.material3.Mdc3Theme import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.StateFlow import kotlin.coroutines.CoroutineContext @@ -56,7 +56,7 @@ fun <T> StateFlow<T>.collectAsStateLifecycleAware( @Composable fun TalerSurface(content: @Composable () -> Unit) { - MdcTheme { + Mdc3Theme { Surface { content() } diff --git a/wallet/src/main/java/net/taler/wallet/deposit/MakeBitcoinDepositComposable.kt b/wallet/src/main/java/net/taler/wallet/deposit/MakeBitcoinDepositComposable.kt index 1ff3423..94899c5 100644 --- a/wallet/src/main/java/net/taler/wallet/deposit/MakeBitcoinDepositComposable.kt +++ b/wallet/src/main/java/net/taler/wallet/deposit/MakeBitcoinDepositComposable.kt @@ -22,10 +22,11 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll -import androidx.compose.material.Button -import androidx.compose.material.OutlinedTextField -import androidx.compose.material.Surface -import androidx.compose.material.Text +import androidx.compose.material3.Button +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.OutlinedTextField +import androidx.compose.material3.Surface +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue @@ -50,6 +51,7 @@ import net.taler.wallet.R import net.taler.wallet.transactions.AmountType import net.taler.wallet.transactions.TransactionAmountComposable +@OptIn(ExperimentalMaterial3Api::class) @Composable fun MakeBitcoinDepositComposable( state: DepositState, diff --git a/wallet/src/main/java/net/taler/wallet/deposit/MakeDepositComposable.kt b/wallet/src/main/java/net/taler/wallet/deposit/MakeDepositComposable.kt index 8b5cac1..9e14514 100644 --- a/wallet/src/main/java/net/taler/wallet/deposit/MakeDepositComposable.kt +++ b/wallet/src/main/java/net/taler/wallet/deposit/MakeDepositComposable.kt @@ -22,10 +22,11 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll -import androidx.compose.material.Button -import androidx.compose.material.OutlinedTextField -import androidx.compose.material.Surface -import androidx.compose.material.Text +import androidx.compose.material3.Button +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.OutlinedTextField +import androidx.compose.material3.Surface +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue @@ -47,6 +48,7 @@ import androidx.compose.ui.unit.sp import net.taler.common.Amount import net.taler.wallet.R +@OptIn(ExperimentalMaterial3Api::class) @Composable fun MakeDepositComposable( state: DepositState, diff --git a/wallet/src/main/java/net/taler/wallet/deposit/PayToUriFragment.kt b/wallet/src/main/java/net/taler/wallet/deposit/PayToUriFragment.kt index 47e8cfb..d004f71 100644 --- a/wallet/src/main/java/net/taler/wallet/deposit/PayToUriFragment.kt +++ b/wallet/src/main/java/net/taler/wallet/deposit/PayToUriFragment.kt @@ -32,14 +32,15 @@ import androidx.compose.foundation.layout.wrapContentSize import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.text.KeyboardOptions import androidx.compose.foundation.verticalScroll -import androidx.compose.material.Button -import androidx.compose.material.DropdownMenu -import androidx.compose.material.DropdownMenuItem -import androidx.compose.material.LocalTextStyle -import androidx.compose.material.OutlinedTextField -import androidx.compose.material.Surface -import androidx.compose.material.Text -import androidx.compose.material.TextFieldDefaults +import androidx.compose.material3.Button +import androidx.compose.material3.DropdownMenu +import androidx.compose.material3.DropdownMenuItem +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.LocalTextStyle +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.OutlinedTextField +import androidx.compose.material3.Surface +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue @@ -115,6 +116,7 @@ class PayToUriFragment : Fragment() { } +@OptIn(ExperimentalMaterial3Api::class) @Composable private fun PayToComposable( currencies: List<String>, @@ -183,6 +185,7 @@ private fun PayToComposable( } } +@OptIn(ExperimentalMaterial3Api::class) @Composable fun CurrencyDropdown( currencies: List<String>, @@ -203,9 +206,7 @@ fun CurrencyDropdown( readOnly = true, enabled = false, textStyle = LocalTextStyle.current.copy( // show text as if not disabled - color = TextFieldDefaults.outlinedTextFieldColors().textColor( - enabled = true, - ).value + color = MaterialTheme.colorScheme.onSurfaceVariant ), singleLine = true, label = { @@ -218,13 +219,16 @@ fun CurrencyDropdown( modifier = Modifier, ) { currencies.forEachIndexed { index, s -> - DropdownMenuItem(onClick = { - selectedIndex = index - onCurrencyChanged(currencies[index]) - expanded = false - }) { - Text(text = s) - } + DropdownMenuItem( + text = { + Text(text = s) + }, + onClick = { + selectedIndex = index + onCurrencyChanged(currencies[index]) + expanded = false + } + ) } } } diff --git a/wallet/src/main/java/net/taler/wallet/deposit/TransactionDepositComposable.kt b/wallet/src/main/java/net/taler/wallet/deposit/TransactionDepositComposable.kt index 7c5c7a2..f6f411a 100644 --- a/wallet/src/main/java/net/taler/wallet/deposit/TransactionDepositComposable.kt +++ b/wallet/src/main/java/net/taler/wallet/deposit/TransactionDepositComposable.kt @@ -21,9 +21,9 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll -import androidx.compose.material.MaterialTheme -import androidx.compose.material.Surface -import androidx.compose.material.Text +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Surface +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier @@ -53,7 +53,7 @@ fun TransactionDepositComposable(t: TransactionDeposit, onDelete: () -> Unit) { Text( modifier = Modifier.padding(16.dp), text = t.timestamp.ms.toAbsoluteTime(context).toString(), - style = MaterialTheme.typography.body1, + style = MaterialTheme.typography.bodyLarge, ) TransactionAmountComposable( label = stringResource(id = R.string.transaction_paid), diff --git a/wallet/src/main/java/net/taler/wallet/exchanges/AddExchangeDialogFragment.kt b/wallet/src/main/java/net/taler/wallet/exchanges/AddExchangeDialogFragment.kt index 5ea763a..fd942b0 100644 --- a/wallet/src/main/java/net/taler/wallet/exchanges/AddExchangeDialogFragment.kt +++ b/wallet/src/main/java/net/taler/wallet/exchanges/AddExchangeDialogFragment.kt @@ -22,6 +22,7 @@ import android.widget.TextView import androidx.appcompat.app.AlertDialog import androidx.fragment.app.DialogFragment import androidx.fragment.app.activityViewModels +import com.google.android.material.dialog.MaterialAlertDialogBuilder import net.taler.wallet.MainViewModel import net.taler.wallet.R @@ -32,7 +33,7 @@ class AddExchangeDialogFragment : DialogFragment() { private val exchangeManager by lazy { model.exchangeManager } override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { - return AlertDialog.Builder(requireContext(), R.style.DialogTheme) + return MaterialAlertDialogBuilder(requireContext(), R.style.MaterialAlertDialog_Material3) .setIcon(R.drawable.ic_account_balance) .setTitle(R.string.exchange_list_add) .setView(R.layout.dialog_exchange_add) diff --git a/wallet/src/main/java/net/taler/wallet/peer/IncomingComposable.kt b/wallet/src/main/java/net/taler/wallet/peer/IncomingComposable.kt index 70f36a2..4e54e7b 100644 --- a/wallet/src/main/java/net/taler/wallet/peer/IncomingComposable.kt +++ b/wallet/src/main/java/net/taler/wallet/peer/IncomingComposable.kt @@ -27,13 +27,13 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll -import androidx.compose.material.Button -import androidx.compose.material.ButtonDefaults -import androidx.compose.material.Card -import androidx.compose.material.CircularProgressIndicator -import androidx.compose.material.MaterialTheme -import androidx.compose.material.Surface -import androidx.compose.material.Text +import androidx.compose.material3.Button +import androidx.compose.material3.ButtonDefaults +import androidx.compose.material3.Card +import androidx.compose.material3.CircularProgressIndicator +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Surface +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.State import androidx.compose.runtime.mutableStateOf @@ -116,7 +116,7 @@ fun ColumnScope.PeerPullTermsComposable( .padding(16.dp) .align(CenterHorizontally), text = terms.contractTerms.summary, - style = MaterialTheme.typography.h5, + style = MaterialTheme.typography.headlineSmall, ) Spacer(modifier = Modifier.weight(1f)) Card(modifier = Modifier.fillMaxWidth()) { @@ -128,12 +128,12 @@ fun ColumnScope.PeerPullTermsComposable( ) { Text( text = stringResource(id = R.string.payment_label_amount_total), - style = MaterialTheme.typography.body1, + style = MaterialTheme.typography.bodyLarge, ) Text( modifier = Modifier.padding(start = 8.dp), text = terms.contractTerms.amount.toString(), - style = MaterialTheme.typography.body1, + style = MaterialTheme.typography.bodyLarge, fontWeight = FontWeight.Bold, ) } @@ -143,7 +143,7 @@ fun ColumnScope.PeerPullTermsComposable( Text( modifier = Modifier.align(End), text = stringResource(id = R.string.payment_fee, fee), - style = MaterialTheme.typography.body1, + style = MaterialTheme.typography.bodyLarge, ) } if (terms is IncomingAccepting) { @@ -158,7 +158,7 @@ fun ColumnScope.PeerPullTermsComposable( .align(End) .padding(top = 8.dp), colors = ButtonDefaults.buttonColors( - backgroundColor = colorResource(R.color.green), + containerColor = colorResource(R.color.green), contentColor = Color.White, ), onClick = { onAccept(terms) }, @@ -179,7 +179,7 @@ fun ColumnScope.PeerPullErrorComposable(s: IncomingError) { .align(CenterHorizontally) .padding(horizontal = 32.dp), text = s.info.userFacingMsg, - style = MaterialTheme.typography.h5, + style = MaterialTheme.typography.headlineSmall, color = colorResource(id = R.color.red), ) } diff --git a/wallet/src/main/java/net/taler/wallet/peer/OutgoingPullIntroComposable.kt b/wallet/src/main/java/net/taler/wallet/peer/OutgoingPullIntroComposable.kt index 9af3f5d..69c9cea 100644 --- a/wallet/src/main/java/net/taler/wallet/peer/OutgoingPullIntroComposable.kt +++ b/wallet/src/main/java/net/taler/wallet/peer/OutgoingPullIntroComposable.kt @@ -22,10 +22,11 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll -import androidx.compose.material.Button -import androidx.compose.material.OutlinedTextField -import androidx.compose.material.Surface -import androidx.compose.material.Text +import androidx.compose.material3.Button +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.OutlinedTextField +import androidx.compose.material3.Surface +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.State @@ -50,6 +51,7 @@ import net.taler.wallet.R import net.taler.wallet.cleanExchange import net.taler.wallet.exchanges.ExchangeItem +@OptIn(ExperimentalMaterial3Api::class) @Composable fun OutgoingPullIntroComposable( amount: Amount, diff --git a/wallet/src/main/java/net/taler/wallet/peer/OutgoingPullResultComposable.kt b/wallet/src/main/java/net/taler/wallet/peer/OutgoingPullResultComposable.kt index 84d9415..131d83d 100644 --- a/wallet/src/main/java/net/taler/wallet/peer/OutgoingPullResultComposable.kt +++ b/wallet/src/main/java/net/taler/wallet/peer/OutgoingPullResultComposable.kt @@ -24,11 +24,11 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll -import androidx.compose.material.Button -import androidx.compose.material.CircularProgressIndicator -import androidx.compose.material.MaterialTheme -import androidx.compose.material.Surface -import androidx.compose.material.Text +import androidx.compose.material3.Button +import androidx.compose.material3.CircularProgressIndicator +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Surface +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment.Companion.CenterHorizontally import androidx.compose.ui.Modifier @@ -55,7 +55,7 @@ fun OutgoingPullResultComposable(state: OutgoingState, onClose: () -> Unit) { ) { Text( modifier = Modifier.padding(top = 16.dp, start = 16.dp, end = 16.dp), - style = MaterialTheme.typography.h6, + style = MaterialTheme.typography.titleLarge, text = stringResource(id = R.string.receive_peer_invoice_instruction), ) when (state) { @@ -92,7 +92,7 @@ private fun ColumnScope.PeerPullResponseComposable(state: OutgoingResponse) { ) { Text( modifier = Modifier.padding(horizontal = 16.dp), - style = MaterialTheme.typography.body1, + style = MaterialTheme.typography.bodyLarge, text = stringResource(id = R.string.receive_peer_invoice_uri), ) } @@ -105,7 +105,7 @@ private fun ColumnScope.PeerPullErrorComposable(state: OutgoingError) { .align(CenterHorizontally) .padding(16.dp), color = colorResource(R.color.red), - style = MaterialTheme.typography.body1, + style = MaterialTheme.typography.bodyLarge, text = state.info.userFacingMsg, ) } diff --git a/wallet/src/main/java/net/taler/wallet/peer/OutgoingPushIntroComposable.kt b/wallet/src/main/java/net/taler/wallet/peer/OutgoingPushIntroComposable.kt index a77cfb7..0d3030d 100644 --- a/wallet/src/main/java/net/taler/wallet/peer/OutgoingPushIntroComposable.kt +++ b/wallet/src/main/java/net/taler/wallet/peer/OutgoingPushIntroComposable.kt @@ -22,11 +22,12 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll -import androidx.compose.material.Button -import androidx.compose.material.MaterialTheme -import androidx.compose.material.OutlinedTextField -import androidx.compose.material.Surface -import androidx.compose.material.Text +import androidx.compose.material3.Button +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.OutlinedTextField +import androidx.compose.material3.Surface +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf @@ -44,6 +45,7 @@ import androidx.compose.ui.unit.dp import net.taler.common.Amount import net.taler.wallet.R +@OptIn(ExperimentalMaterial3Api::class) @Composable fun OutgoingPushIntroComposable( amount: Amount, @@ -65,7 +67,7 @@ fun OutgoingPushIntroComposable( modifier = Modifier, text = amount.toString(), softWrap = false, - style = MaterialTheme.typography.h6, + style = MaterialTheme.typography.titleLarge, ) } diff --git a/wallet/src/main/java/net/taler/wallet/peer/OutgoingPushResultComposable.kt b/wallet/src/main/java/net/taler/wallet/peer/OutgoingPushResultComposable.kt index 27b04c8..bf7592d 100644 --- a/wallet/src/main/java/net/taler/wallet/peer/OutgoingPushResultComposable.kt +++ b/wallet/src/main/java/net/taler/wallet/peer/OutgoingPushResultComposable.kt @@ -24,11 +24,11 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll -import androidx.compose.material.Button -import androidx.compose.material.CircularProgressIndicator -import androidx.compose.material.MaterialTheme -import androidx.compose.material.Surface -import androidx.compose.material.Text +import androidx.compose.material3.Button +import androidx.compose.material3.CircularProgressIndicator +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Surface +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment.Companion.CenterHorizontally import androidx.compose.ui.Modifier @@ -55,7 +55,7 @@ fun OutgoingPushResultComposable(state: OutgoingState, onClose: () -> Unit) { ) { Text( modifier = Modifier.padding(top = 16.dp, start = 16.dp, end = 16.dp), - style = MaterialTheme.typography.h6, + style = MaterialTheme.typography.titleLarge, text = stringResource(id = R.string.send_peer_payment_instruction), ) when (state) { @@ -92,7 +92,7 @@ private fun ColumnScope.PeerPushResponseComposable(state: OutgoingResponse) { ) { Text( modifier = Modifier.padding(horizontal = 16.dp), - style = MaterialTheme.typography.body1, + style = MaterialTheme.typography.bodyLarge, text = stringResource(id = R.string.receive_peer_invoice_uri), ) } @@ -105,7 +105,7 @@ private fun ColumnScope.PeerPushErrorComposable(state: OutgoingError) { .align(CenterHorizontally) .padding(16.dp), color = colorResource(R.color.red), - style = MaterialTheme.typography.body1, + style = MaterialTheme.typography.bodyLarge, text = state.info.userFacingMsg, ) } diff --git a/wallet/src/main/java/net/taler/wallet/peer/TransactionPeerPullCredit.kt b/wallet/src/main/java/net/taler/wallet/peer/TransactionPeerPullCredit.kt index 92264c7..c64f0d3 100644 --- a/wallet/src/main/java/net/taler/wallet/peer/TransactionPeerPullCredit.kt +++ b/wallet/src/main/java/net/taler/wallet/peer/TransactionPeerPullCredit.kt @@ -18,9 +18,9 @@ package net.taler.wallet.peer import androidx.compose.foundation.layout.ColumnScope import androidx.compose.foundation.layout.padding -import androidx.compose.material.MaterialTheme -import androidx.compose.material.Surface -import androidx.compose.material.Text +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Surface +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource @@ -69,7 +69,7 @@ fun ColumnScope.TransactionPeerPullCreditComposable(t: TransactionPeerPullCredit ) { Text( modifier = Modifier.padding(horizontal = 16.dp), - style = MaterialTheme.typography.body1, + style = MaterialTheme.typography.bodyLarge, text = stringResource(id = R.string.receive_peer_invoice_uri), ) } diff --git a/wallet/src/main/java/net/taler/wallet/peer/TransactionPeerPullDebit.kt b/wallet/src/main/java/net/taler/wallet/peer/TransactionPeerPullDebit.kt index d09a659..ccf0324 100644 --- a/wallet/src/main/java/net/taler/wallet/peer/TransactionPeerPullDebit.kt +++ b/wallet/src/main/java/net/taler/wallet/peer/TransactionPeerPullDebit.kt @@ -16,7 +16,7 @@ package net.taler.wallet.peer -import androidx.compose.material.Surface +import androidx.compose.material3.Surface import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview diff --git a/wallet/src/main/java/net/taler/wallet/peer/TransactionPeerPushCredit.kt b/wallet/src/main/java/net/taler/wallet/peer/TransactionPeerPushCredit.kt index e918c42..897d3fb 100644 --- a/wallet/src/main/java/net/taler/wallet/peer/TransactionPeerPushCredit.kt +++ b/wallet/src/main/java/net/taler/wallet/peer/TransactionPeerPushCredit.kt @@ -16,7 +16,7 @@ package net.taler.wallet.peer -import androidx.compose.material.Surface +import androidx.compose.material3.Surface import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview diff --git a/wallet/src/main/java/net/taler/wallet/peer/TransactionPeerPushDebit.kt b/wallet/src/main/java/net/taler/wallet/peer/TransactionPeerPushDebit.kt index 88c27fe..3e74d43 100644 --- a/wallet/src/main/java/net/taler/wallet/peer/TransactionPeerPushDebit.kt +++ b/wallet/src/main/java/net/taler/wallet/peer/TransactionPeerPushDebit.kt @@ -18,9 +18,9 @@ package net.taler.wallet.peer import androidx.compose.foundation.layout.ColumnScope import androidx.compose.foundation.layout.padding -import androidx.compose.material.MaterialTheme -import androidx.compose.material.Surface -import androidx.compose.material.Text +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Surface +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource @@ -68,7 +68,7 @@ fun ColumnScope.TransactionPeerPushDebitComposable(t: TransactionPeerPushDebit) ) { Text( modifier = Modifier.padding(horizontal = 16.dp), - style = MaterialTheme.typography.body1, + style = MaterialTheme.typography.bodyLarge, text = stringResource(id = R.string.receive_peer_invoice_uri), ) } diff --git a/wallet/src/main/java/net/taler/wallet/settings/SettingsFragment.kt b/wallet/src/main/java/net/taler/wallet/settings/SettingsFragment.kt index 3d31dc5..8bb0a4a 100644 --- a/wallet/src/main/java/net/taler/wallet/settings/SettingsFragment.kt +++ b/wallet/src/main/java/net/taler/wallet/settings/SettingsFragment.kt @@ -19,11 +19,11 @@ package net.taler.wallet.settings import android.os.Bundle import android.view.View import androidx.activity.result.contract.ActivityResultContracts.CreateDocument -import androidx.appcompat.app.AlertDialog import androidx.fragment.app.activityViewModels import androidx.preference.Preference import androidx.preference.PreferenceFragmentCompat import androidx.preference.SwitchPreferenceCompat +import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.google.android.material.snackbar.BaseTransientBottomBar.LENGTH_SHORT import com.google.android.material.snackbar.Snackbar import net.taler.common.showError @@ -143,7 +143,7 @@ class SettingsFragment : PreferenceFragmentCompat() { } private fun showResetDialog() { - AlertDialog.Builder(requireContext(), R.style.DialogTheme) + MaterialAlertDialogBuilder(requireContext(), R.style.MaterialAlertDialog_Material3) .setMessage("Do you really want to reset the wallet and lose all coins and purchases?") .setPositiveButton("Reset") { _, _ -> model.dangerouslyReset() diff --git a/wallet/src/main/java/net/taler/wallet/transactions/DeleteTransactionComposable.kt b/wallet/src/main/java/net/taler/wallet/transactions/DeleteTransactionComposable.kt index 7b69e2b..d2fd15e 100644 --- a/wallet/src/main/java/net/taler/wallet/transactions/DeleteTransactionComposable.kt +++ b/wallet/src/main/java/net/taler/wallet/transactions/DeleteTransactionComposable.kt @@ -18,10 +18,10 @@ package net.taler.wallet.transactions import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.padding -import androidx.compose.material.Button -import androidx.compose.material.ButtonDefaults -import androidx.compose.material.Icon -import androidx.compose.material.Text +import androidx.compose.material3.Button +import androidx.compose.material3.ButtonDefaults +import androidx.compose.material3.Icon +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier @@ -36,19 +36,19 @@ import net.taler.wallet.R fun DeleteTransactionComposable(onDelete: () -> Unit) { Button( modifier = Modifier.padding(16.dp), - colors = ButtonDefaults.buttonColors(backgroundColor = colorResource(R.color.red)), + colors = ButtonDefaults.buttonColors(containerColor = colorResource(R.color.red)), onClick = onDelete, ) { Row(verticalAlignment = Alignment.CenterVertically) { Icon( painter = painterResource(id = R.drawable.ic_delete), contentDescription = null, - tint = Color.White, + tint = Color.White ) Text( modifier = Modifier.padding(start = 8.dp), text = stringResource(R.string.transactions_delete), - color = Color.White, + color = Color.White ) } } diff --git a/wallet/src/main/java/net/taler/wallet/transactions/TransactionDetailFragment.kt b/wallet/src/main/java/net/taler/wallet/transactions/TransactionDetailFragment.kt index ed42066..bfafb80 100644 --- a/wallet/src/main/java/net/taler/wallet/transactions/TransactionDetailFragment.kt +++ b/wallet/src/main/java/net/taler/wallet/transactions/TransactionDetailFragment.kt @@ -24,10 +24,10 @@ import android.view.MenuInflater import android.view.MenuItem import android.widget.TextView import androidx.annotation.StringRes -import androidx.appcompat.app.AlertDialog import androidx.fragment.app.Fragment import androidx.fragment.app.activityViewModels import androidx.navigation.fragment.findNavController +import com.google.android.material.dialog.MaterialAlertDialogBuilder import net.taler.common.Amount import net.taler.common.startActivitySafe import net.taler.wallet.MainViewModel @@ -99,7 +99,7 @@ abstract class TransactionDetailFragment : Fragment() { protected open val deleteDialogButton = R.string.transactions_delete protected fun onDeleteButtonClicked(t: Transaction) { - AlertDialog.Builder(requireContext(), R.style.DialogTheme) + MaterialAlertDialogBuilder(requireContext(), R.style.MaterialAlertDialog_Material3) .setTitle(deleteDialogTitle) .setMessage(deleteDialogMessage) .setNeutralButton(R.string.cancel) { dialog, _ -> diff --git a/wallet/src/main/java/net/taler/wallet/transactions/TransactionPeerFragment.kt b/wallet/src/main/java/net/taler/wallet/transactions/TransactionPeerFragment.kt index b7c347f..9054f73 100644 --- a/wallet/src/main/java/net/taler/wallet/transactions/TransactionPeerFragment.kt +++ b/wallet/src/main/java/net/taler/wallet/transactions/TransactionPeerFragment.kt @@ -25,8 +25,8 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll -import androidx.compose.material.MaterialTheme -import androidx.compose.material.Text +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment.Companion.CenterHorizontally import androidx.compose.ui.Modifier @@ -76,7 +76,7 @@ fun TransactionPeerComposable(t: Transaction, onDelete: () -> Unit) { Text( modifier = Modifier.padding(16.dp), text = t.timestamp.ms.toAbsoluteTime(context).toString(), - style = MaterialTheme.typography.body1, + style = MaterialTheme.typography.bodyLarge, ) when (t) { is TransactionPeerPullCredit -> TransactionPeerPullCreditComposable(t) @@ -94,7 +94,7 @@ fun TransactionAmountComposable(label: String, amount: Amount, amountType: Amoun Text( modifier = Modifier.padding(top = 16.dp, start = 16.dp, end = 16.dp), text = label, - style = MaterialTheme.typography.body2, + style = MaterialTheme.typography.bodyMedium, ) Text( modifier = Modifier.padding(top = 8.dp, start = 16.dp, end = 16.dp, bottom = 16.dp), @@ -113,7 +113,7 @@ fun TransactionInfoComposable(label: String, info: String) { Text( modifier = Modifier.padding(top = 16.dp, start = 16.dp, end = 16.dp), text = label, - style = MaterialTheme.typography.body2, + style = MaterialTheme.typography.bodyMedium, ) Text( modifier = Modifier.padding(top = 8.dp, start = 16.dp, end = 16.dp, bottom = 16.dp), diff --git a/wallet/src/main/java/net/taler/wallet/transactions/TransactionTipFragment.kt b/wallet/src/main/java/net/taler/wallet/transactions/TransactionTipFragment.kt index 3f370c7..e8824ed 100644 --- a/wallet/src/main/java/net/taler/wallet/transactions/TransactionTipFragment.kt +++ b/wallet/src/main/java/net/taler/wallet/transactions/TransactionTipFragment.kt @@ -25,9 +25,9 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll -import androidx.compose.material.MaterialTheme -import androidx.compose.material.Surface -import androidx.compose.material.Text +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Surface +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment.Companion.CenterHorizontally import androidx.compose.ui.Modifier @@ -73,7 +73,7 @@ fun TransactionTipComposable(t: TransactionTip, onDelete: () -> Unit) { Text( modifier = Modifier.padding(16.dp), text = t.timestamp.ms.toAbsoluteTime(context).toString(), - style = MaterialTheme.typography.body1, + style = MaterialTheme.typography.bodyLarge, ) TransactionAmountComposable( diff --git a/wallet/src/main/java/net/taler/wallet/transactions/TransactionsFragment.kt b/wallet/src/main/java/net/taler/wallet/transactions/TransactionsFragment.kt index 09adb3e..08281c4 100644 --- a/wallet/src/main/java/net/taler/wallet/transactions/TransactionsFragment.kt +++ b/wallet/src/main/java/net/taler/wallet/transactions/TransactionsFragment.kt @@ -25,7 +25,6 @@ import android.view.MenuItem import android.view.View import android.view.View.INVISIBLE import android.view.ViewGroup -import androidx.appcompat.app.AlertDialog import androidx.appcompat.widget.SearchView import androidx.appcompat.widget.SearchView.OnQueryTextListener import androidx.fragment.app.Fragment @@ -36,6 +35,7 @@ import androidx.recyclerview.selection.SelectionTracker import androidx.recyclerview.selection.StorageStrategy import androidx.recyclerview.widget.DividerItemDecoration import androidx.recyclerview.widget.LinearLayoutManager.VERTICAL +import com.google.android.material.dialog.MaterialAlertDialogBuilder import net.taler.common.Amount import net.taler.common.fadeIn import net.taler.common.fadeOut @@ -232,7 +232,7 @@ class TransactionsFragment : Fragment(), OnTransactionClickListener, ActionMode. when (item.itemId) { R.id.transaction_delete -> { tracker?.selection?.toList()?.let { transactionIds -> - AlertDialog.Builder(requireContext(), R.style.DialogTheme) + MaterialAlertDialogBuilder(requireContext(), R.style.MaterialAlertDialog_Material3) .setTitle(R.string.transactions_delete) .setMessage(R.string.transactions_delete_selected_dialog_message) .setNeutralButton(R.string.cancel) { dialog, _ -> diff --git a/wallet/src/main/java/net/taler/wallet/withdraw/manual/ScreenBitcoin.kt b/wallet/src/main/java/net/taler/wallet/withdraw/manual/ScreenBitcoin.kt index d6ed7df..65b3e21 100644 --- a/wallet/src/main/java/net/taler/wallet/withdraw/manual/ScreenBitcoin.kt +++ b/wallet/src/main/java/net/taler/wallet/withdraw/manual/ScreenBitcoin.kt @@ -23,11 +23,11 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll -import androidx.compose.material.Button -import androidx.compose.material.ButtonDefaults -import androidx.compose.material.MaterialTheme -import androidx.compose.material.Surface -import androidx.compose.material.Text +import androidx.compose.material3.Button +import androidx.compose.material3.ButtonDefaults +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Surface +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment.Companion.End @@ -59,11 +59,11 @@ fun ScreenBitcoin( ) { Text( text = stringResource(R.string.withdraw_manual_bitcoin_title), - style = MaterialTheme.typography.h5, + style = MaterialTheme.typography.headlineSmall, ) Text( text = stringResource(R.string.withdraw_manual_bitcoin_intro), - style = MaterialTheme.typography.body1, + style = MaterialTheme.typography.bodyLarge, modifier = Modifier .padding(vertical = 8.dp) ) @@ -85,7 +85,7 @@ fun ScreenBitcoin( if (onCancelClick != null) { Button( onClick = onCancelClick, - colors = ButtonDefaults.buttonColors(backgroundColor = colorResource(R.color.red)), + colors = ButtonDefaults.buttonColors(containerColor = colorResource(R.color.red)), modifier = Modifier .padding(vertical = 16.dp) .align(End), @@ -111,13 +111,13 @@ fun BitcoinSegwitAddrs(amount: Amount, addr: String, segwitAddresses: List<Strin Column(modifier = Modifier.weight(0.3f)) { Text( text = addr, - style = MaterialTheme.typography.body1, + style = MaterialTheme.typography.bodyLarge, fontWeight = FontWeight.Normal, fontSize = 3.em ) Text( text = amount.withCurrency("BTC").toString(), - style = MaterialTheme.typography.body1, + style = MaterialTheme.typography.bodyLarge, fontWeight = FontWeight.Bold, ) } @@ -127,13 +127,13 @@ fun BitcoinSegwitAddrs(amount: Amount, addr: String, segwitAddresses: List<Strin Column(modifier = Modifier.weight(0.3f)) { Text( text = segwitAddress, - style = MaterialTheme.typography.body1, + style = MaterialTheme.typography.bodyLarge, fontWeight = FontWeight.Normal, fontSize = 3.em, ) Text( text = SEGWIT_MIN.toString(), - style = MaterialTheme.typography.body1, + style = MaterialTheme.typography.bodyLarge, fontWeight = FontWeight.Bold, ) } diff --git a/wallet/src/main/java/net/taler/wallet/withdraw/manual/ScreenIBAN.kt b/wallet/src/main/java/net/taler/wallet/withdraw/manual/ScreenIBAN.kt index 79ca364..82e4040 100644 --- a/wallet/src/main/java/net/taler/wallet/withdraw/manual/ScreenIBAN.kt +++ b/wallet/src/main/java/net/taler/wallet/withdraw/manual/ScreenIBAN.kt @@ -26,13 +26,13 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll -import androidx.compose.material.Button -import androidx.compose.material.ButtonDefaults -import androidx.compose.material.Icon -import androidx.compose.material.IconButton -import androidx.compose.material.MaterialTheme -import androidx.compose.material.Surface -import androidx.compose.material.Text +import androidx.compose.material3.Button +import androidx.compose.material3.ButtonDefaults +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Surface +import androidx.compose.material3.Text import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.ContentCopy import androidx.compose.runtime.Composable @@ -65,12 +65,12 @@ fun ScreenIBAN( ) { Text( text = stringResource(R.string.withdraw_manual_ready_title), - style = MaterialTheme.typography.h5, + style = MaterialTheme.typography.headlineSmall, ) Text( text = stringResource(R.string.withdraw_manual_ready_intro, status.amountRaw.toString()), - style = MaterialTheme.typography.body1, + style = MaterialTheme.typography.bodyLarge, modifier = Modifier .padding(vertical = 8.dp) ) @@ -80,7 +80,7 @@ fun ScreenIBAN( DetailRow(stringResource(R.string.withdraw_exchange), status.exchangeBaseUrl, false) Text( text = stringResource(R.string.withdraw_manual_ready_warning), - style = MaterialTheme.typography.body2, + style = MaterialTheme.typography.bodyMedium, color = colorResource(R.color.notice_text), modifier = Modifier .align(Alignment.CenterHorizontally) @@ -102,7 +102,7 @@ fun ScreenIBAN( if (onCancelClick != null) { Button( onClick = onCancelClick, - colors = ButtonDefaults.buttonColors(backgroundColor = colorResource(R.color.red)), + colors = ButtonDefaults.buttonColors(containerColor = colorResource(R.color.red)), modifier = Modifier .padding(vertical = 16.dp) .align(Alignment.End), @@ -125,7 +125,7 @@ fun DetailRow(label: String, content: String, copy: Boolean = true) { .weight(0.3f)) { Text( text = label, - style = MaterialTheme.typography.body1, + style = MaterialTheme.typography.bodyLarge, fontWeight = if (copy) FontWeight.Bold else FontWeight.Normal, ) if (copy) { @@ -136,7 +136,7 @@ fun DetailRow(label: String, content: String, copy: Boolean = true) { } Text( text = content, - style = MaterialTheme.typography.body1, + style = MaterialTheme.typography.bodyLarge, modifier = Modifier .padding(bottom = 8.dp) .weight(0.7f) diff --git a/wallet/src/main/res/layout/app_content_main.xml b/wallet/src/main/res/layout/app_content_main.xml index 6937e59..b53717f 100644 --- a/wallet/src/main/res/layout/app_content_main.xml +++ b/wallet/src/main/res/layout/app_content_main.xml @@ -36,14 +36,14 @@ style="@style/AppTheme.Toolbar" android:layout_width="0dp" android:layout_height="wrap_content" - android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" + android:theme="@style/Widget.Material3.ActionBar.Solid" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <me.zhanghai.android.materialprogressbar.MaterialProgressBar android:id="@+id/progress_bar" - style="@style/Widget.MaterialProgressBar.ProgressBar.Horizontal" + style="@style/Widget.MaterialProgressBar.ProgressBar" android:layout_width="0dp" android:layout_height="4dp" android:elevation="4dp" diff --git a/wallet/src/main/res/layout/dialog_exchange_add.xml b/wallet/src/main/res/layout/dialog_exchange_add.xml index dfa0f70..bf90177 100644 --- a/wallet/src/main/res/layout/dialog_exchange_add.xml +++ b/wallet/src/main/res/layout/dialog_exchange_add.xml @@ -22,7 +22,7 @@ <com.google.android.material.textfield.TextInputLayout android:id="@+id/urlLayout" - style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense" + style="@style/Widget.Material3.TextInputLayout.OutlinedBox.Dense" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_margin="16dp" diff --git a/wallet/src/main/res/layout/fragment_error.xml b/wallet/src/main/res/layout/fragment_error.xml index b9f585f..c8c4913 100644 --- a/wallet/src/main/res/layout/fragment_error.xml +++ b/wallet/src/main/res/layout/fragment_error.xml @@ -60,7 +60,7 @@ android:layout_height="wrap_content" android:layout_margin="16dp" android:gravity="center" - android:textAppearance="@style/TextAppearance.AppCompat.Medium" + android:textAppearance="@style/TextAppearance.Material3.TitleMedium" app:layout_constraintBottom_toTopOf="@+id/errorDevMessage" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" diff --git a/wallet/src/main/res/layout/fragment_manual_withdraw.xml b/wallet/src/main/res/layout/fragment_manual_withdraw.xml index ec176ff..56ff077 100644 --- a/wallet/src/main/res/layout/fragment_manual_withdraw.xml +++ b/wallet/src/main/res/layout/fragment_manual_withdraw.xml @@ -57,7 +57,7 @@ <com.google.android.material.textfield.TextInputLayout android:id="@+id/amountLayout" - style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense" + style="@style/Widget.Material3.TextInputLayout.OutlinedBox.Dense" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="16dp" diff --git a/wallet/src/main/res/layout/fragment_transactions.xml b/wallet/src/main/res/layout/fragment_transactions.xml index bad79ea..00bde32 100644 --- a/wallet/src/main/res/layout/fragment_transactions.xml +++ b/wallet/src/main/res/layout/fragment_transactions.xml @@ -22,9 +22,9 @@ <com.google.android.material.button.MaterialButton android:id="@+id/sendButton" - style="@style/Widget.MaterialComponents.Button.TextButton" android:layout_width="wrap_content" android:layout_height="wrap_content" + android:layout_marginStart="10dp" android:text="@string/transactions_send_funds" app:layout_constraintBottom_toTopOf="@+id/divider" app:layout_constraintStart_toStartOf="parent" @@ -32,9 +32,9 @@ <com.google.android.material.button.MaterialButton android:id="@+id/receiveButton" - style="@style/Widget.MaterialComponents.Button.TextButton" android:layout_width="wrap_content" android:layout_height="wrap_content" + android:layout_marginHorizontal="10dp" android:text="@string/transactions_receive_funds" app:layout_constraintBottom_toTopOf="@+id/divider" app:layout_constraintEnd_toStartOf="@+id/amount" diff --git a/wallet/src/main/res/layout/fragment_uri_input.xml b/wallet/src/main/res/layout/fragment_uri_input.xml index 1e9934f..6ea1a13 100644 --- a/wallet/src/main/res/layout/fragment_uri_input.xml +++ b/wallet/src/main/res/layout/fragment_uri_input.xml @@ -22,7 +22,7 @@ <com.google.android.material.textfield.TextInputLayout android:id="@+id/uriLayout" - style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense" + style="@style/Widget.Material3.TextInputLayout.OutlinedBox.Dense" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_margin="16dp" diff --git a/wallet/src/main/res/layout/nav_header_main.xml b/wallet/src/main/res/layout/nav_header_main.xml index e70e80f..6837814 100644 --- a/wallet/src/main/res/layout/nav_header_main.xml +++ b/wallet/src/main/res/layout/nav_header_main.xml @@ -39,7 +39,7 @@ android:layout_marginTop="8dp" android:layout_marginEnd="16dp" android:text="@string/nav_header_title" - android:textAppearance="@style/TextAppearance.AppCompat.Body1" + android:textAppearance="@style/TextAppearance.Material3.BodyLarge" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/talerLogoView" /> diff --git a/wallet/src/main/res/values/styles.xml b/wallet/src/main/res/values/styles.xml index 33e31a3..4ae91ac 100644 --- a/wallet/src/main/res/values/styles.xml +++ b/wallet/src/main/res/values/styles.xml @@ -16,30 +16,23 @@ <resources> - <style name="AppTheme" parent="Theme.MaterialComponents.DayNight.DarkActionBar"> - <item name="colorPrimary">@color/colorPrimary</item> - <item name="colorPrimaryDark">@color/colorPrimaryDark</item> - <item name="colorAccent">@color/colorAccent</item> - <item name="colorOnPrimary">@android:color/white</item> - + <style name="AppTheme" parent="Theme.Material3.DayNight"> <item name="windowActionModeOverlay">true</item> </style> <style name="AppTheme.NoActionBar"> <item name="windowActionBar">false</item> <item name="windowNoTitle">true</item> - <item name="android:statusBarColor">@android:color/transparent</item> </style> - <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.MaterialComponents.ActionBar" /> + <style name="AppTheme.AppBarOverlay" parent="Widget.Material3.ActionBar.Solid" /> - <style name="AppTheme.Toolbar" parent="Widget.MaterialComponents.Toolbar.Primary" /> + <style name="AppTheme.Toolbar" parent="Widget.Material3.Toolbar" /> - <style name="DialogTheme" parent="Theme.MaterialComponents.DayNight.Dialog.Alert" /> + <style name="DialogTheme" parent="Theme.Material3.DayNight.Dialog.Alert" /> <style name="TransactionTitle"> <item name="android:textSize">16sp</item> - <item name="android:textColor">?android:textColorPrimary</item> </style> <style name="TransactionLabel"> @@ -72,13 +65,11 @@ <item name="cardElevation">8dp</item> </style> - <style name="FabStyle" parent="Widget.MaterialComponents.FloatingActionButton"> + <style name="FabStyle" parent="Widget.Material3.FloatingActionButton.Primary"> <item name="android:layout_gravity">bottom|end</item> <item name="android:layout_marginEnd">16dp</item> <item name="android:layout_marginBottom">16dp</item> - <item name="backgroundTint">@color/colorPrimary</item> <item name="layout_dodgeInsetEdges">bottom</item> - <item name="tint">?attr/colorOnPrimary</item> </style> </resources> |