Bug 1721904 - update thumbnail caching on app open

fenix/119.0
Matthew Tighe 9 months ago committed by mergify[bot]
parent f346f16ea1
commit 55aa05e843

@ -66,13 +66,16 @@ class TabPreview @JvmOverloads constructor(
}
}
fun loadPreviewThumbnail(thumbnailId: String) {
/**
* Load a preview for a thumbnail.
*/
fun loadPreviewThumbnail(thumbnailId: String, isPrivate: Boolean) {
doOnNextLayout {
val previewThumbnail = binding.previewThumbnail
val thumbnailSize = max(previewThumbnail.height, previewThumbnail.width)
thumbnailLoader.loadIntoView(
previewThumbnail,
ImageLoadRequest(thumbnailId, thumbnailSize),
ImageLoadRequest(thumbnailId, thumbnailSize, isPrivate),
)
}
}

@ -182,12 +182,12 @@ class ToolbarGestureHandler(
}
private fun preparePreview(destination: Destination) {
val thumbnailId = when (destination) {
is Destination.Tab -> destination.tab.id
val (thumbnailId, isPrivate) = when (destination) {
is Destination.Tab -> destination.tab.id to destination.tab.content.private
is Destination.None -> return
}
tabPreview.loadPreviewThumbnail(thumbnailId)
tabPreview.loadPreviewThumbnail(thumbnailId, isPrivate)
tabPreview.alpha = 1f
tabPreview.translationX = when (gestureDirection) {
GestureDirection.RIGHT_TO_LEFT -> windowWidth.toFloat() + previewOffset

@ -61,6 +61,7 @@ fun TabThumbnail(
request = ImageLoadRequest(
id = tab.id,
size = size,
isPrivate = tab.content.private,
),
storage = storage,
modifier = modifier,

@ -97,7 +97,7 @@ private fun ThumbnailCardPreview() {
FirefoxTheme {
ThumbnailCard(
url = "https://mozilla.com",
request = ImageLoadRequest("123", THUMBNAIL_SIZE),
request = ImageLoadRequest("123", THUMBNAIL_SIZE, false),
storage = ThumbnailStorage(LocalContext.current),
modifier = Modifier
.size(THUMBNAIL_SIZE.dp)

@ -109,7 +109,7 @@ private data class ThumbnailImageState(
private fun ThumbnailImagePreview() {
FirefoxTheme {
ThumbnailImage(
request = ImageLoadRequest("1", 1),
request = ImageLoadRequest("1", 1, false),
storage = ThumbnailStorage(LocalContext.current),
modifier = Modifier,
contentScale = ContentScale.Crop,

@ -120,6 +120,7 @@ fun RecentSyncedTab(
request = ImageLoadRequest(
id = tab.url.hashCode().toString(),
size = LocalDensity.current.run { THUMBNAIL_SIZE.dp.toPx().toInt() },
isPrivate = false,
),
storage = storage,
modifier = imageModifier,

@ -111,7 +111,7 @@ abstract class AbstractBrowserTabViewHolder(
}
}
loadIntoThumbnailView(thumbnailView, tab.id)
loadIntoThumbnailView(thumbnailView, tab.id, tab.content.private)
}
override fun showTabIsMultiSelectEnabled(selectedMaskView: View?, isSelected: Boolean) {
@ -201,8 +201,8 @@ abstract class AbstractBrowserTabViewHolder(
}
}
private fun loadIntoThumbnailView(thumbnailView: ImageView, id: String) {
imageLoader.loadIntoView(thumbnailView, ImageLoadRequest(id, thumbnailSize))
private fun loadIntoThumbnailView(thumbnailView: ImageView, id: String, isPrivate: Boolean) {
imageLoader.loadIntoView(thumbnailView, ImageLoadRequest(id, thumbnailSize, isPrivate))
}
private fun setSelectionInteractor(

Loading…
Cancel
Save