For issue #12126 - Tab counter consumeFrom update
Added a direct call to the updateTabCounter method to account for changes made to the BrowserState while the tabCounter view is not visible.master
parent
f838049e97
commit
eeb8719fa1
|
@ -62,6 +62,7 @@ import mozilla.components.browser.session.Session
|
||||||
import mozilla.components.browser.session.SessionManager
|
import mozilla.components.browser.session.SessionManager
|
||||||
import mozilla.components.browser.state.selector.normalTabs
|
import mozilla.components.browser.state.selector.normalTabs
|
||||||
import mozilla.components.browser.state.selector.privateTabs
|
import mozilla.components.browser.state.selector.privateTabs
|
||||||
|
import mozilla.components.browser.state.state.BrowserState
|
||||||
import mozilla.components.concept.sync.AccountObserver
|
import mozilla.components.concept.sync.AccountObserver
|
||||||
import mozilla.components.concept.sync.AuthType
|
import mozilla.components.concept.sync.AuthType
|
||||||
import mozilla.components.concept.sync.OAuthAccount
|
import mozilla.components.concept.sync.OAuthAccount
|
||||||
|
@ -390,15 +391,9 @@ class HomeFragment : Fragment() {
|
||||||
}
|
}
|
||||||
|
|
||||||
consumeFrom(requireComponents.core.store) {
|
consumeFrom(requireComponents.core.store) {
|
||||||
val tabCount = if (browsingModeManager.mode.isPrivate) {
|
updateTabCounter(it)
|
||||||
it.privateTabs.size
|
|
||||||
} else {
|
|
||||||
it.normalTabs.size
|
|
||||||
}
|
|
||||||
|
|
||||||
view.tab_button?.setCountWithAnimation(tabCount)
|
|
||||||
view.add_tabs_to_collections_button?.isVisible = tabCount > 0
|
|
||||||
}
|
}
|
||||||
|
updateTabCounter(requireComponents.core.store.state)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onDestroyView() {
|
override fun onDestroyView() {
|
||||||
|
@ -927,6 +922,17 @@ class HomeFragment : Fragment() {
|
||||||
TabTrayDialogFragment.show(parentFragmentManager)
|
TabTrayDialogFragment.show(parentFragmentManager)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun updateTabCounter(browserState: BrowserState) {
|
||||||
|
val tabCount = if (browsingModeManager.mode.isPrivate) {
|
||||||
|
browserState.privateTabs.size
|
||||||
|
} else {
|
||||||
|
browserState.normalTabs.size
|
||||||
|
}
|
||||||
|
|
||||||
|
view?.tab_button?.setCountWithAnimation(tabCount)
|
||||||
|
view?.add_tabs_to_collections_button?.isVisible = tabCount > 0
|
||||||
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
private const val ANIMATION_DELAY = 100L
|
private const val ANIMATION_DELAY = 100L
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue