diff --git a/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt b/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt index e7549280a..28950df76 100644 --- a/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt @@ -93,6 +93,7 @@ import org.mozilla.fenix.mvi.getAutoDisposeObservable import org.mozilla.fenix.mvi.getManagedEmitter import org.mozilla.fenix.onboarding.FenixOnboarding import org.mozilla.fenix.settings.SupportUtils +import org.mozilla.fenix.settings.deletebrowsingdata.deleteAndQuit import org.mozilla.fenix.share.ShareTab import org.mozilla.fenix.utils.FragmentPreDrawManager import org.mozilla.fenix.utils.allowUndo @@ -677,6 +678,12 @@ class HomeFragment : Fragment() { from = BrowserDirection.FromHome ) } + HomeMenu.Item.Quit -> activity?.let { activity -> + deleteAndQuit( + activity, + lifecycleScope + ) + } } } } 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 98273709c..94e82c41a 100644 --- a/app/src/main/java/org/mozilla/fenix/home/HomeMenu.kt +++ b/app/src/main/java/org/mozilla/fenix/home/HomeMenu.kt @@ -11,6 +11,7 @@ import mozilla.components.browser.menu.item.BrowserMenuHighlightableItem import mozilla.components.browser.menu.item.BrowserMenuImageText import org.mozilla.fenix.R import org.mozilla.fenix.theme.ThemeManager +import org.mozilla.fenix.utils.Settings import org.mozilla.fenix.whatsnew.WhatsNew class HomeMenu( @@ -22,12 +23,13 @@ class HomeMenu( object Help : Item() object Settings : Item() object Library : Item() + object Quit : Item() } val menuBuilder by lazy { BrowserMenuBuilder(menuItems) } private val menuItems by lazy { - listOf( + val items = mutableListOf( BrowserMenuImageText( context.getString(R.string.browser_menu_settings), R.drawable.ic_settings, @@ -58,7 +60,10 @@ class HomeMenu( R.drawable.ic_whats_new, highlight = BrowserMenuHighlightableItem.Highlight( startImageResource = R.drawable.ic_whats_new_notification, - backgroundResource = ThemeManager.resolveAttribute(R.attr.selectableItemBackground, context), + backgroundResource = ThemeManager.resolveAttribute( + R.attr.selectableItemBackground, + context + ), colorResource = R.color.whats_new_notification_color ), isHighlighted = { WhatsNew.shouldHighlightWhatsNew(context) } @@ -66,5 +71,19 @@ class HomeMenu( onItemTapped.invoke(Item.WhatsNew) } ) + + if (Settings.getInstance(context).shouldDeleteBrowsingDataOnQuit) { + items.add( + BrowserMenuImageText( + context.getString(R.string.delete_browsing_data_on_quit_action), + R.drawable.ic_exit, + ThemeManager.resolveAttribute(R.attr.primaryText, context) + ) { + onItemTapped.invoke(Item.Quit) + } + ) + } + + items } }