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:
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 = {},
+ )
+ }
+}