commit ee5c2ae1984481eca7316da273e9e19ca054dfbd
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Thu May 9 00:32:00 2019 +0100

    Remember the quaternion.

diff --git a/src/main/java/org/distorted/magic/RubikActivity.java b/src/main/java/org/distorted/magic/RubikActivity.java
index d157e46d..98541bac 100644
--- a/src/main/java/org/distorted/magic/RubikActivity.java
+++ b/src/main/java/org/distorted/magic/RubikActivity.java
@@ -37,7 +37,7 @@ public class RubikActivity extends Activity
     private static final int SMALLEST_SIZE = 2;
     private static final int[] button_ids  = {R.id.rubikSize2, R.id.rubikSize3, R.id.rubikSize4};
 
-    static int mSize = DEFAULT_SIZE;
+    private static int mSize = DEFAULT_SIZE;
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
diff --git a/src/main/java/org/distorted/magic/RubikRenderer.java b/src/main/java/org/distorted/magic/RubikRenderer.java
index c3023423..40048c78 100644
--- a/src/main/java/org/distorted/magic/RubikRenderer.java
+++ b/src/main/java/org/distorted/magic/RubikRenderer.java
@@ -72,9 +72,9 @@ public class RubikRenderer implements GLSurfaceView.Renderer, EffectListener
       mNewCube = null;
 
       mTempCurrent     = new Static4D(0,0,0,1);
-      mTempAccumulated = initializeQuat();
+      mTempAccumulated = new Static4D(0,0,0,1);
       mQuatCurrent     = new Static4D(0,0,0,1);
-      mQuatAccumulated = initializeQuat();
+      mQuatAccumulated = new Static4D(0,0,0,1);
 
       mScreenWidth = mScreenHeight = 0;
 
@@ -360,14 +360,6 @@ public class RubikRenderer implements GLSurfaceView.Renderer, EffectListener
      return mNewCube;
      }
 
-///////////////////////////////////////////////////////////////////////////////////////////////////
-// Initial rotation of the cube. Something semi-random that looks good.
-
-   Static4D initializeQuat()
-     {
-     return new Static4D(-0.25189602f,0.3546389f,0.009657208f,0.90038127f);
-     }
-
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
    void setQuatCurrent(Static4D current)
diff --git a/src/main/java/org/distorted/magic/RubikSurfaceView.java b/src/main/java/org/distorted/magic/RubikSurfaceView.java
index b96141fe..f89a2acc 100644
--- a/src/main/java/org/distorted/magic/RubikSurfaceView.java
+++ b/src/main/java/org/distorted/magic/RubikSurfaceView.java
@@ -55,7 +55,6 @@ class RubikSurfaceView extends GLSurfaceView
 
     private boolean mDragging, mBeginningRotation, mContinuingRotation;
     private int mX, mY;
-    private Static4D mQuatCurrent, mQuatAccumulated;
     private int mRotationVect;
     private RubikRenderer mRenderer;
 
@@ -64,6 +63,9 @@ class RubikSurfaceView extends GLSurfaceView
     private int mScreenWidth, mScreenHeight, mScreenMin;
     private float mCameraDistance;
 
+    private static Static4D mQuatCurrent    =new Static4D(0,0,0,1);
+    private static Static4D mQuatAccumulated=new Static4D(-0.25189602f,0.3546389f,0.009657208f,0.90038127f);
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
     public RubikSurfaceView(Context context, AttributeSet attrs)
@@ -83,9 +85,7 @@ class RubikSurfaceView extends GLSurfaceView
         mScreenWidth = mScreenHeight = mScreenMin = 0;
 
         mRenderer = new RubikRenderer(this);
-
-        mQuatCurrent     = new Static4D(0,0,0,1);
-        mQuatAccumulated = mRenderer.initializeQuat();
+        mRenderer.setQuatAccumulated(mQuatAccumulated);
 
         final ActivityManager activityManager     = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
         final ConfigurationInfo configurationInfo = activityManager.getDeviceConfigurationInfo();
