1
0
Fork 0

For #9890 - Do not display full screen snackbar with toolbar padding

master
ekager 2020-04-13 12:16:01 -07:00 committed by Emily Kager
parent ac3a557ddf
commit b8fba63be4
22 changed files with 33 additions and 69 deletions

View File

@ -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()

View File

@ -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()

View File

@ -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()

View File

@ -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()

View File

@ -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

View File

@ -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))
}

View File

@ -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()

View File

@ -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)

View File

@ -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)

View File

@ -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()

View File

@ -91,7 +91,7 @@ class BookmarkFragment : LibraryPageFragment<BookmarkNode>(), UserInteractionHan
snackbar = FenixSnackbar.make(
view = view,
duration = FenixSnackbar.LENGTH_LONG,
isDisplayedOnBrowserFragment = false
isDisplayedWithBrowserToolbar = false
),
deleteBookmarkNodes = ::deleteMulti,
invokePendingDeletion = ::invokePendingDeletion

View File

@ -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(

View File

@ -67,7 +67,7 @@ class HistoryFragment : LibraryPageFragment<HistoryItem>(), UserInteractionHandl
FenixSnackbar.make(
view = view,
duration = FenixSnackbar.LENGTH_LONG,
isDisplayedOnBrowserFragment = false
isDisplayedWithBrowserToolbar = false
),
activity?.getSystemService(CLIPBOARD_SERVICE) as ClipboardManager,
::openItem,

View File

@ -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()

View File

@ -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()

View File

@ -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()

View File

@ -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()
}
}

View File

@ -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()

View File

@ -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()

View File

@ -74,7 +74,7 @@ class ShareFragment : AppCompatDialogFragment() {
shareData = shareData,
snackbar = FenixSnackbar.make(
view = requireActivity().getRootView()!!,
isDisplayedOnBrowserFragment = true
isDisplayedWithBrowserToolbar = true
),
navController = findNavController(),
sendTabUseCases = SendTabUseCases(accountManager),

View File

@ -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 #%"
}
}

View File

@ -47,7 +47,7 @@ fun CoroutineScope.allowUndo(
.make(
view = view,
duration = FenixSnackbar.LENGTH_INDEFINITE,
isDisplayedOnBrowserFragment = false
isDisplayedWithBrowserToolbar = false
)
.setText(message)
.setAnchorView(anchorView)