diff --git a/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarController.kt b/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarController.kt index f26d6fe01..474b0c7c2 100644 --- a/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarController.kt +++ b/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarController.kt @@ -57,7 +57,8 @@ class DefaultBrowserToolbarController( navController.nav( R.id.browserFragment, BrowserFragmentDirections.actionBrowserFragmentToSearchFragment( - sessionId = customTabSession?.id ?: context.components.core.sessionManager.selectedSession?.id + sessionId = customTabSession?.id ?: context.components.core.sessionManager.selectedSession?.id, + pastedText = text ) ) } diff --git a/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarView.kt b/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarView.kt index da73f560c..19a19464d 100644 --- a/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarView.kt +++ b/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarView.kt @@ -51,6 +51,8 @@ class BrowserToolbarView( val toolbarIntegration: ToolbarIntegration init { + val isCustomTabSession = customTabSession != null + view.setOnUrlLongClickListener { val clipboard = view.context.getSystemService(CLIPBOARD_SERVICE) as ClipboardManager val customView = LayoutInflater.from(view.context).inflate(R.layout.browser_toolbar_popup_window, null) @@ -62,8 +64,8 @@ class BrowserToolbarView( popupWindow.showAsDropDown(view, view.context.dimen(R.dimen.context_menu_x_offset), 0, Gravity.START) - customView.paste.isVisible = clipboard.containsText() - customView.paste_and_go.isVisible = clipboard.containsText() + customView.paste.isVisible = clipboard.containsText() && !isCustomTabSession + customView.paste_and_go.isVisible = clipboard.containsText() && !isCustomTabSession customView.copy.setOnClickListener { popupWindow.dismiss() @@ -85,7 +87,6 @@ class BrowserToolbarView( with(container.context) { val sessionManager = components.core.sessionManager - val isCustomTabSession = customTabSession != null view.apply { elevation = TOOLBAR_ELEVATION.dpToFloat(resources.displayMetrics) diff --git a/app/src/main/java/org/mozilla/fenix/customtabs/ExternalAppBrowserFragment.kt b/app/src/main/java/org/mozilla/fenix/customtabs/ExternalAppBrowserFragment.kt index 6b4eb4487..03d280562 100644 --- a/app/src/main/java/org/mozilla/fenix/customtabs/ExternalAppBrowserFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/customtabs/ExternalAppBrowserFragment.kt @@ -96,9 +96,4 @@ class ExternalAppBrowserFragment : BaseBrowserFragment(), BackHandler { } override fun getAppropriateLayoutGravity() = Gravity.TOP - - companion object { - private const val SHARED_TRANSITION_MS = 200L - private const val TAB_ITEM_TRANSITION_NAME = "tab_item" - } } diff --git a/app/src/test/java/org/mozilla/fenix/components/toolbar/BrowserInteractorTest.kt b/app/src/test/java/org/mozilla/fenix/components/toolbar/BrowserInteractorTest.kt index c25ff1c73..4eade5788 100644 --- a/app/src/test/java/org/mozilla/fenix/components/toolbar/BrowserInteractorTest.kt +++ b/app/src/test/java/org/mozilla/fenix/components/toolbar/BrowserInteractorTest.kt @@ -19,25 +19,32 @@ import org.mozilla.fenix.quickactionsheet.QuickActionSheetController class BrowserInteractorTest { - val metrics: MetricController = mockk() - val context: Context = mockk() - val browserStore: BrowserFragmentStore = mockk(relaxed = true) - val browserToolbarController: BrowserToolbarController = mockk(relaxed = true) - val quickActionSheetController: QuickActionSheetController = mockk(relaxed = true) - val readerModeController: ReaderModeController = mockk(relaxed = true) - val session: Session = mockk() - - val interactor = BrowserInteractor( - context, - browserStore, - browserToolbarController, - quickActionSheetController, - readerModeController, - session - ) + lateinit var metrics: MetricController + lateinit var context: Context + lateinit var browserStore: BrowserFragmentStore + lateinit var browserToolbarController: BrowserToolbarController + lateinit var quickActionSheetController: QuickActionSheetController + lateinit var readerModeController: ReaderModeController + lateinit var session: Session + lateinit var interactor: BrowserInteractor @Before fun setup() { + metrics = mockk() + context = mockk() + browserStore = mockk(relaxed = true) + browserToolbarController = mockk(relaxed = true) + quickActionSheetController = mockk(relaxed = true) + readerModeController = mockk(relaxed = true) + session = mockk() + interactor = BrowserInteractor( + context, + browserStore, + browserToolbarController, + quickActionSheetController, + readerModeController, + session + ) every { context.metrics } returns metrics every { context.components.core.sessionManager.selectedSession } returns session }