andkulikov / Transitions-Everywhere

Set of extra Transitions on top of Jetpack Transitions Library
Apache License 2.0
4.83k stars 486 forks source link

Strange crashing throughout application #63

Closed miroslavign closed 7 years ago

miroslavign commented 7 years ago
Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.view.View.hasTransientState()' on a null object reference
       at com.transitionseverywhere.utils.ViewUtils$ViewUtilsJellyBean.hasTransientState(ViewUtils.java:127)
       at com.transitionseverywhere.utils.ViewUtils.hasTransientState(ViewUtils.java:247)
       at com.transitionseverywhere.Transition.end(Transition.java:1922)
       at com.transitionseverywhere.Transition.runAnimators(Transition.java:879)
       at com.transitionseverywhere.Transition.playTransition(Transition.java:1773)
       at com.transitionseverywhere.TransitionManager$MultiListener.onPreDraw(TransitionManager.java:303)
       at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:944)
       at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2205)
       at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1254)
       at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6338)
       at android.view.Choreographer$CallbackRecord.run(Choreographer.java:874)
       at android.view.Choreographer.doCallbacks(Choreographer.java:686)
       at android.view.Choreographer.doFrame(Choreographer.java:621)
       at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:860)
       at android.os.Handler.handleCallback(Handler.java:751)
       at android.os.Handler.dispatchMessage(Handler.java:95)
       at android.os.Looper.loop(Looper.java:154)
       at android.app.ActivityThread.main(ActivityThread.java:6121)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)

tested on Android 6 and 7, Nexus phones I can not catch it

andkulikov commented 7 years ago

Hi, Looks like we need to add null check there. If the framework version is looks like: if (view != null) { view.setHasTransientState(false); } but in the library there is no actual check for null. Thanks, will fix it soon

andkulikov commented 7 years ago

Fixed in 1.7.2. Thanks