commit 21a1bb5d8701304ad9982b170c83fd4012bf6f83
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Wed Apr 5 01:39:54 2023 +0200

    Move the SharedPreferences to the OSInterface

diff --git a/src/main/java/org/distorted/bandaged/BandagedCreatorActivity.java b/src/main/java/org/distorted/bandaged/BandagedCreatorActivity.java
index 51351d62..2aeb3873 100644
--- a/src/main/java/org/distorted/bandaged/BandagedCreatorActivity.java
+++ b/src/main/java/org/distorted/bandaged/BandagedCreatorActivity.java
@@ -36,6 +36,7 @@ import org.distorted.main.RubikActivity;
 import org.distorted.objectlib.main.InitAssets;
 import org.distorted.objectlib.main.TwistyJson;
 import org.distorted.objectlib.main.TwistyObject;
+import org.distorted.os.OSInterface;
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
@@ -286,7 +287,8 @@ public class BandagedCreatorActivity extends AppCompatActivity
           {
           SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
           SharedPreferences.Editor editor = preferences.edit();
-          object.removePreferences(editor);
+          OSInterface os = new OSInterface(this);
+          object.removePreferences(os);
           editor.apply();
           }
         }
diff --git a/src/main/java/org/distorted/bandaged/BandagedPlayScreen.java b/src/main/java/org/distorted/bandaged/BandagedPlayScreen.java
index b735d647..cd4cf5cb 100644
--- a/src/main/java/org/distorted/bandaged/BandagedPlayScreen.java
+++ b/src/main/java/org/distorted/bandaged/BandagedPlayScreen.java
@@ -20,6 +20,7 @@ import org.distorted.helpers.TransparentImageButton;
 import org.distorted.main.R;
 import org.distorted.objectlib.effects.BaseEffect;
 import org.distorted.objectlib.main.ObjectControl;
+import org.distorted.os.OSInterface;
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
@@ -175,7 +176,9 @@ public class BandagedPlayScreen
     {
     mMovesController.savePreferences(mKey,editor);
     ObjectControl control = act.getControl();
-    control.savePreferences(editor);
+    OSInterface os = (OSInterface)control.getOS();
+    os.setEditor(editor);
+    control.savePreferences();
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -184,6 +187,8 @@ public class BandagedPlayScreen
     {
     mMovesController.restorePreferences(act,mKey,preferences);
     ObjectControl control = act.getControl();
-    control.restorePreferences(preferences);
+    OSInterface os = (OSInterface)control.getOS();
+    os.setPreferences(preferences);
+    control.restorePreferences();
     }
 }
diff --git a/src/main/java/org/distorted/bandaged/BandagedPlayView.java b/src/main/java/org/distorted/bandaged/BandagedPlayView.java
index b11b43b9..31aa66f4 100644
--- a/src/main/java/org/distorted/bandaged/BandagedPlayView.java
+++ b/src/main/java/org/distorted/bandaged/BandagedPlayView.java
@@ -20,6 +20,7 @@ import android.view.MotionEvent;
 
 import com.google.firebase.crashlytics.FirebaseCrashlytics;
 
+import org.distorted.objectlib.helpers.OperatingSystemInterface;
 import org.distorted.objectlib.main.ObjectControl;
 import org.distorted.objectlib.main.TwistyObjectNode;
 import org.distorted.os.OSInterface;
diff --git a/src/main/java/org/distorted/main/RubikActivity.java b/src/main/java/org/distorted/main/RubikActivity.java
index 2de2787b..b0e60d6a 100644
--- a/src/main/java/org/distorted/main/RubikActivity.java
+++ b/src/main/java/org/distorted/main/RubikActivity.java
@@ -350,7 +350,9 @@ public class RubikActivity extends AppCompatActivity
       RubikObjectList.saveMeshState(editor);
       ScreenList.savePreferences(editor);
       RubikSurfaceView view = findViewById(R.id.rubikSurfaceView);
-      view.getObjectControl().savePreferences(editor);
+      OSInterface os = view.getInterface();
+      os.setEditor(editor);
+      view.getObjectControl().savePreferences();
 
       ScreenList curr = ScreenList.getCurrentScreen();
 
@@ -427,7 +429,9 @@ public class RubikActivity extends AppCompatActivity
       if( !mOldVersion.equals("") )
         {
         RubikSurfaceView view = findViewById(R.id.rubikSurfaceView);
-        view.getObjectControl().restorePreferences(preferences);
+        OSInterface os = view.getInterface();
+        os.setPreferences(preferences);
+        view.getObjectControl().restorePreferences();
         }
       }
 
