title: IllegalArgumentException: pointerIndex out of range from SwipeRefreshLayout
body: <p>I've been getting some of these <code>IllegalArgumentException: pointerIndex out of range</code> crashes on crashlytics and I don't understand what's happening. It's not limited to one android build or device, it happens on 5.0.1, 4.4.4, 4.4.2, 4.0.4, 2.3.6 all on various devices. Below is the full log output for more context.</p>
  
  <pre><code>java.lang.RuntimeException: Unable to destroy activity {com.mypackage.myapp/com.mypackage.myapp.MyListActivity}: java.lang.IllegalArgumentException: pointerIndex out of range
         at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3671)
         at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:3689)
         at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3889)
         at android.app.ActivityThread.access$900(ActivityThread.java:144)
         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1284)
         at android.os.Handler.dispatchMessage(Handler.java:102)
         at android.os.Looper.loop(Looper.java:135)
         at android.app.ActivityThread.main(ActivityThread.java:5221)
         at java.lang.reflect.Method.invoke(Method.java)
         at java.lang.reflect.Method.invoke(Method.java:372)
         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:898)
         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:693)
  Caused by: java.lang.IllegalArgumentException: pointerIndex out of range
         at android.view.MotionEvent.nativeGetAxisValue(MotionEvent.java)
         at android.view.MotionEvent.getY(MotionEvent.java:1998)
         at android.support.v4.view.MotionEventCompatEclair.getY(MotionEventCompatEclair.java:35)
         at android.support.v4.view.MotionEventCompat$EclairMotionEventVersionImpl.getY(MotionEventCompat.java:95)
         at android.support.v4.view.MotionEventCompat.getY(MotionEventCompat.java:228)
         at android.support.v4.widget.SwipeRefreshLayout.onTouchEvent(SwipeRefreshLayout.java:772)
         at android.view.View.dispatchTouchEvent(View.java:8388)
         at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2398)
         at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2158)
         at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2400)
         at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2172)
         at android.view.ViewGroup.cancelTouchTarget(ViewGroup.java:2340)
         at android.view.ViewGroup.removeViewInternal(ViewGroup.java:4156)
         at android.view.ViewGroup.removeViewInternal(ViewGroup.java:4136)
         at android.view.ViewGroup.removeView(ViewGroup.java:4068)
         at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1045)
         at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1126)
         at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1108)
         at android.support.v4.app.FragmentManagerImpl.dispatchDestroy(FragmentManager.java:1954)
         at android.support.v4.app.FragmentActivity.onDestroy(FragmentActivity.java:313)
         at android.support.v7.app.ActionBarActivity.onDestroy(ActionBarActivity.java:169)
         at com.mypackage.myapp.BaseActivity.onDestroy(BaseActivity.java:105)
         at android.app.Activity.performDestroy(Activity.java:6112)
         at android.app.Instrumentation.callActivityOnDestroy(Instrumentation.java:1140)
         at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3658)
         at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:3689)
         at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3889)
         at android.app.ActivityThread.access$900(ActivityThread.java:144)
         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1284)
         at android.os.Handler.dispatchMessage(Handler.java:102)
         at android.os.Looper.loop(Looper.java:135)
         at android.app.ActivityThread.main(ActivityThread.java:5221)
         at java.lang.reflect.Method.invoke(Method.java)
         at java.lang.reflect.Method.invoke(Method.java:372)
         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:898)
         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:693)
  </code></pre>
  
  <p>Here is another related crash report coming from <code>android.view.MotionEvent.getY()</code>.</p>
  
  <pre><code>java.lang.RuntimeException: Unable to destroy activity {com.mypackage.myapp/com.mypackage.myapp.MyListActivity}: java.lang.ArrayIndexOutOfBoundsException
         at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:2683)
         at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:2701)
         at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:2817)
         at android.app.ActivityThread.access$1600(ActivityThread.java:117)
         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:946)
         at android.os.Handler.dispatchMessage(Handler.java:99)
         at android.os.Looper.loop(Looper.java:130)
         at android.app.ActivityThread.main(ActivityThread.java:3733)
         at java.lang.reflect.Method.invokeNative(Method.java)
         at java.lang.reflect.Method.invoke(Method.java:507)
         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:931)
         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:689)
         at dalvik.system.NativeStart.main(NativeStart.java)
  Caused by: java.lang.ArrayIndexOutOfBoundsException
         at android.view.MotionEvent.getY(MotionEvent.java:903)
         at android.support.v4.view.MotionEventCompatEclair.d(MotionEventCompatEclair.java:35)
         at android.support.v4.view.MotionEventCompat$EclairMotionEventVersionImpl.d(MotionEventCompat.java:95)
         at android.support.v4.view.MotionEventCompat.d(MotionEventCompat.java:228)
         at android.support.v4.widget.SwipeRefreshLayout.onTouchEvent(SwipeRefreshLayout.java:772)
         at android.view.View.dispatchTouchEvent(View.java:3971)
         at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:903)
         at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:1154)
         at android.view.ViewGroup.removeViewInternal(ViewGroup.java:2201)
         at android.view.ViewGroup.removeViewInternal(ViewGroup.java:2187)
         at android.view.ViewGroup.removeView(ViewGroup.java:2135)
         at android.support.v4.app.FragmentManagerImpl.a(FragmentManager.java:1045)
         at android.support.v4.app.FragmentManagerImpl.a(FragmentManager.java:1126)
         at android.support.v4.app.FragmentManagerImpl.a(FragmentManager.java:1108)
         at android.support.v4.app.FragmentManagerImpl.t(FragmentManager.java:1954)
         at android.support.v4.app.FragmentActivity.onDestroy(FragmentActivity.java:313)
         at android.support.v7.app.ActionBarActivity.onDestroy(ActionBarActivity.java:169)
         at com.mypackage.myapp.BaseActivity.onDestroy(BaseActivity.java:105)
         at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:2670)
         at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:2701)
         at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:2817)
         at android.app.ActivityThread.access$1600(ActivityThread.java:117)
         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:946)
         at android.os.Handler.dispatchMessage(Handler.java:99)
         at android.os.Looper.loop(Looper.java:130)
         at android.app.ActivityThread.main(ActivityThread.java:3733)
         at java.lang.reflect.Method.invokeNative(Method.java)
         at java.lang.reflect.Method.invoke(Method.java:507)
         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:931)
         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:689)
         at dalvik.system.NativeStart.main(NativeStart.java)
  </code></pre>
  
  <p>So my question is what is causing this error and what would be the acceptable method for mitigating this issue?</p>
  
  <p>EDIT: Here is the link to <a href="https://github.com/android/platform_frameworks_base/blob/master/core/java/android/view/MotionEvent.java#L1998" rel="noreferrer">MotionEvent.java:1998</a> which is referenced in the crash above.</p>
  
  <p>EDIT: Here is my onDestroy looks like: </p>
  
  <pre><code>@Override
  public void onDestroy() {
  
      AppMsg.cancelAll();
      SuperCardToast.cancelAllSuperCardToasts();
  
      super.onDestroy();
  }
  </code></pre>
  
  <p>Specifically <code>BaseActivity.java:105</code> is where I call <code>super.onDestroy();</code>.</p>