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 cc8632a8f..85d3d1331 100644 --- a/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt @@ -257,7 +257,5 @@ class BrowserFragment : BaseBrowserFragment(), UserInteractionHandler { companion object { private const val SHARED_TRANSITION_MS = 200L private const val TAB_ITEM_TRANSITION_NAME = "tab_item" - const val REPORT_SITE_ISSUE_URL = - "https://webcompat.com/issues/new?url=%s&label=browser-fenix" } } diff --git a/app/src/main/java/org/mozilla/fenix/components/metrics/Metrics.kt b/app/src/main/java/org/mozilla/fenix/components/metrics/Metrics.kt index ff880f2e2..47040b186 100644 --- a/app/src/main/java/org/mozilla/fenix/components/metrics/Metrics.kt +++ b/app/src/main/java/org/mozilla/fenix/components/metrics/Metrics.kt @@ -420,7 +420,7 @@ sealed class Event { data class BrowserMenuItemTapped(val item: Item) : Event() { enum class Item { SETTINGS, HELP, DESKTOP_VIEW_ON, DESKTOP_VIEW_OFF, FIND_IN_PAGE, NEW_TAB, - NEW_PRIVATE_TAB, SHARE, REPORT_SITE_ISSUE, BACK, FORWARD, RELOAD, STOP, OPEN_IN_FENIX, + NEW_PRIVATE_TAB, SHARE, BACK, FORWARD, RELOAD, STOP, OPEN_IN_FENIX, SAVE_TO_COLLECTION, ADD_TO_TOP_SITES, ADD_TO_HOMESCREEN, QUIT, READER_MODE_ON, READER_MODE_OFF, OPEN_IN_APP, BOOKMARK, READER_MODE_APPEARANCE, ADDONS_MANAGER, BOOKMARKS, HISTORY, SYNC_TABS 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 6494e63c1..af5223904 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 @@ -20,7 +20,6 @@ import mozilla.appservices.places.BookmarkRoot import mozilla.components.browser.session.Session import mozilla.components.browser.session.SessionManager import mozilla.components.browser.state.selector.findTab -import mozilla.components.browser.state.selector.selectedTab import mozilla.components.concept.engine.EngineView import mozilla.components.concept.engine.prompt.ShareData import mozilla.components.support.ktx.kotlin.isUrl @@ -28,7 +27,6 @@ import org.mozilla.fenix.NavGraphDirections import org.mozilla.fenix.R import org.mozilla.fenix.browser.BrowserAnimator import org.mozilla.fenix.browser.BrowserAnimator.Companion.getToolbarNavOptions -import org.mozilla.fenix.browser.BrowserFragment import org.mozilla.fenix.browser.BrowserFragmentDirections import org.mozilla.fenix.browser.readermode.ReaderModeController import org.mozilla.fenix.collections.SaveCollectionStep @@ -215,15 +213,6 @@ class DefaultBrowserToolbarController( findInPageLauncher() activity.components.analytics.metrics.track(Event.FindInPageOpened) } - ToolbarMenu.Item.ReportIssue -> { - val selectedTab = activity.components.core.store.state.selectedTab - selectedTab?.let { - val currentUrl = it.content.url - val reportUrl = String.format(BrowserFragment.REPORT_SITE_ISSUE_URL, currentUrl) - val private = it.content.private - reportSiteIssue(reportUrl, private) - } - } ToolbarMenu.Item.AddonsManager -> { navController.nav( @@ -346,14 +335,6 @@ class DefaultBrowserToolbarController( } } - private fun reportSiteIssue(reportUrl: String, private: Boolean) { - if (private) { - activity.components.useCases.tabsUseCases.addPrivateTab.invoke(reportUrl) - } else { - activity.components.useCases.tabsUseCases.addTab.invoke(reportUrl) - } - } - @SuppressWarnings("ComplexMethod") private fun trackToolbarItemInteraction(item: ToolbarMenu.Item) { val eventItem = when (item) { @@ -370,7 +351,6 @@ class DefaultBrowserToolbarController( } ToolbarMenu.Item.FindInPage -> Event.BrowserMenuItemTapped.Item.FIND_IN_PAGE - ToolbarMenu.Item.ReportIssue -> Event.BrowserMenuItemTapped.Item.REPORT_SITE_ISSUE ToolbarMenu.Item.OpenInFenix -> Event.BrowserMenuItemTapped.Item.OPEN_IN_FENIX ToolbarMenu.Item.Share -> Event.BrowserMenuItemTapped.Item.SHARE ToolbarMenu.Item.SaveToCollection -> Event.BrowserMenuItemTapped.Item.SAVE_TO_COLLECTION diff --git a/app/src/main/java/org/mozilla/fenix/components/toolbar/DefaultToolbarMenu.kt b/app/src/main/java/org/mozilla/fenix/components/toolbar/DefaultToolbarMenu.kt index 2eed25039..e0f40e1a9 100644 --- a/app/src/main/java/org/mozilla/fenix/components/toolbar/DefaultToolbarMenu.kt +++ b/app/src/main/java/org/mozilla/fenix/components/toolbar/DefaultToolbarMenu.kt @@ -26,10 +26,8 @@ import mozilla.components.browser.state.store.BrowserStore import mozilla.components.concept.storage.BookmarksStorage import mozilla.components.support.ktx.android.content.getColorFromAttr import org.mozilla.fenix.R -import org.mozilla.fenix.Config import org.mozilla.fenix.FeatureFlags import org.mozilla.fenix.HomeActivity -import org.mozilla.fenix.ReleaseChannel import org.mozilla.fenix.browser.browsingmode.BrowsingMode import org.mozilla.fenix.ext.asActivity import org.mozilla.fenix.ext.components @@ -183,10 +181,6 @@ class DefaultToolbarMenu( ?.browsingModeManager?.mode == BrowsingMode.Normal val shouldDeleteDataOnQuit = Settings.getInstance(context) .shouldDeleteBrowsingDataOnQuit - val shouldShowWebcompatReporter = Config.channel !in setOf( - ReleaseChannel.FenixProduction, - ReleaseChannel.FennecProduction - ) val menuItems = listOfNotNull( historyItem, @@ -195,7 +189,6 @@ class DefaultToolbarMenu( settings, if (shouldDeleteDataOnQuit) deleteDataOnQuit else null, BrowserMenuDivider(), - if (shouldShowWebcompatReporter) reportIssue else null, findInPage, addToTopSites, addToHomescreen.apply { visible = ::canAddToHomescreen }, @@ -292,14 +285,6 @@ class DefaultToolbarMenu( onItemTapped.invoke(ToolbarMenu.Item.FindInPage) } - private val reportIssue = BrowserMenuImageText( - label = context.getString(R.string.browser_menu_report_issue), - imageResource = R.drawable.ic_report_issues, - iconTintColorResource = primaryTextColor() - ) { - onItemTapped.invoke(ToolbarMenu.Item.ReportIssue) - } - private val saveToCollection = BrowserMenuImageText( label = context.getString(R.string.browser_menu_save_to_collection_2), imageResource = R.drawable.ic_tab_collection, diff --git a/app/src/main/java/org/mozilla/fenix/components/toolbar/ToolbarMenu.kt b/app/src/main/java/org/mozilla/fenix/components/toolbar/ToolbarMenu.kt index 38a7a14d6..6a7e8ed5a 100644 --- a/app/src/main/java/org/mozilla/fenix/components/toolbar/ToolbarMenu.kt +++ b/app/src/main/java/org/mozilla/fenix/components/toolbar/ToolbarMenu.kt @@ -17,7 +17,6 @@ interface ToolbarMenu { object Forward : Item() object Reload : Item() object Stop : Item() - object ReportIssue : Item() object OpenInFenix : Item() object SaveToCollection : Item() object AddToTopSites : Item() diff --git a/app/src/main/java/org/mozilla/fenix/settings/quicksettings/QuickSettingsController.kt b/app/src/main/java/org/mozilla/fenix/settings/quicksettings/QuickSettingsController.kt index 35089dabe..0f3e8ae19 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/quicksettings/QuickSettingsController.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/quicksettings/QuickSettingsController.kt @@ -64,7 +64,6 @@ interface QuickSettingsController { * @param addNewTab [AddNewTabUseCase] callback allowing for loading a URL in a new tab. * @param requestRuntimePermissions [OnNeedToRequestPermissions] callback allowing for requesting * specific Android runtime permissions. - * @param reportSiteIssue callback allowing to report an issue with the current web page. * @param displayPermissions callback for when [WebsitePermissionsView] needs to be displayed. * @param dismiss callback allowing to request this entire Fragment to be dismissed. */ @@ -81,7 +80,6 @@ class DefaultQuickSettingsController( private val reload: ReloadUrlUseCase, private val addNewTab: AddNewTabUseCase, private val requestRuntimePermissions: OnNeedToRequestPermissions = { }, - private val reportSiteIssue: () -> Unit, private val displayPermissions: () -> Unit, private val dismiss: () -> Unit ) : QuickSettingsController { diff --git a/app/src/main/java/org/mozilla/fenix/settings/quicksettings/QuickSettingsSheetDialogFragment.kt b/app/src/main/java/org/mozilla/fenix/settings/quicksettings/QuickSettingsSheetDialogFragment.kt index 980d6fd48..8c70881e2 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/quicksettings/QuickSettingsSheetDialogFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/quicksettings/QuickSettingsSheetDialogFragment.kt @@ -87,7 +87,6 @@ class QuickSettingsSheetDialogFragment : AppCompatDialogFragment() { requestPermissions(permissions, REQUEST_CODE_QUICK_SETTINGS_PERMISSIONS) tryToRequestPermissions = true }, - reportSiteIssue = ::launchIntentReceiver, displayPermissions = ::showPermissionsView, dismiss = ::dismiss ) diff --git a/app/src/main/res/layout/quicksettings_tracking_protection.xml b/app/src/main/res/layout/quicksettings_tracking_protection.xml index 7c881ad43..e04f94ed8 100644 --- a/app/src/main/res/layout/quicksettings_tracking_protection.xml +++ b/app/src/main/res/layout/quicksettings_tracking_protection.xml @@ -34,17 +34,5 @@ android:textColor="?accentBright" android:visibility="gone" tools:visibility="visible" - app:layout_constraintBottom_toTopOf="@id/reportSiteIssueAction" /> - - diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index bf130120d..14f84db9f 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -105,8 +105,6 @@ New tab Save to collection - - Report site issue Share diff --git a/app/src/test/java/org/mozilla/fenix/components/toolbar/DefaultBrowserToolbarControllerTest.kt b/app/src/test/java/org/mozilla/fenix/components/toolbar/DefaultBrowserToolbarControllerTest.kt index b637c2a8c..c18200998 100644 --- a/app/src/test/java/org/mozilla/fenix/components/toolbar/DefaultBrowserToolbarControllerTest.kt +++ b/app/src/test/java/org/mozilla/fenix/components/toolbar/DefaultBrowserToolbarControllerTest.kt @@ -36,7 +36,6 @@ import mozilla.components.concept.engine.EngineView import mozilla.components.feature.search.SearchUseCases import mozilla.components.feature.session.SessionUseCases import mozilla.components.feature.tab.collections.TabCollection -import mozilla.components.feature.tabs.TabsUseCases import org.junit.After import org.junit.Assert.assertEquals import org.junit.Before @@ -45,7 +44,6 @@ import org.junit.runner.RunWith import org.mozilla.fenix.HomeActivity import org.mozilla.fenix.R import org.mozilla.fenix.browser.BrowserAnimator -import org.mozilla.fenix.browser.BrowserFragment import org.mozilla.fenix.browser.BrowserFragmentDirections import org.mozilla.fenix.browser.readermode.ReaderModeController import org.mozilla.fenix.collections.SaveCollectionStep @@ -422,84 +420,6 @@ class DefaultBrowserToolbarControllerTest { verify { metrics.track(Event.FindInPageOpened) } } - @Test - fun handleToolbarReportIssuePressInNormalMode() { - val tabsUseCases: TabsUseCases = mockk(relaxed = true) - val addTabUseCase: TabsUseCases.AddNewTabUseCase = mockk(relaxed = true) - - val browserStore = - BrowserStore( - BrowserState( - tabs = listOf( - createTab( - url = "https://mozilla.org", - private = false, - id = "tab1" - ) - ), - selectedTabId = "tab1" - ) - ) - - val item = ToolbarMenu.Item.ReportIssue - - every { activity.components.core.store } returns browserStore - every { activity.components.useCases.tabsUseCases } returns tabsUseCases - every { tabsUseCases.addTab } returns addTabUseCase - - controller.handleToolbarItemInteraction(item) - - verify { metrics.track(Event.BrowserMenuItemTapped(Event.BrowserMenuItemTapped.Item.REPORT_SITE_ISSUE)) } - verify { - // Hardcoded URL because this function modifies the URL with an apply - addTabUseCase.invoke( - String.format( - BrowserFragment.REPORT_SITE_ISSUE_URL, - "https://mozilla.org" - ) - ) - } - } - - @Test - fun handleToolbarReportIssuePressInPrivateMode() { - val tabsUseCases: TabsUseCases = mockk(relaxed = true) - val addPrivateTabUseCase: TabsUseCases.AddNewPrivateTabUseCase = mockk(relaxed = true) - - val browserStore = - BrowserStore( - BrowserState( - tabs = listOf( - createTab( - url = "https://mozilla.org", - private = true, - id = "tab1" - ) - ), - selectedTabId = "tab1" - ) - ) - - val item = ToolbarMenu.Item.ReportIssue - - every { activity.components.core.store } returns browserStore - every { activity.components.useCases.tabsUseCases } returns tabsUseCases - every { tabsUseCases.addPrivateTab } returns addPrivateTabUseCase - - controller.handleToolbarItemInteraction(item) - - verify { metrics.track(Event.BrowserMenuItemTapped(Event.BrowserMenuItemTapped.Item.REPORT_SITE_ISSUE)) } - verify { - // Hardcoded URL because this function modifies the URL with an apply - addPrivateTabUseCase.invoke( - String.format( - BrowserFragment.REPORT_SITE_ISSUE_URL, - "https://mozilla.org" - ) - ) - } - } - @Test fun handleToolbarSaveToCollectionPressWhenAtLeastOneCollectionExists() { val item = ToolbarMenu.Item.SaveToCollection diff --git a/app/src/test/java/org/mozilla/fenix/settings/quicksettings/DefaultQuickSettingsControllerTest.kt b/app/src/test/java/org/mozilla/fenix/settings/quicksettings/DefaultQuickSettingsControllerTest.kt index 8dd147dbd..e29848314 100644 --- a/app/src/test/java/org/mozilla/fenix/settings/quicksettings/DefaultQuickSettingsControllerTest.kt +++ b/app/src/test/java/org/mozilla/fenix/settings/quicksettings/DefaultQuickSettingsControllerTest.kt @@ -51,7 +51,6 @@ class DefaultQuickSettingsControllerTest { private val reload = mockk(relaxed = true) private val addNewTab = mockk(relaxed = true) private val requestPermissions = mockk<(Array) -> Unit>(relaxed = true) - private val reportIssue = mockk<() -> Unit>(relaxed = true) private val displayPermissions = mockk<() -> Unit>(relaxed = true) private val dismiss = mockk<() -> Unit>(relaxed = true) private val controller = DefaultQuickSettingsController( @@ -66,7 +65,6 @@ class DefaultQuickSettingsControllerTest { reload = reload, addNewTab = addNewTab, requestRuntimePermissions = requestPermissions, - reportSiteIssue = reportIssue, displayPermissions = displayPermissions, dismiss = dismiss ) @@ -147,7 +145,6 @@ class DefaultQuickSettingsControllerTest { reload = reload, addNewTab = addNewTab, requestRuntimePermissions = requestPermissions, - reportSiteIssue = reportIssue, displayPermissions = displayPermissions, dismiss = dismiss )