commit b6468abbeaebbfada8a1a881fe64e021e2f8e57a
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Sat Nov 7 21:37:43 2020 +0100

    Progress with using the Library in a second Activity.

diff --git a/src/main/java/org/distorted/dialogs/RubikDialogInfo.java b/src/main/java/org/distorted/dialogs/RubikDialogInfo.java
index 8762d67f..b32128e1 100644
--- a/src/main/java/org/distorted/dialogs/RubikDialogInfo.java
+++ b/src/main/java/org/distorted/dialogs/RubikDialogInfo.java
@@ -75,10 +75,7 @@ public class RubikDialogInfo extends AppCompatDialogFragment
       public void onClick(DialogInterface dialog, int which)
         {
         RubikActivity ract = (RubikActivity)getContext();
-        Intent myIntent = new Intent(ract, TutorialActivity.class);
-        //myIntent.putExtra("", value); //Optional parameters
-
-        if( ract!=null ) ract.startActivity(myIntent);
+        if( ract!=null ) ract.switchTutorial();
         }
       });
 
diff --git a/src/main/java/org/distorted/main/RubikActivity.java b/src/main/java/org/distorted/main/RubikActivity.java
index ff861330..585be087 100644
--- a/src/main/java/org/distorted/main/RubikActivity.java
+++ b/src/main/java/org/distorted/main/RubikActivity.java
@@ -19,6 +19,7 @@
 
 package org.distorted.main;
 
+import android.content.Intent;
 import android.content.SharedPreferences;
 import android.os.Build;
 import android.os.Bundle;
@@ -46,6 +47,7 @@ import org.distorted.scores.RubikScoresDownloader;
 import org.distorted.objects.ObjectList;
 import org.distorted.states.StateList;
 import org.distorted.states.RubikStatePlay;
+import org.distorted.tutorial.TutorialActivity;
 
 import java.util.Locale;
 
@@ -547,4 +549,16 @@ public class RubikActivity extends AppCompatActivity
       {
       return mIsLocked;
       }
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+    public void switchTutorial()
+      {
+     // DistortedLibrary.onPause();
+     // DistortedLibrary.onDestroy();
+
+      Intent myIntent = new Intent(this, TutorialActivity.class);
+    //myIntent.putExtra("", value); //Optional parameters
+      startActivity(myIntent);
+      }
 }
diff --git a/src/main/java/org/distorted/tutorial/TutorialActivity.java b/src/main/java/org/distorted/tutorial/TutorialActivity.java
index 5a2b5ba0..380e6121 100644
--- a/src/main/java/org/distorted/tutorial/TutorialActivity.java
+++ b/src/main/java/org/distorted/tutorial/TutorialActivity.java
@@ -33,6 +33,7 @@ import androidx.appcompat.app.AppCompatActivity;
 import com.google.firebase.analytics.FirebaseAnalytics;
 
 import org.distorted.dialogs.RubikDialogError;
+import org.distorted.library.main.DistortedLibrary;
 import org.distorted.main.R;
 import org.distorted.objects.ObjectList;
 import org.distorted.objects.TwistyObject;
@@ -115,7 +116,7 @@ public class TutorialActivity extends AppCompatActivity
       {
       super.onAttachedToWindow();
 
-      final float RATIO = 0.10f;
+      final float RATIO = 0.30f;
       float width = getScreenWidthInPixels();
       LinearLayout layout = findViewById(R.id.rightBar);
       ViewGroup.LayoutParams params = layout.getLayoutParams();
@@ -155,6 +156,7 @@ public class TutorialActivity extends AppCompatActivity
       super.onPause();
       TutorialSurfaceView view = findViewById(R.id.tutorialSurfaceView);
       view.onPause();
+      DistortedLibrary.onPause();
       }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/tutorial/TutorialRenderer.java b/src/main/java/org/distorted/tutorial/TutorialRenderer.java
index c2a2424f..41d15a7b 100644
--- a/src/main/java/org/distorted/tutorial/TutorialRenderer.java
+++ b/src/main/java/org/distorted/tutorial/TutorialRenderer.java
@@ -21,6 +21,11 @@ package org.distorted.tutorial;
 
 import android.opengl.GLSurfaceView;
 
+import org.distorted.effects.BaseEffect;
+import org.distorted.library.effect.EffectType;
+import org.distorted.library.effect.VertexEffectQuaternion;
+import org.distorted.library.effect.VertexEffectRotate;
+import org.distorted.library.main.DistortedLibrary;
 import org.distorted.library.main.DistortedScreen;
 
 import javax.microedition.khronos.egl.EGLConfig;
@@ -28,7 +33,7 @@ import javax.microedition.khronos.opengles.GL10;
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-public class TutorialRenderer implements GLSurfaceView.Renderer
+public class TutorialRenderer implements GLSurfaceView.Renderer, DistortedLibrary.ExceptionListener
 {
    private TutorialSurfaceView mView;
    private DistortedScreen mScreen;
@@ -69,9 +74,21 @@ public class TutorialRenderer implements GLSurfaceView.Renderer
    @Override
    public void onSurfaceCreated(GL10 glUnused, EGLConfig config)
       {
+      DistortedLibrary.setMax(EffectType.VERTEX,25);    // 24 Cube Quats + Rotate
+      VertexEffectRotate.enable();
+      VertexEffectQuaternion.enable();
+      BaseEffect.Type.enableEffects();
 
+      DistortedLibrary.onCreate(mView.getContext(),this,1);
       }
 
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+   public void distortedException(Exception ex)
+     {
+     android.util.Log.e("TUTORIAL", "unexpected exception: "+ex.getMessage() );
+     }
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
    DistortedScreen getScreen()
