From 72596525abb54e3653b404627316bb69f35f97e7 Mon Sep 17 00:00:00 2001 From: Emily Kager Date: Thu, 18 Apr 2019 10:22:26 -0700 Subject: [PATCH] [fenix] For https://github.com/mozilla-mobile/fenix/issues/1751 - Add Delete Button to Private Toolbar --- .../components/toolbar/ToolbarIntegration.kt | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/app/src/main/java/org/mozilla/fenix/components/toolbar/ToolbarIntegration.kt b/app/src/main/java/org/mozilla/fenix/components/toolbar/ToolbarIntegration.kt index 998534b6b3..6c9c40b8b5 100644 --- a/app/src/main/java/org/mozilla/fenix/components/toolbar/ToolbarIntegration.kt +++ b/app/src/main/java/org/mozilla/fenix/components/toolbar/ToolbarIntegration.kt @@ -5,6 +5,8 @@ package org.mozilla.fenix.components.toolbar import android.content.Context +import android.graphics.PorterDuff +import androidx.core.content.ContextCompat import androidx.navigation.Navigation import mozilla.components.browser.domains.autocomplete.DomainAutocompleteProvider import mozilla.components.browser.session.SessionManager @@ -47,6 +49,30 @@ class ToolbarIntegration( return@run } + if (isPrivate) { + val deleteIcon = context.getDrawable(R.drawable.ic_delete) + deleteIcon?.setColorFilter( + ContextCompat.getColor( + context, + DefaultThemeManager.resolveAttribute(R.attr.primaryText, context) + ), PorterDuff.Mode.SRC_IN + ) + deleteIcon?.let { + val deleteSessions = BrowserToolbar.Button( + deleteIcon, + context.getString(R.string.private_browsing_delete_session), + listener = { + context.components.useCases.tabsUseCases.removeAllTabsOfType.invoke( + private = true + ) + Navigation.findNavController(toolbar) + .navigate(BrowserFragmentDirections.actionBrowserFragmentToHomeFragment()) + } + ) + toolbar.addNavigationAction(deleteSessions) + } + } + val tabsAction = TabCounterToolbarButton( sessionManager, {