commit 319111131da901f0c43d000372d14cc1b5a0f886
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Fri Apr 17 10:58:37 2020 +0100

    Improve logging in case the Distorted Library returned an error - add Crashlytics custom keys.

diff --git a/src/main/java/org/distorted/main/RubikRenderer.java b/src/main/java/org/distorted/main/RubikRenderer.java
index f7dcb122..58f0d0b7 100644
--- a/src/main/java/org/distorted/main/RubikRenderer.java
+++ b/src/main/java/org/distorted/main/RubikRenderer.java
@@ -19,7 +19,9 @@
 
 package org.distorted.main;
 
+import android.opengl.GLES30;
 import android.opengl.GLSurfaceView;
+
 import org.distorted.effects.BaseEffect;
 import org.distorted.library.effect.VertexEffectSink;
 import org.distorted.library.main.DistortedLibrary;
@@ -28,6 +30,8 @@ import org.distorted.library.main.DistortedScreen;
 import javax.microedition.khronos.egl.EGLConfig;
 import javax.microedition.khronos.opengles.GL10;
 
+import com.google.firebase.crashlytics.FirebaseCrashlytics;
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
 public class RubikRenderer implements GLSurfaceView.Renderer
@@ -78,7 +82,31 @@ public class RubikRenderer implements GLSurfaceView.Renderer
         }
       catch(Exception ex)
         {
-        android.util.Log.e("Rubik", ex.getMessage() );
+        String message = ex.getMessage();
+        String shading = GLES30.glGetString(GLES30.GL_SHADING_LANGUAGE_VERSION);
+        String version = GLES30.glGetString(GLES30.GL_VERSION);
+        String vendor  = GLES30.glGetString(GLES30.GL_VENDOR);
+        String renderer= GLES30.glGetString(GLES30.GL_RENDERER);
+
+        if( message==null ) message = "exception NULL";
+
+        if( BuildConfig.DEBUG )
+          {
+          android.util.Log.e("DISTORTED", message );
+          android.util.Log.e("DISTORTED", "GLSL Version "+shading);
+          android.util.Log.e("DISTORTED", "GL Version "  +version);
+          android.util.Log.e("DISTORTED", "GL Vendor "   +vendor);
+          android.util.Log.e("DISTORTED", "GL Renderer " +renderer);
+          }
+        else
+          {
+          FirebaseCrashlytics crashlytics = FirebaseCrashlytics.getInstance();
+          crashlytics.setCustomKey("DistortedError", message );
+          crashlytics.setCustomKey("GLSLversion"   , shading );
+          crashlytics.setCustomKey("GLversion"     , version );
+          crashlytics.setCustomKey("GLSLvendor"    , vendor  );
+          crashlytics.setCustomKey("GLSLrenderer"  , renderer);
+          }
         }
       }
 
