Fixes #5351 - use session icon in tab view on home
parent
2b19b28d25
commit
fe648a0b99
|
@ -220,7 +220,7 @@ class SessionControlAdapter(
|
||||||
|
|
||||||
if (it.shouldUpdateHostname) { holder.updateHostname(it.tab.hostname) }
|
if (it.shouldUpdateHostname) { holder.updateHostname(it.tab.hostname) }
|
||||||
if (it.shouldUpdateTitle) { holder.updateTitle(it.tab.title) }
|
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.shouldUpdateSelected) { holder.updateSelected(it.tab.selected ?: false) }
|
||||||
if (it.shouldUpdateMediaState) {
|
if (it.shouldUpdateMediaState) {
|
||||||
holder.updatePlayPauseButton(it.tab.mediaState ?: MediaState.None)
|
holder.updatePlayPauseButton(it.tab.mediaState ?: MediaState.None)
|
||||||
|
|
|
@ -16,6 +16,7 @@ import mozilla.components.browser.menu.BrowserMenuBuilder
|
||||||
import mozilla.components.browser.menu.item.SimpleBrowserMenuItem
|
import mozilla.components.browser.menu.item.SimpleBrowserMenuItem
|
||||||
import mozilla.components.feature.media.state.MediaState
|
import mozilla.components.feature.media.state.MediaState
|
||||||
import mozilla.components.support.ktx.android.util.dpToFloat
|
import mozilla.components.support.ktx.android.util.dpToFloat
|
||||||
|
import org.jetbrains.anko.imageBitmap
|
||||||
import org.mozilla.fenix.R
|
import org.mozilla.fenix.R
|
||||||
import org.mozilla.fenix.components.metrics.Event
|
import org.mozilla.fenix.components.metrics.Event
|
||||||
import org.mozilla.fenix.ext.components
|
import org.mozilla.fenix.ext.components
|
||||||
|
@ -92,7 +93,7 @@ class TabViewHolder(
|
||||||
updateTab(tab)
|
updateTab(tab)
|
||||||
updateTitle(tab.title)
|
updateTitle(tab.title)
|
||||||
updateHostname(tab.hostname)
|
updateHostname(tab.hostname)
|
||||||
updateFavIcon(tab.url)
|
updateFavIcon(tab.url, tab.sessionId)
|
||||||
updateSelected(tab.selected ?: false)
|
updateSelected(tab.selected ?: false)
|
||||||
updatePlayPauseButton(tab.mediaState ?: MediaState.None)
|
updatePlayPauseButton(tab.mediaState ?: MediaState.None)
|
||||||
item_tab.transitionName = "$TAB_ITEM_TRANSITION_NAME${tab.sessionId}"
|
item_tab.transitionName = "$TAB_ITEM_TRANSITION_NAME${tab.sessionId}"
|
||||||
|
@ -129,8 +130,16 @@ class TabViewHolder(
|
||||||
hostname.text = text
|
hostname.text = text
|
||||||
}
|
}
|
||||||
|
|
||||||
internal fun updateFavIcon(url: String) {
|
internal fun updateFavIcon(url: String, sessionId: String) {
|
||||||
favicon_image.context.components.core.icons.loadIntoView(favicon_image, url)
|
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) {
|
internal fun updateSelected(selected: Boolean) {
|
||||||
|
|
Loading…
Reference in New Issue