commit 8a47642f850d0c0189c4e5cec93c29ba0a479859
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Tue Jul 12 01:12:20 2022 +0200

    Progress with colors in the Menu Level Buttons.

diff --git a/src/main/java/org/distorted/screens/RubikScreenPlay.java b/src/main/java/org/distorted/screens/RubikScreenPlay.java
index 6697eb82..13ef6010 100644
--- a/src/main/java/org/distorted/screens/RubikScreenPlay.java
+++ b/src/main/java/org/distorted/screens/RubikScreenPlay.java
@@ -24,6 +24,8 @@ import java.lang.ref.WeakReference;
 import android.app.Activity;
 import android.content.Context;
 import android.content.SharedPreferences;
+import android.content.res.Resources;
+import android.graphics.drawable.Drawable;
 import android.os.Build;
 import android.os.Bundle;
 import android.util.TypedValue;
@@ -38,6 +40,8 @@ import android.widget.PopupWindow;
 import android.widget.RelativeLayout;
 import android.widget.TextView;
 
+import androidx.core.content.ContextCompat;
+
 import org.distorted.dialogs.RubikDialogUpdates;
 import org.distorted.external.RubikNetwork;
 import org.distorted.external.RubikScores;
@@ -172,7 +176,7 @@ public class RubikScreenPlay extends RubikScreenBase implements RubikNetwork.Upd
           {
           View popupView = mMenuPopup.getContentView();
           popupView.setSystemUiVisibility(RubikActivity.FLAGS);
-          setupLevelColors();
+          setupLevelColors(act);
           displayPopup(act,view,mMenuPopup,mMenuLayoutWidth,mMenuLayoutHeight,(int)(-mMenuLayoutWidth/2 + width/6),0);
           }
         }
@@ -240,7 +244,7 @@ public class RubikScreenPlay extends RubikScreenBase implements RubikNetwork.Upd
               int ordinal = mainEntry.getOrdinal();
               RubikObjectList.setCurrObject(ordinal);
               act.changeObject(ordinal,true);
-              if( mMenuPopup!=null ) setupLevelColors();
+              if( mMenuPopup!=null ) setupLevelColors(act);
               mMovesController.clearMoves(act);
               }
             else if( type==MainEntry.TYPE_CREATOR )
@@ -461,7 +465,7 @@ public class RubikScreenPlay extends RubikScreenBase implements RubikNetwork.Upd
     levels.setTextSize(TypedValue.COMPLEX_UNIT_PX, mMenuTextSize);
 
     setupLevelButtons(act,layout,padding);
-    setupLevelColors();
+    setupLevelColors(act);
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -515,18 +519,19 @@ public class RubikScreenPlay extends RubikScreenBase implements RubikNetwork.Upd
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  private void setupLevelColors()
+  private void setupLevelColors(RubikActivity act)
     {
     int currObject = RubikObjectList.getCurrObject();
     int dbLevel = RubikObjectList.getDBLevel(currObject);
     RubikScores scores = RubikScores.getInstance();
+    Resources res = act.getResources();
+    int colorG = res.getColor(R.color.green);
 
     for(int i=0; i<=LEVELS_SHOWN; i++)
       {
       int level = i<LEVELS_SHOWN ? i : dbLevel;
       boolean isSolved = scores.isSolved(currObject,level);
-      int icon = isSolved ? R.drawable.ui_solved : R.drawable.ui_notsolved;
-      mLevel[i].setCompoundDrawablesWithIntrinsicBounds(icon,0,0,0);
+      if( isSolved ) mLevel[i].setBackgroundColor(colorG);
       }
     }
 
diff --git a/src/main/res/values/colors.xml b/src/main/res/values/colors.xml
index 5e781081..e58b481d 100644
--- a/src/main/res/values/colors.xml
+++ b/src/main/res/values/colors.xml
@@ -4,6 +4,7 @@
     <color name="colorPrimaryDark">#00574B</color>
     <color name="colorAccent">#D81B60</color>
     <color name="red">#ffff0000</color>
+    <color name="green">#ff00bb00</color>
     <color name="dark_grey">#ff222222</color>
     <color name="grey">#ff333333</color>
     <color name="light_grey">#ff555555</color>
