Bug 1876594 - Refactor `ThumbnailStorage` to be an implicit dependency

fenix/125.0
Noah Bond 3 months ago committed by mergify[bot]
parent a9b83fb300
commit 0c7c7a7333

@ -16,12 +16,10 @@ import androidx.compose.ui.draw.clip
import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.asImageBitmap import androidx.compose.ui.graphics.asImageBitmap
import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import mozilla.components.browser.state.state.TabSessionState import mozilla.components.browser.state.state.TabSessionState
import mozilla.components.browser.state.state.createTab import mozilla.components.browser.state.state.createTab
import mozilla.components.browser.thumbnails.storage.ThumbnailStorage
import mozilla.components.concept.base.images.ImageLoadRequest import mozilla.components.concept.base.images.ImageLoadRequest
import org.mozilla.fenix.theme.FirefoxTheme import org.mozilla.fenix.theme.FirefoxTheme
@ -32,7 +30,6 @@ private const val FALLBACK_ICON_SIZE = 36
* will be displayed until the thumbnail is loaded. * will be displayed until the thumbnail is loaded.
* *
* @param tab The given [TabSessionState] to render a thumbnail for. * @param tab The given [TabSessionState] to render a thumbnail for.
* @param storage [ThumbnailStorage] to obtain tab thumbnail bitmaps from.
* @param size Size of the thumbnail. * @param size Size of the thumbnail.
* @param modifier [Modifier] used to draw the image content. * @param modifier [Modifier] used to draw the image content.
* @param backgroundColor [Color] used for the background of the favicon. * @param backgroundColor [Color] used for the background of the favicon.
@ -44,7 +41,6 @@ private const val FALLBACK_ICON_SIZE = 36
@Composable @Composable
fun TabThumbnail( fun TabThumbnail(
tab: TabSessionState, tab: TabSessionState,
storage: ThumbnailStorage,
size: Int, size: Int,
modifier: Modifier = Modifier, modifier: Modifier = Modifier,
backgroundColor: Color = FirefoxTheme.colors.layer2, backgroundColor: Color = FirefoxTheme.colors.layer2,
@ -62,8 +58,6 @@ fun TabThumbnail(
size = size, size = size,
isPrivate = tab.content.private, isPrivate = tab.content.private,
), ),
storage = storage,
modifier = modifier,
contentScale = contentScale, contentScale = contentScale,
alignment = alignment, alignment = alignment,
) { ) {
@ -100,7 +94,6 @@ private fun ThumbnailCardPreview() {
TabThumbnail( TabThumbnail(
tab = createTab(url = "www.mozilla.com", title = "Mozilla"), tab = createTab(url = "www.mozilla.com", title = "Mozilla"),
size = 108, size = 108,
storage = ThumbnailStorage(LocalContext.current),
modifier = Modifier modifier = Modifier
.size(108.dp, 80.dp) .size(108.dp, 80.dp)
.clip(RoundedCornerShape(8.dp)), .clip(RoundedCornerShape(8.dp)),

@ -16,13 +16,11 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip import androidx.compose.ui.draw.clip
import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Color
import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import mozilla.components.browser.icons.compose.Loader import mozilla.components.browser.icons.compose.Loader
import mozilla.components.browser.icons.compose.Placeholder import mozilla.components.browser.icons.compose.Placeholder
import mozilla.components.browser.icons.compose.WithIcon import mozilla.components.browser.icons.compose.WithIcon
import mozilla.components.browser.thumbnails.storage.ThumbnailStorage
import mozilla.components.concept.base.images.ImageLoadRequest import mozilla.components.concept.base.images.ImageLoadRequest
import org.mozilla.fenix.components.components import org.mozilla.fenix.components.components
import org.mozilla.fenix.theme.FirefoxTheme import org.mozilla.fenix.theme.FirefoxTheme
@ -36,7 +34,6 @@ private const val FALLBACK_ICON_SIZE = 36
* *
* @param url Url to display thumbnail for. * @param url Url to display thumbnail for.
* @param request [ImageLoadRequest] used to fetch the thumbnail bitmap. * @param request [ImageLoadRequest] used to fetch the thumbnail bitmap.
* @param storage [ThumbnailStorage] to obtain tab thumbnail bitmaps from.
* @param modifier [Modifier] used to draw the image content. * @param modifier [Modifier] used to draw the image content.
* @param backgroundColor [Color] used for the background of the favicon. * @param backgroundColor [Color] used for the background of the favicon.
* @param contentDescription Text used by accessibility services * @param contentDescription Text used by accessibility services
@ -48,7 +45,6 @@ private const val FALLBACK_ICON_SIZE = 36
fun ThumbnailCard( fun ThumbnailCard(
url: String, url: String,
request: ImageLoadRequest, request: ImageLoadRequest,
storage: ThumbnailStorage,
modifier: Modifier = Modifier, modifier: Modifier = Modifier,
backgroundColor: Color = FirefoxTheme.colors.layer2, backgroundColor: Color = FirefoxTheme.colors.layer2,
contentDescription: String? = null, contentDescription: String? = null,
@ -61,8 +57,6 @@ fun ThumbnailCard(
) { ) {
ThumbnailImage( ThumbnailImage(
request = request, request = request,
storage = storage,
modifier = modifier,
contentScale = contentScale, contentScale = contentScale,
alignment = alignment, alignment = alignment,
) { ) {
@ -98,7 +92,6 @@ private fun ThumbnailCardPreview() {
ThumbnailCard( ThumbnailCard(
url = "https://mozilla.com", url = "https://mozilla.com",
request = ImageLoadRequest("123", THUMBNAIL_SIZE, false), request = ImageLoadRequest("123", THUMBNAIL_SIZE, false),
storage = ThumbnailStorage(LocalContext.current),
modifier = Modifier modifier = Modifier
.size(THUMBNAIL_SIZE.dp) .size(THUMBNAIL_SIZE.dp)
.clip(RoundedCornerShape(8.dp)), .clip(RoundedCornerShape(8.dp)),

@ -8,6 +8,7 @@ import android.graphics.Bitmap
import androidx.compose.foundation.Image import androidx.compose.foundation.Image
import androidx.compose.foundation.background import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.size
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.DisposableEffect import androidx.compose.runtime.DisposableEffect
import androidx.compose.runtime.getValue import androidx.compose.runtime.getValue
@ -20,37 +21,36 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.asImageBitmap import androidx.compose.ui.graphics.asImageBitmap
import androidx.compose.ui.graphics.painter.BitmapPainter import androidx.compose.ui.graphics.painter.BitmapPainter
import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import mozilla.components.browser.thumbnails.storage.ThumbnailStorage
import mozilla.components.concept.base.images.ImageLoadRequest import mozilla.components.concept.base.images.ImageLoadRequest
import org.mozilla.fenix.components.components
import org.mozilla.fenix.theme.FirefoxTheme import org.mozilla.fenix.theme.FirefoxTheme
/** /**
* Thumbnail belonging to a [ImageLoadRequest]. Asynchronously fetches the bitmap from storage. * Thumbnail belonging to a [ImageLoadRequest]. Asynchronously fetches the bitmap from storage.
* *
* @param request [ImageLoadRequest] used to fetch the thumbnail bitmap. * @param request [ImageLoadRequest] used to fetch the thumbnail bitmap.
* @param storage [ThumbnailStorage] to obtain tab thumbnail bitmaps from.
* @param modifier [Modifier] used to draw the image content.
* @param contentScale [ContentScale] used to draw image content. * @param contentScale [ContentScale] used to draw image content.
* @param alignment [Alignment] used to draw the image content. * @param alignment [Alignment] used to draw the image content.
* @param modifier [Modifier] used to draw the image content.
* @param fallbackContent The content to display with a thumbnail is unable to be loaded. * @param fallbackContent The content to display with a thumbnail is unable to be loaded.
*/ */
@Composable @Composable
fun ThumbnailImage( fun ThumbnailImage(
request: ImageLoadRequest, request: ImageLoadRequest,
storage: ThumbnailStorage,
modifier: Modifier,
contentScale: ContentScale, contentScale: ContentScale,
alignment: Alignment, alignment: Alignment,
modifier: Modifier = Modifier,
fallbackContent: @Composable () -> Unit, fallbackContent: @Composable () -> Unit,
) { ) {
if (inComposePreview) { if (inComposePreview) {
Box(modifier = Modifier.background(color = FirefoxTheme.colors.layer3)) Box(modifier = modifier.background(color = FirefoxTheme.colors.layer3))
} else { } else {
var state by remember { mutableStateOf(ThumbnailImageState(null, false)) } var state by remember { mutableStateOf(ThumbnailImageState(null, false)) }
val scope = rememberCoroutineScope() val scope = rememberCoroutineScope()
val storage = components.core.thumbnailStorage
DisposableEffect(Unit) { DisposableEffect(Unit) {
if (!state.hasLoaded) { if (!state.hasLoaded) {
@ -102,15 +102,14 @@ private data class ThumbnailImageState(
/** /**
* This preview does not demo anything. This is to ensure that [ThumbnailImage] does not break other previews. * This preview does not demo anything. This is to ensure that [ThumbnailImage] does not break other previews.
*/ */
@Preview @Preview
@Composable @Composable
private fun ThumbnailImagePreview() { private fun ThumbnailImagePreview() {
FirefoxTheme { FirefoxTheme {
ThumbnailImage( ThumbnailImage(
request = ImageLoadRequest("1", 1, false), request = ImageLoadRequest("1", 1, false),
storage = ThumbnailStorage(LocalContext.current), modifier = Modifier.size(50.dp),
modifier = Modifier,
contentScale = ContentScale.Crop, contentScale = ContentScale.Crop,
alignment = Alignment.Center, alignment = Alignment.Center,
fallbackContent = {}, fallbackContent = {},

@ -42,7 +42,6 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clipToBounds import androidx.compose.ui.draw.clipToBounds
import androidx.compose.ui.graphics.asImageBitmap import androidx.compose.ui.graphics.asImageBitmap
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.testTag import androidx.compose.ui.platform.testTag
import androidx.compose.ui.res.colorResource import androidx.compose.ui.res.colorResource
import androidx.compose.ui.res.dimensionResource import androidx.compose.ui.res.dimensionResource
@ -58,7 +57,6 @@ import androidx.compose.ui.zIndex
import androidx.core.text.BidiFormatter import androidx.core.text.BidiFormatter
import mozilla.components.browser.state.state.TabSessionState import mozilla.components.browser.state.state.TabSessionState
import mozilla.components.browser.state.state.createTab import mozilla.components.browser.state.state.createTab
import mozilla.components.browser.thumbnails.storage.ThumbnailStorage
import mozilla.components.support.ktx.kotlin.MAX_URI_LENGTH import mozilla.components.support.ktx.kotlin.MAX_URI_LENGTH
import mozilla.components.ui.colors.PhotonColors import mozilla.components.ui.colors.PhotonColors
import org.mozilla.fenix.R import org.mozilla.fenix.R
@ -76,7 +74,6 @@ import org.mozilla.fenix.theme.FirefoxTheme
* long clicks, multiple selection, and media controls. * long clicks, multiple selection, and media controls.
* *
* @param tab The given tab to be render as view a grid item. * @param tab The given tab to be render as view a grid item.
* @param storage [ThumbnailStorage] to obtain tab thumbnail bitmaps from.
* @param thumbnailSize Size of tab's thumbnail. * @param thumbnailSize Size of tab's thumbnail.
* @param isSelected Indicates if the item should be render as selected. * @param isSelected Indicates if the item should be render as selected.
* @param multiSelectionEnabled Indicates if the item should be render with multi selection options, * @param multiSelectionEnabled Indicates if the item should be render with multi selection options,
@ -94,7 +91,6 @@ import org.mozilla.fenix.theme.FirefoxTheme
@Suppress("MagicNumber", "LongMethod") @Suppress("MagicNumber", "LongMethod")
fun TabGridItem( fun TabGridItem(
tab: TabSessionState, tab: TabSessionState,
storage: ThumbnailStorage,
thumbnailSize: Int, thumbnailSize: Int,
isSelected: Boolean = false, isSelected: Boolean = false,
multiSelectionEnabled: Boolean = false, multiSelectionEnabled: Boolean = false,
@ -243,7 +239,6 @@ fun TabGridItem(
Thumbnail( Thumbnail(
tab = tab, tab = tab,
size = thumbnailSize, size = thumbnailSize,
storage = storage,
multiSelectionSelected = multiSelectionSelected, multiSelectionSelected = multiSelectionSelected,
) )
} }
@ -273,14 +268,12 @@ private fun clickableColor() = when (isSystemInDarkTheme()) {
* *
* @param tab Tab, containing the thumbnail to be displayed. * @param tab Tab, containing the thumbnail to be displayed.
* @param size Size of the thumbnail. * @param size Size of the thumbnail.
* @param storage [ThumbnailStorage] to obtain tab thumbnail bitmaps from.
* @param multiSelectionSelected Whether or not the multiple selection is enabled. * @param multiSelectionSelected Whether or not the multiple selection is enabled.
*/ */
@Composable @Composable
private fun Thumbnail( private fun Thumbnail(
tab: TabSessionState, tab: TabSessionState,
size: Int, size: Int,
storage: ThumbnailStorage,
multiSelectionSelected: Boolean, multiSelectionSelected: Boolean,
) { ) {
Box( Box(
@ -294,7 +287,6 @@ private fun Thumbnail(
TabThumbnail( TabThumbnail(
tab = tab, tab = tab,
size = size, size = size,
storage = storage,
modifier = Modifier.fillMaxSize(), modifier = Modifier.fillMaxSize(),
) )
@ -335,7 +327,6 @@ private fun TabGridItemPreview() {
title = "Mozilla Domain", title = "Mozilla Domain",
), ),
thumbnailSize = 108, thumbnailSize = 108,
storage = ThumbnailStorage(LocalContext.current),
onCloseClick = {}, onCloseClick = {},
onMediaClick = {}, onMediaClick = {},
onClick = {}, onClick = {},
@ -350,7 +341,6 @@ private fun TabGridItemSelectedPreview() {
TabGridItem( TabGridItem(
tab = createTab(url = "www.mozilla.com", title = "Mozilla"), tab = createTab(url = "www.mozilla.com", title = "Mozilla"),
thumbnailSize = 108, thumbnailSize = 108,
storage = ThumbnailStorage(LocalContext.current),
isSelected = true, isSelected = true,
onCloseClick = {}, onCloseClick = {},
onMediaClick = {}, onMediaClick = {},
@ -367,7 +357,6 @@ private fun TabGridItemMultiSelectedPreview() {
TabGridItem( TabGridItem(
tab = createTab(url = "www.mozilla.com", title = "Mozilla"), tab = createTab(url = "www.mozilla.com", title = "Mozilla"),
thumbnailSize = 108, thumbnailSize = 108,
storage = ThumbnailStorage(LocalContext.current),
multiSelectionEnabled = true, multiSelectionEnabled = true,
multiSelectionSelected = true, multiSelectionSelected = true,
onCloseClick = {}, onCloseClick = {},

@ -32,7 +32,6 @@ import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip import androidx.compose.ui.draw.clip
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.testTag import androidx.compose.ui.platform.testTag
import androidx.compose.ui.res.colorResource import androidx.compose.ui.res.colorResource
import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.painterResource
@ -43,7 +42,6 @@ import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import mozilla.components.browser.state.state.TabSessionState import mozilla.components.browser.state.state.TabSessionState
import mozilla.components.browser.state.state.createTab import mozilla.components.browser.state.state.createTab
import mozilla.components.browser.thumbnails.storage.ThumbnailStorage
import mozilla.components.support.ktx.kotlin.MAX_URI_LENGTH import mozilla.components.support.ktx.kotlin.MAX_URI_LENGTH
import mozilla.components.ui.colors.PhotonColors import mozilla.components.ui.colors.PhotonColors
import org.mozilla.fenix.R import org.mozilla.fenix.R
@ -60,7 +58,6 @@ import org.mozilla.fenix.theme.FirefoxTheme
* long clicks, multiselection, and media controls. * long clicks, multiselection, and media controls.
* *
* @param tab The given tab to be render as view a grid item. * @param tab The given tab to be render as view a grid item.
* @param storage [ThumbnailStorage] to obtain tab thumbnail bitmaps from.
* @param thumbnailSize Size of tab's thumbnail. * @param thumbnailSize Size of tab's thumbnail.
* @param isSelected Indicates if the item should be render as selected. * @param isSelected Indicates if the item should be render as selected.
* @param multiSelectionEnabled Indicates if the item should be render with multi selection options, * @param multiSelectionEnabled Indicates if the item should be render with multi selection options,
@ -78,7 +75,6 @@ import org.mozilla.fenix.theme.FirefoxTheme
@Suppress("MagicNumber", "LongMethod") @Suppress("MagicNumber", "LongMethod")
fun TabListItem( fun TabListItem(
tab: TabSessionState, tab: TabSessionState,
storage: ThumbnailStorage,
thumbnailSize: Int, thumbnailSize: Int,
isSelected: Boolean = false, isSelected: Boolean = false,
multiSelectionEnabled: Boolean = false, multiSelectionEnabled: Boolean = false,
@ -150,7 +146,6 @@ fun TabListItem(
Thumbnail( Thumbnail(
tab = tab, tab = tab,
size = thumbnailSize, size = thumbnailSize,
storage = storage,
multiSelectionEnabled = multiSelectionEnabled, multiSelectionEnabled = multiSelectionEnabled,
isSelected = multiSelectionSelected, isSelected = multiSelectionSelected,
onMediaIconClicked = { onMediaClick(it) }, onMediaIconClicked = { onMediaClick(it) },
@ -212,7 +207,6 @@ private fun clickableColor() = when (isSystemInDarkTheme()) {
private fun Thumbnail( private fun Thumbnail(
tab: TabSessionState, tab: TabSessionState,
size: Int, size: Int,
storage: ThumbnailStorage,
multiSelectionEnabled: Boolean, multiSelectionEnabled: Boolean,
isSelected: Boolean, isSelected: Boolean,
onMediaIconClicked: ((TabSessionState) -> Unit), onMediaIconClicked: ((TabSessionState) -> Unit),
@ -222,7 +216,6 @@ private fun Thumbnail(
TabThumbnail( TabThumbnail(
tab = tab, tab = tab,
size = size, size = size,
storage = storage,
modifier = Modifier modifier = Modifier
.size(width = 92.dp, height = 72.dp) .size(width = 92.dp, height = 72.dp)
.semantics(mergeDescendants = true) { .semantics(mergeDescendants = true) {
@ -275,7 +268,6 @@ private fun TabListItemPreview() {
TabListItem( TabListItem(
tab = createTab(url = "www.mozilla.com", title = "Mozilla"), tab = createTab(url = "www.mozilla.com", title = "Mozilla"),
thumbnailSize = 108, thumbnailSize = 108,
storage = ThumbnailStorage(LocalContext.current),
onCloseClick = {}, onCloseClick = {},
onMediaClick = {}, onMediaClick = {},
onClick = {}, onClick = {},
@ -290,7 +282,6 @@ private fun SelectedTabListItemPreview() {
TabListItem( TabListItem(
tab = createTab(url = "www.mozilla.com", title = "Mozilla"), tab = createTab(url = "www.mozilla.com", title = "Mozilla"),
thumbnailSize = 108, thumbnailSize = 108,
storage = ThumbnailStorage(LocalContext.current),
onCloseClick = {}, onCloseClick = {},
onMediaClick = {}, onMediaClick = {},
onClick = {}, onClick = {},

@ -33,7 +33,6 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip import androidx.compose.ui.draw.clip
import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Color
import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.platform.LocalDensity
import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
@ -41,7 +40,6 @@ import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp import androidx.compose.ui.unit.sp
import mozilla.components.browser.thumbnails.storage.ThumbnailStorage
import mozilla.components.concept.base.images.ImageLoadRequest import mozilla.components.concept.base.images.ImageLoadRequest
import mozilla.components.concept.sync.DeviceType import mozilla.components.concept.sync.DeviceType
import mozilla.components.support.ktx.kotlin.trimmed import mozilla.components.support.ktx.kotlin.trimmed
@ -60,7 +58,6 @@ private const val THUMBNAIL_SIZE = 108
* A recent synced tab card. * A recent synced tab card.
* *
* @param tab The [RecentSyncedTab] to display. * @param tab The [RecentSyncedTab] to display.
* @param storage [ThumbnailStorage] to obtain tab thumbnail bitmaps from.
* @param backgroundColor The background [Color] of the item. * @param backgroundColor The background [Color] of the item.
* @param buttonBackgroundColor The background [Color] of the item's button. * @param buttonBackgroundColor The background [Color] of the item's button.
* @param buttonTextColor The [Color] of the button's text. * @param buttonTextColor The [Color] of the button's text.
@ -73,7 +70,6 @@ private const val THUMBNAIL_SIZE = 108
@Composable @Composable
fun RecentSyncedTab( fun RecentSyncedTab(
tab: RecentSyncedTab?, tab: RecentSyncedTab?,
storage: ThumbnailStorage,
backgroundColor: Color = FirefoxTheme.colors.layer2, backgroundColor: Color = FirefoxTheme.colors.layer2,
buttonBackgroundColor: Color = FirefoxTheme.colors.actionSecondary, buttonBackgroundColor: Color = FirefoxTheme.colors.actionSecondary,
buttonTextColor: Color = FirefoxTheme.colors.textActionSecondary, buttonTextColor: Color = FirefoxTheme.colors.textActionSecondary,
@ -122,7 +118,6 @@ fun RecentSyncedTab(
size = LocalDensity.current.run { THUMBNAIL_SIZE.dp.toPx().toInt() }, size = LocalDensity.current.run { THUMBNAIL_SIZE.dp.toPx().toInt() },
isPrivate = false, isPrivate = false,
), ),
storage = storage,
modifier = imageModifier, modifier = imageModifier,
) )
} }
@ -259,7 +254,6 @@ private fun LoadedRecentSyncedTab() {
FirefoxTheme { FirefoxTheme {
RecentSyncedTab( RecentSyncedTab(
tab = tab, tab = tab,
storage = ThumbnailStorage(LocalContext.current),
onRecentSyncedTabClick = {}, onRecentSyncedTabClick = {},
onSeeAllSyncedTabsButtonClick = {}, onSeeAllSyncedTabsButtonClick = {},
onRemoveSyncedTab = {}, onRemoveSyncedTab = {},
@ -273,7 +267,6 @@ private fun LoadingRecentSyncedTab() {
FirefoxTheme { FirefoxTheme {
RecentSyncedTab( RecentSyncedTab(
tab = null, tab = null,
storage = ThumbnailStorage(LocalContext.current),
buttonBackgroundColor = FirefoxTheme.colors.layer3, buttonBackgroundColor = FirefoxTheme.colors.layer3,
onRecentSyncedTabClick = {}, onRecentSyncedTabClick = {},
onSeeAllSyncedTabsButtonClick = {}, onSeeAllSyncedTabsButtonClick = {},

@ -72,7 +72,6 @@ class RecentSyncedTabViewHolder(
RecentSyncedTab( RecentSyncedTab(
tab = syncedTab, tab = syncedTab,
storage = components.core.thumbnailStorage,
backgroundColor = wallpaperState.wallpaperCardColor, backgroundColor = wallpaperState.wallpaperCardColor,
buttonBackgroundColor = buttonBackgroundColor, buttonBackgroundColor = buttonBackgroundColor,
buttonTextColor = buttonTextColor, buttonTextColor = buttonTextColor,

@ -48,7 +48,6 @@ class RecentTabViewHolder(
RecentTabs( RecentTabs(
recentTabs = recentTabs.value ?: emptyList(), recentTabs = recentTabs.value ?: emptyList(),
storage = components.core.thumbnailStorage,
backgroundColor = wallpaperState.wallpaperCardColor, backgroundColor = wallpaperState.wallpaperCardColor,
onRecentTabClick = { recentTabInteractor.onRecentTabClicked(it) }, onRecentTabClick = { recentTabInteractor.onRecentTabClicked(it) },
menuItems = listOf( menuItems = listOf(

@ -39,7 +39,6 @@ import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.asImageBitmap import androidx.compose.ui.graphics.asImageBitmap
import androidx.compose.ui.graphics.painter.BitmapPainter import androidx.compose.ui.graphics.painter.BitmapPainter
import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.platform.LocalDensity
import androidx.compose.ui.semantics.semantics import androidx.compose.ui.semantics.semantics
import androidx.compose.ui.semantics.testTag import androidx.compose.ui.semantics.testTag
@ -52,7 +51,6 @@ import mozilla.components.browser.icons.compose.Placeholder
import mozilla.components.browser.icons.compose.WithIcon import mozilla.components.browser.icons.compose.WithIcon
import mozilla.components.browser.state.state.ContentState import mozilla.components.browser.state.state.ContentState
import mozilla.components.browser.state.state.TabSessionState import mozilla.components.browser.state.state.TabSessionState
import mozilla.components.browser.thumbnails.storage.ThumbnailStorage
import mozilla.components.support.ktx.kotlin.trimmed import mozilla.components.support.ktx.kotlin.trimmed
import mozilla.components.ui.colors.PhotonColors import mozilla.components.ui.colors.PhotonColors
import org.mozilla.fenix.components.components import org.mozilla.fenix.components.components
@ -72,7 +70,6 @@ private const val THUMBNAIL_SIZE = 108
* *
* @param recentTabs List of [RecentTab] to display. * @param recentTabs List of [RecentTab] to display.
* @param menuItems List of [RecentTabMenuItem] shown long clicking a [RecentTab]. * @param menuItems List of [RecentTabMenuItem] shown long clicking a [RecentTab].
* @param storage [ThumbnailStorage] to obtain tab thumbnail bitmaps from.
* @param backgroundColor The background [Color] of each item. * @param backgroundColor The background [Color] of each item.
* @param onRecentTabClick Invoked when the user clicks on a recent tab. * @param onRecentTabClick Invoked when the user clicks on a recent tab.
*/ */
@ -81,7 +78,6 @@ private const val THUMBNAIL_SIZE = 108
fun RecentTabs( fun RecentTabs(
recentTabs: List<RecentTab>, recentTabs: List<RecentTab>,
menuItems: List<RecentTabMenuItem>, menuItems: List<RecentTabMenuItem>,
storage: ThumbnailStorage,
backgroundColor: Color = FirefoxTheme.colors.layer2, backgroundColor: Color = FirefoxTheme.colors.layer2,
onRecentTabClick: (String) -> Unit = {}, onRecentTabClick: (String) -> Unit = {},
) { ) {
@ -99,7 +95,6 @@ fun RecentTabs(
is RecentTab.Tab -> { is RecentTab.Tab -> {
RecentTabItem( RecentTabItem(
tab = tab, tab = tab,
storage = storage,
menuItems = menuItems, menuItems = menuItems,
backgroundColor = backgroundColor, backgroundColor = backgroundColor,
onRecentTabClick = onRecentTabClick, onRecentTabClick = onRecentTabClick,
@ -114,7 +109,6 @@ fun RecentTabs(
* A recent tab item. * A recent tab item.
* *
* @param tab [RecentTab.Tab] that was recently viewed. * @param tab [RecentTab.Tab] that was recently viewed.
* @param storage [ThumbnailStorage] to obtain tab thumbnail bitmaps from.
* @param menuItems List of [RecentTabMenuItem] to be shown in a menu. * @param menuItems List of [RecentTabMenuItem] to be shown in a menu.
* @param backgroundColor The background [Color] of the item. * @param backgroundColor The background [Color] of the item.
* @param onRecentTabClick Invoked when the user clicks on a recent tab. * @param onRecentTabClick Invoked when the user clicks on a recent tab.
@ -127,7 +121,6 @@ fun RecentTabs(
@Suppress("LongMethod") @Suppress("LongMethod")
private fun RecentTabItem( private fun RecentTabItem(
tab: RecentTab.Tab, tab: RecentTab.Tab,
storage: ThumbnailStorage,
menuItems: List<RecentTabMenuItem>, menuItems: List<RecentTabMenuItem>,
backgroundColor: Color, backgroundColor: Color,
onRecentTabClick: (String) -> Unit = {}, onRecentTabClick: (String) -> Unit = {},
@ -152,7 +145,6 @@ private fun RecentTabItem(
) { ) {
RecentTabImage( RecentTabImage(
tab = tab, tab = tab,
storage = storage,
modifier = Modifier modifier = Modifier
.size(108.dp, 80.dp) .size(108.dp, 80.dp)
.clip(RoundedCornerShape(8.dp)), .clip(RoundedCornerShape(8.dp)),
@ -220,14 +212,12 @@ private fun RecentTabItem(
* A recent tab image. * A recent tab image.
* *
* @param tab [RecentTab] that was recently viewed. * @param tab [RecentTab] that was recently viewed.
* @param storage [ThumbnailStorage] to obtain tab thumbnail bitmaps from.
* @param modifier [Modifier] used to draw the image content. * @param modifier [Modifier] used to draw the image content.
* @param contentScale [ContentScale] used to draw image content. * @param contentScale [ContentScale] used to draw image content.
*/ */
@Composable @Composable
fun RecentTabImage( fun RecentTabImage(
tab: RecentTab.Tab, tab: RecentTab.Tab,
storage: ThumbnailStorage,
modifier: Modifier = Modifier, modifier: Modifier = Modifier,
contentScale: ContentScale = ContentScale.FillWidth, contentScale: ContentScale = ContentScale.FillWidth,
) { ) {
@ -244,7 +234,6 @@ fun RecentTabImage(
TabThumbnail( TabThumbnail(
tab = tab.state, tab = tab.state,
size = LocalDensity.current.run { THUMBNAIL_SIZE.dp.toPx().toInt() }, size = LocalDensity.current.run { THUMBNAIL_SIZE.dp.toPx().toInt() },
storage = storage,
modifier = modifier, modifier = modifier,
contentScale = contentScale, contentScale = contentScale,
) )
@ -254,7 +243,6 @@ fun RecentTabImage(
else -> TabThumbnail( else -> TabThumbnail(
tab = tab.state, tab = tab.state,
size = LocalDensity.current.run { THUMBNAIL_SIZE.dp.toPx().toInt() }, size = LocalDensity.current.run { THUMBNAIL_SIZE.dp.toPx().toInt() },
storage = storage,
modifier = modifier, modifier = modifier,
contentScale = contentScale, contentScale = contentScale,
) )
@ -345,7 +333,6 @@ private fun RecentTabsPreview() {
recentTabs = listOf( recentTabs = listOf(
tab, tab,
), ),
storage = ThumbnailStorage(LocalContext.current),
menuItems = listOf( menuItems = listOf(
RecentTabMenuItem( RecentTabMenuItem(
title = "Menu item", title = "Menu item",

@ -27,7 +27,6 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip import androidx.compose.ui.draw.clip
import androidx.compose.ui.input.nestedscroll.nestedScroll import androidx.compose.ui.input.nestedscroll.nestedScroll
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.rememberNestedScrollInteropConnection import androidx.compose.ui.platform.rememberNestedScrollInteropConnection
import androidx.compose.ui.platform.testTag import androidx.compose.ui.platform.testTag
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
@ -37,7 +36,6 @@ import mozilla.components.browser.state.state.ContentState
import mozilla.components.browser.state.state.TabSessionState import mozilla.components.browser.state.state.TabSessionState
import mozilla.components.browser.state.store.BrowserStore import mozilla.components.browser.state.store.BrowserStore
import mozilla.components.browser.storage.sync.TabEntry import mozilla.components.browser.storage.sync.TabEntry
import mozilla.components.browser.thumbnails.storage.ThumbnailStorage
import mozilla.components.lib.state.ext.observeAsComposableState import mozilla.components.lib.state.ext.observeAsComposableState
import org.mozilla.fenix.R import org.mozilla.fenix.R
import org.mozilla.fenix.components.AppStore import org.mozilla.fenix.components.AppStore
@ -57,7 +55,6 @@ import mozilla.components.browser.storage.sync.Tab as SyncTab
* @param appStore [AppStore] used to listen for changes to [AppState]. * @param appStore [AppStore] used to listen for changes to [AppState].
* @param browserStore [BrowserStore] used to listen for changes to [BrowserState]. * @param browserStore [BrowserStore] used to listen for changes to [BrowserState].
* @param tabsTrayStore [TabsTrayStore] used to listen for changes to [TabsTrayState]. * @param tabsTrayStore [TabsTrayStore] used to listen for changes to [TabsTrayState].
* @param storage [ThumbnailStorage] to obtain tab thumbnail bitmaps from.
* @param displayTabsInGrid Whether the normal and private tabs should be displayed in a grid. * @param displayTabsInGrid Whether the normal and private tabs should be displayed in a grid.
* @param isInDebugMode True for debug variant or if secret menu is enabled for this session. * @param isInDebugMode True for debug variant or if secret menu is enabled for this session.
* @param shouldShowTabAutoCloseBanner Whether the tab auto closer banner should be displayed. * @param shouldShowTabAutoCloseBanner Whether the tab auto closer banner should be displayed.
@ -103,7 +100,6 @@ fun TabsTray(
appStore: AppStore, appStore: AppStore,
browserStore: BrowserStore, browserStore: BrowserStore,
tabsTrayStore: TabsTrayStore, tabsTrayStore: TabsTrayStore,
storage: ThumbnailStorage,
displayTabsInGrid: Boolean, displayTabsInGrid: Boolean,
isInDebugMode: Boolean, isInDebugMode: Boolean,
shouldShowTabAutoCloseBanner: Boolean, shouldShowTabAutoCloseBanner: Boolean,
@ -200,7 +196,6 @@ fun TabsTray(
appStore = appStore, appStore = appStore,
browserStore = browserStore, browserStore = browserStore,
tabsTrayStore = tabsTrayStore, tabsTrayStore = tabsTrayStore,
storage = storage,
displayTabsInGrid = displayTabsInGrid, displayTabsInGrid = displayTabsInGrid,
onTabClose = onTabClose, onTabClose = onTabClose,
onTabMediaClick = onTabMediaClick, onTabMediaClick = onTabMediaClick,
@ -222,7 +217,6 @@ fun TabsTray(
PrivateTabsPage( PrivateTabsPage(
browserStore = browserStore, browserStore = browserStore,
tabsTrayStore = tabsTrayStore, tabsTrayStore = tabsTrayStore,
storage = storage,
displayTabsInGrid = displayTabsInGrid, displayTabsInGrid = displayTabsInGrid,
onTabClose = onTabClose, onTabClose = onTabClose,
onTabMediaClick = onTabMediaClick, onTabMediaClick = onTabMediaClick,
@ -250,7 +244,6 @@ private fun NormalTabsPage(
appStore: AppStore, appStore: AppStore,
browserStore: BrowserStore, browserStore: BrowserStore,
tabsTrayStore: TabsTrayStore, tabsTrayStore: TabsTrayStore,
storage: ThumbnailStorage,
displayTabsInGrid: Boolean, displayTabsInGrid: Boolean,
onTabClose: (TabSessionState) -> Unit, onTabClose: (TabSessionState) -> Unit,
onTabMediaClick: (TabSessionState) -> Unit, onTabMediaClick: (TabSessionState) -> Unit,
@ -312,7 +305,6 @@ private fun NormalTabsPage(
TabLayout( TabLayout(
tabs = normalTabs, tabs = normalTabs,
storage = storage,
displayTabsInGrid = displayTabsInGrid, displayTabsInGrid = displayTabsInGrid,
selectedTabId = selectedTabId, selectedTabId = selectedTabId,
selectionMode = selectionMode, selectionMode = selectionMode,
@ -335,7 +327,6 @@ private fun NormalTabsPage(
private fun PrivateTabsPage( private fun PrivateTabsPage(
browserStore: BrowserStore, browserStore: BrowserStore,
tabsTrayStore: TabsTrayStore, tabsTrayStore: TabsTrayStore,
storage: ThumbnailStorage,
displayTabsInGrid: Boolean, displayTabsInGrid: Boolean,
onTabClose: (TabSessionState) -> Unit, onTabClose: (TabSessionState) -> Unit,
onTabMediaClick: (TabSessionState) -> Unit, onTabMediaClick: (TabSessionState) -> Unit,
@ -353,7 +344,6 @@ private fun PrivateTabsPage(
if (privateTabs.isNotEmpty()) { if (privateTabs.isNotEmpty()) {
TabLayout( TabLayout(
tabs = privateTabs, tabs = privateTabs,
storage = storage,
displayTabsInGrid = displayTabsInGrid, displayTabsInGrid = displayTabsInGrid,
selectedTabId = selectedTabId, selectedTabId = selectedTabId,
selectionMode = selectionMode, selectionMode = selectionMode,
@ -531,7 +521,6 @@ private fun TabsTrayPreviewRoot(
appStore = appStore, appStore = appStore,
browserStore = browserStore, browserStore = browserStore,
tabsTrayStore = tabsTrayStore, tabsTrayStore = tabsTrayStore,
storage = ThumbnailStorage(LocalContext.current),
displayTabsInGrid = displayTabsInGrid, displayTabsInGrid = displayTabsInGrid,
isInDebugMode = false, isInDebugMode = false,
shouldShowInactiveTabsAutoCloseDialog = { true }, shouldShowInactiveTabsAutoCloseDialog = { true },

@ -243,7 +243,6 @@ class TabsTrayFragment : AppCompatDialogFragment() {
appStore = requireComponents.appStore, appStore = requireComponents.appStore,
browserStore = requireComponents.core.store, browserStore = requireComponents.core.store,
tabsTrayStore = tabsTrayStore, tabsTrayStore = tabsTrayStore,
storage = requireComponents.core.thumbnailStorage,
displayTabsInGrid = requireContext().settings().gridTabView, displayTabsInGrid = requireContext().settings().gridTabView,
isInDebugMode = Config.channel.isDebug || isInDebugMode = Config.channel.isDebug ||
requireComponents.settings.showSecretDebugMenuThisSession, requireComponents.settings.showSecretDebugMenuThisSession,

@ -33,7 +33,6 @@ import androidx.compose.ui.res.dimensionResource
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import mozilla.components.browser.state.state.ContentState import mozilla.components.browser.state.state.ContentState
import mozilla.components.browser.state.state.TabSessionState import mozilla.components.browser.state.state.TabSessionState
import mozilla.components.browser.thumbnails.storage.ThumbnailStorage
import org.mozilla.fenix.R import org.mozilla.fenix.R
import org.mozilla.fenix.compose.annotation.LightDarkPreview import org.mozilla.fenix.compose.annotation.LightDarkPreview
import org.mozilla.fenix.compose.tabstray.TabGridItem import org.mozilla.fenix.compose.tabstray.TabGridItem
@ -58,7 +57,6 @@ const val HEADER_ITEM_KEY = "header"
* Top-level UI for displaying a list of tabs. * Top-level UI for displaying a list of tabs.
* *
* @param tabs The list of [TabSessionState] to display. * @param tabs The list of [TabSessionState] to display.
* @param storage [ThumbnailStorage] to obtain tab thumbnail bitmaps from.
* @param displayTabsInGrid Whether the tabs should be displayed in a grid. * @param displayTabsInGrid Whether the tabs should be displayed in a grid.
* @param selectedTabId The ID of the currently selected tab. * @param selectedTabId The ID of the currently selected tab.
* @param selectionMode [TabsTrayState.Mode] indicating whether the Tabs Tray is in single selection * @param selectionMode [TabsTrayState.Mode] indicating whether the Tabs Tray is in single selection
@ -76,7 +74,6 @@ const val HEADER_ITEM_KEY = "header"
@Composable @Composable
fun TabLayout( fun TabLayout(
tabs: List<TabSessionState>, tabs: List<TabSessionState>,
storage: ThumbnailStorage,
displayTabsInGrid: Boolean, displayTabsInGrid: Boolean,
selectedTabId: String?, selectedTabId: String?,
selectionMode: TabsTrayState.Mode, selectionMode: TabsTrayState.Mode,
@ -102,7 +99,6 @@ fun TabLayout(
if (displayTabsInGrid) { if (displayTabsInGrid) {
TabGrid( TabGrid(
tabs = tabs, tabs = tabs,
storage = storage,
selectedTabId = selectedTabId, selectedTabId = selectedTabId,
selectedTabIndex = selectedTabIndex, selectedTabIndex = selectedTabIndex,
selectionMode = selectionMode, selectionMode = selectionMode,
@ -118,7 +114,6 @@ fun TabLayout(
} else { } else {
TabList( TabList(
tabs = tabs, tabs = tabs,
storage = storage,
selectedTabId = selectedTabId, selectedTabId = selectedTabId,
selectedTabIndex = selectedTabIndex, selectedTabIndex = selectedTabIndex,
selectionMode = selectionMode, selectionMode = selectionMode,
@ -139,7 +134,6 @@ fun TabLayout(
@Composable @Composable
private fun TabGrid( private fun TabGrid(
tabs: List<TabSessionState>, tabs: List<TabSessionState>,
storage: ThumbnailStorage,
selectedTabId: String?, selectedTabId: String?,
selectedTabIndex: Int, selectedTabIndex: Int,
selectionMode: TabsTrayState.Mode, selectionMode: TabsTrayState.Mode,
@ -213,7 +207,6 @@ private fun TabGrid(
TabGridItem( TabGridItem(
tab = tab, tab = tab,
thumbnailSize = tabThumbnailSize, thumbnailSize = tabThumbnailSize,
storage = storage,
isSelected = tab.id == selectedTabId, isSelected = tab.id == selectedTabId,
multiSelectionEnabled = isInMultiSelectMode, multiSelectionEnabled = isInMultiSelectMode,
multiSelectionSelected = selectionMode.selectedTabs.contains(tab), multiSelectionSelected = selectionMode.selectedTabs.contains(tab),
@ -236,7 +229,6 @@ private fun TabGrid(
@Composable @Composable
private fun TabList( private fun TabList(
tabs: List<TabSessionState>, tabs: List<TabSessionState>,
storage: ThumbnailStorage,
selectedTabId: String?, selectedTabId: String?,
selectedTabIndex: Int, selectedTabIndex: Int,
selectionMode: TabsTrayState.Mode, selectionMode: TabsTrayState.Mode,
@ -308,7 +300,6 @@ private fun TabList(
TabListItem( TabListItem(
tab = tab, tab = tab,
thumbnailSize = tabThumbnailSize, thumbnailSize = tabThumbnailSize,
storage = storage,
isSelected = tab.id == selectedTabId, isSelected = tab.id == selectedTabId,
multiSelectionEnabled = isInMultiSelectMode, multiSelectionEnabled = isInMultiSelectMode,
multiSelectionSelected = selectionMode.selectedTabs.contains(tab), multiSelectionSelected = selectionMode.selectedTabs.contains(tab),
@ -339,7 +330,6 @@ private fun TabListPreview() {
) { ) {
TabLayout( TabLayout(
tabs = tabs, tabs = tabs,
storage = ThumbnailStorage(LocalContext.current),
selectedTabId = tabs[1].id, selectedTabId = tabs[1].id,
selectionMode = TabsTrayState.Mode.Normal, selectionMode = TabsTrayState.Mode.Normal,
displayTabsInGrid = false, displayTabsInGrid = false,
@ -367,7 +357,6 @@ private fun TabGridPreview() {
) { ) {
TabLayout( TabLayout(
tabs = tabs, tabs = tabs,
storage = ThumbnailStorage(LocalContext.current),
selectedTabId = tabs[0].id, selectedTabId = tabs[0].id,
selectionMode = TabsTrayState.Mode.Normal, selectionMode = TabsTrayState.Mode.Normal,
displayTabsInGrid = false, displayTabsInGrid = false,
@ -397,7 +386,6 @@ private fun TabGridSmallPreview() {
) { ) {
TabLayout( TabLayout(
tabs = tabs, tabs = tabs,
storage = ThumbnailStorage(LocalContext.current),
selectedTabId = tabs[0].id, selectedTabId = tabs[0].id,
selectionMode = TabsTrayState.Mode.Normal, selectionMode = TabsTrayState.Mode.Normal,
displayTabsInGrid = true, displayTabsInGrid = true,
@ -427,7 +415,6 @@ private fun TabGridMultiSelectPreview() {
) { ) {
TabLayout( TabLayout(
tabs = tabs, tabs = tabs,
storage = ThumbnailStorage(LocalContext.current),
selectedTabId = tabs[0].id, selectedTabId = tabs[0].id,
selectionMode = TabsTrayState.Mode.Select(selectedTabs.toSet()), selectionMode = TabsTrayState.Mode.Select(selectedTabs.toSet()),
displayTabsInGrid = false, displayTabsInGrid = false,

@ -15,7 +15,6 @@ import mozilla.components.browser.state.state.TabSessionState
import mozilla.components.browser.tabstray.TabsTray import mozilla.components.browser.tabstray.TabsTray
import mozilla.components.browser.tabstray.TabsTrayStyling import mozilla.components.browser.tabstray.TabsTrayStyling
import mozilla.components.lib.state.ext.observeAsComposableState import mozilla.components.lib.state.ext.observeAsComposableState
import org.mozilla.fenix.components.components
import org.mozilla.fenix.compose.tabstray.TabGridItem import org.mozilla.fenix.compose.tabstray.TabGridItem
import org.mozilla.fenix.tabstray.TabsTrayInteractor import org.mozilla.fenix.tabstray.TabsTrayInteractor
import org.mozilla.fenix.tabstray.TabsTrayState import org.mozilla.fenix.tabstray.TabsTrayState
@ -80,7 +79,6 @@ class ComposeGridViewHolder(
TabGridItem( TabGridItem(
tab = tab, tab = tab,
thumbnailSize = 108, thumbnailSize = 108,
storage = components.core.thumbnailStorage,
isSelected = isSelectedTab, isSelected = isSelectedTab,
multiSelectionEnabled = multiSelectionEnabled, multiSelectionEnabled = multiSelectionEnabled,
multiSelectionSelected = isMultiSelectionSelected, multiSelectionSelected = isMultiSelectionSelected,

@ -15,7 +15,6 @@ import mozilla.components.browser.state.state.TabSessionState
import mozilla.components.browser.tabstray.TabsTray import mozilla.components.browser.tabstray.TabsTray
import mozilla.components.browser.tabstray.TabsTrayStyling import mozilla.components.browser.tabstray.TabsTrayStyling
import mozilla.components.lib.state.ext.observeAsComposableState import mozilla.components.lib.state.ext.observeAsComposableState
import org.mozilla.fenix.components.components
import org.mozilla.fenix.compose.tabstray.TabListItem import org.mozilla.fenix.compose.tabstray.TabListItem
import org.mozilla.fenix.tabstray.TabsTrayInteractor import org.mozilla.fenix.tabstray.TabsTrayInteractor
import org.mozilla.fenix.tabstray.TabsTrayState import org.mozilla.fenix.tabstray.TabsTrayState
@ -84,7 +83,6 @@ class ComposeListViewHolder(
TabListItem( TabListItem(
tab = tab, tab = tab,
thumbnailSize = 108, thumbnailSize = 108,
storage = components.core.thumbnailStorage,
isSelected = isSelectedTabState, isSelected = isSelectedTabState,
multiSelectionEnabled = multiSelectionEnabled, multiSelectionEnabled = multiSelectionEnabled,
multiSelectionSelected = multiSelectionSelected, multiSelectionSelected = multiSelectionSelected,

Loading…
Cancel
Save