commit d7e539d0ddc88660d27e11959d3aadd70d1db063
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Sat Sep 19 23:21:41 2020 +0100

    Progress with Play state.

diff --git a/src/main/java/org/distorted/scores/RubikScores.java b/src/main/java/org/distorted/scores/RubikScores.java
index fdcbfe6a..3e022a98 100644
--- a/src/main/java/org/distorted/scores/RubikScores.java
+++ b/src/main/java/org/distorted/scores/RubikScores.java
@@ -348,6 +348,20 @@ public class RubikScores
     if( mCountry.equals("do") ) mCountry = "dm";  // see above
     }
 
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+  public boolean isSolved(int object, int size, int level)
+    {
+    int maxsize = RubikObjectList.getObject(object).getSizes().length;
+
+    if( object>=0 && object<NUM_OBJECTS && size>=0 && size<maxsize && level>=0 && level<MAX_LEVEL )
+      {
+      return mRecords[object][size][level]<NO_RECORD;
+      }
+
+    return false;
+    }
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
   public long getRecord(int object, int size, int level)
diff --git a/src/main/java/org/distorted/states/RubikStatePlay.java b/src/main/java/org/distorted/states/RubikStatePlay.java
index 2d6e09fe..285bd0b9 100644
--- a/src/main/java/org/distorted/states/RubikStatePlay.java
+++ b/src/main/java/org/distorted/states/RubikStatePlay.java
@@ -40,6 +40,7 @@ import org.distorted.main.RubikActivity;
 import org.distorted.main.RubikPreRender;
 import org.distorted.objects.RubikObject;
 import org.distorted.objects.RubikObjectList;
+import org.distorted.scores.RubikScores;
 
 import java.util.ArrayList;
 
@@ -595,6 +596,9 @@ public class RubikStatePlay extends RubikStateAbstract implements RubikPreRender
 
     mPlayLayout.removeAllViews();
 
+    int realSize= RubikObjectList.getSizeIndex(mObject,mSize);
+    RubikScores scores = RubikScores.getInstance();
+
     for(int i=0; i<maxLevel; i++)
       {
       final int but = i;
@@ -603,6 +607,9 @@ public class RubikStatePlay extends RubikStateAbstract implements RubikPreRender
       button.setText(levels[i]);
       button.setTextSize(TypedValue.COMPLEX_UNIT_PX, mMenuTextSize);
 
+      int icon = scores.isSolved(mObject, realSize, i) ? R.drawable.ui_solved : R.drawable.ui_notsolved;
+      button.setCompoundDrawablesWithIntrinsicBounds(icon,0,0,0);
+
       button.setOnClickListener( new View.OnClickListener()
         {
         @Override
diff --git a/src/main/res/drawable/ui_notsolved.png b/src/main/res/drawable/ui_notsolved.png
new file mode 100644
index 00000000..de1ef2b5
Binary files /dev/null and b/src/main/res/drawable/ui_notsolved.png differ
diff --git a/src/main/res/drawable/ui_solved.png b/src/main/res/drawable/ui_solved.png
new file mode 100644
index 00000000..5afb8aa3
Binary files /dev/null and b/src/main/res/drawable/ui_solved.png differ
diff --git a/src/main/res/layout/main.xml b/src/main/res/layout/main.xml
index 57cb2da6..348aad54 100644
--- a/src/main/res/layout/main.xml
+++ b/src/main/res/layout/main.xml
@@ -8,7 +8,7 @@
         android:id="@+id/upperBar"
         android:layout_width="fill_parent"
         android:layout_height="0dp"
-        android:layout_weight="0.1"
+        android:layout_weight="0.12"
         android:gravity="center"
         android:orientation="horizontal">
     </LinearLayout>
@@ -23,7 +23,7 @@
         android:id="@+id/lowerBar"
         android:layout_width="match_parent"
         android:layout_height="0dp"
-        android:layout_weight="0.1"
+        android:layout_weight="0.12"
         android:orientation="horizontal">
 
         <LinearLayout
