clairehurst pushed to branch tor-browser-148.0a1-16.0-2 at The Tor Project / Applications / Tor Browser Commits: ac3ffc44 by clairehurst at 2026-03-02T16:22:13-07:00 TB 44581 [android]: Cleanup new android compose tab-strip feature - - - - - 5 changed files: - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/menu/MenuDialogFragment.kt - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/menu/compose/CustomTabMenu.kt - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/menu/compose/MainMenu.kt - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/menu/compose/MenuNavigation.kt - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/menu/compose/MoreSettingsSubmenu.kt Changes: ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/menu/MenuDialogFragment.kt ===================================== @@ -118,6 +118,7 @@ import com.google.android.material.R as materialR import mozilla.components.browser.engine.gecko.GeckoEngineSession import android.util.Log +import org.mozilla.fenix.HomeActivity // EXPANDED_MIN_RATIO is used for BottomSheetBehavior.halfExpandedRatio(). // That value needs to be less than the PEEK_HEIGHT. @@ -321,7 +322,7 @@ class MenuDialogFragment : BottomSheetDialogFragment() { activity?.let { activity -> activity.lifecycleScope.launch { deleteBrowsingDataController.clearBrowsingDataOnQuit { - activity.finishAndRemoveTask() + (activity as HomeActivity).shutDown() } } } ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/menu/compose/CustomTabMenu.kt ===================================== @@ -222,20 +222,6 @@ internal fun CustomTabMenu( badgeBackgroundColor = badgeBackgroundColor, ) } - - if (shouldShowExtensionsMenu) { - ExtensionsMenuItem( - inCustomTab = true, - isPrivate = isPrivate, - isExtensionsProcessDisabled = isExtensionsProcessDisabled, - isExtensionsExpanded = isExtensionsExpanded, - isAllWebExtensionsDisabled = isAllWebExtensionsDisabled, - webExtensionMenuCount = webExtensionMenuCount, - extensionsMenuItemDescription = extensionsMenuDescription, - onExtensionsMenuClick = onExtensionsMenuClick, - extensionSubmenu = extensionSubmenu, - ) - } } if (!customTabMenuItems.isNullOrEmpty()) { ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/menu/compose/MainMenu.kt ===================================== @@ -243,33 +243,6 @@ fun MainMenu( } } - if (accessPoint == MenuAccessPoint.Home && showBanner) { - MenuBanner( - onDismiss = { - onBannerDismiss() - }, - onClick = { - onBannerClick() - }, - ) - } - - if (accessPoint == MenuAccessPoint.Home) { - MenuGroup { - ExtensionsMenuItem( - inCustomTab = false, - isPrivate = isPrivate, - isExtensionsProcessDisabled = isExtensionsProcessDisabled, - isExtensionsExpanded = isExtensionsExpanded, - isAllWebExtensionsDisabled = isAllWebExtensionsDisabled, - webExtensionMenuCount = webExtensionMenuCount, - extensionsMenuItemDescription = extensionsMenuItemDescription, - onExtensionsMenuClick = onExtensionsMenuClick, - extensionSubmenu = extensionSubmenu, - ) - } - } - if (accessPoint == MenuAccessPoint.Browser) { ToolsAndActionsMenuGroup( isBookmarked = isBookmarked, @@ -304,45 +277,24 @@ fun MainMenu( ) MenuGroup { - MozillaAccountMenuItem( - account = account, - accountState = accountState, - isPrivate = isPrivate, - onClick = onMozillaAccountButtonClick, - ) - MenuItem( label = stringResource(id = R.string.browser_menu_settings), beforeIconPainter = painterResource(id = iconsR.drawable.mozac_ic_settings_24), onClick = onSettingsButtonClick, ) - } - - if (showQuitMenu) { - QuitMenuGroup( - onQuitMenuClick = onQuitMenuClick, + MenuItem( + label = stringResource( + id = R.string.browser_menu_delete_browsing_data_on_quit, + stringResource(id = R.string.app_name), + ), + beforeIconPainter = painterResource(id = iconsR.drawable.mozac_ic_cross_circle_24), + state = MenuItemState.WARNING, + onClick = onQuitMenuClick, ) } } } -@Composable -private fun QuitMenuGroup( - onQuitMenuClick: () -> Unit, -) { - MenuGroup { - MenuItem( - label = stringResource( - id = R.string.browser_menu_delete_browsing_data_on_quit, - stringResource(id = R.string.app_name), - ), - beforeIconPainter = painterResource(id = iconsR.drawable.mozac_ic_cross_circle_fill_24), - state = MenuItemState.WARNING, - onClick = onQuitMenuClick, - ) - } -} - @Suppress("LongParameterList", "LongMethod", "CognitiveComplexMethod") @Composable private fun ToolsAndActionsMenuGroup( @@ -435,21 +387,9 @@ private fun ToolsAndActionsMenuGroup( ) } - ExtensionsMenuItem( - inCustomTab = false, - isPrivate = isPrivate, - isExtensionsProcessDisabled = isExtensionsProcessDisabled, - isExtensionsExpanded = isExtensionsExpanded, - isAllWebExtensionsDisabled = isAllWebExtensionsDisabled, - webExtensionMenuCount = webExtensionMenuCount, - extensionsMenuItemDescription = extensionsMenuItemDescription, - onExtensionsMenuClick = onExtensionsMenuClick, - extensionSubmenu = extensionSubmenu, - ) - if (!moreMenuExpanded) { MoreMenuButtonGroup( - isMoreMenuHighlighted = isMoreMenuHighlighted, + isMoreMenuHighlighted = false, // This prevents a dot from incorrectly showing e.g. "open in app" is available, even though we disable it. onMoreMenuClick = onMoreMenuClick, ) } @@ -530,33 +470,20 @@ private fun LibraryMenuGroup( .semantics { this.collectionInfo = CollectionInfo( rowCount = 1, - columnCount = 4, + columnCount = 2, ) }, horizontalArrangement = Arrangement.SpaceEvenly, verticalAlignment = Alignment.CenterVertically, ) { - LibraryMenuItem( - modifier = Modifier - .weight(1f) - .fillMaxHeight(), - iconRes = iconsR.drawable.mozac_ic_history_24, - labelRes = R.string.library_history, - shape = leftShape, - index = 0, - onClick = onHistoryMenuClick, - ) - - Spacer(Modifier.width(spacerWidth)) - LibraryMenuItem( modifier = Modifier .weight(1f) .fillMaxHeight(), iconRes = iconsR.drawable.mozac_ic_bookmark_tray_fill_24, labelRes = R.string.library_bookmarks, - shape = middleShape, - index = 1, + shape = leftShape, + index = 0, onClick = onBookmarksMenuClick, ) @@ -569,22 +496,9 @@ private fun LibraryMenuGroup( isHighlighted = isDownloadHighlighted, iconRes = iconsR.drawable.mozac_ic_download_24, labelRes = R.string.library_downloads, - shape = middleShape, - index = 2, - onClick = onDownloadsMenuClick, - ) - - Spacer(Modifier.width(spacerWidth)) - - LibraryMenuItem( - modifier = Modifier - .weight(1f) - .fillMaxHeight(), - iconRes = iconsR.drawable.mozac_ic_login_24, - labelRes = R.string.browser_menu_passwords, shape = rightShape, - index = 3, - onClick = onPasswordsMenuClick, + index = 1, + onClick = onDownloadsMenuClick, ) } } ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/menu/compose/MenuNavigation.kt ===================================== @@ -95,14 +95,6 @@ internal fun MenuNavigation( onLongClick = { onForwardButtonClick(true) }, ) - MenuNavItem( - modifier = Modifier.weight(1f), - state = state, - painter = painterResource(id = iconsR.drawable.mozac_ic_share_android_24), - label = stringResource(id = R.string.browser_menu_share), - onClick = onShareButtonClick, - ) - if (isSiteLoading) { MenuNavItem( modifier = Modifier.weight(1f), ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/menu/compose/MoreSettingsSubmenu.kt ===================================== @@ -49,67 +49,6 @@ internal fun MoreSettingsSubmenu( Column( verticalArrangement = Arrangement.spacedBy(2.dp), ) { - if (translationInfo.isTranslationSupported) { - TranslationMenuItem( - translationInfo = translationInfo, - isReaderViewActive = isReaderViewActive, - ) - } - - if (isWebCompatReporterSupported) { - MenuItem( - label = stringResource(id = R.string.browser_menu_webcompat_reporter_2), - beforeIconPainter = painterResource(id = iconsR.drawable.mozac_ic_lightbulb_24), - state = if (isWebCompatEnabled) MenuItemState.ENABLED else MenuItemState.DISABLED, - onClick = onWebCompatReporterClick, - ) - } - - if (showShortcuts) { - ShortcutsMenuItem( - isPinned = isPinned, - onShortcutsMenuClick = onShortcutsMenuClick, - ) - } - - if (isAddToHomeScreenSupported) { - MenuItem( - label = if (isInstallable) { - stringResource(id = R.string.browser_menu_add_app_to_homescreen) - } else { - stringResource(id = R.string.browser_menu_add_to_homescreen) - }, - beforeIconPainter = painterResource(id = iconsR.drawable.mozac_ic_add_to_homescreen_24), - onClick = onAddToHomeScreenMenuClick, - ) - } - - MenuItem( - label = stringResource(id = R.string.browser_menu_save_to_collection_2), - beforeIconPainter = painterResource(id = iconsR.drawable.mozac_ic_collection_24), - onClick = onSaveToCollectionMenuClick, - ) - - if (hasExternalApp) { - MenuItem( - label = if (externalAppName != "") { - stringResource(id = R.string.browser_menu_open_in_fenix, externalAppName) - } else { - stringResource(id = R.string.browser_menu_open_app_link) - }, - beforeIconPainter = painterResource(id = iconsR.drawable.mozac_ic_more_grid_24), - isBeforeIconHighlighted = isOpenInAppMenuHighlighted, - state = MenuItemState.ENABLED, - onClick = onOpenInAppMenuClick, - ) - } else { - MenuItem( - label = stringResource(id = R.string.browser_menu_open_app_link), - beforeIconPainter = painterResource(id = iconsR.drawable.mozac_ic_more_grid_24), - state = MenuItemState.DISABLED, - ) - } - MenuItem( label = stringResource(id = R.string.browser_menu_save_as_pdf_2), beforeIconPainter = painterResource(id = iconsR.drawable.mozac_ic_save_file_24), View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/ac3ffc44... -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/ac3ffc44... You're receiving this email because of your account on gitlab.torproject.org.