bluelinelabs / bluelinelabs/Conductor
"Can not perform this action after onSaveInstanceState" on attachRouter
- Dominant language
- Java
- Stars
- 3.9k
- Forks
- 338
- PR merge metrics
- No merged PRs in 30d
Description
From a crash report in our production app:
```
android.app.FragmentManagerImpl.checkStateLoss (FragmentManager.java:1858)
android.app.FragmentManagerImpl.enqueueAction (FragmentManager.java:1881)
android.app.BackStackRecord.commitInternal (BackStackRecord.java:688)
android.app.BackStackRecord.commit (BackStackRecord.java:646)
com.bluelinelabs.conductor.internal.LifecycleHandler.install (LifecycleHandler.java:74)
com.bluelinelabs.conductor.Conductor.attachRouter (Conductor.java:36)
```
Conductor 2.1.5
Android 8.1.0
Device: WIKO W_K300
This seems to happen at app startup, from ```onCreate``` on that line
```
mActivityRouter = Conductor.attachRouter(this, mViewGroupContainer, poSavedInstanceState);
```
Contributor guide
Research direction
Start at Conductor.attachRouter and follow the reported stack into LifecycleHandler.install, then compare that path with the Activity.onCreate call shown in the report and its saved-instance-state argument. Reproduce the startup sequence if possible and determine the conditions that cause the FragmentManager state-loss exception; done means the reported attachRouter startup path no longer crashes, with the behavior verified on a relevant Android environment.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- mobile
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100