commit e91771e409fb398fde964c593b160da66cccac95
Author: leszek <leszek@koltunski.pl>
Date:   Wed Mar 6 15:06:43 2024 +0100

    progress with configurable stickers

diff --git a/src/main/java/org/distorted/config/ConfigActivity.java b/src/main/java/org/distorted/config/ConfigActivity.java
index 9d85c5e1..d9f91013 100644
--- a/src/main/java/org/distorted/config/ConfigActivity.java
+++ b/src/main/java/org/distorted/config/ConfigActivity.java
@@ -164,7 +164,20 @@ public class ConfigActivity extends AppCompatActivity
       }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
-    
+
+    void repaintPuzzleFace(int cubit, int face)
+      {
+      if( mPane!=null )
+        {
+        int color = mPane.getCurrentColor();
+        ConfigSurfaceView view = findViewById(R.id.configSurfaceView);
+        ObjectControl control = view.getObjectControl();
+        control.repaintPuzzleFace(cubit,face,color);
+        }
+      }
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
     @Override
     protected void onDestroy() 
       {
diff --git a/src/main/java/org/distorted/config/ConfigObjectLibInterface.java b/src/main/java/org/distorted/config/ConfigObjectLibInterface.java
index ab277951..29a9dc56 100644
--- a/src/main/java/org/distorted/config/ConfigObjectLibInterface.java
+++ b/src/main/java/org/distorted/config/ConfigObjectLibInterface.java
@@ -15,16 +15,24 @@ import org.distorted.library.message.EffectMessageSender;
 import org.distorted.main.BuildConfig;
 import org.distorted.objectlib.helpers.BlockController;
 import org.distorted.objectlib.helpers.ObjectLibInterface;
-import org.distorted.objectlib.main.ObjectControl;
-import org.distorted.solvers.SolverMain;
-import org.distorted.solverui.ScreenList;
-import org.distorted.solverui.ScreenSolver;
-import org.distorted.solverui.SolverActivity;
+
+import java.lang.ref.WeakReference;
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
 public class ConfigObjectLibInterface implements ObjectLibInterface
 {
+  private final WeakReference<ConfigActivity> mAct;
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+  ConfigObjectLibInterface(ConfigActivity act)
+    {
+    mAct = new WeakReference<>(act);
+    }
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
   public void onWinEffectFinished(long startTime, long endTime, String debug, int scrambleNum) { }
   public void onScrambleEffectFinished() { }
   public void onBeginRotation() { }
@@ -132,11 +140,11 @@ public class ConfigObjectLibInterface implements ObjectLibInterface
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
-// TODO
 
   public void onReplaceModeDown(int cubit, int face)
     {
-
+    ConfigActivity act = mAct.get();
+    act.repaintPuzzleFace(cubit,face);
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/config/ConfigSurfaceView.java b/src/main/java/org/distorted/config/ConfigSurfaceView.java
index eb2061e1..64ad0cf3 100644
--- a/src/main/java/org/distorted/config/ConfigSurfaceView.java
+++ b/src/main/java/org/distorted/config/ConfigSurfaceView.java
@@ -87,7 +87,7 @@ public class ConfigSurfaceView extends GLSurfaceView
       if(!isInEditMode())
         {
         ConfigActivity act = (ConfigActivity)context;
-        ConfigObjectLibInterface ref = new ConfigObjectLibInterface();
+        ConfigObjectLibInterface ref = new ConfigObjectLibInterface(act);
         mInterface = new OSInterface(act,ref);
         mObjectController = new ObjectControl(mInterface);
         mObjectController.setRotateOnCreation(true);
