commit 408d4676f6a541aa8529cfdf662cc7c35961c7c9
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Wed Jan 22 13:45:12 2020 +0000

    RubikCube: small improvements.

diff --git a/src/main/java/org/distorted/magic/RubikRenderer.java b/src/main/java/org/distorted/magic/RubikRenderer.java
index be8ad10a..110efcde 100644
--- a/src/main/java/org/distorted/magic/RubikRenderer.java
+++ b/src/main/java/org/distorted/magic/RubikRenderer.java
@@ -47,7 +47,8 @@ public class RubikRenderer implements GLSurfaceView.Renderer, EffectListener
     private int mNextCubeSize, mScrambleCubeNum;
     private long mRotationFinishedID;
     private long[] mEffectID;
-    private boolean mFinishRotation, mRemoveRotation, mFinishDragCurrent, mFinishDragAccumulated, mSolveCube, mScrambleCube;
+    private boolean mFinishRotation, mRemoveRotation, mFinishDragCurrent, mFinishDragAccumulated;
+    private boolean mSizeChangeCube, mSolveCube, mScrambleCube;
     private boolean mCanRotate, mCanDrag, mCanUI;
     private RubikCube mOldCube, mNewCube;
     private int mScreenWidth, mScreenHeight;
@@ -71,6 +72,7 @@ public class RubikRenderer implements GLSurfaceView.Renderer, EffectListener
       mRemoveRotation        = false;
       mFinishDragCurrent     = false;
       mFinishDragAccumulated = false;
+      mSizeChangeCube        = false;
       mSolveCube             = false;
       mScrambleCube          = false;
 
@@ -119,12 +121,12 @@ public class RubikRenderer implements GLSurfaceView.Renderer, EffectListener
         mCanRotate = true;
         }
 
-      if( mNextCubeSize!=0 )
+      if( mSizeChangeCube )
         {
+        mSizeChangeCube = false;
+        mCanDrag        = false;
+        mCanRotate      = false;
         createCubeNow(mNextCubeSize);
-        mCanDrag   = false;
-        mCanRotate = false;
-        mNextCubeSize = 0;
         doEffectNow(0);
         }
 
@@ -231,6 +233,7 @@ public class RubikRenderer implements GLSurfaceView.Renderer, EffectListener
      {
      if( mCanDrag && mCanRotate && (mNewCube==null || newSize != mNewCube.getSize()) )
        {
+       mSizeChangeCube = true;
        mNextCubeSize = newSize;
        return true;
        }
@@ -291,6 +294,7 @@ public class RubikRenderer implements GLSurfaceView.Renderer, EffectListener
      }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
+// do all 'adjustable' effects (SizeChange, Solve, Scramble)
 
    private void doEffectNow(int index)
      {
@@ -298,6 +302,7 @@ public class RubikRenderer implements GLSurfaceView.Renderer, EffectListener
 
      if( mEffectID[index] == -1 )
        {
+       mCanUI     = true;
        mCanRotate = true;
        mCanDrag   = true;
        }
