Fix some space back navigation crashes

Change-Id: I6d6058547688503a99fa7308a42e25652b00c01f
This commit is contained in:
SpiritCroc 2022-10-19 18:11:36 +02:00
parent f1ff7eb42c
commit af95abe15e
2 changed files with 13 additions and 5 deletions

View file

@ -946,8 +946,12 @@ class HomeDetailFragment :
}
override fun onBackPressed(toolbarButton: Boolean) = if (vectorPreferences.spaceBackNavigation() && spaceStateHandler.getCurrentSpace() != null) {
navigateBack()
true
try {
navigateBack()
true
} catch (e: NoSuchElementException) {
false
}
} else {
false
}

View file

@ -401,9 +401,13 @@ class NewHomeDetailFragment :
override fun onBackPressed(toolbarButton: Boolean) = if (spaceStateHandler.isRoot() || !vectorPreferences.spaceBackNavigation()) {
false
} else {
val lastSpace = spaceStateHandler.popSpaceBackstack()
spaceStateHandler.setCurrentSpace(lastSpace, isForwardNavigation = false)
true
try {
val lastSpace = spaceStateHandler.popSpaceBackstack()
spaceStateHandler.setCurrentSpace(lastSpace, isForwardNavigation = false)
true
} catch(e: NoSuchElementException) {
false
}
}
private fun SpaceStateHandler.isRoot() = getSpaceBackstack().isEmpty()