From b8fba63be4f9bd3a9536e8b04f96711785408af8 Mon Sep 17 00:00:00 2001 From: ekager Date: Mon, 13 Apr 2020 12:16:01 -0700 Subject: [PATCH] For #9890 - Do not display full screen snackbar with toolbar padding --- .../org/mozilla/fenix/addons/Extensions.kt | 2 +- .../fenix/browser/BaseBrowserFragment.kt | 12 +++---- .../mozilla/fenix/browser/BrowserFragment.kt | 2 +- .../fenix/browser/FenixSnackbarDelegate.kt | 4 +-- .../mozilla/fenix/components/FenixSnackbar.kt | 4 +-- .../toolbar/BrowserToolbarController.kt | 4 +-- .../components/toolbar/BrowserToolbarView.kt | 2 +- .../customtabs/ExternalAppBrowserFragment.kt | 2 +- .../org/mozilla/fenix/home/HomeFragment.kt | 8 ++--- .../OnboardingAutomaticSignInViewHolder.kt | 2 +- .../library/bookmarks/BookmarkFragment.kt | 2 +- .../bookmarks/edit/EditBookmarkFragment.kt | 2 +- .../fenix/library/history/HistoryFragment.kt | 2 +- .../account/AccountSettingsFragment.kt | 2 +- .../settings/account/TurnOnSyncFragment.kt | 4 +-- .../DeleteBrowsingDataFragment.kt | 2 +- .../logins/SavedLoginSiteInfoFragment.kt | 2 +- .../search/AddSearchEngineFragment.kt | 2 +- .../search/EditCustomSearchEngineFragment.kt | 2 +- .../org/mozilla/fenix/share/ShareFragment.kt | 2 +- .../mozilla/fenix/utils/ItsNotBrokenSnack.kt | 36 ------------------- .../main/java/org/mozilla/fenix/utils/Undo.kt | 2 +- 22 files changed, 33 insertions(+), 69 deletions(-) delete mode 100644 app/src/main/java/org/mozilla/fenix/utils/ItsNotBrokenSnack.kt diff --git a/app/src/main/java/org/mozilla/fenix/addons/Extensions.kt b/app/src/main/java/org/mozilla/fenix/addons/Extensions.kt index c6526736f..4e0199933 100644 --- a/app/src/main/java/org/mozilla/fenix/addons/Extensions.kt +++ b/app/src/main/java/org/mozilla/fenix/addons/Extensions.kt @@ -29,7 +29,7 @@ internal fun showSnackBar(view: View, text: String) { FenixSnackbar.make( view = view, duration = FenixSnackbar.LENGTH_SHORT, - isDisplayedOnBrowserFragment = true + isDisplayedWithBrowserToolbar = true ) .setText(text) .show() diff --git a/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt b/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt index 23efff4ff..67ce80675 100644 --- a/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt @@ -313,7 +313,7 @@ abstract class BaseBrowserFragment : Fragment(), UserInteractionHandler, Session FenixSnackbar.make( view = view, duration = Snackbar.LENGTH_SHORT, - isDisplayedOnBrowserFragment = true + isDisplayedWithBrowserToolbar = true ) .setText(context.getString(R.string.mozac_feature_downloads_could_not_open_file)) .show() @@ -785,7 +785,7 @@ abstract class BaseBrowserFragment : Fragment(), UserInteractionHandler, Session FenixSnackbar.make( view = view, duration = FenixSnackbar.LENGTH_LONG, - isDisplayedOnBrowserFragment = true + isDisplayedWithBrowserToolbar = true ) .setText(getString(R.string.bookmark_saved_snackbar)) .setAction(getString(R.string.edit_bookmark_snackbar_action)) { @@ -837,10 +837,10 @@ abstract class BaseBrowserFragment : Fragment(), UserInteractionHandler, Session private fun fullScreenChanged(inFullScreen: Boolean) { if (inFullScreen) { FenixSnackbar.make( - view = view!!, - duration = Snackbar.LENGTH_SHORT, - isDisplayedOnBrowserFragment = true - ) + view = view!!, + duration = Snackbar.LENGTH_SHORT, + isDisplayedWithBrowserToolbar = false + ) .setText(getString(R.string.full_screen_notification)) .show() activity?.enterToImmersiveMode() diff --git a/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt b/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt index 6493c4d1b..b6ac7a924 100644 --- a/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt @@ -216,7 +216,7 @@ class BrowserFragment : BaseBrowserFragment(), UserInteractionHandler { FenixSnackbar.make( view = view, duration = Snackbar.LENGTH_SHORT, - isDisplayedOnBrowserFragment = true + isDisplayedWithBrowserToolbar = true ) .setText(view.context.getString(R.string.create_collection_tab_saved)) .show() diff --git a/app/src/main/java/org/mozilla/fenix/browser/FenixSnackbarDelegate.kt b/app/src/main/java/org/mozilla/fenix/browser/FenixSnackbarDelegate.kt index 13ad5d28d..2547fd871 100644 --- a/app/src/main/java/org/mozilla/fenix/browser/FenixSnackbarDelegate.kt +++ b/app/src/main/java/org/mozilla/fenix/browser/FenixSnackbarDelegate.kt @@ -22,7 +22,7 @@ class FenixSnackbarDelegate(val view: View) : FenixSnackbar.make( view = view, duration = FenixSnackbar.LENGTH_SHORT, - isDisplayedOnBrowserFragment = true + isDisplayedWithBrowserToolbar = true ) .setText(view.context.getString(text)) .setAction(view.context.getString(action)) { listener.invoke(view) } @@ -30,7 +30,7 @@ class FenixSnackbarDelegate(val view: View) : } else { FenixSnackbar.make(view, duration = FenixSnackbar.LENGTH_SHORT, - isDisplayedOnBrowserFragment = true + isDisplayedWithBrowserToolbar = true ) .setText(view.context.getString(text)) .show() diff --git a/app/src/main/java/org/mozilla/fenix/components/FenixSnackbar.kt b/app/src/main/java/org/mozilla/fenix/components/FenixSnackbar.kt index c42d542f3..c7818ecb1 100644 --- a/app/src/main/java/org/mozilla/fenix/components/FenixSnackbar.kt +++ b/app/src/main/java/org/mozilla/fenix/components/FenixSnackbar.kt @@ -100,7 +100,7 @@ class FenixSnackbar private constructor( view: View, duration: Int = LENGTH_LONG, isError: Boolean = false, - isDisplayedOnBrowserFragment: Boolean + isDisplayedWithBrowserToolbar: Boolean ): FenixSnackbar { val parent = findSuitableParent(view) ?: run { throw IllegalArgumentException( @@ -130,7 +130,7 @@ class FenixSnackbar private constructor( 0, 0, if ( - isDisplayedOnBrowserFragment && + isDisplayedWithBrowserToolbar && shouldUseBottomToolbar && // If the view passed in is a ContentFrameLayout, it does not matter // if the user has a dynamicBottomToolbar or not, as the Android system diff --git a/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarController.kt b/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarController.kt index 920571b57..bc0cc121a 100644 --- a/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarController.kt +++ b/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarController.kt @@ -170,7 +170,7 @@ class DefaultBrowserToolbarController( FenixSnackbar.make( view = swipeRefresh, duration = Snackbar.LENGTH_SHORT, - isDisplayedOnBrowserFragment = true + isDisplayedWithBrowserToolbar = true ) .setText( swipeRefresh.context.getString(R.string.snackbar_added_to_top_sites) @@ -266,7 +266,7 @@ class DefaultBrowserToolbarController( FenixSnackbar.make( view = v, duration = Snackbar.LENGTH_LONG, - isDisplayedOnBrowserFragment = true + isDisplayedWithBrowserToolbar = true ) .setText(v.context.getString(R.string.deleting_browsing_data_in_progress)) } diff --git a/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarView.kt b/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarView.kt index 577639cdf..a9e57b4b2 100644 --- a/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarView.kt +++ b/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarView.kt @@ -111,7 +111,7 @@ class BrowserToolbarView( FenixSnackbar.make( view = view, duration = Snackbar.LENGTH_SHORT, - isDisplayedOnBrowserFragment = true + isDisplayedWithBrowserToolbar = true ) .setText(view.context.getString(R.string.browser_toolbar_url_copied_to_clipboard_snackbar)) .show() diff --git a/app/src/main/java/org/mozilla/fenix/customtabs/ExternalAppBrowserFragment.kt b/app/src/main/java/org/mozilla/fenix/customtabs/ExternalAppBrowserFragment.kt index 2b2971807..b6bc5b364 100644 --- a/app/src/main/java/org/mozilla/fenix/customtabs/ExternalAppBrowserFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/customtabs/ExternalAppBrowserFragment.kt @@ -89,7 +89,7 @@ class ExternalAppBrowserFragment : BaseBrowserFragment(), UserInteractionHandler FenixSnackbar.make( view = view.swipeRefresh, duration = FenixSnackbar.LENGTH_LONG, - isDisplayedOnBrowserFragment = true + isDisplayedWithBrowserToolbar = true ).apply { setText(resources.getString(R.string.unknown_scheme_error_message)) setAppropriateBackground(true) 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 c27e7dd8b..e315b94a7 100644 --- a/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt @@ -388,7 +388,7 @@ class HomeFragment : Fragment() { view?.let { FenixSnackbar.make(view = it, duration = Snackbar.LENGTH_SHORT, - isDisplayedOnBrowserFragment = false + isDisplayedWithBrowserToolbar = false ) .setText(it.context.getString(R.string.onboarding_firefox_account_sync_is_on)) .setAnchorView(toolbarLayout) @@ -663,7 +663,7 @@ class HomeFragment : Fragment() { lifecycleScope, view?.let { view -> FenixSnackbar.make( view = view, - isDisplayedOnBrowserFragment = false + isDisplayedWithBrowserToolbar = false ) } ) @@ -894,7 +894,7 @@ class HomeFragment : Fragment() { } FenixSnackbar.make(view = view, duration = Snackbar.LENGTH_LONG, - isDisplayedOnBrowserFragment = false + isDisplayedWithBrowserToolbar = false ) .setText(view.context.getString(stringRes)) .setAnchorView(snackbarAnchorView) @@ -909,7 +909,7 @@ class HomeFragment : Fragment() { FenixSnackbar.make( view = view, duration = Snackbar.LENGTH_LONG, - isDisplayedOnBrowserFragment = false + isDisplayedWithBrowserToolbar = false ) .setText(string) .setAnchorView(snackbarAnchorView) diff --git a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingAutomaticSignInViewHolder.kt b/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingAutomaticSignInViewHolder.kt index 1af8f8482..4fba626c0 100644 --- a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingAutomaticSignInViewHolder.kt +++ b/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingAutomaticSignInViewHolder.kt @@ -42,7 +42,7 @@ class OnboardingAutomaticSignInViewHolder(private val view: View) : RecyclerView FenixSnackbar.make( view = it, duration = Snackbar.LENGTH_SHORT, - isDisplayedOnBrowserFragment = false + isDisplayedWithBrowserToolbar = false ).setText( it.context.getString(R.string.onboarding_firefox_account_automatic_signin_failed) ).show() diff --git a/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkFragment.kt b/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkFragment.kt index c8d8d1112..7075a1951 100644 --- a/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkFragment.kt @@ -91,7 +91,7 @@ class BookmarkFragment : LibraryPageFragment(), UserInteractionHan snackbar = FenixSnackbar.make( view = view, duration = FenixSnackbar.LENGTH_LONG, - isDisplayedOnBrowserFragment = false + isDisplayedWithBrowserToolbar = false ), deleteBookmarkNodes = ::deleteMulti, invokePendingDeletion = ::invokePendingDeletion diff --git a/app/src/main/java/org/mozilla/fenix/library/bookmarks/edit/EditBookmarkFragment.kt b/app/src/main/java/org/mozilla/fenix/library/bookmarks/edit/EditBookmarkFragment.kt index bc35cd4d6..2e688d458 100644 --- a/app/src/main/java/org/mozilla/fenix/library/bookmarks/edit/EditBookmarkFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/library/bookmarks/edit/EditBookmarkFragment.kt @@ -166,7 +166,7 @@ class EditBookmarkFragment : Fragment(R.layout.fragment_edit_bookmark) { bookmarkNode?.let { bookmark -> FenixSnackbar.make( view = activity.getRootView()!!, - isDisplayedOnBrowserFragment = true + isDisplayedWithBrowserToolbar = true ) .setText( getString( diff --git a/app/src/main/java/org/mozilla/fenix/library/history/HistoryFragment.kt b/app/src/main/java/org/mozilla/fenix/library/history/HistoryFragment.kt index ff6e4f1fc..4c9ec5caa 100644 --- a/app/src/main/java/org/mozilla/fenix/library/history/HistoryFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/library/history/HistoryFragment.kt @@ -67,7 +67,7 @@ class HistoryFragment : LibraryPageFragment(), UserInteractionHandl FenixSnackbar.make( view = view, duration = FenixSnackbar.LENGTH_LONG, - isDisplayedOnBrowserFragment = false + isDisplayedWithBrowserToolbar = false ), activity?.getSystemService(CLIPBOARD_SERVICE) as ClipboardManager, ::openItem, diff --git a/app/src/main/java/org/mozilla/fenix/settings/account/AccountSettingsFragment.kt b/app/src/main/java/org/mozilla/fenix/settings/account/AccountSettingsFragment.kt index 8937247da..9237ffce0 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/account/AccountSettingsFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/account/AccountSettingsFragment.kt @@ -315,7 +315,7 @@ class AccountSettingsFragment : PreferenceFragmentCompat() { FenixSnackbar.make( view = view!!, duration = FenixSnackbar.LENGTH_LONG, - isDisplayedOnBrowserFragment = false + isDisplayedWithBrowserToolbar = false ) .setText(getString(R.string.empty_device_name_error)) .show() diff --git a/app/src/main/java/org/mozilla/fenix/settings/account/TurnOnSyncFragment.kt b/app/src/main/java/org/mozilla/fenix/settings/account/TurnOnSyncFragment.kt index 53ac6aae8..dd71e1f73 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/account/TurnOnSyncFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/account/TurnOnSyncFragment.kt @@ -84,7 +84,7 @@ class TurnOnSyncFragment : Fragment(), AccountObserver { FenixSnackbar.make( view = requireView(), duration = snackbarLength, - isDisplayedOnBrowserFragment = true + isDisplayedWithBrowserToolbar = true ) .setText(snackbarText) .show() @@ -92,7 +92,7 @@ class TurnOnSyncFragment : Fragment(), AccountObserver { FenixSnackbar.make( view = requireView(), duration = snackbarLength, - isDisplayedOnBrowserFragment = false + isDisplayedWithBrowserToolbar = false ) .setText(snackbarText) .show() diff --git a/app/src/main/java/org/mozilla/fenix/settings/deletebrowsingdata/DeleteBrowsingDataFragment.kt b/app/src/main/java/org/mozilla/fenix/settings/deletebrowsingdata/DeleteBrowsingDataFragment.kt index cb1ee41b0..6a5692b3a 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/deletebrowsingdata/DeleteBrowsingDataFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/deletebrowsingdata/DeleteBrowsingDataFragment.kt @@ -139,7 +139,7 @@ class DeleteBrowsingDataFragment : Fragment(R.layout.fragment_delete_browsing_da FenixSnackbar.make( view = requireView(), duration = FenixSnackbar.LENGTH_SHORT, - isDisplayedOnBrowserFragment = true + isDisplayedWithBrowserToolbar = true ) .setText(resources.getString(R.string.preferences_delete_browsing_data_snackbar)) .show() diff --git a/app/src/main/java/org/mozilla/fenix/settings/logins/SavedLoginSiteInfoFragment.kt b/app/src/main/java/org/mozilla/fenix/settings/logins/SavedLoginSiteInfoFragment.kt index 8ed41eace..b44106d06 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/logins/SavedLoginSiteInfoFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/logins/SavedLoginSiteInfoFragment.kt @@ -184,7 +184,7 @@ class SavedLoginSiteInfoFragment : Fragment(R.layout.fragment_saved_login_site_i FenixSnackbar.make( view = it, duration = Snackbar.LENGTH_SHORT, - isDisplayedOnBrowserFragment = false + isDisplayedWithBrowserToolbar = false ).setText(copiedItem).show() } } diff --git a/app/src/main/java/org/mozilla/fenix/settings/search/AddSearchEngineFragment.kt b/app/src/main/java/org/mozilla/fenix/settings/search/AddSearchEngineFragment.kt index ff567beca..9a207a783 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/search/AddSearchEngineFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/search/AddSearchEngineFragment.kt @@ -210,7 +210,7 @@ class AddSearchEngineFragment : Fragment(), CompoundButton.OnCheckedChangeListen view?.also { FenixSnackbar.make(view = it, duration = FenixSnackbar.LENGTH_SHORT, - isDisplayedOnBrowserFragment = false + isDisplayedWithBrowserToolbar = false ) .setText(successMessage) .show() diff --git a/app/src/main/java/org/mozilla/fenix/settings/search/EditCustomSearchEngineFragment.kt b/app/src/main/java/org/mozilla/fenix/settings/search/EditCustomSearchEngineFragment.kt index 7330f7c14..97a5c22b9 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/search/EditCustomSearchEngineFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/search/EditCustomSearchEngineFragment.kt @@ -157,7 +157,7 @@ class EditCustomSearchEngineFragment : Fragment(R.layout.fragment_add_search_eng FenixSnackbar.make( view = it, duration = FenixSnackbar.LENGTH_SHORT, - isDisplayedOnBrowserFragment = false + isDisplayedWithBrowserToolbar = false ) .setText(successMessage) .show() diff --git a/app/src/main/java/org/mozilla/fenix/share/ShareFragment.kt b/app/src/main/java/org/mozilla/fenix/share/ShareFragment.kt index 75946ce79..8694e25e9 100644 --- a/app/src/main/java/org/mozilla/fenix/share/ShareFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/share/ShareFragment.kt @@ -74,7 +74,7 @@ class ShareFragment : AppCompatDialogFragment() { shareData = shareData, snackbar = FenixSnackbar.make( view = requireActivity().getRootView()!!, - isDisplayedOnBrowserFragment = true + isDisplayedWithBrowserToolbar = true ), navController = findNavController(), sendTabUseCases = SendTabUseCases(accountManager), diff --git a/app/src/main/java/org/mozilla/fenix/utils/ItsNotBrokenSnack.kt b/app/src/main/java/org/mozilla/fenix/utils/ItsNotBrokenSnack.kt deleted file mode 100644 index b5faad455..000000000 --- a/app/src/main/java/org/mozilla/fenix/utils/ItsNotBrokenSnack.kt +++ /dev/null @@ -1,36 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -package org.mozilla.fenix.utils - -import android.content.Context -import org.mozilla.fenix.components.FenixSnackbar -import org.mozilla.fenix.ext.components -import org.mozilla.fenix.ext.getRootView - -class ItsNotBrokenSnack(val context: Context) { - fun showSnackbar(issueNumber: String) { - val rootView = - context.getRootView() - - rootView?.let { - FenixSnackbar.make( - view = it, - duration = FenixSnackbar.LENGTH_SHORT, - isDisplayedOnBrowserFragment = false - ) - .setText(message.replace("%", issueNumber)) - .setAction("Add Tab to Issue") { - context.components.useCases.tabsUseCases.addTab - .invoke(issues + issueNumber) - } - .show() - } - } - - companion object { - const val issues = "https://github.com/mozilla-mobile/fenix/issues/" - const val message = "Feature is not implemented, Issue #%" - } -} diff --git a/app/src/main/java/org/mozilla/fenix/utils/Undo.kt b/app/src/main/java/org/mozilla/fenix/utils/Undo.kt index ae2852c2a..ca4ea117b 100644 --- a/app/src/main/java/org/mozilla/fenix/utils/Undo.kt +++ b/app/src/main/java/org/mozilla/fenix/utils/Undo.kt @@ -47,7 +47,7 @@ fun CoroutineScope.allowUndo( .make( view = view, duration = FenixSnackbar.LENGTH_INDEFINITE, - isDisplayedOnBrowserFragment = false + isDisplayedWithBrowserToolbar = false ) .setText(message) .setAnchorView(anchorView)