|
|
|
@ -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) {
|
|
|
|
|
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) {
|
|
|
|
|