commit 5bfc1b497ed7675a8844fc7815d5f2c16df01350
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Thu Feb 20 13:28:08 2020 +0000

    Progress with saving Cube state

diff --git a/src/main/java/org/distorted/magic/RubikRenderer.java b/src/main/java/org/distorted/magic/RubikRenderer.java
index e5d0b12f..2cf94582 100644
--- a/src/main/java/org/distorted/magic/RubikRenderer.java
+++ b/src/main/java/org/distorted/magic/RubikRenderer.java
@@ -58,6 +58,7 @@ public class RubikRenderer implements GLSurfaceView.Renderer, EffectListener
     private RubikCube mOldCube, mNewCube;
     private int mScreenWidth, mScreenHeight;
     private MeshFlat mMesh;
+    private SharedPreferences mPreferences;
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
@@ -97,6 +98,8 @@ public class RubikRenderer implements GLSurfaceView.Renderer, EffectListener
 
    private void createCubeNow(int newSize)
      {
+     boolean firstTime = (mOldCube==null && mNewCube==null);
+
      if( mOldCube!=null ) mOldCube.releaseResources();
      mOldCube = mNewCube;
 
@@ -105,6 +108,7 @@ public class RubikRenderer implements GLSurfaceView.Renderer, EffectListener
 
      mNewCube = new RubikCube(newSize, mView.getQuatCurrent(), mView.getQuatAccumulated(), texture, mMesh, effects);
      mNewCube.createTexture();
+     if( firstTime ) mNewCube.restorePreferences(mPreferences);
 
      if( mScreenWidth!=0 )
        {
@@ -139,18 +143,14 @@ public class RubikRenderer implements GLSurfaceView.Renderer, EffectListener
 
    void savePreferences(SharedPreferences.Editor editor)
      {
-     android.util.Log.e("renderer", "saving prefs");
-
-     //editor.putInt("state", mCurrentState.ordinal() );
+     mNewCube.savePreferences(editor);
      }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
    void restorePreferences(SharedPreferences preferences)
      {
-     android.util.Log.e("renderer", "restoring prefs");
-
-     //int stateOrdinal = preferences.getInt("state", RubikState.MAIN.ordinal() );
+     mPreferences = preferences;
      }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/object/RubikCube.java b/src/main/java/org/distorted/object/RubikCube.java
index b1b82722..f4c7c533 100644
--- a/src/main/java/org/distorted/object/RubikCube.java
+++ b/src/main/java/org/distorted/object/RubikCube.java
@@ -19,6 +19,7 @@
 
 package org.distorted.object;
 
+import android.content.SharedPreferences;
 import android.graphics.Bitmap;
 import android.graphics.Canvas;
 import android.graphics.Paint;
@@ -371,6 +372,20 @@ public class RubikCube extends DistortedNode
       return mQuatAccumulated;
       }
 
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+   public void savePreferences(SharedPreferences.Editor editor)
+     {
+     android.util.Log.e("cube", "saving Preferences");
+     }
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+   public void restorePreferences(SharedPreferences preferences)
+     {
+     android.util.Log.e("cube", "restoring Preferences");
+     }
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
     public long finishRotationNow(EffectListener listener)
