mosby-conductor: Conductor v2 (RC) NullPointerException

After using child Routers in my app I’m facing a strange behavior:

06-17 21:03:41.184 2717-2717/com.chaseapp.chaseapp E/AndroidRuntime: FATAL EXCEPTION: main
                                                                     Process: com.chaseapp.chaseapp, PID: 2717
                                                                     java.lang.RuntimeException: Unable to destroy activity {com.chaseapp.chaseapp/com.chaseapp.chaseapp.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.app.Activity.isChangingConfigurations()' on a null object reference
                                                                         at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3706)
                                                                         at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:3724)
                                                                         at android.app.ActivityThread.access$1400(ActivityThread.java:151)
                                                                         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1357)
                                                                         at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                         at android.os.Looper.loop(Looper.java:135)
                                                                         at android.app.ActivityThread.main(ActivityThread.java:5254)
                                                                         at java.lang.reflect.Method.invoke(Native Method)
                                                                         at java.lang.reflect.Method.invoke(Method.java:372)
                                                                         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
                                                                         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
                                                                      Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.app.Activity.isChangingConfigurations()' on a null object reference
                                                                         at com.hannesdorfmann.mosby.mvp.conductor.delegate.MvpConductorLifecycleListener.preDestroyView(MvpConductorLifecycleListener.java:74)
                                                                         at com.hannesdorfmann.mosby.conductor.viewstate.delegate.MvpViewStateConductorLifecycleListener.preDestroyView(MvpViewStateConductorLifecycleListener.java:44)
                                                                         at com.bluelinelabs.conductor.Controller.removeViewReference(Controller.java:811)
                                                                         at com.bluelinelabs.conductor.Controller.detach(Controller.java:800)
                                                                         at com.bluelinelabs.conductor.Controller.destroy(Controller.java:916)
                                                                         at com.bluelinelabs.conductor.Controller.activityDestroyed(Controller.java:750)
                                                                         at com.bluelinelabs.conductor.Router.onActivityDestroyed(Router.java:414)
                                                                         at com.bluelinelabs.conductor.ControllerHostedRouter.onActivityDestroyed(ControllerHostedRouter.java:68)
                                                                         at com.bluelinelabs.conductor.Router.onActivityDestroyed(Router.java:417)
                                                                         at com.bluelinelabs.conductor.ActivityHostedRouter.onActivityDestroyed(ActivityHostedRouter.java:40)
                                                                         at com.bluelinelabs.conductor.internal.LifecycleHandler.destroyRouters(LifecycleHandler.java:158)
                                                                         at com.bluelinelabs.conductor.internal.LifecycleHandler.onDestroy(LifecycleHandler.java:127)
                                                                         at android.app.Fragment.performDestroy(Fragment.java:2266)
                                                                         at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1017)
                                                                         at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1067)
                                                                         at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1049)
                                                                         at android.app.FragmentManagerImpl.dispatchDestroy(FragmentManager.java:1897)
                                                                         at android.app.Activity.performDestroy(Activity.java:6168)
                                                                         at android.app.Instrumentation.callActivityOnDestroy(Instrumentation.java:1141)
                                                                         at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3693)
                                                                         at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:3724) 
                                                                         at android.app.ActivityThread.access$1400(ActivityThread.java:151) 
                                                                         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1357) 
                                                                         at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                         at android.os.Looper.loop(Looper.java:135) 
                                                                         at android.app.ActivityThread.main(ActivityThread.java:5254) 
                                                                         at java.lang.reflect.Method.invoke(Native Method) 
                                                                         at java.lang.reflect.Method.invoke(Method.java:372) 
                                                                         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 
                                                                         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 

Using Conductor v2 RC3 and mosby-conductor 0.7

About this issue

  • Original URL
  • State: closed
  • Created 8 years ago
  • Reactions: 1
  • Comments: 18 (7 by maintainers)

Commits related to this issue

Most upvoted comments

Ok, I have found a temporarily workaround. I have published a new version 0.8.0 of this library, containing this temporarily workaround. However, this issue should be fixed in conductor.