commit 25445dcfe50fa7ed50257a9c3b41c7ab160eafc1
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Sat Oct 17 01:00:02 2020 +0100

    More error reporting - this time in Scores.

diff --git a/src/main/java/org/distorted/objects/TwistyObject.java b/src/main/java/org/distorted/objects/TwistyObject.java
index 43d86da4..a13d186e 100644
--- a/src/main/java/org/distorted/objects/TwistyObject.java
+++ b/src/main/java/org/distorted/objects/TwistyObject.java
@@ -46,6 +46,7 @@ import org.distorted.library.type.Dynamic1D;
 import org.distorted.library.type.Static1D;
 import org.distorted.library.type.Static3D;
 import org.distorted.library.type.Static4D;
+import org.distorted.main.BuildConfig;
 
 import java.io.DataInputStream;
 import java.io.IOException;
@@ -485,11 +486,19 @@ public abstract class TwistyObject extends DistortedNode
       quats.append(" ");
       }
 
-    Exception ex = new Exception(message);
-    FirebaseCrashlytics crashlytics = FirebaseCrashlytics.getInstance();
-    crashlytics.setCustomKey("quats" , quats.toString());
-    crashlytics.setCustomKey("object", mList.name()+"_"+mNumLayers );
-    crashlytics.recordException(ex);
+    if( BuildConfig.DEBUG )
+      {
+      android.util.Log.e("object", quats.toString());
+      android.util.Log.e("object", mList.name()+"_"+mNumLayers);
+      }
+    else
+      {
+      Exception ex = new Exception(message);
+      FirebaseCrashlytics crashlytics = FirebaseCrashlytics.getInstance();
+      crashlytics.setCustomKey("quats" , quats.toString());
+      crashlytics.setCustomKey("object", mList.name()+"_"+mNumLayers );
+      crashlytics.recordException(ex);
+      }
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/scores/RubikScores.java b/src/main/java/org/distorted/scores/RubikScores.java
index 4e05c0d0..b3fc3c03 100644
--- a/src/main/java/org/distorted/scores/RubikScores.java
+++ b/src/main/java/org/distorted/scores/RubikScores.java
@@ -23,6 +23,9 @@ import android.content.Context;
 import android.content.SharedPreferences;
 import android.telephony.TelephonyManager;
 
+import com.google.firebase.crashlytics.FirebaseCrashlytics;
+
+import org.distorted.main.BuildConfig;
 import org.distorted.objects.ObjectList;
 
 import java.util.UUID;
@@ -394,10 +397,11 @@ public class RubikScores
 
   public synchronized void restorePreferences(SharedPreferences preferences)
     {
-    String recordStr, subStr, nameStr, sizeStr, timeStr, submStr;
+    String recordStr, subStr, nameStr, sizeStr, timeStr, submStr, errorStr="";
     int start, end, equals, underscore, comma;
     int object, sizeIndex, subm;
     long time;
+    boolean thereWasError = false;
 
     for(int level=0; level<MAX_LEVEL; level++)
       {
@@ -439,12 +443,14 @@ public class RubikScores
               }
             else
               {
-              android.util.Log.e("scores", "error: size="+sizeIndex+" subm="+subm);
+              errorStr += ("error1: size="+sizeIndex+" subm="+subm+" obj: "+nameStr+" size: "+sizeStr+"\n");
+              thereWasError= true;
               }
             }
           else
             {
-            android.util.Log.e("scores", "error: object="+object);
+            errorStr += ("error2: object="+object+" obj: "+nameStr+" size: "+sizeStr+"\n");
+            thereWasError = true;
             }
           }
         }
@@ -458,6 +464,25 @@ public class RubikScores
     mNumReviews     = preferences.getInt("scores_review"  ,-3);
 
     if( mDeviceID==-1 ) mDeviceID = privateGetDeviceID();
+
+    if( thereWasError ) recordDBError(errorStr);
+    }
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+  public void recordDBError(String message)
+    {
+    if( BuildConfig.DEBUG )
+      {
+      android.util.Log.e("scores", message);
+      }
+    else
+      {
+      Exception ex = new Exception(message);
+      FirebaseCrashlytics crashlytics = FirebaseCrashlytics.getInstance();
+      crashlytics.setCustomKey("scores" , message);
+      crashlytics.recordException(ex);
+      }
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
