tor-browser

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

commit 9ce1366f3457434038aa8db061273a9b981b318a
parent 5080ead9b9c3a7560b561dcc3a5f24ecc2fb417f
Author: t-p-white <towhite@mozilla.com>
Date:   Tue, 25 Nov 2025 15:04:19 +0000

Bug 2001968 - Part 6: Update the ToU card to have the button always visible with the above content scrollable and some minor UI tweaks. r=android-reviewers,mavduevskiy

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

Diffstat:
Mmobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/redesign/view/TermsOfServiceOnboardingPageRedesign.kt | 52+++++++++++++++++++++++++++-------------------------
1 file changed, 27 insertions(+), 25 deletions(-)

diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/redesign/view/TermsOfServiceOnboardingPageRedesign.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/redesign/view/TermsOfServiceOnboardingPageRedesign.kt @@ -8,7 +8,6 @@ import androidx.compose.foundation.Image import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer -import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.width @@ -56,20 +55,26 @@ fun TermsOfServiceOnboardingPageRedesign( elevation = CardDefaults.cardElevation(defaultElevation = 6.dp), ) { Column( - modifier = Modifier - .fillMaxSize() - .padding(horizontal = 16.dp, vertical = 24.dp) - .verticalScroll(rememberScrollState()), + modifier = Modifier.padding(horizontal = 16.dp, vertical = 24.dp), horizontalAlignment = Alignment.CenterHorizontally, - verticalArrangement = Arrangement.SpaceBetween, ) { - Header(pageState) + Spacer(modifier = Modifier.weight(TITLE_TOP_SPACER_WEIGHT)) - Spacer(Modifier.weight(1f)) + Column( + modifier = Modifier + .weight(CONTENT_WEIGHT) + .verticalScroll(rememberScrollState()), + horizontalAlignment = Alignment.CenterHorizontally, + verticalArrangement = Arrangement.SpaceBetween, + ) { + Header(pageState) + + Spacer(Modifier.weight(1f)) - pageState.termsOfService?.let { BodyText(it, eventHandler) } + pageState.termsOfService?.let { BodyText(it, eventHandler) } - Spacer(Modifier.height(26.dp)) + Spacer(Modifier.height(26.dp)) + } FilledButton( text = pageState.primaryButton.text, @@ -81,10 +86,10 @@ fun TermsOfServiceOnboardingPageRedesign( onClick = pageState.primaryButton.onClick, ) } + } - LaunchedEffect(pageState) { - pageState.onRecordImpressionEvent() - } + LaunchedEffect(pageState) { + pageState.onRecordImpressionEvent() } } @@ -100,18 +105,15 @@ private fun Header(pageState: OnboardingPageState) { Spacer(Modifier.height(20.dp)) - Column( - modifier = Modifier.padding(horizontal = 4.dp), - horizontalAlignment = Alignment.CenterHorizontally, - ) { - Text( - text = pageState.title, - textAlign = TextAlign.Center, - style = MaterialTheme.typography.headlineMedium, - ) + Text( + text = pageState.title, + textAlign = TextAlign.Center, + style = MaterialTheme.typography.headlineMedium, + ) - pageState.termsOfService?.let { Subheaders(it) } - } + Spacer(Modifier.height(10.dp)) + + pageState.termsOfService?.let { Subheaders(it) } } @Composable @@ -135,7 +137,7 @@ private fun SubHeaderText(text: String) { Text( text = text, style = FirefoxTheme.typography.body2.copy( - color = MaterialTheme.colorScheme.onSurfaceVariant, + color = MaterialTheme.colorScheme.secondary, textAlign = TextAlign.Center, ), )