Update Android Components to 69.0.20201207103252.

upstream-sync
Sebastian Kaspari 4 years ago
parent 507445a400
commit 2cada405d8

@ -550,7 +550,9 @@ dependencies {
androidTestImplementation Deps.androidx_junit
androidTestImplementation Deps.androidx_work_testing
androidTestImplementation Deps.mockwebserver
testImplementation Deps.mozilla_support_test
testImplementation Deps.mozilla_support_test_libstate
testImplementation Deps.androidx_junit
testImplementation Deps.androidx_work_testing
testImplementation (Deps.robolectric) {

@ -266,6 +266,7 @@ abstract class BaseBrowserFragment : Fragment(), UserInteractionHandler,
isPrivate = activity.browsingModeManager.mode.isPrivate
)
val browserToolbarController = DefaultBrowserToolbarController(
store = store,
activity = activity,
navController = findNavController(),
metrics = requireComponents.analytics.metrics,

@ -113,7 +113,6 @@ class Analytics(
}
Nimbus(context, serverSettings).apply {
if (FeatureFlags.nimbusExperiments) {
initialize()
// Global opt out state is stored in Nimbus, and shouldn't be toggled to `true`
// from the app unless the user does so from a UI control.
// However, the user may have opt-ed out of mako experiments already, so

@ -55,7 +55,7 @@ class UseCases(
SearchUseCases(
store,
store.toDefaultSearchEngineProvider(),
sessionManager
tabsUseCases
)
}
@ -67,7 +67,7 @@ class UseCases(
val appLinksUseCases by lazyMonitored { AppLinksUseCases(context.applicationContext) }
val webAppUseCases by lazyMonitored {
WebAppUseCases(context, sessionManager, shortcutManager)
WebAppUseCases(context, store, shortcutManager)
}
val downloadUseCases by lazyMonitored { DownloadsUseCases(store) }

@ -7,6 +7,8 @@ package org.mozilla.fenix.components.toolbar
import androidx.navigation.NavController
import mozilla.components.browser.session.Session
import mozilla.components.browser.session.SessionManager
import mozilla.components.browser.state.action.ContentAction
import mozilla.components.browser.state.store.BrowserStore
import mozilla.components.concept.engine.EngineView
import mozilla.components.support.ktx.kotlin.isUrl
import mozilla.components.ui.tabcounter.TabCounterMenu
@ -38,6 +40,7 @@ interface BrowserToolbarController {
}
class DefaultBrowserToolbarController(
private val store: BrowserStore,
private val activity: HomeActivity,
private val navController: NavController,
private val metrics: MetricController,
@ -66,15 +69,15 @@ class DefaultBrowserToolbarController(
override fun handleToolbarPasteAndGo(text: String) {
if (text.isUrl()) {
sessionManager.selectedSession?.searchTerms = ""
store.updateSearchTermsOfSelectedSession("")
activity.components.useCases.sessionUseCases.loadUrl.invoke(text)
return
}
sessionManager.selectedSession?.searchTerms = text
store.updateSearchTermsOfSelectedSession(text)
activity.components.useCases.searchUseCases.defaultSearch.invoke(
text,
session = sessionManager.selectedSession
sessionId = sessionManager.selectedSession?.id
)
}
@ -157,3 +160,14 @@ class DefaultBrowserToolbarController(
internal const val TELEMETRY_BROWSER_IDENTIFIER = "browserMenu"
}
}
private fun BrowserStore.updateSearchTermsOfSelectedSession(
searchTerms: String
) {
val selectedTabId = state.selectedTabId ?: return
dispatch(ContentAction.UpdateSearchTermsAction(
selectedTabId,
searchTerms
))
}

@ -125,7 +125,7 @@ class ExternalAppBrowserFragment : BaseBrowserFragment(), UserInteractionHandler
),
ManifestUpdateFeature(
activity.applicationContext,
requireComponents.core.sessionManager,
requireComponents.core.store,
requireComponents.core.webAppShortcutManager,
requireComponents.core.webAppManifestStorage,
customTabSessionId,
@ -135,7 +135,7 @@ class ExternalAppBrowserFragment : BaseBrowserFragment(), UserInteractionHandler
viewLifecycleOwner.lifecycle.addObserver(
WebAppSiteControlsFeature(
activity.applicationContext,
requireComponents.core.sessionManager,
requireComponents.core.store,
requireComponents.useCases.sessionUseCases.reload,
customTabSessionId,
manifest,

@ -7,8 +7,8 @@ package org.mozilla.fenix.customtabs
import android.app.Notification
import android.content.Context
import android.content.Intent
import mozilla.components.browser.session.Session
import mozilla.components.browser.session.SessionManager
import mozilla.components.browser.state.state.CustomTabSessionState
import mozilla.components.concept.engine.manifest.WebAppManifest
import mozilla.components.feature.pwa.feature.SiteControlsBuilder
import mozilla.components.feature.session.SessionUseCases
@ -36,6 +36,7 @@ class WebAppSiteControlsBuilder(
override fun getFilter() = inner.getFilter()
override fun onReceiveBroadcast(context: Context, session: Session, intent: Intent) =
inner.onReceiveBroadcast(context, session, intent)
override fun onReceiveBroadcast(context: Context, tab: CustomTabSessionState, intent: Intent) {
inner.onReceiveBroadcast(context, tab, intent)
}
}

@ -15,14 +15,21 @@ import io.mockk.just
import io.mockk.mockk
import io.mockk.slot
import io.mockk.verify
import io.mockk.verifyOrder
import mozilla.components.browser.session.Session
import mozilla.components.browser.session.SessionManager
import mozilla.components.browser.state.action.BrowserAction
import mozilla.components.browser.state.action.ContentAction
import mozilla.components.browser.state.state.BrowserState
import mozilla.components.browser.state.state.createTab
import mozilla.components.browser.state.store.BrowserStore
import mozilla.components.concept.engine.EngineView
import mozilla.components.feature.search.SearchUseCases
import mozilla.components.feature.session.SessionUseCases
import mozilla.components.feature.top.sites.TopSitesUseCases
import mozilla.components.support.test.libstate.ext.waitUntilIdle
import mozilla.components.support.test.middleware.CaptureActionsMiddleware
import mozilla.components.ui.tabcounter.TabCounterMenu
import org.junit.After
import org.junit.Assert.assertEquals
import org.junit.Before
import org.junit.Test
@ -86,6 +93,9 @@ class DefaultBrowserToolbarControllerTest {
@RelaxedMockK
private lateinit var homeViewModel: HomeScreenViewModel
private lateinit var store: BrowserStore
private val captureMiddleware = CaptureActionsMiddleware<BrowserState, BrowserAction>()
@Before
fun setUp() {
MockKAnnotations.init(this)
@ -99,10 +109,24 @@ class DefaultBrowserToolbarControllerTest {
}
every { currentSession.id } returns "1"
every { currentSession.private } returns false
every { currentSession.searchTerms = any() } just Runs
val onComplete = slot<() -> Unit>()
every { browserAnimator.captureEngineViewAndDrawStatically(capture(onComplete)) } answers { onComplete.captured.invoke() }
store = BrowserStore(
initialState = BrowserState(
tabs = listOf(
createTab("https://www.mozilla.org", id = "1")
),
selectedTabId = "1"
),
middleware = listOf(captureMiddleware)
)
}
@After
fun tearDown() {
captureMiddleware.reset()
}
@Test
@ -139,9 +163,16 @@ class DefaultBrowserToolbarControllerTest {
val controller = createController()
controller.handleToolbarPasteAndGo(pastedText)
verifyOrder {
currentSession.searchTerms = "Mozilla"
searchUseCases.defaultSearch.invoke(pastedText, currentSession)
verify {
searchUseCases.defaultSearch.invoke(pastedText, "1")
}
store.waitUntilIdle()
captureMiddleware.assertFirstAction(ContentAction.UpdateSearchTermsAction::class) { action ->
assertEquals("1", action.sessionId)
assertEquals(pastedText, action.searchTerms)
}
}
@ -151,10 +182,17 @@ class DefaultBrowserToolbarControllerTest {
val controller = createController()
controller.handleToolbarPasteAndGo(pastedText)
verifyOrder {
currentSession.searchTerms = ""
verify {
sessionUseCases.loadUrl(pastedText)
}
store.waitUntilIdle()
captureMiddleware.assertFirstAction(ContentAction.UpdateSearchTermsAction::class) { action ->
assertEquals("1", action.sessionId)
assertEquals("", action.searchTerms)
}
}
@Test
@ -288,6 +326,7 @@ class DefaultBrowserToolbarControllerTest {
activity: HomeActivity = this.activity,
customTabSession: Session? = null
) = DefaultBrowserToolbarController(
store = store,
activity = activity,
navController = navController,
metrics = metrics,

@ -3,5 +3,5 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
object AndroidComponents {
const val VERSION = "69.0.20201204143142"
const val VERSION = "69.0.20201207103252"
}

@ -154,6 +154,7 @@ object Deps {
const val mozilla_support_rustlog = "org.mozilla.components:support-rustlog:${Versions.mozilla_android_components}"
const val mozilla_support_utils = "org.mozilla.components:support-utils:${Versions.mozilla_android_components}"
const val mozilla_support_test = "org.mozilla.components:support-test:${Versions.mozilla_android_components}"
const val mozilla_support_test_libstate = "org.mozilla.components:support-test-libstate:${Versions.mozilla_android_components}"
const val mozilla_support_migration = "org.mozilla.components:support-migration:${Versions.mozilla_android_components}"
const val mozilla_support_locale = "org.mozilla.components:support-locale:${Versions.mozilla_android_components}"

Loading…
Cancel
Save