diff --git a/app/src/androidTest/java/org/mozilla/fenix/ui/TopSitesTest.kt b/app/src/androidTest/java/org/mozilla/fenix/ui/TopSitesTest.kt index 6892c2cc1..12fef0855 100644 --- a/app/src/androidTest/java/org/mozilla/fenix/ui/TopSitesTest.kt +++ b/app/src/androidTest/java/org/mozilla/fenix/ui/TopSitesTest.kt @@ -20,6 +20,7 @@ import org.mozilla.fenix.helpers.RetryTestRule import org.mozilla.fenix.helpers.TestAssetHelper.getGenericAsset import org.mozilla.fenix.helpers.TestHelper.generateRandomString import org.mozilla.fenix.helpers.TestHelper.getStringResource +import org.mozilla.fenix.helpers.TestHelper.waitUntilSnackbarGone import org.mozilla.fenix.ui.robots.browserScreen import org.mozilla.fenix.ui.robots.homeScreen import org.mozilla.fenix.ui.robots.navigationToolbar @@ -228,6 +229,8 @@ class TopSitesTest { verifyExistingTopSitesTabs(defaultWebPage.title) }.openContextMenuOnTopSitesWithTitle(defaultWebPage.title) { }.deleteTopSiteFromHistory { + verifySnackBarText(getStringResource(R.string.snackbar_top_site_removed)) + waitUntilSnackbarGone() }.openThreeDotMenu { }.openHistory { verifyEmptyHistoryView() diff --git a/app/src/main/java/org/mozilla/fenix/home/topsites/TopSiteItemViewHolder.kt b/app/src/main/java/org/mozilla/fenix/home/topsites/TopSiteItemViewHolder.kt index 2176cd000..ad63ce4ca 100644 --- a/app/src/main/java/org/mozilla/fenix/home/topsites/TopSiteItemViewHolder.kt +++ b/app/src/main/java/org/mozilla/fenix/home/topsites/TopSiteItemViewHolder.kt @@ -31,6 +31,7 @@ import org.mozilla.fenix.GleanMetrics.Pings import org.mozilla.fenix.GleanMetrics.TopSites import org.mozilla.fenix.R import org.mozilla.fenix.components.AppStore +import org.mozilla.fenix.components.FenixSnackbar import org.mozilla.fenix.databinding.TopSiteItemBinding import org.mozilla.fenix.ext.bitmapForUrl import org.mozilla.fenix.ext.components @@ -67,9 +68,22 @@ class TopSiteItemViewHolder( is TopSiteItemMenu.Item.RenameTopSite -> interactor.onRenameTopSiteClicked( topSite, ) - is TopSiteItemMenu.Item.RemoveTopSite -> interactor.onRemoveTopSiteClicked( - topSite, - ) + is TopSiteItemMenu.Item.RemoveTopSite -> { + interactor.onRemoveTopSiteClicked(topSite) + FenixSnackbar.make( + view = it, + duration = FenixSnackbar.LENGTH_LONG, + isDisplayedWithBrowserToolbar = false, + ) + .setText(it.context.getString(R.string.snackbar_top_site_removed)) + .setAction(it.context.getString(R.string.snackbar_deleted_undo)) { + it.context.components.useCases.topSitesUseCase.addPinnedSites( + topSite.title.toString(), + topSite.url, + ) + } + .show() + } is TopSiteItemMenu.Item.Settings -> interactor.onSettingsClicked() is TopSiteItemMenu.Item.SponsorPrivacy -> interactor.onSponsorPrivacyClicked() }