commit 09784afd0b12938a215edb20147855ec756f3fa4
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Wed Feb 17 22:57:34 2021 +0100

    Improve the test - now it will hopefully not crash on slow devices.

diff --git a/release/output-metadata.json b/release/output-metadata.json
index baa5f238..947a950e 100644
--- a/release/output-metadata.json
+++ b/release/output-metadata.json
@@ -10,8 +10,8 @@
     {
       "type": "SINGLE",
       "filters": [],
-      "versionCode": 26,
-      "versionName": "1.6.3",
+      "versionCode": 27,
+      "versionName": "1.6.4",
       "outputFile": "distorted-cube-release.apk"
     }
   ]
diff --git a/src/main/java/org/distorted/main/RubikActivity.java b/src/main/java/org/distorted/main/RubikActivity.java
index 11dc5cd1..a8929d0e 100644
--- a/src/main/java/org/distorted/main/RubikActivity.java
+++ b/src/main/java/org/distorted/main/RubikActivity.java
@@ -55,7 +55,7 @@ import java.util.Locale;
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-public class RubikActivity extends AppCompatActivity implements RubikDebug.ActivityChanger, EffectListener
+public class RubikActivity extends AppCompatActivity implements RubikDebug.ActivityChanger, RubikPreRender.ActionFinishedListener
 {
     public static final float PADDING             = 0.01f;
     public static final float MARGIN              = 0.004f;
@@ -267,9 +267,7 @@ public class RubikActivity extends AppCompatActivity implements RubikDebug.Activ
         scores.setCountry(this);
         }
 
-RubikPreRender pre = view.getPreRender();
-pre.destroyNewObject();
-RubikDebug.addDebug("RubikActivity: onResume");
+      RubikDebug.addDebug("RubikActivity: onResume");
 
       boolean success = false;
       RubikStatePlay play = (RubikStatePlay) StateList.PLAY.getStateClass();
@@ -623,12 +621,12 @@ RubikDebug.addDebug("RubikActivity: onResume");
 
     int angle = 360 / object.getBasicAngle();
 
-    object.addNewRotation(1,1,angle,1000,this);
+    pre.addRotation(this,1,1,angle,1000);
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  public void effectFinished(final long effectID)
+  public void onActionFinished(final long effectID)
     {
     RubikDebug debug = RubikDebug.getInstance();
     debug.onReturned();
diff --git a/src/main/java/org/distorted/main/RubikDebug.java b/src/main/java/org/distorted/main/RubikDebug.java
index 3f315681..615eed17 100644
--- a/src/main/java/org/distorted/main/RubikDebug.java
+++ b/src/main/java/org/distorted/main/RubikDebug.java
@@ -28,7 +28,9 @@ import java.util.TimerTask;
 
 public class RubikDebug
   {
-  private static final int CHECK_INTERVAL = 1000;
+  private static final int LOOP_INTERVAL = 500;
+  private static final int LOOP_NUM1     = 5;
+  private static final int LOOP_NUM2     = 9;
 
   private String mDebug;
   private long mResumeTime;
@@ -66,11 +68,11 @@ public class RubikDebug
 
   private void check(int loopNum)
     {
-    if( loopNum==1 )
+    if( loopNum==LOOP_NUM1 )
       {
       mChanger.assign();
       }
-    if( loopNum==4 )
+    if( loopNum==LOOP_NUM2 )
       {
       if( mNumReturned!=1 )
         {
@@ -122,14 +124,14 @@ public class RubikDebug
       @Override
       public void run()
         {
-        if( mLoopNum==5 )
+        if( mLoopNum==LOOP_NUM2 )
           {
           timer.cancel();
           }
 
         check(mLoopNum++);
         }
-      } ,CHECK_INTERVAL, CHECK_INTERVAL);
+      } ,LOOP_INTERVAL, LOOP_INTERVAL);
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
