Closed itzharDev closed 5 years ago
This is a consequence of not calling executePendingTransactions. Reproduce:
so B->C->B then we may not find the already added root fragment for B because the FragmentTransaction.add.commit might still not be executed.
I think we'll have to come up with something to handle all these possibilities without forcing the executePendingTransactions.
I think the fix above only seemingly solves the problem and adds an untracked root fragment (and possibly leaks it). Considering the example above it would end up with something like B->C->B'(when B also gets added to fragment manager and is being tracked in the mFragmentStacks B' is not tracked by the library).
Rather i suggest calling FragNavController.executePendingTransactions after each pop/add/replace/switchtab.
@itzharDev Hey, I don't want you to think that I'm ignoring you. Thanks for the PR. As @mateherber said above, this is an issue which we're aware of and looking to provide an overall fix/improvement to. You also had some unfortunate timing as the entire library was being ported over to Kotlin, so this PR became much more difficult. When we begin to fix the overall issue here, I will make sure to alert you and keep you involved. Thanks!
Tnx a lot. Mean while I fork your library and customize for my needs
On Wed, 7 Feb 2018, 21:31 Nic Capdevila, notifications@github.com wrote:
@itzharDev https://github.com/itzhardev Hey, I don't want you to think that I'm ignoring you. Thanks for the PR. As @mateherber https://github.com/mateherber said above, this is an issue which we're aware of and looking to provide an overall fix/improvement to. You also had some unfortunate timing as the entire library was being ported over to Kotlin, so this PR became much more difficult. When we begin to fix the overall issue here, I will make sure to alert you and keep you involved. Thanks!
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ncapdevi/FragNav/pull/118#issuecomment-363883705, or mute the thread https://github.com/notifications/unsubscribe-auth/AL53hvneoDG9LIhLPdD9jDfdv1nFFHokks5tSfoXgaJpZM4RgEK8 .
Hi @itzharDev As an update for this issue. I've created a PR which supposedly fix your use case: https://github.com/ncapdevi/FragNav/pull/137
Can you consistently reproduce your issue? Can you test it with the PR branch to see if it solved? It would be a great help.
Hello @mateherber
Im currently using v 2.4.0 and getting lot of crash on fabric, i need a hotfixes rather than pulling 3.0.0 Rc tag
, so do you think this is make sense to execute FragNavController.executePendingTransactions
after each pop/add/replace/switchtab like you say above while i'm still using v.2.4.0
? And after v3.0 released i'll remove my executedPendingTransaction
@rhonyabdullah yes I'd call executePendingTransactions after each method of above. Actually until v2.2 or 2.3 it had been the case.
Hopefully v3 will be released soon fixing issues.
One more @mateherber
Should i have to executePendingTransaction
after pushFragment ?
@rhonyabdullah Yeah I'd say have executePendingTransactions after pushFragment popFragment, clearStack, replaceFragment, switchTab, clearFragmentManager.
This can be closed as it should be fixed in 3.0.0
Thanks for the help!
…ragment'