commit e09119d88e30b8b64680d1d6c3952d48a2151523
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Tue Jul 12 16:00:09 2022 +0200

    Report JSON errors also from the bandaged screen.

diff --git a/src/main/java/org/distorted/bandaged/BandagedPlayLibInterface.java b/src/main/java/org/distorted/bandaged/BandagedPlayLibInterface.java
index 57837d1e..4eecd1f8 100644
--- a/src/main/java/org/distorted/bandaged/BandagedPlayLibInterface.java
+++ b/src/main/java/org/distorted/bandaged/BandagedPlayLibInterface.java
@@ -27,6 +27,8 @@ import org.distorted.library.message.EffectMessageSender;
 import org.distorted.objectlib.BuildConfig;
 import org.distorted.objectlib.helpers.BlockController;
 import org.distorted.objectlib.helpers.ObjectLibInterface;
+import org.distorted.objects.RubikObject;
+import org.distorted.objects.RubikObjectList;
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
@@ -50,7 +52,6 @@ public class BandagedPlayLibInterface implements ObjectLibInterface
   public void onObjectCreated(long time) { }
   public void onReplaceModeDown(int cubit, int face) { }
   public void onReplaceModeUp() { }
-  public void reportJSONError(String error, int ordinal) { }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
@@ -174,4 +175,26 @@ public class BandagedPlayLibInterface implements ObjectLibInterface
       case BlockController.TYPE_THREAD: reportThreadProblem(place,pause,resume,time); break;
       }
     }
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+  public void reportJSONError(String error, int ordinal)
+    {
+    RubikObject object = RubikObjectList.getObject(ordinal);
+    String name = object==null ? "NULL" : object.getUpperName();
+
+    if( BuildConfig.DEBUG )
+       {
+       android.util.Log.e("libInterface", "name="+name+" JSON error: "+error);
+       }
+    else
+      {
+      Exception ex = new Exception(error);
+      FirebaseCrashlytics crashlytics = FirebaseCrashlytics.getInstance();
+      crashlytics.setCustomKey("name" , name );
+      crashlytics.setCustomKey("JSONerror", error );
+      crashlytics.recordException(ex);
+      }
+    }
+
 }
