commit 2f6da3f46d2b6e6d489f0250fbb614e7652ee684
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Fri Oct 23 00:05:43 2020 +0100

    Catch exceptions when rotating.

diff --git a/src/main/java/org/distorted/main/RubikSurfaceView.java b/src/main/java/org/distorted/main/RubikSurfaceView.java
index 27d17032..d21e9fa5 100644
--- a/src/main/java/org/distorted/main/RubikSurfaceView.java
+++ b/src/main/java/org/distorted/main/RubikSurfaceView.java
@@ -590,11 +590,25 @@ public class RubikSurfaceView extends GLSurfaceView
           {
           int pointer = event.findPointerIndex(mPtrID2);
 
-          float x2 = event.getX(pointer);
-          float y2 = event.getY(pointer);
+          try
+            {
+            float x2 = event.getX(pointer);
+            float y2 = event.getY(pointer);
+
+            mRotAngle = getAngle(x,-y,x2,-y2);
+            mInitDistance = -1;
+            }
+          catch(IllegalArgumentException ex)
+            {
+            mPtrID1=INVALID_POINTER_ID;
+            mPtrID2=INVALID_POINTER_ID;
+
+            FirebaseCrashlytics crashlytics = FirebaseCrashlytics.getInstance();
+            crashlytics.setCustomKey("DragError", "pointer="+pointer );
+            crashlytics.recordException(ex);
 
-          mRotAngle = getAngle(x,-y,x2,-y2);
-          mInitDistance = -1;
+            return;
+            }
           }
 
         mX = (x - mScreenWidth*0.5f)/mScreenMin;
@@ -611,11 +625,25 @@ public class RubikSurfaceView extends GLSurfaceView
           {
           int pointer = event.findPointerIndex(mPtrID2);
 
-          float x2 = event.getX(pointer);
-          float y2 = event.getY(pointer);
+          try
+            {
+            float x2 = event.getX(pointer);
+            float y2 = event.getY(pointer);
+
+            mRotAngle = getAngle(x,-y,x2,-y2);
+            mInitDistance = -1;
+            }
+          catch(IllegalArgumentException ex)
+            {
+            mPtrID1=INVALID_POINTER_ID;
+            mPtrID2=INVALID_POINTER_ID;
+
+            FirebaseCrashlytics crashlytics = FirebaseCrashlytics.getInstance();
+            crashlytics.setCustomKey("DragError", "pointer="+pointer );
+            crashlytics.recordException(ex);
 
-          mRotAngle = getAngle(x,-y,x2,-y2);
-          mInitDistance = -1;
+            return;
+            }
           }
 
         if( mBeginningRotation || mContinuingRotation )
