Fixed
Status Update
Comments
da...@gmail.com <da...@gmail.com> #2
I have a same problem.
Internally, NavController#navigateUp() calls popBackStack().
And popBackStack() calls popBackStack(currentDestination.id, inclusive=true).
public boolean popBackStack() {
if (mBackStack.isEmpty()) {
// Nothing to pop if the back stack is empty
return false;
}
// Pop just the current destination off the stack
return popBackStack(getCurrentDestination().getId(), true); <--- this is cause.
}
So I think,
this problem can't be fixed without navigation cmpt. modification. :(
Internally, NavController#navigateUp() calls popBackStack().
And popBackStack() calls popBackStack(currentDestination.id, inclusive=true).
public boolean popBackStack() {
if (mBackStack.isEmpty()) {
// Nothing to pop if the back stack is empty
return false;
}
// Pop just the current destination off the stack
return popBackStack(getCurrentDestination().getId(), true); <--- this is cause.
}
So I think,
this problem can't be fixed without navigation cmpt. modification. :(
ra...@google.com <ra...@google.com>
ap...@google.com <ap...@google.com> #3
Component used: Navigation
Version used: 1.0.0-alpha09
But on alpha09 version, popBackStack() is implemented differently.
public boolean popBackStack() {
if (mBackStack.isEmpty()) {
throw new IllegalArgumentException("NavController back stack is empty");
}
boolean popped = false;
while (!mBackStack.isEmpty()) {
popped = mBackStack.removeLast().getNavigator().popBackStack(); <------ different
if (popped) {
break;
}
}
return popped;
}
Please restore to the upper codes. Or create a new option. :)
Version used: 1.0.0-alpha09
But on alpha09 version, popBackStack() is implemented differently.
public boolean popBackStack() {
if (mBackStack.isEmpty()) {
throw new IllegalArgumentException("NavController back stack is empty");
}
boolean popped = false;
while (!mBackStack.isEmpty()) {
popped = mBackStack.removeLast().getNavigator().popBackStack(); <------ different
if (popped) {
break;
}
}
return popped;
}
Please restore to the upper codes. Or create a new option. :)
Description
Version used: 2.1.0-beta01
```
If this is a bug in the library, we would appreciate if you could attach:
- Sample project to trigger the issue.
- A screenrecord or screenshots showing the issue (if UI related).