diff --git a/app/src/main/java/org/mozilla/fenix/home/HomeMenu.kt b/app/src/main/java/org/mozilla/fenix/home/HomeMenu.kt index ac99de4d79bb..b8db3211f5ec 100644 --- a/app/src/main/java/org/mozilla/fenix/home/HomeMenu.kt +++ b/app/src/main/java/org/mozilla/fenix/home/HomeMenu.kt @@ -21,6 +21,7 @@ import mozilla.components.concept.sync.OAuthAccount import mozilla.components.support.ktx.android.content.getColorFromAttr import org.mozilla.fenix.R import org.mozilla.fenix.ext.components +import org.mozilla.fenix.ext.settings import org.mozilla.fenix.theme.ThemeManager import org.mozilla.fenix.utils.Settings import org.mozilla.fenix.whatsnew.WhatsNew @@ -50,6 +51,8 @@ class HomeMenu( private val menuCategoryTextColor = ThemeManager.resolveAttribute(R.attr.menuCategoryText, context) + private val shouldUseBottomToolbar = context.settings().shouldUseBottomToolbar + // 'Reconnect' and 'Quit' items aren't needed most of the time, so we'll only create the if necessary. private val reconnectToSyncItem by lazy { @@ -102,7 +105,8 @@ class HomeMenu( val historyItem = BrowserMenuImageText( context.getString(R.string.library_history), R.drawable.ic_history, - primaryTextColor) { + primaryTextColor + ) { onItemTapped.invoke(Item.History) } @@ -124,28 +128,49 @@ class HomeMenu( // Only query account manager if it has been initialized. // We don't want to cause its initialization just for this check. - val accountAuthItem = if (context.components.backgroundServices.accountManagerAvailableQueue.isReady()) { - if (context.components.backgroundServices.accountManager.accountNeedsReauth()) reconnectToSyncItem else null - } else { - null - } + val accountAuthItem = + if (context.components.backgroundServices.accountManagerAvailableQueue.isReady()) { + if (context.components.backgroundServices.accountManager.accountNeedsReauth()) reconnectToSyncItem else null + } else { + null + } - listOfNotNull( - accountAuthItem, - whatsNewItem, - BrowserMenuDivider(), - BrowserMenuCategory( - context.getString(R.string.browser_menu_library), - textColorResource = menuCategoryTextColor - ), - bookmarksItem, - historyItem, - BrowserMenuDivider(), - settingsItem, - helpItem, - if (Settings.getInstance(context).shouldDeleteBrowsingDataOnQuit) quitItem else null - ).also { items -> - items.getHighlight()?.let { onHighlightPresent(it) } + if (shouldUseBottomToolbar) { + listOfNotNull( + accountAuthItem, + whatsNewItem, + BrowserMenuDivider(), + BrowserMenuCategory( + context.getString(R.string.browser_menu_library), + textColorResource = menuCategoryTextColor + ), + bookmarksItem, + historyItem, + BrowserMenuDivider(), + settingsItem, + helpItem, + if (Settings.getInstance(context).shouldDeleteBrowsingDataOnQuit) quitItem else null + ).also { items -> + items.getHighlight()?.let { onHighlightPresent(it) } + } + } else { + listOfNotNull( + if (Settings.getInstance(context).shouldDeleteBrowsingDataOnQuit) quitItem else null, + helpItem, + settingsItem, + accountAuthItem, + BrowserMenuDivider(), + BrowserMenuCategory( + context.getString(R.string.browser_menu_library), + textColorResource = menuCategoryTextColor + ), + bookmarksItem, + historyItem, + BrowserMenuDivider(), + whatsNewItem + ).also { items -> + items.getHighlight()?.let { onHighlightPresent(it) } + } } }