commit d36d8517483ca04ca8533ff4e903fbf9ce6b425a
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Mon Jan 31 00:06:28 2022 +0100

    Refactor RubikObject in preparation for creating RubikObjects from DownloadedObjects.

diff --git a/src/main/java/org/distorted/config/ConfigActivity.java b/src/main/java/org/distorted/config/ConfigActivity.java
index 393ed944..9896c327 100644
--- a/src/main/java/org/distorted/config/ConfigActivity.java
+++ b/src/main/java/org/distorted/config/ConfigActivity.java
@@ -180,7 +180,7 @@ public class ConfigActivity extends AppCompatActivity
       if( mObjectOrdinal>=0 && mObjectOrdinal< RubikObjectList.getNumObjects() )
         {
         RubikObject object = RubikObjectList.getObject(mObjectOrdinal);
-        changeIfDifferent(object,view.getObjectControl());
+        changeIfDifferent(object,mObjectOrdinal,view.getObjectControl());
         }
       }
 
@@ -203,11 +203,10 @@ public class ConfigActivity extends AppCompatActivity
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-    private void changeIfDifferent(RubikObject object,ObjectControl control)
+    private void changeIfDifferent(RubikObject object,int ordinal,ObjectControl control)
       {
       if( object!=null )
         {
-        int ordinal            = object.getOrdinal();
         int meshState          = object.getMeshState();
         InputStream jsonStream = object.getObjectStream(this);
         InputStream meshStream = object.getMeshStream(this);
@@ -226,19 +225,18 @@ public class ConfigActivity extends AppCompatActivity
       RubikObject object = RubikObjectList.getObject(ordinal);
       ConfigSurfaceView view = findViewById(R.id.configSurfaceView);
       ObjectControl control = view.getObjectControl();
-      changeIfDifferent(object,control);
+      changeIfDifferent(object,ordinal,control);
       }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-    public void changeMeshState(RubikObject object)
+    public void changeMeshState(RubikObject object, int ordinal)
       {
       if( object!=null )
         {
         ConfigSurfaceView view = findViewById(R.id.configSurfaceView);
         ObjectControl control = view.getObjectControl();
 
-        int ordinal            = object.getOrdinal();
         int meshState          = object.getMeshState();
         InputStream jsonStream = object.getObjectStream(this);
         InputStream meshStream = object.getMeshStream(this);
diff --git a/src/main/java/org/distorted/config/ConfigScreenPane.java b/src/main/java/org/distorted/config/ConfigScreenPane.java
index c9ea489e..dc7ac784 100644
--- a/src/main/java/org/distorted/config/ConfigScreenPane.java
+++ b/src/main/java/org/distorted/config/ConfigScreenPane.java
@@ -63,7 +63,7 @@ public class ConfigScreenPane
     {
     RubikObjectList.setMeshState(mObjectOrdinal,meshState);
     RubikObject object = RubikObjectList.getObject(mObjectOrdinal);
-    act.changeMeshState(object);
+    act.changeMeshState(object,mObjectOrdinal);
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/objects/RubikObject.java b/src/main/java/org/distorted/objects/RubikObject.java
index badeecfa..3f127280 100644
--- a/src/main/java/org/distorted/objects/RubikObject.java
+++ b/src/main/java/org/distorted/objects/RubikObject.java
@@ -40,7 +40,6 @@ public class RubikObject
 {
   private final String mName;
   private final int mNumScramble;
-  private final int mOrdinal;
   private final int mJsonID, mMeshID, mExtrasID;
   private final int mIconID;
   private final String[][] mPatterns;
@@ -53,16 +52,17 @@ public class RubikObject
 
   RubikObject(ObjectType type)
     {
+    int ordinal= type.ordinal();
+
     mName        = type.name();
     mNumScramble = type.getNumScramble();
-    mOrdinal     = type.ordinal();
 
     mIconID      = type.getIconID();
-    mJsonID      = ObjectJson.getObjectJsonID(mOrdinal);
-    mMeshID      = ObjectMesh.getMeshID(mOrdinal);
-    mExtrasID    = ObjectJson.getExtrasJsonID(mOrdinal);
+    mJsonID      = ObjectJson.getObjectJsonID(ordinal);
+    mMeshID      = ObjectMesh.getMeshID(ordinal);
+    mExtrasID    = ObjectJson.getExtrasJsonID(ordinal);
 
-    int patternOrdinal  = RubikPatternList.getOrdinal(mOrdinal);
+    int patternOrdinal  = RubikPatternList.getOrdinal(ordinal);
     mPatterns = RubikPatternList.getPatterns(patternOrdinal);
 
     mMeshState = MESH_NICE;
@@ -76,23 +76,20 @@ public class RubikObject
 
   RubikObject(RubikObjectList.DownloadedObject object)
     {
-    mName = object.shortName;
+    mName          = object.shortName;
+    mMeshID        = 0;
+    mPatterns      = null;
+    mMeshState     = MESH_NICE;
+    mExtrasOrdinal = -1;
 
-    mNumScramble = type.getNumScramble();
-    mOrdinal     = type.ordinal();
 
+
+    mNumScramble = type.getNumScramble();
     mObjectMinor = ?
     mExtrasMinor = ?
-
     mIconID      = type.getIconID();
     mJsonID      = ObjectJson.getObjectJsonID(mOrdinal);
     mExtrasID    = ObjectJson.getExtrasJsonID(mOrdinal);
-
-    mMeshID   = 0;
-    mPatterns = null;
-
-    mMeshState = MESH_NICE;
-    mExtrasOrdinal = -1;
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -145,13 +142,6 @@ public class RubikObject
     return mNumScramble;
     }
 
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-  public int getOrdinal()
-    {
-    return mOrdinal;
-    }
-
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
   public void setIconTo(ImageButton button)
