mirror of
https://github.com/libre-tube/LibreTube.git
synced 2025-04-29 08:20:32 +05:30
Fix duplicate entries in backstack
Set empty listener to `setOnItemReselectedListener` to prevent repeated click Check the backstack before navigating to a new destination using bottom navigation
This commit is contained in:
parent
8e13e563ab
commit
b45e6f8166
@ -105,6 +105,10 @@ class MainActivity : BaseActivity() {
|
||||
|
||||
binding.bottomNav.setOnApplyWindowInsetsListener(null)
|
||||
|
||||
// Prevent adding duplicate entries into backstack on multiple
|
||||
// click on bottom navigation item
|
||||
binding.bottomNav.setOnItemReselectedListener { }
|
||||
|
||||
binding.bottomNav.setOnItemSelectedListener {
|
||||
// clear backstack if it's the start fragment
|
||||
if (startFragmentId == it.itemId) navController.backQueue.clear()
|
||||
@ -115,8 +119,11 @@ class MainActivity : BaseActivity() {
|
||||
|
||||
removeSearchFocus()
|
||||
|
||||
// navigate to the selected fragment
|
||||
navController.navigate(it.itemId)
|
||||
// navigate to the selected fragment, if the fragment already
|
||||
// exists in backstack then pop up to that entry
|
||||
if (!navController.popBackStack(it.itemId, false)) {
|
||||
navController.navigate(it.itemId)
|
||||
}
|
||||
false
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user