commit fb8a0bcde7d0a0765e51828d66854866ace205fd
Author: leszek <leszek@koltunski.pl>
Date:   Sun Jan 21 23:10:50 2024 +0100

    bugfix in SolverActivity - do not restore scramble state of an object there!

diff --git a/src/main/java/org/distorted/solverui/SolverActivity.java b/src/main/java/org/distorted/solverui/SolverActivity.java
index f11f39f6..a0cde4bd 100644
--- a/src/main/java/org/distorted/solverui/SolverActivity.java
+++ b/src/main/java/org/distorted/solverui/SolverActivity.java
@@ -51,7 +51,6 @@ public class SolverActivity extends AppCompatActivity
     private static final int ACTIVITY_NUMBER = 4;
     private static final float RATIO_INSET= 0.09f;
 
-    private boolean mJustStarted;
     private static int mScreenWidth, mScreenHeight;
     private int mCurrentApiVersion;
     private int mHeightUpperBar;
@@ -69,7 +68,6 @@ public class SolverActivity extends AppCompatActivity
       setContentView(R.layout.solver);
       hideNavigationBar();
 
-      mJustStarted = true;
       Bundle b = getIntent().getExtras();
       mObjectOrdinal = b!=null ? b.getInt("obj") : 0;
       mSolverOrdinal = ImplementedSolversList.getSolverOrdinal(mObjectOrdinal);
@@ -197,7 +195,7 @@ public class SolverActivity extends AppCompatActivity
       createObject();
 
       SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
-      restorePreferences(preferences,mJustStarted);
+      restorePreferences(preferences);
       ScreenList.setScreen(this);
       }
 
@@ -222,12 +220,7 @@ public class SolverActivity extends AppCompatActivity
         ScreenList.getScreen(i).getScreenClass().savePreferences(editor);
         }
 
-      RubikObjectList.savePreferences(editor);
       ScreenList.savePreferences(editor);
-      SolverSurfaceView view = findViewById(R.id.solverSurfaceView);
-      OSInterface os = view.getInterface();
-      os.setEditor(editor);
-      view.getObjectControl().savePreferences();
 
       boolean success = editor.commit();
       if( !success ) android.util.Log.e("D", "Failed to save preferences");
@@ -235,21 +228,14 @@ public class SolverActivity extends AppCompatActivity
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-    private void restorePreferences(SharedPreferences preferences, boolean justStarted)
+    private void restorePreferences(SharedPreferences preferences)
       {
-      RubikObjectList.restorePreferences(this,preferences,justStarted);
-
-      for (int i=0; i<ScreenList.LENGTH; i++)
+      for( int i=0; i<ScreenList.LENGTH; i++ )
         {
         ScreenList.getScreen(i).getScreenClass().restorePreferences(preferences);
         }
 
       ScreenList.restorePreferences(preferences);
-
-      SolverSurfaceView view = findViewById(R.id.solverSurfaceView);
-      OSInterface os = view.getInterface();
-      os.setPreferences(preferences);
-      view.getObjectControl().restorePreferences();
       }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -321,14 +307,12 @@ public class SolverActivity extends AppCompatActivity
       SolverSurfaceView view = findViewById(R.id.solverSurfaceView);
       ObjectControl control = view.getObjectControl();
       RubikObject object = RubikObjectList.getObject(mObjectOrdinal);
-      int iconMode  = TwistyObject.MODE_NORM;
       InputStream jsonStream = object==null ? null : object.getObjectStream(this);
       InputStream meshStream = object==null ? null : object.getMeshStream(this);
       String name = object==null ? "NULL" : object.getUpperName();
       OSInterface os = view.getInterface();
       InitAssets asset = new InitAssets(jsonStream,meshStream,os);
-
-      control.changeIfDifferent(mObjectOrdinal,name,iconMode,asset);
+      control.changeIfDifferent(mObjectOrdinal,name,TwistyObject.MODE_NORM,asset);
       }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
