lecho / hellocharts-android

Charts library for Android compatible with API 8+, several chart types with scaling, scrolling and animations 📊
Apache License 2.0
7.44k stars 1.61k forks source link

Crash when zooming #5

Closed borhammere closed 10 years ago

borhammere commented 10 years ago

Internet says that it is DrawerLayout internal error, but it can be repaired by using workaround class. See more https://github.com/chrisbanes/PhotoView/issues/72

java.lang.ArrayIndexOutOfBoundsException: length=1; index=1 at android.support.v4.widget.ViewDragHelper.shouldInterceptTouchEvent(ViewDragHelper.java:1011) at android.support.v4.widget.DrawerLayout.onInterceptTouchEvent(DrawerLayout.java:1108) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2055) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2423) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2156) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2423) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2156) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2423) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2156) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2423) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2156) at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2279) at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1606) at android.app.Activity.dispatchTouchEvent(Activity.java:2565) at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2227) at android.view.View.dispatchPointerEvent(View.java:8340) at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4743) at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4609) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4167) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4221) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4190) at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4301) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4198) at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4358) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4167) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4221) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4190) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4198) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4167) at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:6517) at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:6434) at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:6405) at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:6370) at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:6597) at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185) at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method) at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:176) at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:6570) at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:6616) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:803) at android.view.Choreographer.doCallbacks(Choreographer.java:603) at android.view.Choreographer.doFrame(Choreographer.java:571) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:789) at android.os.Handler.handleCallback(Handler.java:733) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:136) at android.app.ActivityThread.main(ActivityThread.java:5586) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084)

borhammere commented 10 years ago

It happens after zoom in

lecho commented 10 years ago

I'll look into it, maybe there is a better solution than hacky DrawerLayout implementation. Thanks for link.

lecho commented 10 years ago

I've added classes HackyDrawerLayout and HackyViewPager in package lecho.lib.hellocharts.view.hack as a workarounds.

borhammere commented 10 years ago

Thanks =)