Zoomy icon indicating copy to clipboard operation
Zoomy copied to clipboard

Cannot set 'scaleX' to Float.NaN, Fatal Exception: java.lang.IllegalArgumentException

Open TorkelV opened this issue 4 years ago • 3 comments

Hi, I'm seeing this crash for some users(affects ~0.01%), all of them on android 10.

Any idea what it might be, or how to work around it?

This is all the code, not using any additional features of the library:

<ImageView
   android:id="@+id/imageView"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:adjustViewBounds="true"
   android:animateLayoutChanges="true"
   android:scaleType="centerCrop"
   android:src="@drawable/img" />
Picasso.get()
    .load(imageUrl)
    .error(R.drawable.img)
    .placeholder(R.drawable.img)
    .into(imageView)

Zoomy.Builder = Zoomy.Builder(this).target(imageView)
builder.register()

Exception:

Fatal Exception: java.lang.IllegalArgumentException
Cannot set 'scaleX' to Float.NaN
android.view.View.sanitizeFloatPropertyValue (View.java:18167)
android.view.View.sanitizeFloatPropertyValue (View.java:18141)
android.view.View.setScaleX (View.java:17494)
com.ablanco.zoomy.ZoomableTouchListener.onScale (ZoomableTouchListener.java:223)
android.view.ScaleGestureDetector.onTouchEvent (ScaleGestureDetector.java:376)
com.ablanco.zoomy.ZoomableTouchListener.onTouch (ZoomableTouchListener.java:112)
android.view.View.dispatchTouchEvent (View.java:14372)
android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3863)
android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:3551)
android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3863)
android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:3551)
android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3863)
android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:3551)
android.widget.ScrollView.dispatchTouchEvent (ScrollView.java:857)
android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3863)
android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:3551)
android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3863)
android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:3551)
android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3863)
android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:3551)
android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3863)
android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:3551)
android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3863)
android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:3551)
android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3863)
android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:3551)
com.android.internal.policy.DecorView.superDispatchTouchEvent (DecorView.java:733)
com.android.internal.policy.PhoneWindow.superDispatchTouchEvent (PhoneWindow.java:1922)
android.app.Activity.dispatchTouchEvent (Activity.java:4051)
androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent (WindowCallbackWrapper.java:69)
androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent (WindowCallbackWrapper.java:69)
com.android.internal.policy.DecorView.dispatchTouchEvent (DecorView.java:691)
android.view.View.dispatchPointerEvent (View.java:14644)
android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent (ViewRootImpl.java:6526)
android.view.ViewRootImpl$ViewPostImeInputStage.onProcess (ViewRootImpl.java:6313)
android.view.ViewRootImpl$InputStage.deliver (ViewRootImpl.java:5751)
android.view.ViewRootImpl$InputStage.onDeliverToNext (ViewRootImpl.java:5804)
android.view.ViewRootImpl$InputStage.forward (ViewRootImpl.java:5770)
android.view.ViewRootImpl$AsyncInputStage.forward (ViewRootImpl.java:5926)
android.view.ViewRootImpl$InputStage.apply (ViewRootImpl.java:5778)
android.view.ViewRootImpl$AsyncInputStage.apply (ViewRootImpl.java:5983)
android.view.ViewRootImpl$InputStage.deliver (ViewRootImpl.java:5751)
android.view.ViewRootImpl$InputStage.onDeliverToNext (ViewRootImpl.java:5804)
android.view.ViewRootImpl$InputStage.forward (ViewRootImpl.java:5770)
android.view.ViewRootImpl$InputStage.apply (ViewRootImpl.java:5778)
android.view.ViewRootImpl$InputStage.deliver (ViewRootImpl.java:5751)
android.view.ViewRootImpl.deliverInputEvent (ViewRootImpl.java:8910)
android.view.ViewRootImpl.doProcessInputEvents (ViewRootImpl.java:8771)
android.view.ViewRootImpl.enqueueInputEvent (ViewRootImpl.java:8724)
android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent (ViewRootImpl.java:9046)
android.view.InputEventReceiver.dispatchInputEvent (InputEventReceiver.java:194)
android.view.InputEventReceiver.nativeConsumeBatchedInputEvents (InputEventReceiver.java)
android.view.InputEventReceiver.consumeBatchedInputEvents (InputEventReceiver.java:183)
android.view.ViewRootImpl.doConsumeBatchedInput (ViewRootImpl.java:8986)
android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run (ViewRootImpl.java:9073)
android.view.Choreographer$CallbackRecord.run (Choreographer.java:996)
android.view.Choreographer.doCallbacks (Choreographer.java:794)
android.view.Choreographer.doFrame (Choreographer.java:722)
android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:981)
android.os.Handler.handleCallback (Handler.java:883)
android.os.Handler.dispatchMessage (Handler.java:100)
android.os.Looper.loop (Looper.java:237)
android.app.ActivityThread.main (ActivityThread.java:7948)
java.lang.reflect.Method.invoke (Method.java)
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:493)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1075)

TorkelV avatar Nov 11 '20 12:11 TorkelV

I have same problem. Anyone found a solution to it?

uzman avatar Jun 15 '23 06:06 uzman

I'm having the same issue. Are there any updates?

dev-lcc avatar Oct 02 '23 02:10 dev-lcc

Any updates on this?

rsvp-lawrencec avatar Mar 31 '24 23:03 rsvp-lawrencec