diff --git a/vector/src/main/java/im/vector/app/features/home/HomeDetailFragment.kt b/vector/src/main/java/im/vector/app/features/home/HomeDetailFragment.kt index d9c2aa6b11..f3a7224ed6 100644 --- a/vector/src/main/java/im/vector/app/features/home/HomeDetailFragment.kt +++ b/vector/src/main/java/im/vector/app/features/home/HomeDetailFragment.kt @@ -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 } diff --git a/vector/src/main/java/im/vector/app/features/home/NewHomeDetailFragment.kt b/vector/src/main/java/im/vector/app/features/home/NewHomeDetailFragment.kt index caee2102d8..d6b45f9afb 100644 --- a/vector/src/main/java/im/vector/app/features/home/NewHomeDetailFragment.kt +++ b/vector/src/main/java/im/vector/app/features/home/NewHomeDetailFragment.kt @@ -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()