For #10718 - Finish activity after removing external session
parent
28a6b1f9d5
commit
d46369696f
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue