tor-browser

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

commit 5b9cbf23a9cf2499f900ffab67b19a0ad2628f7b
parent f70e74238bc9d8ab7b816f2b66b85cc9d9c45d02
Author: Gabriel Luong <gabriel.luong@gmail.com>
Date:   Fri, 31 Oct 2025 05:29:01 +0000

Bug 1976508 - Migrate the WebCompatReporter to use M3 Acorn color tokens r=android-reviewers,apindiprolu

Figma: https://www.figma.com/design/ctk1Pw1TBxUwVgTTOvjHb4/2025-Android-Fundamentals?node-id=623-20588&m=dev

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

Diffstat:
Mmobile/android/fenix/app/src/main/java/org/mozilla/fenix/webcompat/ui/WebCompatReporter.kt | 42++++++++++++++++++++++--------------------
1 file changed, 22 insertions(+), 20 deletions(-)

diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/webcompat/ui/WebCompatReporter.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/webcompat/ui/WebCompatReporter.kt @@ -21,7 +21,6 @@ import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.selection.toggleable import androidx.compose.foundation.verticalScroll import androidx.compose.material3.Checkbox -import androidx.compose.material3.CheckboxDefaults import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.Icon import androidx.compose.material3.IconButton @@ -29,7 +28,6 @@ import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Scaffold import androidx.compose.material3.Text import androidx.compose.material3.TopAppBar -import androidx.compose.material3.TopAppBarDefaults import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.ui.Alignment @@ -44,6 +42,7 @@ import androidx.compose.ui.semantics.testTag import androidx.compose.ui.semantics.testTagsAsResourceId import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.style.TextDecoration +import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.PreviewLightDark import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.tooling.preview.PreviewParameterProvider @@ -55,7 +54,6 @@ import mozilla.components.compose.base.menu.MenuItem import mozilla.components.compose.base.modifier.thenConditional import mozilla.components.compose.base.text.Text.Resource import mozilla.components.compose.base.textfield.TextField -import mozilla.components.compose.base.textfield.TextFieldColors import mozilla.components.compose.base.theme.AcornTheme import mozilla.components.lib.state.ext.observeAsState import org.mozilla.fenix.Config @@ -63,6 +61,7 @@ import org.mozilla.fenix.R import org.mozilla.fenix.compose.LinkText import org.mozilla.fenix.compose.LinkTextState import org.mozilla.fenix.theme.FirefoxTheme +import org.mozilla.fenix.theme.Theme import org.mozilla.fenix.webcompat.BrokenSiteReporterTestTags.BROKEN_SITE_REPORTER_CHOOSE_REASON_BUTTON import org.mozilla.fenix.webcompat.BrokenSiteReporterTestTags.BROKEN_SITE_REPORTER_SEND_BUTTON import org.mozilla.fenix.webcompat.store.WebCompatReporterAction @@ -97,7 +96,6 @@ fun WebCompatReporter( }, ) }, - containerColor = FirefoxTheme.colors.layer2, ) { paddingValues -> Column( modifier = Modifier @@ -121,7 +119,7 @@ fun WebCompatReporter( }, ), ), - style = FirefoxTheme.typography.body2.copy(color = FirefoxTheme.colors.textPrimary), + style = FirefoxTheme.typography.body2.copy(color = MaterialTheme.colorScheme.onSurface), linkTextColor = MaterialTheme.colorScheme.tertiary, linkTextDecoration = TextDecoration.Underline, textAlign = TextAlign.Start, @@ -170,7 +168,7 @@ fun WebCompatReporter( testTag = BROKEN_SITE_REPORTER_CHOOSE_REASON_BUTTON }, style = FirefoxTheme.typography.caption, - color = FirefoxTheme.colors.textCritical, + color = MaterialTheme.colorScheme.error, ) } @@ -190,9 +188,6 @@ fun WebCompatReporter( label = stringResource(id = R.string.webcompat_reporter_label_description), singleLine = false, maxLines = PROBLEM_DESCRIPTION_MAX_LINES, - colors = TextFieldColors.default( - inputColor = FirefoxTheme.colors.textSecondary, - ), ) Spacer(modifier = Modifier.height(16.dp)) @@ -217,10 +212,6 @@ fun WebCompatReporter( checked = state.includeEtpBlockedUrls, onCheckedChange = null, modifier = Modifier, - colors = CheckboxDefaults.colors( - checkedColor = FirefoxTheme.colors.formSelected, - uncheckedColor = FirefoxTheme.colors.formDefault, - ), ) Spacer(modifier = Modifier.width(16.dp)) @@ -228,13 +219,13 @@ fun WebCompatReporter( Column { Text( text = stringResource(id = R.string.webcompat_reporter_etp_checkbox_text), - color = FirefoxTheme.colors.textPrimary, - style = AcornTheme.typography.subtitle1, + color = MaterialTheme.colorScheme.onSurface, + style = AcornTheme.typography.body1, ) Text( text = stringResource(id = R.string.webcompat_reporter_etp_checkbox_description), - color = FirefoxTheme.colors.textSecondary, + color = MaterialTheme.colorScheme.onSurfaceVariant, style = AcornTheme.typography.body2, ) } @@ -318,12 +309,10 @@ private fun TempAppBar( onBackClick: () -> Unit, ) { TopAppBar( - colors = TopAppBarDefaults.topAppBarColors(containerColor = FirefoxTheme.colors.layer1), title = { Text( text = stringResource(id = R.string.webcompat_reporter_screen_title), - color = FirefoxTheme.colors.textPrimary, - style = FirefoxTheme.typography.headline6, + style = FirefoxTheme.typography.headline5, ) }, navigationIcon = { @@ -331,7 +320,6 @@ private fun TempAppBar( Icon( painter = painterResource(iconsR.drawable.mozac_ic_back_24), contentDescription = stringResource(R.string.bookmark_navigate_back_button_content_description), - tint = FirefoxTheme.colors.iconPrimary, ) } }, @@ -380,3 +368,17 @@ private fun WebCompatReporterPreview( ) } } + +@Preview +@Composable +private fun WebCompatReporterPrivatePreview( + @PreviewParameter(WebCompatPreviewParameterProvider::class) initialState: WebCompatReporterState, +) { + FirefoxTheme(theme = Theme.Private) { + WebCompatReporter( + store = WebCompatReporterStore( + initialState = initialState, + ), + ) + } +}