title: EnterTransitionCoordinator causes NPE in Android 5.0
body: <p>After adding exit and enter Activity transitions to an app, I am getting crash reports like the following:</p>
  
  <blockquote>
    <p>Fatal Exception: java.lang.NullPointerException: Attempt to invoke
    virtual method 'android.view.ViewParent android.view.View.getParent()'
    on a null object reference
           at android.view.ViewOverlay$OverlayViewGroup.add(ViewOverlay.java:164)
           at android.view.ViewGroupOverlay.add(ViewGroupOverlay.java:63)
           at android.app.EnterTransitionCoordinator.startRejectedAnimations(EnterTransitionCoordinator.java:598)
           at android.app.EnterTransitionCoordinator.startSharedElementTransition(EnterTransitionCoordinator.java:325)
           at android.app.EnterTransitionCoordinator.access$200(EnterTransitionCoordinator.java:42)
           at android.app.EnterTransitionCoordinator$5$1.run(EnterTransitionCoordinator.java:389)
           at android.app.ActivityTransitionCoordinator.startTransition(ActivityTransitionCoordinator.java:698)
           at android.app.EnterTransitionCoordinator$5.onPreDraw(EnterTransitionCoordinator.java:386)
           at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:847)
           at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1985)
           at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1077)
           at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5845)
           at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767)
           at android.view.Choreographer.doCallbacks(Choreographer.java:580)
           at android.view.Choreographer.doFrame(Choreographer.java:550)
           at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753)
           at android.os.Handler.handleCallback(Handler.java:739)
           at android.os.Handler.dispatchMessage(Handler.java:95)
           at android.os.Looper.loop(Looper.java:135)
           at android.app.ActivityThread.main(ActivityThread.java:5272)
           at java.lang.reflect.Method.invoke(Method.java)
           at java.lang.reflect.Method.invoke(Method.java:372)
           at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:909)
           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:704)</p>
  </blockquote>
  
  <p>It's not reproducible, but the crash count is significant.</p>
  
  <p>Doing some research, I came across this commit suggesting it is (was actually) an internal error in Android:
  <a href="https://android.googlesource.com/platform/frameworks/base/+/83c692efd3c53050fce132dfd2ef21763d3cf010%5E%21/#F0">https://android.googlesource.com/platform/frameworks/base/+/83c692efd3c53050fce132dfd2ef21763d3cf010%5E%21/#F0</a></p>
  
  <p>All crash reports are either 5.0, 5.0.1, or 5.0.2. Because 5.1 has wider spread, but does not show crashes, it seems like EnterTransitionCoordinator was fixed in 5.1.</p>
  
  <p>So, a possible solution would be to check for API level 22 or higher, and only do the transitions then. However I wonder if there's a better way; some workaround maybe, despite this seems to be an internal matter of Android (all system classes in the stack)?</p>