tor-browser

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

commit da534667b5c73290c381cff2da009bd358c25d85
parent 6392d419a0ff43c0c22ecb2863e49932736db665
Author: Gabriel Luong <gabriel.luong@gmail.com>
Date:   Fri, 21 Nov 2025 05:25:58 +0000

Bug 1998021 - Part 5: Migrate DownloadLanguageFileDialog to M3 Acorn color tokens r=android-reviewers,007

- This doesn't migrate to use the text buttons as seen in the Figma with the M3 Specs update

Dialog: https://www.figma.com/design/ctk1Pw1TBxUwVgTTOvjHb4/2025-Android-Fundamentals?node-id=975-25822&m=dev

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

Diffstat:
Mmobile/android/fenix/app/src/main/java/org/mozilla/fenix/translations/preferences/downloadlanguages/DownloadLanguageFileDialog.kt | 82++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------
1 file changed, 56 insertions(+), 26 deletions(-)

diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/translations/preferences/downloadlanguages/DownloadLanguageFileDialog.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/translations/preferences/downloadlanguages/DownloadLanguageFileDialog.kt @@ -15,7 +15,7 @@ import androidx.compose.foundation.layout.width import androidx.compose.foundation.selection.toggleable import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material3.Checkbox -import androidx.compose.material3.CheckboxDefaults +import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment @@ -26,6 +26,7 @@ import androidx.compose.ui.semantics.Role import androidx.compose.ui.semantics.clearAndSetSemantics import androidx.compose.ui.semantics.heading import androidx.compose.ui.semantics.semantics +import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.PreviewLightDark import androidx.compose.ui.unit.dp import androidx.compose.ui.window.Dialog @@ -35,6 +36,7 @@ import mozilla.components.feature.downloads.DefaultFileSizeFormatter import mozilla.components.feature.downloads.FileSizeFormatter import org.mozilla.fenix.R import org.mozilla.fenix.theme.FirefoxTheme +import org.mozilla.fenix.theme.Theme /** * Download Languages File Dialog. @@ -62,7 +64,7 @@ fun DownloadLanguageFileDialog( Column( modifier = Modifier .background( - color = FirefoxTheme.colors.layer2, + color = MaterialTheme.colorScheme.surfaceContainerHigh, shape = RoundedCornerShape(8.dp), ) .padding(16.dp), @@ -83,8 +85,8 @@ fun DownloadLanguageFileDialog( text = title, modifier = Modifier .semantics { heading() }, - color = FirefoxTheme.colors.textPrimary, - style = FirefoxTheme.typography.headline7, + color = MaterialTheme.colorScheme.onSurface, + style = FirefoxTheme.typography.headline5, ) if (downloadLanguageDialogType is DownloadLanguageFileDialogType.AllLanguages || @@ -93,8 +95,8 @@ fun DownloadLanguageFileDialog( Text( text = stringResource(R.string.download_language_file_dialog_message_all_languages), modifier = Modifier.padding(top = 16.dp, bottom = 16.dp), + color = MaterialTheme.colorScheme.onSurfaceVariant, style = FirefoxTheme.typography.body2, - color = FirefoxTheme.colors.textPrimary, ) } @@ -157,10 +159,6 @@ private fun DownloadLanguageFileDialogCheckbox( .clearAndSetSemantics { }, checked = isCheckBoxEnabled, onCheckedChange = onSavingModeStateChange, - colors = CheckboxDefaults.colors( - checkedColor = FirefoxTheme.colors.formSelected, - uncheckedColor = FirefoxTheme.colors.formDefault, - ), ) Spacer(modifier = Modifier.width(20.dp)) @@ -170,23 +168,7 @@ private fun DownloadLanguageFileDialogCheckbox( .align(Alignment.CenterVertically), text = checkBoxText, style = FirefoxTheme.typography.body2, - color = FirefoxTheme.colors.textPrimary, - ) - } -} - -@Composable -@PreviewLightDark -private fun PrefDownloadLanguageFileDialogPreviewAllLanguages() { - FirefoxTheme { - DownloadLanguageFileDialog( - downloadLanguageDialogType = DownloadLanguageFileDialogType.AllLanguages, - fileSizeFormatter = DefaultFileSizeFormatter(LocalContext.current), - fileSize = 4000L, - isCheckBoxEnabled = true, - onSavingModeStateChange = {}, - onConfirmDownload = {}, - onCancel = {}, + color = MaterialTheme.colorScheme.onSurface, ) } } @@ -216,6 +198,38 @@ sealed class DownloadLanguageFileDialogType { @Composable @PreviewLightDark +private fun PrefDownloadLanguageFileDialogPreviewAllLanguages() { + FirefoxTheme { + DownloadLanguageFileDialog( + downloadLanguageDialogType = DownloadLanguageFileDialogType.AllLanguages, + fileSizeFormatter = DefaultFileSizeFormatter(LocalContext.current), + fileSize = 4000L, + isCheckBoxEnabled = true, + onSavingModeStateChange = {}, + onConfirmDownload = {}, + onCancel = {}, + ) + } +} + +@Composable +@Preview +private fun PrefDownloadLanguageFileDialogPrivatePreviewAllLanguages() { + FirefoxTheme(theme = Theme.Private) { + DownloadLanguageFileDialog( + downloadLanguageDialogType = DownloadLanguageFileDialogType.AllLanguages, + fileSizeFormatter = DefaultFileSizeFormatter(LocalContext.current), + fileSize = 4000L, + isCheckBoxEnabled = true, + onSavingModeStateChange = {}, + onConfirmDownload = {}, + onCancel = {}, + ) + } +} + +@Composable +@PreviewLightDark private fun PrefDownloadLanguageFileDialogPreview() { FirefoxTheme { DownloadLanguageFileDialog( @@ -229,3 +243,19 @@ private fun PrefDownloadLanguageFileDialogPreview() { ) } } + +@Composable +@Preview +private fun PrefDownloadLanguageFileDialogPrivatePreview() { + FirefoxTheme(theme = Theme.Private) { + DownloadLanguageFileDialog( + downloadLanguageDialogType = DownloadLanguageFileDialogType.Default, + fileSizeFormatter = DefaultFileSizeFormatter(LocalContext.current), + fileSize = 4000L, + isCheckBoxEnabled = false, + onSavingModeStateChange = {}, + onConfirmDownload = {}, + onCancel = {}, + ) + } +}