From b8539ccb335b82a6c78454c9f52dee7835f9a76e Mon Sep 17 00:00:00 2001 From: Sebastian Kaspari Date: Fri, 13 Sep 2019 19:13:48 +0200 Subject: [PATCH] Use new feature-contextmenu API. --- .../org/mozilla/fenix/browser/BaseBrowserFragment.kt | 10 ++++++---- .../mozilla/fenix/browser/FenixContextMenuCandidate.kt | 4 +++- .../main/java/org/mozilla/fenix/components/UseCases.kt | 3 +++ 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt b/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt index 5582088a2..941862800 100644 --- a/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt @@ -215,18 +215,20 @@ abstract class BaseBrowserFragment : Fragment(), BackHandler, SessionManager.Obs contextMenuFeature.set( feature = ContextMenuFeature( - requireFragmentManager(), - sessionManager, - FenixContextMenuCandidate.defaultCandidates( + fragmentManager = requireFragmentManager(), + store = store, + candidates = FenixContextMenuCandidate.defaultCandidates( context, context.components.useCases.tabsUseCases, + context.components.useCases.contextMenuUseCases, view, FenixSnackbarDelegate( view, if (getSessionById()?.isCustomTabSession() == true) null else nestedScrollQuickAction ) ), - view.engineView + engineView = view.engineView, + useCases = context.components.useCases.contextMenuUseCases ), owner = this, view = view diff --git a/app/src/main/java/org/mozilla/fenix/browser/FenixContextMenuCandidate.kt b/app/src/main/java/org/mozilla/fenix/browser/FenixContextMenuCandidate.kt index 3eeb03671..72637ba6a 100644 --- a/app/src/main/java/org/mozilla/fenix/browser/FenixContextMenuCandidate.kt +++ b/app/src/main/java/org/mozilla/fenix/browser/FenixContextMenuCandidate.kt @@ -7,6 +7,7 @@ package org.mozilla.fenix.browser import android.content.Context import android.view.View import mozilla.components.feature.contextmenu.ContextMenuCandidate +import mozilla.components.feature.contextmenu.ContextMenuUseCases import mozilla.components.feature.contextmenu.DefaultSnackbarDelegate import mozilla.components.feature.tabs.TabsUseCases @@ -20,6 +21,7 @@ class FenixContextMenuCandidate { fun defaultCandidates( context: Context, tabsUseCases: TabsUseCases, + contextMenuUseCases: ContextMenuUseCases, snackBarParentView: View, snackbarDelegate: ContextMenuCandidate.SnackbarDelegate = DefaultSnackbarDelegate() ): List = listOf( @@ -37,7 +39,7 @@ class FenixContextMenuCandidate { ), ContextMenuCandidate.createCopyLinkCandidate(context, snackBarParentView, snackbarDelegate), ContextMenuCandidate.createShareLinkCandidate(context), - ContextMenuCandidate.createSaveImageCandidate(context), + ContextMenuCandidate.createSaveImageCandidate(context, contextMenuUseCases), ContextMenuCandidate.createCopyImageLocationCandidate(context, snackBarParentView, snackbarDelegate) ) } diff --git a/app/src/main/java/org/mozilla/fenix/components/UseCases.kt b/app/src/main/java/org/mozilla/fenix/components/UseCases.kt index 0076d8e8e..850c9e907 100644 --- a/app/src/main/java/org/mozilla/fenix/components/UseCases.kt +++ b/app/src/main/java/org/mozilla/fenix/components/UseCases.kt @@ -10,6 +10,7 @@ import mozilla.components.browser.session.SessionManager 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.WebAppUseCases import mozilla.components.feature.search.SearchUseCases @@ -55,4 +56,6 @@ class UseCases( val webAppUseCases by lazy { WebAppUseCases(context, sessionManager, httpClient, supportWebApps = false) } val downloadUseCases by lazy { DownloadsUseCases(sessionManager) } + + val contextMenuUseCases by lazy { ContextMenuUseCases(sessionManager) } }