Closed baralgin1003 closed 2 years ago
This one was caused by the default GestureDetecor sending garbage values to the library. This is fixed in v2.8.3, please try it out. I can still see a very few "float is NaN" reports originating from another part of the library, but they are very rare so I'm considering them as minor. Please let me know if you'll see a noticable amount of such issues with v2.8.3.
Fatal Exception: java.lang.IllegalArgumentException: Provided float is NaN at com.alexvasilkov.gestures.State.nonNaN(State.java:230) at com.alexvasilkov.gestures.State.translateBy(State.java:61) at com.alexvasilkov.gestures.GestureController.onScroll(GestureController.java:613) at com.alexvasilkov.gestures.GestureControllerForPager.onScroll(GestureControllerForPager.java:173) at com.alexvasilkov.gestures.GestureController$InternalGesturesListener.onScroll(GestureController.java:1025) at android.view.GestureDetector.onTouchEvent(GestureDetector.java:700) at com.alexvasilkov.gestures.GestureController.onTouchInternal(GestureController.java:456) at com.alexvasilkov.gestures.GestureControllerForPager.onTouchInternal(GestureControllerForPager.java:114) at com.alexvasilkov.gestures.GestureController.onTouch(GestureController.java:444) at com.alexvasilkov.gestures.GestureControllerForPager.onTouch(GestureControllerForPager.java:107) at com.alexvasilkov.gestures.views.GestureFrameLayout.onTouchEvent(GestureFrameLayout.java:143) at android.view.View.dispatchTouchEvent(View.java:13509) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3135) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2789) at com.alexvasilkov.gestures.views.GestureFrameLayout.dispatchTouchEvent(GestureFrameLayout.java:104) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3141) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2803) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3141) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2803) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3141) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2803) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3141) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2803) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3141) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2803) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3141) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2803) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3141) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2803) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3141) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2803) at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:496) at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1853) at android.app.Activity.dispatchTouchEvent(Activity.java:4059) at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:69) at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:454) at android.view.View.dispatchPointerEvent(View.java:13775) at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:5813) at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:5604) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5101) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5154) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5120) at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5260) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5128) at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:5317) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5101) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5154) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5120) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5128) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5101) at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:7944) at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:7913) at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7864) at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:8090) at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:260) at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(InputEventReceiver.java) at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:222) at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:8030) at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:8114) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1041) at android.view.Choreographer.doCallbacks(Choreographer.java:860) at android.view.Choreographer.doFrame(Choreographer.java:778) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1026) at android.os.Handler.handleCallback(Handler.java:914) at android.os.Handler.dispatchMessage(Handler.java:100) at android.os.Looper.loop(Looper.java:225) at android.app.ActivityThread.main(ActivityThread.java:7563) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:994)