commit 8cf17ca7e3a82670bd550c48259d9675dc1517db
Author: leszek <leszek@koltunski.pl>
Date:   Mon Mar 11 00:32:42 2024 +0100

    Save the colors and sticker properties to Preferences.

diff --git a/src/main/java/org/distorted/config/ConfigActivity.java b/src/main/java/org/distorted/config/ConfigActivity.java
index 92df83d9..82d2128e 100644
--- a/src/main/java/org/distorted/config/ConfigActivity.java
+++ b/src/main/java/org/distorted/config/ConfigActivity.java
@@ -9,6 +9,7 @@
 
 package org.distorted.config;
 
+import android.content.SharedPreferences;
 import android.os.Build;
 import android.os.Bundle;
 import android.util.DisplayMetrics;
@@ -18,6 +19,7 @@ import android.view.WindowManager;
 import android.widget.LinearLayout;
 
 import androidx.appcompat.app.AppCompatActivity;
+import androidx.preference.PreferenceManager;
 
 import org.distorted.dialogs.RubikDialogError;
 import org.distorted.library.main.DistortedLibrary;
@@ -28,6 +30,7 @@ import org.distorted.objectlib.main.ObjectControl;
 import org.distorted.objectlib.main.TwistyObject;
 import org.distorted.objects.RubikObject;
 import org.distorted.objects.RubikObjectList;
+import org.distorted.os.OSInterface;
 
 import java.io.InputStream;
 
@@ -139,6 +142,7 @@ public class ConfigActivity extends AppCompatActivity
       super.onPause();
       ConfigSurfaceView view = findViewById(R.id.configSurfaceView);
       view.onPause();
+      savePreferences();
       DistortedLibrary.onPause(ACTIVITY_NUMBER);
       }
 
@@ -208,6 +212,21 @@ public class ConfigActivity extends AppCompatActivity
         }
       }
 
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+    private void savePreferences()
+      {
+      SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
+      SharedPreferences.Editor editor = preferences.edit();
+
+      ConfigSurfaceView view = findViewById(R.id.configSurfaceView);
+      OSInterface os = view.getInterface();
+      os.setEditor(editor);
+      view.getObjectControl().savePreferences();
+
+      editor.apply();
+      }
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 // PUBLIC API
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/config/ConfigSurfaceView.java b/src/main/java/org/distorted/config/ConfigSurfaceView.java
index 2f5e7cb1..e0835b58 100644
--- a/src/main/java/org/distorted/config/ConfigSurfaceView.java
+++ b/src/main/java/org/distorted/config/ConfigSurfaceView.java
@@ -65,6 +65,13 @@ public class ConfigSurfaceView extends GLSurfaceView
       return mRenderer;
       }
 
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+    OSInterface getInterface()
+      {
+      return mInterface;
+      }
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
     void resetObject()
