1
0
Fork 0

For #10718 - Finish activity after removing external session

master
ekager 2020-05-18 15:02:50 -07:00 committed by Emily Kager
parent 28a6b1f9d5
commit d46369696f
1 changed files with 2 additions and 7 deletions

View File

@ -131,9 +131,6 @@ abstract class BaseBrowserFragment : Fragment(), UserInteractionHandler, Session
private var browserInitialized: Boolean = false private var browserInitialized: Boolean = false
private var initUIJob: Job? = null private var initUIJob: Job? = null
// We need this so we don't accidentally remove all external sessions on back press
private var sessionRemoved = false
private var enteredPip = false private var enteredPip = false
private val sharedViewModel: SharedViewModel by activityViewModels() private val sharedViewModel: SharedViewModel by activityViewModels()
@ -587,8 +584,7 @@ abstract class BaseBrowserFragment : Fragment(), UserInteractionHandler, Session
@CallSuper @CallSuper
override fun onBackPressed(): Boolean { override fun onBackPressed(): Boolean {
return sessionRemoved || return findInPageIntegration.onBackPressed() ||
findInPageIntegration.onBackPressed() ||
fullScreenFeature.onBackPressed() || fullScreenFeature.onBackPressed() ||
sessionFeature.onBackPressed() || sessionFeature.onBackPressed() ||
removeSessionIfNeeded() removeSessionIfNeeded()
@ -647,8 +643,7 @@ abstract class BaseBrowserFragment : Fragment(), UserInteractionHandler, Session
val sessionManager = requireComponents.core.sessionManager val sessionManager = requireComponents.core.sessionManager
if (session.source == Session.Source.ACTION_VIEW) { if (session.source == Session.Source.ACTION_VIEW) {
sessionManager.remove(session) sessionManager.remove(session)
sessionRemoved = true activity?.finish()
activity?.onBackPressed()
} else { } else {
val isLastSession = val isLastSession =
sessionManager.sessionsOfType(private = session.private).count() == 1 sessionManager.sessionsOfType(private = session.private).count() == 1