summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorDavid Göransson <david.goransson90@gmail.com>2023-09-22 11:12:18 +0200
committerDavid Göransson <david.goransson90@gmail.com>2023-09-27 08:23:26 +0200
commita658e8ebc14d110e091b3e1533d2149c6651e863 (patch)
tree79413290899e6022c8ea51ff02e0ee64256e9e57 /android
parent4105247701b021f44fcf4a55a640c508f0248f0f (diff)
downloadmullvadvpn-a658e8ebc14d110e091b3e1533d2149c6651e863.tar.xz
mullvadvpn-a658e8ebc14d110e091b3e1533d2149c6651e863.zip
Fix keyboard navigation crash
Diffstat (limited to 'android')
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/AccountScreen.kt34
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/LoginScreen.kt8
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/util/AccountTokenVisualTransformation.kt1
3 files changed, 24 insertions, 19 deletions
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/AccountScreen.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/AccountScreen.kt
index a2e5eec8df..22dfc34269 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/AccountScreen.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/AccountScreen.kt
@@ -157,23 +157,23 @@ fun AccountScreen(
)
Spacer(modifier = Modifier.weight(1f))
- if (IS_PLAY_BUILD.not()) {
- ActionButton(
- text = stringResource(id = R.string.manage_account),
- onClick = onManageAccountClick,
- modifier =
- Modifier.padding(
- start = Dimens.sideMargin,
- end = Dimens.sideMargin,
- bottom = Dimens.screenVerticalMargin
- ),
- colors =
- ButtonDefaults.buttonColors(
- contentColor = MaterialTheme.colorScheme.onPrimary,
- containerColor = MaterialTheme.colorScheme.surface
- )
- )
- }
+ if (IS_PLAY_BUILD.not()) {
+ ActionButton(
+ text = stringResource(id = R.string.manage_account),
+ onClick = onManageAccountClick,
+ modifier =
+ Modifier.padding(
+ start = Dimens.sideMargin,
+ end = Dimens.sideMargin,
+ bottom = Dimens.screenVerticalMargin
+ ),
+ colors =
+ ButtonDefaults.buttonColors(
+ contentColor = MaterialTheme.colorScheme.onPrimary,
+ containerColor = MaterialTheme.colorScheme.surface
+ )
+ )
+ }
ActionButton(
text = stringResource(id = R.string.redeem_voucher),
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/LoginScreen.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/LoginScreen.kt
index b1a25fb581..6a2eaf5811 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/LoginScreen.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/LoginScreen.kt
@@ -156,7 +156,13 @@ private fun LoginContent(
)
ExposedDropdownMenuBox(expanded = expanded, onExpandedChange = { expanded = it }) {
TextField(
- modifier = Modifier.menuAnchor().fillMaxWidth(),
+ modifier =
+ Modifier.then(
+ // Using menuAnchor while not showing a dropdown will cause keyboard to
+ // open and app to crash on navigation
+ if (state.lastUsedAccount != null) Modifier.menuAnchor() else Modifier
+ )
+ .fillMaxWidth(),
value = state.accountNumberInput,
label = {
Text(
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/util/AccountTokenVisualTransformation.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/util/AccountTokenVisualTransformation.kt
index f7efcffb57..3160ff9ac1 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/util/AccountTokenVisualTransformation.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/util/AccountTokenVisualTransformation.kt
@@ -21,7 +21,6 @@ fun accountTokenVisualTransformation() = VisualTransformation {
override fun transformedToOriginal(offset: Int): Int =
offset - (offset - 1) / (ACCOUNT_TOKEN_CHUNK_SIZE + 1)
-
}
)
}