[Android] Restore back stack when Activity is destroyed #161
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
A common problem with apps that are using this lib is that they lose their navigation stack after their ReactActivity is closed. Besides the inconvenience, one major problem of this behavior is that pushing
back
when reopening an app after the user has navigated away from the first screen causes a crash, since the app no longer knows which Fragment to go back to.The problem presents itself if the user has
Don't keep activities
turned on or the Activity is otherwise killed.This PR adds a feature to restore our navigation stack in those situations.
It works by tagging each Fragment we navigate to with the total size of the back stack. That way, when your
ScreenCoordinator
is instanced, we recreate the Fragment stack in the same order they were initially made. The result is that the app now has every Fragment in the Activity stack and can safely navigate back to them.