commit ae77f661d7b5fe80e8a03e21fd0f3358b4bbc64e
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Sat Oct 16 12:07:27 2021 +0200

    Correct the 'solved' icons in the Play popup.

diff --git a/src/main/java/org/distorted/main/RubikObjectLibInterface.java b/src/main/java/org/distorted/main/RubikObjectLibInterface.java
index 905ebef6..360424ac 100644
--- a/src/main/java/org/distorted/main/RubikObjectLibInterface.java
+++ b/src/main/java/org/distorted/main/RubikObjectLibInterface.java
@@ -302,6 +302,8 @@ public class RubikObjectLibInterface implements ObjectLibInterface
       else
         {
         mIsNewRecord = true;
+        RubikScreenPlay play= (RubikScreenPlay) ScreenList.PLAY.getScreenClass();
+        play.adjustSolvedIcons();
         }
       }
     }
diff --git a/src/main/java/org/distorted/screens/RubikScreenPlay.java b/src/main/java/org/distorted/screens/RubikScreenPlay.java
index cb420ff1..5083915c 100644
--- a/src/main/java/org/distorted/screens/RubikScreenPlay.java
+++ b/src/main/java/org/distorted/screens/RubikScreenPlay.java
@@ -497,6 +497,23 @@ public class RubikScreenPlay extends RubikScreenBase
       }
     }
 
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+  public void adjustSolvedIcons()
+    {
+    int dbLevel = getDBLevel(mObject);
+    int numLevel = Math.min(dbLevel, LEVELS_SHOWN);
+    RubikScores scores = RubikScores.getInstance();
+
+    for(int i=0; i<numLevel; i++)
+      {
+      int level = i<numLevel-1 ? i+1 : dbLevel;
+      Button button = (Button)mPlayLayout.getChildAt(i);
+      int icon = scores.isSolved(mObject.ordinal(), level-1) ? R.drawable.ui_solved : R.drawable.ui_notsolved;
+      button.setCompoundDrawablesWithIntrinsicBounds(icon,0,0,0);
+      }
+    }
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
   private void adjustLevels(final RubikActivity act)
diff --git a/src/main/java/org/distorted/screens/RubikScreenSolving.java b/src/main/java/org/distorted/screens/RubikScreenSolving.java
index 914c0f68..6b45bcbe 100644
--- a/src/main/java/org/distorted/screens/RubikScreenSolving.java
+++ b/src/main/java/org/distorted/screens/RubikScreenSolving.java
@@ -186,8 +186,8 @@ public class RubikScreenSolving extends RubikScreenBase
       mElapsed = System.currentTimeMillis()-mStartTime;
 
       RubikScreenPlay play = (RubikScreenPlay) ScreenList.PLAY.getScreenClass();
-      ObjectType object  = play.getObject();
-      int level   = play.getLevel();
+      ObjectType object = play.getObject();
+      int level = play.getLevel();
       boolean isNew = mScores.setRecord(object.ordinal(), level, mElapsed);
 
       return isNew ? mElapsed : -mElapsed;
