tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit 4b0c7da0b66659c20c41c131542c3731adf0cac1
parent 9f99131633909126f070d2626a77c292940f51e2
Author: t-p-white <towhite@mozilla.com>
Date:   Fri, 21 Nov 2025 18:00:33 +0000

Bug 2001355 - Part 1 Enable onboarding cards to be scrollable - except ToU. r=android-reviewers,mavduevskiy

Differential Revision: https://phabricator.services.mozilla.com/D273547

Diffstat:
Mmobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/redesign/view/OnboardingScreenRedesign.kt | 31++-----------------------------
1 file changed, 2 insertions(+), 29 deletions(-)

diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/redesign/view/OnboardingScreenRedesign.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/redesign/view/OnboardingScreenRedesign.kt @@ -34,12 +34,8 @@ import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.snapshotFlow import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.geometry.Offset import androidx.compose.ui.graphics.Brush import androidx.compose.ui.graphics.Color -import androidx.compose.ui.input.nestedscroll.NestedScrollConnection -import androidx.compose.ui.input.nestedscroll.NestedScrollSource -import androidx.compose.ui.input.nestedscroll.nestedScroll import androidx.compose.ui.platform.LocalConfiguration import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource @@ -292,8 +288,6 @@ private fun OnboardingContent( onMarketingDataLearnMoreClick: () -> Unit, onMarketingDataContinueClick: (allowMarketingDataCollection: Boolean) -> Unit, ) { - val nestedScrollConnection = remember { DisableForwardSwipeNestedScrollConnection(pagerState) } - BoxWithConstraints(modifier = Modifier.fillMaxSize()) { val boxWithConstraintsScope = this val isSmallPhoneScreen = boxWithConstraintsScope.maxHeight <= SMALL_SCREEN_MAX_HEIGHT @@ -318,8 +312,8 @@ private fun OnboardingContent( state = pagerState, modifier = Modifier .fillMaxWidth() - .height(pagerHeight) - .nestedScroll(nestedScrollConnection), + .height(pagerHeight), + userScrollEnabled = pagerState.currentPage != 0, // Disable scroll for the Terms of Use card. contentPadding = PaddingValues(horizontal = paddingValue), pageSize = PageSize.Fill, beyondViewportPageCount = 2, @@ -530,27 +524,6 @@ private fun isNonLargeScreenLandscape(isLargeScreen: Boolean, isLandscape: Boole private fun pageSpacing(isLargeScreen: Boolean, isSmallScreen: Boolean, pagePeekWidth: Dp) = if (isLargeScreen || isSmallScreen) pagePeekWidth else 8.dp -private class DisableForwardSwipeNestedScrollConnection( - private val pagerState: PagerState, -) : NestedScrollConnection { - - override fun onPreScroll(available: Offset, source: NestedScrollSource): Offset = - if (available.x > 0) { - // Allow going back on swipe - Offset.Zero - } else { - // For forward swipe, only allow if the visible item offset is less than 0, - // this would be a result of a slow back fling, and we should allow snapper to - // snap to the appropriate item. - // Else consume the whole offset and disable going forward. - if (pagerState.currentPageOffsetFraction < 0) { - Offset.Zero - } else { - Offset(available.x, 0f) - } - } -} - // *** Code below used for previews only *** // @FlexibleWindowLightDarkPreview