commit c6e27c65ced9a2714f61681192d1f4fb37bb42e6
Author: leszek <leszek@koltunski.pl>
Date:   Wed Mar 13 14:30:12 2024 +0100

    If an object is re-stickered so that there are less colors on its faces than originally, block submitting records.

diff --git a/src/main/java/org/distorted/playui/PlayLibInterface.java b/src/main/java/org/distorted/playui/PlayLibInterface.java
index a6b12068..67dff473 100644
--- a/src/main/java/org/distorted/playui/PlayLibInterface.java
+++ b/src/main/java/org/distorted/playui/PlayLibInterface.java
@@ -37,6 +37,7 @@ import org.distorted.library.message.EffectMessageSender;
 import org.distorted.objectlib.helpers.BlockController;
 import org.distorted.objectlib.helpers.ObjectLibInterface;
 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.main.BuildConfig;
@@ -303,10 +304,24 @@ public class PlayLibInterface implements ObjectLibInterface
       switch(mIsNewRecord)
         {
         case RECORD_FIRST  :
-        case RECORD_NEW    : Bundle byes = createDialogBundle();
-                             RubikDialogNewRecord dyes = new RubikDialogNewRecord();
-                             dyes.setArguments(byes);
-                             dyes.show( act.getSupportFragmentManager(), RubikDialogNewRecord.getDialogTag() );
+        case RECORD_NEW    : ObjectControl control = act.getControl();
+                             TwistyObject obj = control.getObject();
+                             boolean submittable = obj.isSubmittable();
+
+                             Bundle byes = createDialogBundle();
+
+                             if( submittable )
+                               {
+                               RubikDialogNewRecord dyes = new RubikDialogNewRecord();
+                               dyes.setArguments(byes);
+                               dyes.show( act.getSupportFragmentManager(), RubikDialogNewRecord.getDialogTag() );
+                               }
+                             else
+                               {
+                               RubikDialogSolved dno = new RubikDialogSolved();
+                               dno.setArguments(byes);
+                               dno.show( act.getSupportFragmentManager(), RubikDialogSolved.getDialogTag() );
+                               }
                              break;
         case RECORD_NOT_NEW: Bundle bno = createDialogBundle();
                              RubikDialogSolved dno = new RubikDialogSolved();
