summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/NavigateButton.kt4
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/ApiAccessListScreen.kt2
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/ApiAccessMethodDetailsScreen.kt2
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/AutoConnectAndLockdownModeScreen.kt2
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/CustomListsScreen.kt2
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/ReportProblemScreen.kt2
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/ServerIpOverridesScreen.kt2
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/SplitTunnelingScreen.kt2
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/ViewLogsScreen.kt26
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreen.kt2
10 files changed, 30 insertions, 16 deletions
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/NavigateButton.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/NavigateButton.kt
index 3543ac31cb..c610a0cd8a 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/NavigateButton.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/NavigateButton.kt
@@ -9,8 +9,8 @@ import androidx.compose.ui.res.painterResource
import net.mullvad.mullvadvpn.R
@Composable
-fun NavigateBackIconButton(onNavigateBack: () -> Unit) {
- IconButton(onClick = onNavigateBack) {
+fun NavigateBackIconButton(modifier: Modifier = Modifier, onNavigateBack: () -> Unit) {
+ IconButton(onClick = onNavigateBack, modifier = modifier) {
Icon(painter = painterResource(id = R.drawable.icon_back), contentDescription = null)
}
}
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/ApiAccessListScreen.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/ApiAccessListScreen.kt
index 247e009f59..dec7b15c30 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/ApiAccessListScreen.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/ApiAccessListScreen.kt
@@ -83,7 +83,7 @@ fun ApiAccessListScreen(
) {
ScaffoldWithMediumTopBar(
appBarTitle = stringResource(id = R.string.settings_api_access),
- navigationIcon = { NavigateBackIconButton(onBackClick) },
+ navigationIcon = { NavigateBackIconButton(onNavigateBack = onBackClick) },
) { modifier, lazyListState ->
LazyColumn(modifier = modifier, state = lazyListState) {
description()
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/ApiAccessMethodDetailsScreen.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/ApiAccessMethodDetailsScreen.kt
index f876a0790f..60cf817164 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/ApiAccessMethodDetailsScreen.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/ApiAccessMethodDetailsScreen.kt
@@ -189,7 +189,7 @@ fun ApiAccessMethodDetailsScreen(
) {
ScaffoldWithMediumTopBar(
appBarTitle = state.name(),
- navigationIcon = { NavigateBackIconButton(onBackClicked) },
+ navigationIcon = { NavigateBackIconButton(onNavigateBack = onBackClicked) },
snackbarHostState = snackbarHostState,
actions = {
if (state.canBeEdited()) {
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/AutoConnectAndLockdownModeScreen.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/AutoConnectAndLockdownModeScreen.kt
index aa0f60c479..a372eab354 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/AutoConnectAndLockdownModeScreen.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/AutoConnectAndLockdownModeScreen.kt
@@ -85,7 +85,7 @@ fun AutoConnectAndLockdownModeScreen(onBackClick: () -> Unit = {}) {
val context = LocalContext.current
ScaffoldWithLargeTopBarAndButton(
appBarTitle = stringResource(id = R.string.auto_connect_and_lockdown_mode_two_lines),
- navigationIcon = { NavigateBackIconButton(onBackClick) },
+ navigationIcon = { NavigateBackIconButton(onNavigateBack = onBackClick) },
buttonTitle = stringResource(id = R.string.go_to_vpn_settings),
onButtonClick = { context.openVpnSettings() },
content = { modifier ->
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/CustomListsScreen.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/CustomListsScreen.kt
index 8ca728ca4b..8f43f4c888 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/CustomListsScreen.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/CustomListsScreen.kt
@@ -123,7 +123,7 @@ fun CustomListsScreen(
) {
ScaffoldWithMediumTopBar(
appBarTitle = stringResource(id = R.string.edit_custom_lists),
- navigationIcon = { NavigateBackIconButton(onBackClick) },
+ navigationIcon = { NavigateBackIconButton(onNavigateBack = onBackClick) },
actions = {
IconButton(
onClick = addCustomList,
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/ReportProblemScreen.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/ReportProblemScreen.kt
index 19aa05b7f9..6f35e8519e 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/ReportProblemScreen.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/ReportProblemScreen.kt
@@ -145,7 +145,7 @@ private fun ReportProblemScreen(
ScaffoldWithMediumTopBar(
appBarTitle = stringResource(id = R.string.report_a_problem),
- navigationIcon = { NavigateBackIconButton(onBackClick) }
+ navigationIcon = { NavigateBackIconButton(onNavigateBack = onBackClick) }
) { modifier ->
// Show sending states
if (state.sendingState != null) {
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/ServerIpOverridesScreen.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/ServerIpOverridesScreen.kt
index c323fcce3f..0ff97589d3 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/ServerIpOverridesScreen.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/ServerIpOverridesScreen.kt
@@ -172,7 +172,7 @@ fun ServerIpOverridesScreen(
ScaffoldWithMediumTopBar(
appBarTitle = stringResource(id = R.string.server_ip_overrides),
- navigationIcon = { NavigateBackIconButton(onBackClick) },
+ navigationIcon = { NavigateBackIconButton(onNavigateBack = onBackClick) },
actions = {
TopBarActions(
overridesActive = state.overridesActive,
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/SplitTunnelingScreen.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/SplitTunnelingScreen.kt
index 84a0e6fd9c..df837b5750 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/SplitTunnelingScreen.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/SplitTunnelingScreen.kt
@@ -122,7 +122,7 @@ fun SplitTunnelingScreen(
ScaffoldWithMediumTopBar(
modifier = Modifier.fillMaxSize(),
appBarTitle = stringResource(id = R.string.split_tunneling),
- navigationIcon = { NavigateBackIconButton(onBackClick) },
+ navigationIcon = { NavigateBackIconButton(onNavigateBack = onBackClick) },
) { modifier, lazyListState ->
LazyColumn(
modifier = modifier,
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/ViewLogsScreen.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/ViewLogsScreen.kt
index 0047655e26..83f9121493 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/ViewLogsScreen.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/ViewLogsScreen.kt
@@ -24,7 +24,10 @@ import androidx.compose.runtime.getValue
import androidx.compose.runtime.remember
import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.ui.Alignment
+import androidx.compose.ui.ExperimentalComposeUiApi
import androidx.compose.ui.Modifier
+import androidx.compose.ui.focus.FocusRequester
+import androidx.compose.ui.focus.focusProperties
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
@@ -71,7 +74,7 @@ fun ViewLogs(navigator: DestinationsNavigator) {
ViewLogsScreen(state = state, onBackClick = dropUnlessResumed { navigator.navigateUp() })
}
-@OptIn(ExperimentalMaterial3Api::class)
+@OptIn(ExperimentalMaterial3Api::class, ExperimentalComposeUiApi::class)
@Composable
fun ViewLogsScreen(
state: ViewLogsUiState,
@@ -92,16 +95,27 @@ fun ViewLogsScreen(
topBar = {
MullvadMediumTopBar(
title = stringResource(id = R.string.view_logs),
- navigationIcon = { NavigateBackIconButton(onBackClick) },
+ navigationIcon = {
+ NavigateBackIconButton(
+ onNavigateBack = onBackClick,
+ modifier = Modifier.focusProperties { down = FocusRequester.Cancel }
+ )
+ },
actions = {
val clipboardToastMessage = stringResource(R.string.copied_logs_to_clipboard)
- IconButton(onClick = { clipboardHandle(state.text(), clipboardToastMessage) }) {
+ IconButton(
+ onClick = { clipboardHandle(state.text(), clipboardToastMessage) },
+ modifier = Modifier.focusProperties { down = FocusRequester.Cancel }
+ ) {
Icon(
painter = painterResource(id = R.drawable.icon_copy),
contentDescription = null
)
}
- IconButton(onClick = { scope.launch { shareText(context, state.text()) } }) {
+ IconButton(
+ onClick = { scope.launch { shareText(context, state.text()) } },
+ modifier = Modifier.focusProperties { down = FocusRequester.Cancel }
+ ) {
Icon(imageVector = Icons.Default.Share, contentDescription = null)
}
}
@@ -137,8 +151,8 @@ fun ViewLogsScreen(
)
.padding(horizontal = Dimens.smallPadding)
) {
- items(state.allLines) {
- Text(text = it, style = MaterialTheme.typography.bodySmall)
+ items(state.allLines) { text ->
+ Text(text = text, style = MaterialTheme.typography.bodySmall)
}
}
}
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreen.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreen.kt
index d92694afc2..accc593f3c 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreen.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreen.kt
@@ -300,7 +300,7 @@ fun VpnSettingsScreen(
ScaffoldWithMediumTopBar(
appBarTitle = stringResource(id = R.string.settings_vpn),
- navigationIcon = { NavigateBackIconButton(onBackClick) },
+ navigationIcon = { NavigateBackIconButton(onNavigateBack = onBackClick) },
snackbarHostState = snackbarHostState
) { modifier, lazyListState ->
LazyColumn(