Revert "For 11660: fixing nits for previous #11668 (#11821)"

This reverts commit bd7a5375f2.
pull/35/head
Christian Sadilek 4 years ago committed by Jonathan Almeida
parent edd0ea4e6b
commit 0162fd68a9

@ -257,9 +257,8 @@ open class FenixApplication : LocaleAwareApplication(), Provider {
// no-op, LeakCanary is disabled by default // no-op, LeakCanary is disabled by default
} }
/** // This is for issue https://github.com/mozilla-mobile/fenix/issues/11660. We prefetch our info for startup
* See [TopsiteStore.prefetch] for details on pre fetching. // so that we're sure that we have all the data available as our fragment is launched.
*/
private fun prefetchForHomeFragment() { private fun prefetchForHomeFragment() {
StrictMode.allowThreadDiskReads().resetPoliciesAfter { StrictMode.allowThreadDiskReads().resetPoliciesAfter {
components.core.topSiteStorage.prefetch() components.core.topSiteStorage.prefetch()

@ -14,7 +14,7 @@ import mozilla.components.feature.top.sites.TopSite
import mozilla.components.feature.top.sites.TopSiteStorage import mozilla.components.feature.top.sites.TopSiteStorage
import mozilla.components.support.locale.LocaleManager import mozilla.components.support.locale.LocaleManager
import org.mozilla.fenix.R import org.mozilla.fenix.R
import org.mozilla.fenix.ext.observeOnceAndRemoveObserver import org.mozilla.fenix.ext.observeOnce
import org.mozilla.fenix.ext.settings import org.mozilla.fenix.ext.settings
import org.mozilla.fenix.settings.SupportUtils import org.mozilla.fenix.settings.SupportUtils
import org.mozilla.fenix.settings.advanced.getSelectedLocale import org.mozilla.fenix.settings.advanced.getSelectedLocale
@ -88,15 +88,8 @@ class TopSiteStorage(private val context: Context) {
} }
} }
/**
* This is for issue https://github.com/mozilla-mobile/fenix/issues/11660. We prefetch the top
* sites for startup so that we're sure that we have all the data available as our fragment is
* launched to make sure that we can display everything on the home screen on the first drawing pass.
* This method doesn't negatively affect performance since the [getTopSites] runs on the a
* background thread.
*/
fun prefetch() { fun prefetch() {
getTopSites().observeOnceAndRemoveObserver { getTopSites().observeOnce {
cachedTopSites = it cachedTopSites = it
} }
} }

@ -10,11 +10,11 @@ import androidx.lifecycle.Observer
/** /**
* Observe a LiveData once and unregister from it as soon as the live data returns a value * Observe a LiveData once and unregister from it as soon as the live data returns a value
*/ */
fun <T> LiveData<T>.observeOnceAndRemoveObserver(callback: (T) -> Unit) { fun <T> LiveData<T>.observeOnce(observer: (T) -> Unit) {
observeForever(object : Observer<T> { observeForever(object : Observer<T> {
override fun onChanged(value: T) { override fun onChanged(value: T) {
removeObserver(this) removeObserver(this)
callback(value) observer(value)
} }
}) })
} }

Loading…
Cancel
Save