[fenix] Cancel pending findBookmarkJob if another is started

pull/600/head
ekager 5 years ago committed by Emily Kager
parent daea15328b
commit 30807f9d8b

@ -108,6 +108,7 @@ class BrowserFragment : Fragment(), BackHandler, CoroutineScope {
private val fullScreenFeature = ViewBoundFeatureWrapper<FullScreenFeature>() private val fullScreenFeature = ViewBoundFeatureWrapper<FullScreenFeature>()
private val thumbnailsFeature = ViewBoundFeatureWrapper<ThumbnailsFeature>() private val thumbnailsFeature = ViewBoundFeatureWrapper<ThumbnailsFeature>()
private val customTabsIntegration = ViewBoundFeatureWrapper<CustomTabsIntegration>() private val customTabsIntegration = ViewBoundFeatureWrapper<CustomTabsIntegration>()
private var findBookmarkJob: Job? = null
private lateinit var job: Job private lateinit var job: Job
var customTabSessionId: String? = null var customTabSessionId: String? = null
@ -742,7 +743,6 @@ class BrowserFragment : Fragment(), BackHandler, CoroutineScope {
override fun onUrlChanged(session: Session, url: String) { override fun onUrlChanged(session: Session, url: String) {
super.onUrlChanged(session, url) super.onUrlChanged(session, url)
updateBookmarkState(session) updateBookmarkState(session)
} }
} }
getSessionById()?.register(observer) getSessionById()?.register(observer)
@ -769,7 +769,8 @@ class BrowserFragment : Fragment(), BackHandler, CoroutineScope {
} }
private fun updateBookmarkState(session: Session) { private fun updateBookmarkState(session: Session) {
launch { if (findBookmarkJob?.isActive == true) findBookmarkJob?.cancel()
findBookmarkJob = launch {
val found = findBookmarkedURL(session) val found = findBookmarkedURL(session)
launch(Main) { launch(Main) {
getManagedEmitter<QuickActionChange>() getManagedEmitter<QuickActionChange>()

Loading…
Cancel
Save