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.
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.