mapbox-maps-android icon indicating copy to clipboard operation
mapbox-maps-android copied to clipboard

"NullPointerException null cannot be cast to non-null type com.mapbox.maps.ScreenCoordinate" in CameraAnimationsPluginImpl.onAnimationUpdateInternal

Open Copatych opened this issue 1 year ago • 0 comments

Environment

  • Android OS version: 8.0.0
  • Devices affected: Honor 7C and Galaxy S8
  • Maps SDK Version: 11.2.1

Observed behavior and steps to reproduce

Error inside the mapbox library.

Error java.lang.NullPointerException "null cannot be cast to non-null type com.mapbox.maps.ScreenCoordinate". Stacktrace:

Fatal Exception: java.lang.NullPointerException: null cannot be cast to non-null type com.mapbox.maps.ScreenCoordinate
       at com.mapbox.maps.plugin.animation.CameraAnimationsPluginImpl.onAnimationUpdateInternal(CameraAnimationsPluginImpl.kt:481)
       at com.mapbox.maps.plugin.animation.CameraAnimationsPluginImpl.access$setHighLevelAnimatorSet$p(CameraAnimationsPluginImpl.kt)
       at com.mapbox.maps.plugin.animation.CameraAnimationsPluginImpl.access$onAnimationUpdateInternal(CameraAnimationsPluginImpl.kt)
       at com.mapbox.maps.plugin.animation.CameraAnimationsPluginImpl$registerInternalUpdateListener$1$1.invoke(CameraAnimationsPluginImpl.kt:469)
       at com.mapbox.maps.plugin.animation.CameraAnimationsPluginImpl$registerInternalUpdateListener$1$1.invoke(CameraAnimationsPluginImpl.kt:469)
       at com.mapbox.maps.threading.AnimationThreadController.postOnMainThread(AnimationThreadController.kt:67)
       at com.mapbox.maps.plugin.animation.CameraAnimationsPluginImpl.registerInternalUpdateListener$lambda$26(CameraAnimationsPluginImpl.kt:469)
       at com.mapbox.maps.plugin.animation.animator.CameraAnimator.handleImmediateAnimation(CameraAnimator.kt:142)
       at com.mapbox.maps.plugin.animation.animator.CameraAnimator.access$cancel$s-741060776(CameraAnimator.kt)
       at com.mapbox.maps.plugin.animation.animator.CameraAnimator.access$handleImmediateAnimation(CameraAnimator.kt)
       at com.mapbox.maps.plugin.animation.animator.CameraAnimator$start$1.invoke(CameraAnimator.kt:92)
       at com.mapbox.maps.plugin.animation.animator.CameraAnimator$start$1.invoke(CameraAnimator.kt:88)
       at com.mapbox.maps.threading.AnimationThreadController.postOnMainThread(AnimationThreadController.kt:67)
       at com.mapbox.maps.threading.AnimationThreadController.postOnAnimatorThread(AnimationThreadController.kt:90)
       at com.mapbox.maps.plugin.animation.animator.CameraAnimator.start(CameraAnimator.kt:88)
       at android.animation.ValueAnimator.startWithoutPulsing(ValueAnimator.java:1058)
       at android.animation.AnimatorSet.handleAnimationEvents(AnimatorSet.java:1142)
       at android.animation.AnimatorSet.startAnimation(AnimatorSet.java:1227)
       at android.animation.AnimatorSet.start(AnimatorSet.java:729)
       at android.animation.AnimatorSet.start(AnimatorSet.java:684)
       at com.mapbox.maps.plugin.animation.CameraAnimationsPluginImpl$playAnimatorsTogether$1$1.invoke(CameraAnimationsPluginImpl.kt:933)
       at com.mapbox.maps.plugin.animation.CameraAnimationsPluginImpl$playAnimatorsTogether$1$1.invoke(CameraAnimationsPluginImpl.kt:933)
       at com.mapbox.maps.threading.AnimationThreadController.postOnMainThread(AnimationThreadController.kt:67)
       at com.mapbox.maps.threading.AnimationThreadController.postOnAnimatorThread(AnimationThreadController.kt:90)
       at com.mapbox.maps.plugin.animation.CameraAnimationsPluginImpl.playAnimatorsTogether(CameraAnimationsPluginImpl.kt:933)
       at com.mapbox.maps.plugin.gestures.GesturesPluginImpl.handleScale$plugin_gestures_release(GesturesPluginImpl.kt:617)
       at com.mapbox.maps.plugin.gestures.GesturesPluginImpl$ScaleGestureListener.onScale(GesturesPluginImpl.kt:500)
       at com.mapbox.android.gestures.StandardScaleGestureDetector.analyzeMovement(StandardScaleGestureDetector.java:108)
       at com.mapbox.android.gestures.MultiFingerGesture.analyzeEvent(MultiFingerGesture.java:106)
       at com.mapbox.android.gestures.ProgressiveGesture.analyzeEvent(ProgressiveGesture.java:55)
       at com.mapbox.android.gestures.StandardScaleGestureDetector.analyzeEvent(StandardScaleGestureDetector.java:159)
       at com.mapbox.maps.plugin.gestures.GesturesPluginImpl.<init>(GesturesPluginImpl.kt:61)
       at com.mapbox.android.gestures.BaseGesture.analyze(BaseGesture.java:61)
       at com.mapbox.android.gestures.BaseGesture.onTouchEvent(BaseGesture.java:39)
       at com.mapbox.android.gestures.AndroidGesturesManager.onTouchEvent(AndroidGesturesManager.java:193)
       at com.mapbox.maps.plugin.gestures.GesturesPluginImpl.onTouchEvent(GesturesPluginImpl.kt:257)
       at com.mapbox.maps.plugin.MapPluginRegistry.onTouch(MapPluginRegistry.kt:132)
       at com.mapbox.maps.MapController.onTouchEvent(MapController.kt:211)
       at com.mapbox.maps.MapView.onTouchEvent(MapView.kt:337)
       at android.view.View.dispatchTouchEvent(View.java:12534)
       at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3153)
       at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2829)
       at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3159)
       at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2844)
       at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3159)
       at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2844)
       at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3159)
       at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2844)
       at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3159)
       at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2844)
       at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3159)
       at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2844)
       at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3159)
       at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2844)
       at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3159)
       at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2844)
       at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3159)
       at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2844)
       at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3159)
       at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2844)
       at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3159)
       at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2844)
       at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3159)
       at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2844)
       at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3159)
       at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2844)
       at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3159)
       at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2844)
       at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:600)
       at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1871)
       at android.app.Activity.dispatchTouchEvent(Activity.java:3384)
       at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:70)
       at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:562)
       at android.view.View.dispatchPointerEvent(View.java:12782)
       at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:5662)
       at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:5457)
       at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4950)
       at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5003)
       at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4969)
       at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5106)
       at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4977)
       at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:5163)
       at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4950)
       at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5003)
       at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4969)
       at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4977)
       at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4950)
       at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:7719)
       at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:7659)
       at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7620)
       at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:7830)
       at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185)
       at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(InputEventReceiver.java)
       at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:176)
       at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:7793)
       at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:7857)
       at android.view.Choreographer$CallbackRecord.run(Choreographer.java:911)
       at android.view.Choreographer.doCallbacks(Choreographer.java:723)
       at android.view.Choreographer.doFrame(Choreographer.java:652)
       at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:897)
       at android.os.Handler.handleCallback(Handler.java:789)
       at android.os.Handler.dispatchMessage(Handler.java:98)
       at android.os.Looper.loop(Looper.java:164)
       at android.app.ActivityThread.main(ActivityThread.java:6938)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)

Expected behavior

No error

Notes / preliminary analysis

So far the error has only occurred on Android 8. I ran the app in an emulator on Android 8, but the error does not occur.

Copatych avatar Jan 20 '25 06:01 Copatych