commit 4893ad8a31c9d560ef6b549351410c3208c80720
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Wed Dec 8 13:46:48 2021 +0100

    Include the info about 'numFaces' of a puzzle in the jsons.
    Based on this, and the recently introduced 'DEFAULT_ROTs' to the basic Shape classes, rotate each object in the Config so it looks attractive.

diff --git a/src/main/java/org/distorted/config/ConfigActivity.java b/src/main/java/org/distorted/config/ConfigActivity.java
index ea4e681b..ba507c24 100644
--- a/src/main/java/org/distorted/config/ConfigActivity.java
+++ b/src/main/java/org/distorted/config/ConfigActivity.java
@@ -35,8 +35,13 @@ import org.distorted.dialogs.RubikDialogError;
 import org.distorted.dmesh.ObjectMesh;
 import org.distorted.jsons.ObjectJson;
 import org.distorted.library.main.DistortedLibrary;
+import org.distorted.library.type.Static4D;
 import org.distorted.main.R;
 import org.distorted.objectlib.main.ObjectControl;
+import org.distorted.objectlib.main.ShapeDodecahedron;
+import org.distorted.objectlib.main.ShapeHexahedron;
+import org.distorted.objectlib.main.ShapeOctahedron;
+import org.distorted.objectlib.main.ShapeTetrahedron;
 import org.distorted.objects.RubikObject;
 import org.distorted.objects.RubikObjectList;
 
@@ -213,6 +218,32 @@ public class ConfigActivity extends AppCompatActivity
       errDiag.show(getSupportFragmentManager(), null);
       }
 
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+    private Static4D getDefaultRotation(int numFaces)
+      {
+      switch(numFaces)
+        {
+        case  4: return ShapeTetrahedron.DEFAULT_ROT;
+        case  6: return ShapeHexahedron.DEFAULT_ROT;
+        case  8: return ShapeOctahedron.DEFAULT_ROT;
+        case 12: return ShapeDodecahedron.DEFAULT_ROT;
+        }
+
+      return null;
+      }
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+    void rotateObject(int numFaces)
+      {
+      ConfigSurfaceView view = findViewById(R.id.configSurfaceView);
+      ObjectControl control = view.getObjectControl();
+      Static4D rot = getDefaultRotation(numFaces);
+      
+      if( rot!=null ) control.rotateNow(rot);
+      }
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
     private void changeIfDifferent(RubikObject object,ObjectControl control)
diff --git a/src/main/java/org/distorted/config/ConfigScreenPane.java b/src/main/java/org/distorted/config/ConfigScreenPane.java
index 07fd984b..f3b189ab 100644
--- a/src/main/java/org/distorted/config/ConfigScreenPane.java
+++ b/src/main/java/org/distorted/config/ConfigScreenPane.java
@@ -110,6 +110,9 @@ public class ConfigScreenPane
     mProgramatic = true;
     button.setChecked(true);
     mProgramatic = false;
+
+    int numFaces = mReader.getNumFaces();
+    act.rotateObject(numFaces);
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
