commit be65535e919531b48cef063e02e7b34813f5908d
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Tue Jul 12 01:34:44 2022 +0200

    Progress with colors in the main menu.

diff --git a/src/main/java/org/distorted/screens/RubikScreenPlay.java b/src/main/java/org/distorted/screens/RubikScreenPlay.java
index 13ef6010..e817272e 100644
--- a/src/main/java/org/distorted/screens/RubikScreenPlay.java
+++ b/src/main/java/org/distorted/screens/RubikScreenPlay.java
@@ -24,8 +24,8 @@ import java.lang.ref.WeakReference;
 import android.app.Activity;
 import android.content.Context;
 import android.content.SharedPreferences;
+import android.content.res.ColorStateList;
 import android.content.res.Resources;
-import android.graphics.drawable.Drawable;
 import android.os.Build;
 import android.os.Bundle;
 import android.util.TypedValue;
@@ -40,8 +40,6 @@ 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;
@@ -525,13 +523,14 @@ public class RubikScreenPlay extends RubikScreenBase implements RubikNetwork.Upd
     int dbLevel = RubikObjectList.getDBLevel(currObject);
     RubikScores scores = RubikScores.getInstance();
     Resources res = act.getResources();
-    int colorG = res.getColor(R.color.green);
+    ColorStateList colorG = ColorStateList.valueOf(res.getColor(R.color.green));
+    ColorStateList colorD = ColorStateList.valueOf(res.getColor(R.color.dark_grey));
 
     for(int i=0; i<=LEVELS_SHOWN; i++)
       {
       int level = i<LEVELS_SHOWN ? i : dbLevel;
       boolean isSolved = scores.isSolved(currObject,level);
-      if( isSolved ) mLevel[i].setBackgroundColor(colorG);
+      mLevel[i].setBackgroundTintList( isSolved ? colorG : colorD);
       }
     }
 
