Use ManifestUpdateFeature
This commit is contained in:
parent
4183dea591
commit
afda836f1f
|
@ -27,7 +27,7 @@ class Components(private val context: Context) {
|
|||
core.store,
|
||||
core.engine.settings,
|
||||
search.searchEngineManager,
|
||||
core.client
|
||||
core.webAppShortcutManager
|
||||
)
|
||||
}
|
||||
val intentProcessors by lazy {
|
||||
|
|
|
@ -30,13 +30,14 @@ import mozilla.components.feature.customtabs.store.CustomTabsServiceStore
|
|||
import mozilla.components.feature.media.MediaFeature
|
||||
import mozilla.components.feature.media.RecordingDevicesNotificationFeature
|
||||
import mozilla.components.feature.media.state.MediaStateMachine
|
||||
import mozilla.components.feature.pwa.ManifestStorage
|
||||
import mozilla.components.feature.pwa.WebAppShortcutManager
|
||||
import mozilla.components.feature.session.HistoryDelegate
|
||||
import mozilla.components.feature.webcompat.WebCompatFeature
|
||||
import mozilla.components.service.sync.logins.AsyncLoginsStorageAdapter
|
||||
import mozilla.components.service.sync.logins.SyncableLoginsStore
|
||||
import org.mozilla.fenix.AppRequestInterceptor
|
||||
import org.mozilla.fenix.FeatureFlags
|
||||
import org.mozilla.fenix.ext.components
|
||||
import org.mozilla.fenix.ext.settings
|
||||
import org.mozilla.fenix.test.Mockable
|
||||
import java.io.File
|
||||
|
@ -141,7 +142,19 @@ class Core(private val context: Context) {
|
|||
* Icons component for loading, caching and processing website icons.
|
||||
*/
|
||||
val icons by lazy {
|
||||
BrowserIcons(context, context.components.core.client)
|
||||
BrowserIcons(context, client)
|
||||
}
|
||||
|
||||
/**
|
||||
* Shortcut component for managing shortcuts on the device home screen.
|
||||
*/
|
||||
val webAppShortcutManager by lazy {
|
||||
WebAppShortcutManager(
|
||||
context,
|
||||
client,
|
||||
webAppManifestStorage,
|
||||
supportWebApps = FeatureFlags.progressiveWebApps
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -156,6 +169,8 @@ class Core(private val context: Context) {
|
|||
|
||||
val permissionStorage by lazy { PermissionStorage(context) }
|
||||
|
||||
val webAppManifestStorage by lazy { ManifestStorage(context) }
|
||||
|
||||
val loginsStorage by lazy {
|
||||
SyncableLoginsStore(
|
||||
AsyncLoginsStorageAdapter.forDatabase(
|
||||
|
|
|
@ -9,16 +9,15 @@ import mozilla.components.browser.search.SearchEngineManager
|
|||
import mozilla.components.browser.session.SessionManager
|
||||
import mozilla.components.browser.state.store.BrowserStore
|
||||
import mozilla.components.concept.engine.Settings
|
||||
import mozilla.components.concept.fetch.Client
|
||||
import mozilla.components.feature.app.links.AppLinksUseCases
|
||||
import mozilla.components.feature.contextmenu.ContextMenuUseCases
|
||||
import mozilla.components.feature.downloads.DownloadsUseCases
|
||||
import mozilla.components.feature.pwa.WebAppShortcutManager
|
||||
import mozilla.components.feature.pwa.WebAppUseCases
|
||||
import mozilla.components.feature.search.SearchUseCases
|
||||
import mozilla.components.feature.session.SessionUseCases
|
||||
import mozilla.components.feature.session.SettingsUseCases
|
||||
import mozilla.components.feature.tabs.TabsUseCases
|
||||
import org.mozilla.fenix.FeatureFlags.progressiveWebApps
|
||||
import org.mozilla.fenix.test.Mockable
|
||||
|
||||
/**
|
||||
|
@ -32,7 +31,7 @@ class UseCases(
|
|||
private val store: BrowserStore,
|
||||
private val engineSettings: Settings,
|
||||
private val searchEngineManager: SearchEngineManager,
|
||||
private val httpClient: Client
|
||||
private val shortcutManager: WebAppShortcutManager
|
||||
) {
|
||||
/**
|
||||
* Use cases that provide engine interactions for a given browser session.
|
||||
|
@ -57,7 +56,7 @@ class UseCases(
|
|||
val appLinksUseCases by lazy { AppLinksUseCases(context.applicationContext) }
|
||||
|
||||
val webAppUseCases by lazy {
|
||||
WebAppUseCases(context, sessionManager, httpClient, supportWebApps = progressiveWebApps)
|
||||
WebAppUseCases(context, sessionManager, shortcutManager)
|
||||
}
|
||||
|
||||
val downloadUseCases by lazy { DownloadsUseCases(store) }
|
||||
|
|
|
@ -18,6 +18,7 @@ import mozilla.components.concept.engine.manifest.getOrNull
|
|||
import mozilla.components.feature.contextmenu.ContextMenuCandidate
|
||||
import mozilla.components.feature.pwa.ext.getTrustedScope
|
||||
import mozilla.components.feature.pwa.ext.trustedOrigins
|
||||
import mozilla.components.feature.pwa.feature.ManifestUpdateFeature
|
||||
import mozilla.components.feature.pwa.feature.WebAppActivityFeature
|
||||
import mozilla.components.feature.pwa.feature.WebAppHideToolbarFeature
|
||||
import mozilla.components.feature.pwa.feature.WebAppSiteControlsFeature
|
||||
|
@ -26,6 +27,7 @@ import mozilla.components.feature.sitepermissions.SitePermissions
|
|||
import mozilla.components.lib.state.ext.consumeFrom
|
||||
import mozilla.components.support.base.feature.BackHandler
|
||||
import mozilla.components.support.base.feature.ViewBoundFeatureWrapper
|
||||
import mozilla.components.support.ktx.android.arch.lifecycle.addObservers
|
||||
import org.mozilla.fenix.R
|
||||
import org.mozilla.fenix.browser.BaseBrowserFragment
|
||||
import org.mozilla.fenix.browser.CustomTabContextMenuCandidate
|
||||
|
@ -86,11 +88,19 @@ class ExternalAppBrowserFragment : BaseBrowserFragment(), BackHandler {
|
|||
)
|
||||
|
||||
if (manifest != null) {
|
||||
activity.lifecycle.addObserver(
|
||||
activity.lifecycle.addObservers(
|
||||
WebAppActivityFeature(
|
||||
activity,
|
||||
components.core.icons,
|
||||
manifest
|
||||
),
|
||||
ManifestUpdateFeature(
|
||||
activity.applicationContext,
|
||||
requireComponents.core.sessionManager,
|
||||
requireComponents.core.webAppManifestStorage,
|
||||
requireComponents.core.webAppManifestStorage,
|
||||
customTabSessionId,
|
||||
manifest
|
||||
)
|
||||
)
|
||||
viewLifecycleOwner.lifecycle.addObserver(
|
||||
|
|
Loading…
Reference in New Issue
Block a user