From 975975e789517f6b6caf81c6da802e5a727e1397 Mon Sep 17 00:00:00 2001 From: Emily Kager Date: Tue, 11 Jun 2019 06:59:00 -0700 Subject: [PATCH] For #3326 - Remove open image in tab from context menu (#3327) --- .../mozilla/fenix/browser/BrowserFragment.kt | 3 +- .../browser/FenixContextMenuCandidate.kt | 44 +++++++++++++++++++ 2 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 app/src/main/java/org/mozilla/fenix/browser/FenixContextMenuCandidate.kt diff --git a/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt b/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt index ab862140c..cf55836e4 100644 --- a/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt @@ -37,7 +37,6 @@ import mozilla.appservices.places.BookmarkRoot import mozilla.components.browser.session.Session import mozilla.components.browser.session.SessionManager import mozilla.components.feature.app.links.AppLinksFeature -import mozilla.components.feature.contextmenu.ContextMenuCandidate import mozilla.components.feature.contextmenu.ContextMenuFeature import mozilla.components.feature.downloads.DownloadsFeature import mozilla.components.feature.intent.IntentProcessor @@ -206,7 +205,7 @@ class BrowserFragment : Fragment(), BackHandler, CoroutineScope { feature = ContextMenuFeature( requireFragmentManager(), sessionManager, - ContextMenuCandidate.defaultCandidates( + FenixContextMenuCandidate.defaultCandidates( requireContext(), requireComponents.useCases.tabsUseCases, 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 new file mode 100644 index 000000000..ee4e09131 --- /dev/null +++ b/app/src/main/java/org/mozilla/fenix/browser/FenixContextMenuCandidate.kt @@ -0,0 +1,44 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +package org.mozilla.fenix.browser + +import android.content.Context +import android.view.View +import mozilla.components.feature.contextmenu.ContextMenuCandidate +import mozilla.components.feature.contextmenu.DefaultSnackbarDelegate +import mozilla.components.feature.tabs.TabsUseCases + +class FenixContextMenuCandidate { + companion object { + /** + * Returns the default list of context menu candidates. + * + * We are removing open image in new tab temporarily see https://github.com/mozilla-mobile/fenix/issues/2312 + */ + fun defaultCandidates( + context: Context, + tabsUseCases: TabsUseCases, + snackBarParentView: View, + snackbarDelegate: ContextMenuCandidate.SnackbarDelegate = DefaultSnackbarDelegate() + ): List = listOf( + ContextMenuCandidate.createOpenInNewTabCandidate( + context, + tabsUseCases, + snackBarParentView, + snackbarDelegate + ), + ContextMenuCandidate.createOpenInPrivateTabCandidate( + context, + tabsUseCases, + snackBarParentView, + snackbarDelegate + ), + ContextMenuCandidate.createCopyLinkCandidate(context, snackBarParentView, snackbarDelegate), + ContextMenuCandidate.createShareLinkCandidate(context), + ContextMenuCandidate.createSaveImageCandidate(context), + ContextMenuCandidate.createCopyImageLocationCandidate(context, snackBarParentView, snackbarDelegate) + ) + } +}