mirror of
https://github.com/fork-maintainers/iceraven-browser
synced 2024-11-15 18:12:54 +00:00
[fenix] For https://github.com/mozilla-mobile/fenix/issues/6436: Adds snackbar for failed download (https://github.com/mozilla-mobile/fenix/pull/6648)
This commit is contained in:
parent
666cdd937f
commit
a00e212e4c
@ -271,7 +271,14 @@ abstract class BaseBrowserFragment : Fragment(), BackHandler, SessionManager.Obs
|
||||
context = context,
|
||||
didFail = downloadJobStatus == AbstractFetchDownloadService.DownloadJobStatus.FAILED,
|
||||
download = download,
|
||||
tryAgain = downloadFeature::tryAgain
|
||||
tryAgain = downloadFeature::tryAgain,
|
||||
onCannotOpenFile = {
|
||||
FenixSnackbar.make(view, Snackbar.LENGTH_SHORT)
|
||||
.setText(context.getString(R.string.mozac_feature_downloads_could_not_open_file))
|
||||
.setAnchorView(browserToolbarView.view)
|
||||
.show()
|
||||
}
|
||||
|
||||
)
|
||||
dialog.show()
|
||||
}
|
||||
|
@ -24,7 +24,8 @@ class DownloadNotificationBottomSheetDialog(
|
||||
context: Context,
|
||||
private val download: DownloadState,
|
||||
private val didFail: Boolean,
|
||||
private val tryAgain: (Long) -> Unit
|
||||
private val tryAgain: (Long) -> Unit,
|
||||
private val onCannotOpenFile: () -> Unit
|
||||
// We must pass in the BottomSheetDialog theme for the transparent window background to apply properly
|
||||
) : BottomSheetDialog(context, R.style.Theme_MaterialComponents_BottomSheetDialog) {
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
@ -64,11 +65,16 @@ class DownloadNotificationBottomSheetDialog(
|
||||
mozilla.components.feature.downloads.R.string.mozac_feature_downloads_button_open
|
||||
)
|
||||
setOnClickListener {
|
||||
AbstractFetchDownloadService.openFile(
|
||||
val fileWasOpened = AbstractFetchDownloadService.openFile(
|
||||
context = context,
|
||||
contentType = download.contentType,
|
||||
filePath = download.filePath
|
||||
)
|
||||
|
||||
if (!fileWasOpened) {
|
||||
onCannotOpenFile()
|
||||
}
|
||||
|
||||
context.metrics.track(Event.InAppNotificationDownloadOpen)
|
||||
dismiss()
|
||||
}
|
||||
@ -83,7 +89,6 @@ class DownloadNotificationBottomSheetDialog(
|
||||
|
||||
setOnShowListener {
|
||||
window?.apply {
|
||||
// setBackgroundDrawableResource(android.R.color.transparent)
|
||||
setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
|
||||
setLayout(
|
||||
ViewGroup.LayoutParams.MATCH_PARENT,
|
||||
|
Loading…
Reference in New Issue
Block a user