Unverified Commit 677d4310 authored by Matthew Finkel's avatar Matthew Finkel
Browse files

Bug 40005: Modify Default toolbar menu

parent 0ab0465c
Loading
Loading
Loading
Loading
+6 −21
Original line number Diff line number Diff line
@@ -9,7 +9,6 @@ import androidx.annotation.ColorRes
import androidx.annotation.DrawableRes
import mozilla.components.browser.menu.item.BackPressMenuItem
import mozilla.components.browser.menu.item.BrowserMenuDivider
import mozilla.components.browser.menu.item.BrowserMenuImageText
import mozilla.components.browser.menu.item.NO_ID
import mozilla.components.browser.menu.item.ParentBrowserMenuItem
import mozilla.components.browser.menu.item.WebExtensionPlaceholderMenuItem
@@ -71,20 +70,10 @@ class WebExtensionBrowserMenuBuilder(
                iconTintColorResource = style.webExtIconTintColorResource
            )

            val addonsManagerMenuItem = BrowserMenuImageText(
                label = context.getString(R.string.mozac_browser_menu_addons_manager),
                imageResource = style.addonsManagerMenuItemDrawableRes,
                iconTintColorResource = style.webExtIconTintColorResource
            ) {
                onAddonsManagerTapped.invoke()
            }

            val webExtSubMenuItems = if (appendExtensionSubMenuAtStart) {
                listOf(backPressMenuItem) + BrowserMenuDivider() +
                    filteredExtensionMenuItems +
                    BrowserMenuDivider() + addonsManagerMenuItem
                    filteredExtensionMenuItems
            } else {
                listOf(addonsManagerMenuItem) + BrowserMenuDivider() +
                    filteredExtensionMenuItems +
                    BrowserMenuDivider() + backPressMenuItem
            }
@@ -100,13 +89,7 @@ class WebExtensionBrowserMenuBuilder(
                endOfMenuAlwaysVisible = endOfMenuAlwaysVisible
            )
        } else {
            BrowserMenuImageText(
                label = context.getString(R.string.mozac_browser_menu_addons),
                imageResource = style.addonsManagerMenuItemDrawableRes,
                iconTintColorResource = style.webExtIconTintColorResource
            ) {
                onAddonsManagerTapped.invoke()
            }
            null
        }

        val mainMenuIndex = finalList.indexOfFirst { browserMenuItem ->
@@ -114,12 +97,14 @@ class WebExtensionBrowserMenuBuilder(
                WebExtensionPlaceholderMenuItem.MAIN_EXTENSIONS_MENU_ID
        }

        val menuItems = if (mainMenuIndex != -1) {
        val menuItems = if (mainMenuIndex != -1 && webExtMenuItem != null) {
            finalList[mainMenuIndex] = webExtMenuItem
            finalList
            // if we do not have a placeholder we should add the extension submenu at top or bottom
        } else {
            if (appendExtensionSubMenuAtStart) {
            if (webExtMenuItem == null) {
                finalList
            } else if (appendExtensionSubMenuAtStart) {
                listOf(webExtMenuItem) + finalList
            } else {
                finalList + webExtMenuItem