Skip to content

Commit 96686b6

Browse files
authored
Merge branch 'master' into fix/handle-node-connection-errors
2 parents 2c5e979 + 5619875 commit 96686b6

9 files changed

Lines changed: 45 additions & 284 deletions

File tree

app/build.gradle.kts

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,14 @@ val keystoreProperties by lazy {
3737
keystoreProperties
3838
}
3939

40-
val locales = listOf("en", "ar", "ca", "cs", "de", "el", "es", "fr", "it", "nl", "pl", "pt", "ru")
40+
// Android resource qualifier format for androidResources.localeFilters
41+
val androidLocales = listOf(
42+
"en", "ar", "b+es+419", "ca", "cs", "de", "el", "es", "es-rES", "fr", "it", "nl", "pl", "pt", "pt-rBR", "ru"
43+
)
44+
// BCP 47 format for BuildConfig.LOCALES (used with Locale.forLanguageTag())
45+
val bcp47Locales = listOf(
46+
"en", "ar", "es-419", "ca", "cs", "de", "el", "es", "es-ES", "fr", "it", "nl", "pl", "pt", "pt-BR", "ru"
47+
)
4148
val e2eBackendEnv = System.getenv("E2E_BACKEND") ?: "local"
4249

4350
android {
@@ -47,16 +54,16 @@ android {
4754
applicationId = "to.bitkit"
4855
minSdk = 28
4956
targetSdk = 36
50-
versionCode = 170
51-
versionName = "2.0.0-rc.4"
57+
versionCode = 171
58+
versionName = "2.0.0-rc.5"
5259
testInstrumentationRunner = "to.bitkit.test.HiltTestRunner"
5360
vectorDrawables {
5461
useSupportLibrary = true
5562
}
5663
buildConfigField("boolean", "E2E", System.getenv("E2E")?.toBoolean()?.toString() ?: "false")
5764
buildConfigField("String", "E2E_BACKEND", "\"$e2eBackendEnv\"")
5865
buildConfigField("boolean", "GEO", System.getenv("GEO")?.toBoolean()?.toString() ?: "true")
59-
buildConfigField("String", "LOCALES", "\"${locales.joinToString(",")}\"")
66+
buildConfigField("String", "LOCALES", "\"${bcp47Locales.joinToString(",")}\"")
6067
}
6168

6269
flavorDimensions += "network"
@@ -146,7 +153,7 @@ android {
146153
}
147154
androidResources {
148155
@Suppress("UnstableApiUsage")
149-
localeFilters.addAll(locales)
156+
localeFilters.addAll(androidLocales)
150157
@Suppress("UnstableApiUsage")
151158
generateLocaleConfig = true
152159
}

app/src/main/java/to/bitkit/ui/ContentView.kt

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,6 @@ import to.bitkit.ui.screens.transfer.TransferIntroScreen
8989
import to.bitkit.ui.screens.transfer.external.ExternalAmountScreen
9090
import to.bitkit.ui.screens.transfer.external.ExternalConfirmScreen
9191
import to.bitkit.ui.screens.transfer.external.ExternalConnectionScreen
92-
import to.bitkit.ui.screens.transfer.external.ExternalFeeCustomScreen
9392
import to.bitkit.ui.screens.transfer.external.ExternalNodeViewModel
9493
import to.bitkit.ui.screens.transfer.external.ExternalSuccessScreen
9594
import to.bitkit.ui.screens.transfer.external.LnurlChannelScreen
@@ -735,7 +734,6 @@ private fun RootNavHost(
735734
walletViewModel.refreshState()
736735
navController.navigate(Routes.ExternalSuccess)
737736
},
738-
onNetworkFeeClick = { navController.navigate(Routes.ExternalFeeCustom) },
739737
onBackClick = { navController.popBackStack() },
740738
)
741739
}
@@ -752,15 +750,6 @@ private fun RootNavHost(
752750
onContinue = { navController.navigateToHome() },
753751
)
754752
}
755-
composableWithDefaultTransitions<Routes.ExternalFeeCustom> {
756-
val parentEntry = remember(it) { navController.getBackStackEntry(Routes.ExternalNav) }
757-
val viewModel = hiltViewModel<ExternalNodeViewModel>(parentEntry)
758-
759-
ExternalFeeCustomScreen(
760-
viewModel = viewModel,
761-
onBack = { navController.popBackStack() },
762-
)
763-
}
764753
}
765754
}
766755
}
@@ -1913,9 +1902,6 @@ sealed interface Routes {
19131902
@Serializable
19141903
data object ExternalSuccess : Routes
19151904

1916-
@Serializable
1917-
data object ExternalFeeCustom : Routes
1918-
19191905
@Serializable
19201906
data class LnurlChannel(val uri: String, val callback: String, val k1: String) : Routes
19211907

app/src/main/java/to/bitkit/ui/components/Button.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ fun PrimaryButton(
6464
enabled: Boolean = true,
6565
fullWidth: Boolean = true,
6666
color: Color? = null,
67+
enableGradient: Boolean = true,
6768
) {
6869
val contentPadding = PaddingValues(horizontal = size.horizontalPadding.takeIf { text != null } ?: 0.dp)
6970
val buttonShape = MaterialTheme.shapes.large
@@ -83,7 +84,8 @@ fun PrimaryButton(
8384
.primaryButtonStyle(
8485
isEnabled = enabled && !isLoading,
8586
shape = buttonShape,
86-
primaryColor = color
87+
primaryColor = color,
88+
enableGradient = enableGradient
8789
)
8890
.alphaFeedback(enabled = enabled && !isLoading)
8991
) {
@@ -315,6 +317,7 @@ private fun PrimaryButtonPreview() {
315317
onClick = {},
316318
fullWidth = false,
317319
color = Colors.Brand,
320+
enableGradient = false
318321
)
319322
PrimaryButton(
320323
text = "Primary Small Loading",

app/src/main/java/to/bitkit/ui/screens/transfer/external/ExternalConfirmScreen.kt

Lines changed: 4 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,36 @@
11
package to.bitkit.ui.screens.transfer.external
22

3-
import androidx.compose.animation.AnimatedVisibility
4-
import androidx.compose.animation.fadeIn
5-
import androidx.compose.animation.fadeOut
63
import androidx.compose.foundation.Image
74
import androidx.compose.foundation.layout.Arrangement
85
import androidx.compose.foundation.layout.Column
96
import androidx.compose.foundation.layout.IntrinsicSize
107
import androidx.compose.foundation.layout.Row
118
import androidx.compose.foundation.layout.Spacer
12-
import androidx.compose.foundation.layout.fillMaxHeight
139
import androidx.compose.foundation.layout.fillMaxSize
1410
import androidx.compose.foundation.layout.height
1511
import androidx.compose.foundation.layout.padding
1612
import androidx.compose.foundation.layout.size
17-
import androidx.compose.foundation.layout.width
1813
import androidx.compose.foundation.rememberScrollState
1914
import androidx.compose.foundation.verticalScroll
20-
import androidx.compose.material3.Icon
2115
import androidx.compose.runtime.Composable
2216
import androidx.compose.runtime.LaunchedEffect
2317
import androidx.compose.runtime.collectAsState
2418
import androidx.compose.runtime.getValue
25-
import androidx.compose.ui.Alignment
2619
import androidx.compose.ui.Alignment.Companion.CenterHorizontally
2720
import androidx.compose.ui.Modifier
2821
import androidx.compose.ui.layout.ContentScale
29-
import androidx.compose.ui.platform.testTag
3022
import androidx.compose.ui.res.painterResource
3123
import androidx.compose.ui.res.stringResource
3224
import androidx.compose.ui.tooling.preview.Preview
3325
import androidx.compose.ui.unit.dp
3426
import to.bitkit.R
35-
import to.bitkit.ui.components.Caption13Up
3627
import to.bitkit.ui.components.Display
3728
import to.bitkit.ui.components.FeeInfo
38-
import to.bitkit.ui.components.MoneySSB
3929
import to.bitkit.ui.components.SwipeToConfirm
4030
import to.bitkit.ui.scaffold.AppTopBar
4131
import to.bitkit.ui.scaffold.DrawerNavIcon
4232
import to.bitkit.ui.scaffold.ScreenColumn
4333
import to.bitkit.ui.screens.transfer.external.ExternalNodeContract.SideEffect
44-
import to.bitkit.ui.shared.modifiers.clickableAlpha
4534
import to.bitkit.ui.theme.AppThemeSurface
4635
import to.bitkit.ui.theme.Colors
4736
import to.bitkit.ui.utils.withAccent
@@ -50,7 +39,6 @@ import to.bitkit.ui.utils.withAccent
5039
fun ExternalConfirmScreen(
5140
viewModel: ExternalNodeViewModel,
5241
onConfirm: () -> Unit,
53-
onNetworkFeeClick: () -> Unit,
5442
onBackClick: () -> Unit,
5543
) {
5644
val uiState by viewModel.uiState.collectAsState()
@@ -67,7 +55,6 @@ fun ExternalConfirmScreen(
6755
Content(
6856
uiState = uiState,
6957
onConfirm = viewModel::onConfirm,
70-
onNetworkFeeClick = onNetworkFeeClick,
7158
onBackClick = onBackClick,
7259
)
7360
}
@@ -76,7 +63,6 @@ fun ExternalConfirmScreen(
7663
private fun Content(
7764
uiState: ExternalNodeContract.UiState,
7865
onConfirm: () -> Unit = {},
79-
onNetworkFeeClick: () -> Unit = {},
8066
onBackClick: () -> Unit = {},
8167
) {
8268
ScreenColumn {
@@ -103,32 +89,10 @@ private fun Content(
10389
horizontalArrangement = Arrangement.spacedBy(16.dp),
10490
modifier = Modifier.height(IntrinsicSize.Min)
10591
) {
106-
Column(
107-
modifier = Modifier
108-
.fillMaxHeight()
109-
.weight(1f)
110-
.padding(top = 16.dp)
111-
.clickableAlpha(onClick = onNetworkFeeClick)
112-
.testTag("SetCustomFee")
113-
) {
114-
Caption13Up(
115-
text = stringResource(R.string.lightning__spending_confirm__network_fee),
116-
color = Colors.White64,
117-
)
118-
Spacer(modifier = Modifier.height(8.dp))
119-
120-
AnimatedVisibility(visible = networkFee > 0L, enter = fadeIn(), exit = fadeOut()) {
121-
Row(verticalAlignment = Alignment.CenterVertically) {
122-
MoneySSB(sats = networkFee)
123-
Spacer(modifier = Modifier.width(4.dp))
124-
Icon(
125-
painterResource(R.drawable.ic_pencil_simple),
126-
contentDescription = null,
127-
modifier = Modifier.size(16.dp)
128-
)
129-
}
130-
}
131-
}
92+
FeeInfo(
93+
label = stringResource(R.string.lightning__spending_confirm__network_fee),
94+
amount = networkFee,
95+
)
13296
FeeInfo(
13397
label = stringResource(R.string.lightning__spending_confirm__lsp_fee),
13498
amount = serviceFee,

0 commit comments

Comments
 (0)