Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
225
Tooltip bug
posted

Hi,

We discovered an issue with the tooltip on the graphs. If you long press on the graph to display the tooltip then drag the finger out of the graph and stop the focus when you are out of the graph, the app will crash. I could replicated this with the SamplesBrowser/ItemTooltipLayer example as well. Could you please provide with any bug-fix for this issue?

Thanks.

12-12 14:40:58.093: E/InputEventReceiver(22155): Exception dispatching input event.
12-12 14:40:58.093: E/MessageQueue-JNI(22155): Exception in MessageQueue callback: handleReceiveCallback
12-12 14:40:58.153: E/MessageQueue-JNI(22155): java.lang.IllegalArgumentException: x must be < bitmap.width()
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at android.graphics.Bitmap.checkPixelAccess(Bitmap.java:1012)
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at android.graphics.Bitmap.getPixel(Bitmap.java:967)
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at com.infragistics.controls.DroidCanvasRenderer.getPixelAt(DroidCanvasRenderer.java:1203)
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at com.infragistics.controls.RenderingContext.getPixelAt(RenderingContext.java:165)
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at com.infragistics.controls.SeriesViewerView.getHitSeries(SeriesViewerView.java:678)
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at com.infragistics.controls.SeriesViewerView$35.invoke(SeriesViewerView.java:1425)
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at com.infragistics.controls.SeriesViewerView.onMouseOver(SeriesViewerView.java:1422)
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at com.infragistics.controls.SeriesViewerView$16.invoke(SeriesViewerView.java:588)
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at com.infragistics.controls.EventProxy.raiseOnMouseOver(EventProxy.java:299)
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at com.infragistics.controls.DroidEventProxy.HandleTouch(DroidEventProxy.java:98)
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at com.infragistics.controls.DroidEventProxy$1.onTouch(DroidEventProxy.java:29)
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at android.view.View.dispatchTouchEvent(View.java:7373)
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2468)
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2210)
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2468)
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2210)
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2468)
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2210)
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2468)
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2210)
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2468)
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2210)
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2468)
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2210)
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2468)
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2210)
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2468)
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2210)
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2177)
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1482)
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at android.app.Activity.dispatchTouchEvent(Activity.java:2458)
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2125)
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at android.view.View.dispatchPointerEvent(View.java:7562)
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at android.view.ViewRootImpl.deliverPointerEvent(ViewRootImpl.java:3509)
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:3441)
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:4535)
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:4513)
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:4617)
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:171)
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at android.os.MessageQueue.nativePollOnce(Native Method)
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at android.os.MessageQueue.next(MessageQueue.java:125)
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at android.os.Looper.loop(Looper.java:124)
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at android.app.ActivityThread.main(ActivityThread.java:4962)
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at java.lang.reflect.Method.invokeNative(Native Method)
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at java.lang.reflect.Method.invoke(Method.java:511)
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1004)
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771)
12-12 14:40:58.153: E/MessageQueue-JNI(22155): at dalvik.system.NativeStart.main(Native Method)
12-12 14:40:58.153: W/dalvikvm(22155): threadid=1: thread exiting with uncaught exception (group=0x41482438)
12-12 14:40:58.163: E/AndroidRuntime(22155): FATAL EXCEPTION: main
12-12 14:40:58.163: E/AndroidRuntime(22155): java.lang.IllegalArgumentException: x must be < bitmap.width()
12-12 14:40:58.163: E/AndroidRuntime(22155): at android.graphics.Bitmap.checkPixelAccess(Bitmap.java:1012)
12-12 14:40:58.163: E/AndroidRuntime(22155): at android.graphics.Bitmap.getPixel(Bitmap.java:967)
12-12 14:40:58.163: E/AndroidRuntime(22155): at com.infragistics.controls.DroidCanvasRenderer.getPixelAt(DroidCanvasRenderer.java:1203)
12-12 14:40:58.163: E/AndroidRuntime(22155): at com.infragistics.controls.RenderingContext.getPixelAt(RenderingContext.java:165)
12-12 14:40:58.163: E/AndroidRuntime(22155): at com.infragistics.controls.SeriesViewerView.getHitSeries(SeriesViewerView.java:678)
12-12 14:40:58.163: E/AndroidRuntime(22155): at com.infragistics.controls.SeriesViewerView$35.invoke(SeriesViewerView.java:1425)
12-12 14:40:58.163: E/AndroidRuntime(22155): at com.infragistics.controls.SeriesViewerView.onMouseOver(SeriesViewerView.java:1422)
12-12 14:40:58.163: E/AndroidRuntime(22155): at com.infragistics.controls.SeriesViewerView$16.invoke(SeriesViewerView.java:588)
12-12 14:40:58.163: E/AndroidRuntime(22155): at com.infragistics.controls.EventProxy.raiseOnMouseOver(EventProxy.java:299)
12-12 14:40:58.163: E/AndroidRuntime(22155): at com.infragistics.controls.DroidEventProxy.HandleTouch(DroidEventProxy.java:98)
12-12 14:40:58.163: E/AndroidRuntime(22155): at com.infragistics.controls.DroidEventProxy$1.onTouch(DroidEventProxy.java:29)
12-12 14:40:58.163: E/AndroidRuntime(22155): at android.view.View.dispatchTouchEvent(View.java:7373)
12-12 14:40:58.163: E/AndroidRuntime(22155): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2468)
12-12 14:40:58.163: E/AndroidRuntime(22155): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2210)
12-12 14:40:58.163: E/AndroidRuntime(22155): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2468)
12-12 14:40:58.163: E/AndroidRuntime(22155): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2210)
12-12 14:40:58.163: E/AndroidRuntime(22155): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2468)
12-12 14:40:58.163: E/AndroidRuntime(22155): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2210)
12-12 14:40:58.163: E/AndroidRuntime(22155): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2468)
12-12 14:40:58.163: E/AndroidRuntime(22155): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2210)
12-12 14:40:58.163: E/AndroidRuntime(22155): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2468)
12-12 14:40:58.163: E/AndroidRuntime(22155): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2210)
12-12 14:40:58.163: E/AndroidRuntime(22155): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2468)
12-12 14:40:58.163: E/AndroidRuntime(22155): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2210)
12-12 14:40:58.163: E/AndroidRuntime(22155): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2468)
12-12 14:40:58.163: E/AndroidRuntime(22155): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2210)
12-12 14:40:58.163: E/AndroidRuntime(22155): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2468)
12-12 14:40:58.163: E/AndroidRuntime(22155): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2210)
12-12 14:40:58.163: E/AndroidRuntime(22155): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2177)
12-12 14:40:58.163: E/AndroidRuntime(22155): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1482)
12-12 14:40:58.163: E/AndroidRuntime(22155): at android.app.Activity.dispatchTouchEvent(Activity.java:2458)
12-12 14:40:58.163: E/AndroidRuntime(22155): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2125)
12-12 14:40:58.163: E/AndroidRuntime(22155): at android.view.View.dispatchPointerEvent(View.java:7562)
12-12 14:40:58.163: E/AndroidRuntime(22155): at android.view.ViewRootImpl.deliverPointerEvent(ViewRootImpl.java:3509)
12-12 14:40:58.163: E/AndroidRuntime(22155): at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:3441)
12-12 14:40:58.163: E/AndroidRuntime(22155): at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:4535)
12-12 14:40:58.163: E/AndroidRuntime(22155): at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:4513)
12-12 14:40:58.163: E/AndroidRuntime(22155): at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:4617)
12-12 14:40:58.163: E/AndroidRuntime(22155): at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:171)
12-12 14:40:58.163: E/AndroidRuntime(22155): at android.os.MessageQueue.nativePollOnce(Native Method)
12-12 14:40:58.163: E/AndroidRuntime(22155): at android.os.MessageQueue.next(MessageQueue.java:125)
12-12 14:40:58.163: E/AndroidRuntime(22155): at android.os.Looper.loop(Looper.java:124)
12-12 14:40:58.163: E/AndroidRuntime(22155): at android.app.ActivityThread.main(ActivityThread.java:4962)
12-12 14:40:58.163: E/AndroidRuntime(22155): at java.lang.reflect.Method.invokeNative(Native Method)
12-12 14:40:58.163: E/AndroidRuntime(22155): at java.lang.reflect.Method.invoke(Method.java:511)
12-12 14:40:58.163: E/AndroidRuntime(22155): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1004)
12-12 14:40:58.163: E/AndroidRuntime(22155): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771)
12-12 14:40:58.163: E/AndroidRuntime(22155): at dalvik.system.NativeStart.main(Native Method)

Parents
No Data
Reply
  • 34510
    Suggested Answer
    Offline posted

    I was able to reproduce the issue so I have logged it as a development issue.

    As a workaround, I would suggest manually handling the tooltip.  On the DataChartView there is a setOnTouchListener() method that you can use to be notified when the user has touched the screen.  In the touch listener, you can get the ItemToolTipLayer and manually set the cursor position.  You can get the relative position of the pointer in relation to the chart viewport with the following code: 

    Rect viewportRect = chart.getViewportRect();
    
    Point touchPoint = new Point(coords.x, coords.y);
    
    Point relTouchPoint = new Point(touchPoint.getX() - viewportRect.getX(),   touchPoint.getY() - viewportRect.getY());
    

     

Children
No Data