1
0
Fork 0

Upgrade to A-C 15.0.0-SNAPSHOT (incl. required changes) (#5578)

* Upgrade to Mozilla Android components 15.0.0-SNAPSHOT

* Update findinpage integration to use browser-state

* Use new UseCases APIs after download migration.
master
Christian Sadilek 2019-09-26 15:50:50 -04:00 committed by Sawyer Blatz
parent c5330c6880
commit ac2611d744
7 changed files with 24 additions and 11 deletions

View File

@ -201,7 +201,7 @@ abstract class BaseBrowserFragment : Fragment(), BackHandler, SessionManager.Obs
findInPageIntegration.set( findInPageIntegration.set(
feature = FindInPageIntegration( feature = FindInPageIntegration(
sessionManager = sessionManager, store = store,
sessionId = customTabSessionId, sessionId = customTabSessionId,
stub = view.stubFindInPage, stub = view.stubFindInPage,
engineView = view.engineView, engineView = view.engineView,

View File

@ -21,7 +21,14 @@ class Components(private val context: Context) {
val core by lazy { Core(context) } val core by lazy { Core(context) }
val search by lazy { Search(context) } val search by lazy { Search(context) }
val useCases by lazy { val useCases by lazy {
UseCases(context, core.sessionManager, core.engine.settings, search.searchEngineManager, core.client) UseCases(
context,
core.sessionManager,
core.store,
core.engine.settings,
search.searchEngineManager,
core.client
)
} }
val intentProcessors by lazy { val intentProcessors by lazy {
IntentProcessors(context, core.sessionManager, useCases.sessionUseCases, useCases.searchUseCases) IntentProcessors(context, core.sessionManager, useCases.sessionUseCases, useCases.searchUseCases)

View File

@ -6,8 +6,9 @@ package org.mozilla.fenix.components
import android.view.View import android.view.View
import android.view.ViewStub import android.view.ViewStub
import mozilla.components.browser.session.SessionManager import mozilla.components.browser.state.selector.findCustomTabOrSelectedTab
import mozilla.components.browser.session.runWithSessionIdOrSelected import mozilla.components.browser.state.state.CustomTabSessionState
import mozilla.components.browser.state.store.BrowserStore
import mozilla.components.browser.toolbar.BrowserToolbar import mozilla.components.browser.toolbar.BrowserToolbar
import mozilla.components.concept.engine.EngineView import mozilla.components.concept.engine.EngineView
import mozilla.components.feature.findinpage.FindInPageFeature import mozilla.components.feature.findinpage.FindInPageFeature
@ -17,22 +18,22 @@ import org.mozilla.fenix.test.Mockable
@Mockable @Mockable
class FindInPageIntegration( class FindInPageIntegration(
private val sessionManager: SessionManager, private val store: BrowserStore,
private val sessionId: String? = null, private val sessionId: String? = null,
stub: ViewStub, stub: ViewStub,
private val engineView: EngineView, private val engineView: EngineView,
private val toolbar: BrowserToolbar private val toolbar: BrowserToolbar
) : InflationAwareFeature(stub) { ) : InflationAwareFeature(stub) {
override fun onViewInflated(view: View): LifecycleAwareFeature { override fun onViewInflated(view: View): LifecycleAwareFeature {
return FindInPageFeature(sessionManager, view as FindInPageView, engineView) { return FindInPageFeature(store, view as FindInPageView, engineView) {
toolbar.visibility = View.VISIBLE toolbar.visibility = View.VISIBLE
view.visibility = View.GONE view.visibility = View.GONE
} }
} }
override fun onLaunch(view: View, feature: LifecycleAwareFeature) { override fun onLaunch(view: View, feature: LifecycleAwareFeature) {
sessionManager.runWithSessionIdOrSelected(sessionId) { session -> store.state.findCustomTabOrSelectedTab(sessionId)?.let { session ->
if (!session.isCustomTabSession()) { if (session !is CustomTabSessionState) {
toolbar.visibility = View.GONE toolbar.visibility = View.GONE
} }
view.visibility = View.VISIBLE view.visibility = View.VISIBLE

View File

@ -7,6 +7,7 @@ package org.mozilla.fenix.components
import android.content.Context import android.content.Context
import mozilla.components.browser.search.SearchEngineManager import mozilla.components.browser.search.SearchEngineManager
import mozilla.components.browser.session.SessionManager import mozilla.components.browser.session.SessionManager
import mozilla.components.browser.state.store.BrowserStore
import mozilla.components.concept.engine.Settings import mozilla.components.concept.engine.Settings
import mozilla.components.concept.fetch.Client import mozilla.components.concept.fetch.Client
import mozilla.components.feature.app.links.AppLinksUseCases import mozilla.components.feature.app.links.AppLinksUseCases
@ -27,6 +28,7 @@ import org.mozilla.fenix.test.Mockable
class UseCases( class UseCases(
private val context: Context, private val context: Context,
private val sessionManager: SessionManager, private val sessionManager: SessionManager,
private val store: BrowserStore,
private val engineSettings: Settings, private val engineSettings: Settings,
private val searchEngineManager: SearchEngineManager, private val searchEngineManager: SearchEngineManager,
private val httpClient: Client private val httpClient: Client
@ -55,7 +57,7 @@ class UseCases(
val webAppUseCases by lazy { WebAppUseCases(context, sessionManager, httpClient, supportWebApps = false) } val webAppUseCases by lazy { WebAppUseCases(context, sessionManager, httpClient, supportWebApps = false) }
val downloadUseCases by lazy { DownloadsUseCases(sessionManager) } val downloadUseCases by lazy { DownloadsUseCases(store) }
val contextMenuUseCases by lazy { ContextMenuUseCases(sessionManager) } val contextMenuUseCases by lazy { ContextMenuUseCases(sessionManager, store) }
} }

View File

@ -23,6 +23,7 @@ class TestComponents(private val context: Context) : Components(context) {
UseCases( UseCases(
context, context,
core.sessionManager, core.sessionManager,
core.store,
core.engine.settings, core.engine.settings,
search.searchEngineManager, search.searchEngineManager,
core.client core.client

View File

@ -9,6 +9,7 @@ import io.mockk.mockk
import kotlinx.coroutines.ObsoleteCoroutinesApi import kotlinx.coroutines.ObsoleteCoroutinesApi
import mozilla.components.browser.engine.gecko.GeckoEngine import mozilla.components.browser.engine.gecko.GeckoEngine
import mozilla.components.browser.session.SessionManager import mozilla.components.browser.session.SessionManager
import mozilla.components.browser.state.store.BrowserStore
import mozilla.components.concept.fetch.Client import mozilla.components.concept.fetch.Client
@ObsoleteCoroutinesApi @ObsoleteCoroutinesApi
@ -17,4 +18,5 @@ class TestCore(private val context: Context) : Core(context) {
override val engine = mockk<GeckoEngine>(relaxed = true) override val engine = mockk<GeckoEngine>(relaxed = true)
override val sessionManager = SessionManager(engine) override val sessionManager = SessionManager(engine)
override val client = mockk<Client>() override val client = mockk<Client>()
override val store = mockk<BrowserStore>()
} }

View File

@ -35,7 +35,7 @@ object Versions {
const val androidx_work = "2.0.1" const val androidx_work = "2.0.1"
const val google_material = "1.1.0-alpha10" const val google_material = "1.1.0-alpha10"
const val mozilla_android_components = "14.0.1" const val mozilla_android_components = "15.0.0-SNAPSHOT"
// Note that android-components also depends on application-services, // Note that android-components also depends on application-services,
// and in fact is our main source of appservices-related functionality. // and in fact is our main source of appservices-related functionality.
// The version number below tracks the application-services version // The version number below tracks the application-services version