commit ba19f6823eba8909e6a45982422415090d92eb8e
parent efd38013cd20d821a086e11c0bcaabb4684cd3fe
Author: Gabriel Luong <gabriel.luong@gmail.com>
Date: Thu, 20 Nov 2025 01:11:20 +0000
Bug 1983833 - Part 18: Migrate BrowserSimpleToolbar to use M3 color tokens r=android-reviewers,007,petru
Differential Revision: https://phabricator.services.mozilla.com/D273042
Diffstat:
1 file changed, 55 insertions(+), 35 deletions(-)
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/toolbar/BrowserSimpleToolbar.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/toolbar/BrowserSimpleToolbar.kt
@@ -4,13 +4,12 @@
package org.mozilla.fenix.home.toolbar
-import androidx.compose.foundation.background
import androidx.compose.foundation.clickable
-import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
+import androidx.compose.material3.Surface
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.runtime.derivedStateOf
@@ -19,6 +18,7 @@ import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.tooling.preview.PreviewLightDark
import androidx.compose.ui.unit.dp
import mozilla.components.compose.base.theme.localAcornColors
@@ -38,6 +38,7 @@ import mozilla.components.compose.browser.toolbar.store.DisplayState
import mozilla.components.lib.state.ext.observeAsComposableState
import org.mozilla.fenix.components.AppStore
import org.mozilla.fenix.theme.FirefoxTheme
+import org.mozilla.fenix.theme.Theme
import org.mozilla.fenix.wallpapers.WallpaperState
import mozilla.components.ui.icons.R as iconsR
@@ -98,42 +99,10 @@ fun BrowserSimpleToolbar(
}
}
-@Composable
-@PreviewLightDark
-private fun BrowserSimpleToolbarPreview_Edit() {
- SimpleBrowserToolbarPreview(editEndActions())
-}
-
-@Composable
-@PreviewLightDark
-private fun BrowserSimpleToolbarPreview_Initial() {
- SimpleBrowserToolbarPreview(initialActions())
-}
-
-@Composable
-@PreviewLightDark
-private fun BrowserSimpleToolbarPreview_Search() {
- SimpleBrowserToolbarPreview(searchEndActions())
-}
-
-@Composable
-private fun SimpleBrowserToolbarPreview(actions: List<Action>) {
- val store = BrowserToolbarStore(
- initialState = BrowserToolbarState(
- displayState = DisplayState(browserActionsEnd = actions),
- ),
- )
- FirefoxTheme {
- Column(modifier = Modifier.background(color = FirefoxTheme.colors.layer1)) {
- BrowserSimpleToolbar(store = store, appStore = AppStore())
- }
- }
-}
-
private fun editEndActions(): List<Action> {
return listOf(
ActionButtonRes(
- drawableResId = iconsR.drawable.mozac_ic_stop,
+ drawableResId = iconsR.drawable.mozac_ic_cross_24,
contentDescription = android.R.string.untitled,
onClick = object : BrowserToolbarEvent {},
),
@@ -154,6 +123,7 @@ private fun searchEndActions(): List<Action> {
),
)
}
+
private fun initialActions(): List<Action> {
return listOf(
TabCounterAction(
@@ -181,3 +151,53 @@ private fun initialActions(): List<Action> {
),
)
}
+
+@Composable
+private fun SimpleBrowserToolbarPreview(actions: List<Action>, theme: Theme = Theme.getTheme()) {
+ val store = BrowserToolbarStore(
+ initialState = BrowserToolbarState(
+ displayState = DisplayState(browserActionsEnd = actions),
+ ),
+ )
+ FirefoxTheme(theme = theme) {
+ Surface {
+ BrowserSimpleToolbar(store = store, appStore = AppStore())
+ }
+ }
+}
+
+@Composable
+@PreviewLightDark
+private fun BrowserSimpleToolbarPreview_Edit() {
+ SimpleBrowserToolbarPreview(editEndActions())
+}
+
+@Composable
+@Preview
+private fun BrowserSimpleToolbarPrivatePreview_Edit() {
+ SimpleBrowserToolbarPreview(editEndActions(), theme = Theme.Private)
+}
+
+@Composable
+@PreviewLightDark
+private fun BrowserSimpleToolbarPreview_Initial() {
+ SimpleBrowserToolbarPreview(initialActions())
+}
+
+@Composable
+@Preview
+private fun BrowserSimpleToolbarPrivatePreview_Initial() {
+ SimpleBrowserToolbarPreview(initialActions(), theme = Theme.Private)
+}
+
+@Composable
+@PreviewLightDark
+private fun BrowserSimpleToolbarPreview_Search() {
+ SimpleBrowserToolbarPreview(searchEndActions())
+}
+
+@Composable
+@Preview
+private fun BrowserSimpleToolbarPrivatePreview_Search() {
+ SimpleBrowserToolbarPreview(searchEndActions(), theme = Theme.Private)
+}