|
|
|
@ -370,9 +370,33 @@ class BrowserFragment : Fragment(), BackHandler, CoroutineScope,
|
|
|
|
|
}
|
|
|
|
|
is QuickActionAction.BookmarkPressed -> {
|
|
|
|
|
requireComponents.analytics.metrics.track(Event.QuickActionSheetBookmarkTapped)
|
|
|
|
|
bookmarkTapped()
|
|
|
|
|
}
|
|
|
|
|
is QuickActionAction.ReadPressed -> {
|
|
|
|
|
requireComponents.analytics.metrics.track(Event.QuickActionSheetReadTapped)
|
|
|
|
|
ItsNotBrokenSnack(context!!).showSnackbar(issueNumber = "908")
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
assignSitePermissionsRules()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private fun bookmarkTapped() {
|
|
|
|
|
getSessionById()?.let { session ->
|
|
|
|
|
CoroutineScope(IO).launch {
|
|
|
|
|
val guid = requireComponents.core.bookmarksStorage
|
|
|
|
|
val components = requireComponents
|
|
|
|
|
val existing = components.core.bookmarksStorage.getBookmarksWithUrl(session.url)
|
|
|
|
|
val found = existing.isNotEmpty() && existing[0].url == session.url
|
|
|
|
|
if (found) {
|
|
|
|
|
launch(Main) {
|
|
|
|
|
Navigation.findNavController(requireActivity(), R.id.container)
|
|
|
|
|
.navigate(
|
|
|
|
|
BrowserFragmentDirections
|
|
|
|
|
.actionBrowserFragmentToBookmarkEditFragment(existing[0].guid)
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
val guid = components.core.bookmarksStorage
|
|
|
|
|
.addItem(
|
|
|
|
|
BookmarkRoot.Mobile.id,
|
|
|
|
|
session.url,
|
|
|
|
@ -407,13 +431,6 @@ class BrowserFragment : Fragment(), BackHandler, CoroutineScope,
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
is QuickActionAction.ReadPressed -> {
|
|
|
|
|
requireComponents.analytics.metrics.track(Event.QuickActionSheetReadTapped)
|
|
|
|
|
ItsNotBrokenSnack(context!!).showSnackbar(issueNumber = "908")
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
assignSitePermissionsRules()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
override fun onStop() {
|
|
|
|
|