summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDavid Göransson <david.goransson90@gmail.com>2023-10-05 14:54:08 +0200
committerAlbin <albin@mullvad.net>2023-10-06 17:35:23 +0200
commit7e28f789dadaa07950101058330757769a76e70d (patch)
tree6548308aa794a079b2b36b5e96a6b17e7a8e8002
parentf7db974d02db5398a40701cf4d731eb65bb28761 (diff)
downloadmullvadvpn-7e28f789dadaa07950101058330757769a76e70d.tar.xz
mullvadvpn-7e28f789dadaa07950101058330757769a76e70d.zip
Fix split tunneling view and scrollable menu bar
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/Scaffolding.kt21
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/TopBar.kt2
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/SplitTunnelingScreen.kt8
3 files changed, 17 insertions, 14 deletions
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/Scaffolding.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/Scaffolding.kt
index e2ba1d4f76..eb4d0d19a5 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/Scaffolding.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/Scaffolding.kt
@@ -83,11 +83,9 @@ fun ScaffoldWithMediumTopBar(
) {
val appBarState = rememberTopAppBarState()
+ val canScroll = lazyListState.canScrollForward || lazyListState.canScrollBackward
val scrollBehavior =
- TopAppBarDefaults.exitUntilCollapsedScrollBehavior(
- appBarState,
- canScroll = { lazyListState.canScrollBackward || lazyListState.canScrollForward }
- )
+ TopAppBarDefaults.exitUntilCollapsedScrollBehavior(appBarState, canScroll = { canScroll })
Scaffold(
modifier = modifier.fillMaxSize().nestedScroll(scrollBehavior.nestedScrollConnection),
topBar = {
@@ -95,7 +93,7 @@ fun ScaffoldWithMediumTopBar(
title = appBarTitle,
navigationIcon = navigationIcon,
actions,
- scrollBehavior = scrollBehavior
+ scrollBehavior = if (canScroll) scrollBehavior else null
)
},
content = {
@@ -118,11 +116,9 @@ fun ScaffoldWithMediumTopBar(
) {
val appBarState = rememberTopAppBarState()
val scrollState = rememberScrollState()
+ val canScroll = scrollState.canScrollForward || scrollState.canScrollBackward
val scrollBehavior =
- TopAppBarDefaults.exitUntilCollapsedScrollBehavior(
- appBarState,
- canScroll = { scrollState.canScrollBackward || scrollState.canScrollForward }
- )
+ TopAppBarDefaults.exitUntilCollapsedScrollBehavior(appBarState, canScroll = { canScroll })
Scaffold(
modifier = modifier.fillMaxSize().nestedScroll(scrollBehavior.nestedScrollConnection),
topBar = {
@@ -130,7 +126,12 @@ fun ScaffoldWithMediumTopBar(
title = appBarTitle,
navigationIcon = navigationIcon,
actions,
- scrollBehavior = scrollBehavior
+ scrollBehavior =
+ if (canScroll) {
+ scrollBehavior
+ } else {
+ null
+ }
)
},
content = {
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/TopBar.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/TopBar.kt
index 2cab654e72..3c5e0e1bb7 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/TopBar.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/TopBar.kt
@@ -85,7 +85,6 @@ private fun PreviewNothingTopBar() {
}
}
-@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun MullvadTopBar(
containerColor: Color,
@@ -189,7 +188,6 @@ private fun PreviewSlimMediumTopBar() {
}
}
-@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun MullvadMediumTopBar(
title: String,
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 28d5e05fb3..bf47a7a17f 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
@@ -87,8 +87,12 @@ fun SplitTunnelingScreen(
modifier = Modifier.fillMaxSize(),
appBarTitle = stringResource(id = R.string.split_tunneling),
navigationIcon = { NavigateBackIconButton(onBackClick) }
- ) { _, lazyListState ->
- LazyColumn(horizontalAlignment = Alignment.CenterHorizontally, state = lazyListState) {
+ ) { modifier, lazyListState ->
+ LazyColumn(
+ modifier = modifier,
+ horizontalAlignment = Alignment.CenterHorizontally,
+ state = lazyListState
+ ) {
item(key = CommonContentKey.DESCRIPTION, contentType = ContentType.DESCRIPTION) {
Box(modifier = Modifier.fillMaxWidth()) {
Text(