|
|
@ -64,6 +64,7 @@ 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
|
|
|
|
import mozilla.components.feature.tab.collections.TabCollection
|
|
|
|
import mozilla.components.feature.tab.collections.TabCollection
|
|
|
|
|
|
|
|
import mozilla.components.feature.top.sites.TopSite
|
|
|
|
import mozilla.components.feature.top.sites.TopSitesConfig
|
|
|
|
import mozilla.components.feature.top.sites.TopSitesConfig
|
|
|
|
import mozilla.components.feature.top.sites.TopSitesFeature
|
|
|
|
import mozilla.components.feature.top.sites.TopSitesFeature
|
|
|
|
import mozilla.components.feature.top.sites.TopSitesProviderConfig
|
|
|
|
import mozilla.components.feature.top.sites.TopSitesProviderConfig
|
|
|
@ -244,7 +245,7 @@ class HomeFragment : Fragment() {
|
|
|
|
collections = components.core.tabCollectionStorage.cachedTabCollections,
|
|
|
|
collections = components.core.tabCollectionStorage.cachedTabCollections,
|
|
|
|
expandedCollections = emptySet(),
|
|
|
|
expandedCollections = emptySet(),
|
|
|
|
mode = currentMode.getCurrentMode(),
|
|
|
|
mode = currentMode.getCurrentMode(),
|
|
|
|
topSites = components.core.topSitesStorage.cachedTopSites.sort(),
|
|
|
|
topSites = getTopSites(components),
|
|
|
|
tip = components.strictMode.resetAfter(StrictMode.allowThreadDiskReads()) {
|
|
|
|
tip = components.strictMode.resetAfter(StrictMode.allowThreadDiskReads()) {
|
|
|
|
FenixTipManager(
|
|
|
|
FenixTipManager(
|
|
|
|
listOf(
|
|
|
|
listOf(
|
|
|
@ -288,18 +289,20 @@ class HomeFragment : Fragment() {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
topSitesFeature.set(
|
|
|
|
if (requireContext().settings().showTopSitesFeature) {
|
|
|
|
feature = TopSitesFeature(
|
|
|
|
topSitesFeature.set(
|
|
|
|
view = DefaultTopSitesView(
|
|
|
|
feature = TopSitesFeature(
|
|
|
|
store = homeFragmentStore,
|
|
|
|
view = DefaultTopSitesView(
|
|
|
|
settings = components.settings
|
|
|
|
store = homeFragmentStore,
|
|
|
|
|
|
|
|
settings = components.settings
|
|
|
|
|
|
|
|
),
|
|
|
|
|
|
|
|
storage = components.core.topSitesStorage,
|
|
|
|
|
|
|
|
config = ::getTopSitesConfig
|
|
|
|
),
|
|
|
|
),
|
|
|
|
storage = components.core.topSitesStorage,
|
|
|
|
owner = viewLifecycleOwner,
|
|
|
|
config = ::getTopSitesConfig
|
|
|
|
view = binding.root
|
|
|
|
),
|
|
|
|
)
|
|
|
|
owner = viewLifecycleOwner,
|
|
|
|
}
|
|
|
|
view = binding.root
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (requireContext().settings().showRecentTabsFeature) {
|
|
|
|
if (requireContext().settings().showRecentTabsFeature) {
|
|
|
|
recentTabsListFeature.set(
|
|
|
|
recentTabsListFeature.set(
|
|
|
@ -434,7 +437,7 @@ class HomeFragment : Fragment() {
|
|
|
|
val settings = requireContext().settings()
|
|
|
|
val settings = requireContext().settings()
|
|
|
|
return TopSitesConfig(
|
|
|
|
return TopSitesConfig(
|
|
|
|
totalSites = settings.topSitesMaxLimit,
|
|
|
|
totalSites = settings.topSitesMaxLimit,
|
|
|
|
frecencyConfig = if (settings.showTopFrecentSites) FrecencyThresholdOption.SKIP_ONE_TIME_PAGES else null,
|
|
|
|
frecencyConfig = FrecencyThresholdOption.SKIP_ONE_TIME_PAGES,
|
|
|
|
providerConfig = TopSitesProviderConfig(
|
|
|
|
providerConfig = TopSitesProviderConfig(
|
|
|
|
showProviderTopSites = settings.showContileFeature,
|
|
|
|
showProviderTopSites = settings.showContileFeature,
|
|
|
|
maxThreshold = TOP_SITES_PROVIDER_MAX_THRESHOLD
|
|
|
|
maxThreshold = TOP_SITES_PROVIDER_MAX_THRESHOLD
|
|
|
@ -704,7 +707,7 @@ class HomeFragment : Fragment() {
|
|
|
|
HomeFragmentAction.Change(
|
|
|
|
HomeFragmentAction.Change(
|
|
|
|
collections = components.core.tabCollectionStorage.cachedTabCollections,
|
|
|
|
collections = components.core.tabCollectionStorage.cachedTabCollections,
|
|
|
|
mode = currentMode.getCurrentMode(),
|
|
|
|
mode = currentMode.getCurrentMode(),
|
|
|
|
topSites = components.core.topSitesStorage.cachedTopSites.sort(),
|
|
|
|
topSites = getTopSites(components),
|
|
|
|
tip = components.strictMode.resetAfter(StrictMode.allowThreadDiskReads()) {
|
|
|
|
tip = components.strictMode.resetAfter(StrictMode.allowThreadDiskReads()) {
|
|
|
|
FenixTipManager(
|
|
|
|
FenixTipManager(
|
|
|
|
listOf(
|
|
|
|
listOf(
|
|
|
@ -1225,6 +1228,14 @@ class HomeFragment : Fragment() {
|
|
|
|
?.isVisible = tabCount > 0
|
|
|
|
?.isVisible = tabCount > 0
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private fun getTopSites(components: Components): List<TopSite> {
|
|
|
|
|
|
|
|
return if (components.settings.showTopSitesFeature) {
|
|
|
|
|
|
|
|
components.core.topSitesStorage.cachedTopSites.sort()
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
emptyList()
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private fun getRecentTabs(components: Components): List<RecentTab> {
|
|
|
|
private fun getRecentTabs(components: Components): List<RecentTab> {
|
|
|
|
return if (components.settings.showRecentTabsFeature) {
|
|
|
|
return if (components.settings.showRecentTabsFeature) {
|
|
|
|
components.core.store.state.asRecentTabs()
|
|
|
|
components.core.store.state.asRecentTabs()
|
|
|
|