1
0
Fork 0

Fixes #5351 - use session icon in tab view on home

master
Prat T 2019-10-05 15:12:19 -07:00 committed by Emily Kager
parent 2b19b28d25
commit fe648a0b99
2 changed files with 13 additions and 4 deletions

View File

@ -220,7 +220,7 @@ class SessionControlAdapter(
if (it.shouldUpdateHostname) { holder.updateHostname(it.tab.hostname) }
if (it.shouldUpdateTitle) { holder.updateTitle(it.tab.title) }
if (it.shouldUpdateUrl) { holder.updateFavIcon(it.tab.url) }
if (it.shouldUpdateUrl) { holder.updateFavIcon(it.tab.url, it.tab.sessionId) }
if (it.shouldUpdateSelected) { holder.updateSelected(it.tab.selected ?: false) }
if (it.shouldUpdateMediaState) {
holder.updatePlayPauseButton(it.tab.mediaState ?: MediaState.None)

View File

@ -16,6 +16,7 @@ import mozilla.components.browser.menu.BrowserMenuBuilder
import mozilla.components.browser.menu.item.SimpleBrowserMenuItem
import mozilla.components.feature.media.state.MediaState
import mozilla.components.support.ktx.android.util.dpToFloat
import org.jetbrains.anko.imageBitmap
import org.mozilla.fenix.R
import org.mozilla.fenix.components.metrics.Event
import org.mozilla.fenix.ext.components
@ -92,7 +93,7 @@ class TabViewHolder(
updateTab(tab)
updateTitle(tab.title)
updateHostname(tab.hostname)
updateFavIcon(tab.url)
updateFavIcon(tab.url, tab.sessionId)
updateSelected(tab.selected ?: false)
updatePlayPauseButton(tab.mediaState ?: MediaState.None)
item_tab.transitionName = "$TAB_ITEM_TRANSITION_NAME${tab.sessionId}"
@ -129,8 +130,16 @@ class TabViewHolder(
hostname.text = text
}
internal fun updateFavIcon(url: String) {
favicon_image.context.components.core.icons.loadIntoView(favicon_image, url)
internal fun updateFavIcon(url: String, sessionId: String) {
val icon = favicon_image.context.components.core
.sessionManager
.findSessionById(sessionId)?.icon
if (icon == null) {
favicon_image.context.components.core.icons.loadIntoView(favicon_image, url)
} else {
favicon_image.imageBitmap = icon
}
}
internal fun updateSelected(selected: Boolean) {