commit 0a9adc312694ccbbaa845306f01216c00bf8ac36
Author: leszek <leszek@koltunski.pl>
Date:   Fri May 10 01:42:09 2024 +0200

    Themes almost finished.

diff --git a/src/main/java/org/distorted/dialogs/RubikDialogAbstract.java b/src/main/java/org/distorted/dialogs/RubikDialogAbstract.java
index c4493b5f..e527f0dd 100644
--- a/src/main/java/org/distorted/dialogs/RubikDialogAbstract.java
+++ b/src/main/java/org/distorted/dialogs/RubikDialogAbstract.java
@@ -11,6 +11,9 @@ package org.distorted.dialogs;
 
 import android.app.Dialog;
 import android.content.DialogInterface;
+import android.content.res.ColorStateList;
+import android.graphics.Color;
+import android.graphics.drawable.ColorDrawable;
 import android.os.Bundle;
 import android.util.DisplayMetrics;
 import android.util.TypedValue;
@@ -25,6 +28,7 @@ import androidx.appcompat.app.AlertDialog;
 import androidx.appcompat.app.AppCompatDialogFragment;
 import androidx.fragment.app.FragmentActivity;
 
+import org.distorted.helpers.BaseActivity;
 import org.distorted.main.MainActivity;
 import org.distorted.main.R;
 
@@ -147,6 +151,9 @@ abstract public class RubikDialogAbstract extends AppCompatDialogFragment
 
     if( window!=null )
       {
+      BaseActivity bact = (BaseActivity) act;
+      int m = bact.getMediumColor();
+      window.setBackgroundDrawableResource(m);
       window.getDecorView().setSystemUiVisibility(MainActivity.FLAGS);
       }
 
diff --git a/src/main/java/org/distorted/dialogs/RubikDialogScoresView.java b/src/main/java/org/distorted/dialogs/RubikDialogScoresView.java
index 3dda3a08..55826cbf 100644
--- a/src/main/java/org/distorted/dialogs/RubikDialogScoresView.java
+++ b/src/main/java/org/distorted/dialogs/RubikDialogScoresView.java
@@ -20,6 +20,7 @@ import android.widget.ImageView;
 import android.widget.LinearLayout;
 import android.widget.TextView;
 
+import org.distorted.main.MainActivity;
 import org.distorted.main.R;
 import org.distorted.external.RubikScores;
 
@@ -90,9 +91,11 @@ public class RubikDialogScoresView extends FrameLayout
     String theirTime;
     int theirCountryID;
 
+    MainActivity mact = (MainActivity) act;
+    int selected = mact.getSelectedColor();
     int height = (int)(mHeight*SCORES_ITEM_TEXT);
     int white = res.getColor(R.color.white);
-    int red   = res.getColor(R.color.red);
+    int red   = res.getColor(selected);
     boolean equals;
 
     for(int j=0; j<MAX_PLACES-1; j++)
diff --git a/src/main/java/org/distorted/helpers/BaseActivity.java b/src/main/java/org/distorted/helpers/BaseActivity.java
index 167f9573..8f9e1eb9 100644
--- a/src/main/java/org/distorted/helpers/BaseActivity.java
+++ b/src/main/java/org/distorted/helpers/BaseActivity.java
@@ -46,6 +46,7 @@ public class BaseActivity extends AppCompatActivity
     protected int mHeightLowerBar, mHeightUpperBar;
     protected float mDensity;
     protected int mVeryDarkC, mDarkC, mNormalC, mMediumC, mLightC, mPassedC;
+    protected int mDarkT, mLightT, mSelectC;
     protected SharedPreferences mPreferences;
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -67,6 +68,9 @@ public class BaseActivity extends AppCompatActivity
                            mMediumC  = R.color.mediumWhite;
                            mLightC   = R.color.lightWhite;
                            mPassedC  = R.color.passedWhite;
+                           mDarkT    = R.color.transDWhite;
+                           mLightT   = R.color.transLWhite;
+                           mSelectC  = R.color.selectWhite;
                            break;
         case THEME_GREEN : setTheme(R.style.GreenTheme);
                            mVeryDarkC= R.color.veryDarkGreen;
@@ -75,6 +79,9 @@ public class BaseActivity extends AppCompatActivity
                            mMediumC  = R.color.mediumGreen;
                            mLightC   = R.color.lightGreen;
                            mPassedC  = R.color.passedGreen;
+                           mDarkT    = R.color.transDGreen;
+                           mLightT   = R.color.transLGreen;
+                           mSelectC  = R.color.selectGreen;
                            break;
         default          : setTheme(R.style.GreyTheme);
                            mVeryDarkC= R.color.veryDarkGrey;
@@ -83,7 +90,10 @@ public class BaseActivity extends AppCompatActivity
                            mMediumC  = R.color.mediumGrey;
                            mLightC   = R.color.lightGrey;
                            mPassedC  = R.color.passedGrey;
-                           break;
+                           mDarkT    = R.color.transDGrey;
+                           mLightT   = R.color.transLGrey;
+                           mSelectC  = R.color.selectGrey;
+            break;
         }
 
       super.onCreate(savedState);
@@ -124,6 +134,27 @@ public class BaseActivity extends AppCompatActivity
       return mLightC;
       }
 
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+    public int getDarkTrans()
+    {
+        return mDarkT;
+    }
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+    public int getLightTrans()
+    {
+        return mLightT;
+    }
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+    public int getSelectedColor()
+    {
+        return mSelectC;
+    }
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
     public void setUpBackgroundColor(DistortedFramebuffer df)
diff --git a/src/main/java/org/distorted/main/MainObjectPopup.java b/src/main/java/org/distorted/main/MainObjectPopup.java
index d01cb537..2039dad4 100644
--- a/src/main/java/org/distorted/main/MainObjectPopup.java
+++ b/src/main/java/org/distorted/main/MainObjectPopup.java
@@ -14,6 +14,7 @@ import static android.view.View.GONE;
 import android.content.Context;
 import android.content.res.ColorStateList;
 import android.content.res.Resources;
+import android.graphics.drawable.ColorDrawable;
 import android.util.TypedValue;
 import android.view.Gravity;
 import android.view.LayoutInflater;
@@ -52,6 +53,10 @@ public class MainObjectPopup
     mPopup.setContentView(layout);
     mPopup.setFocusable(true);
 
+    Resources res = act.getResources();
+    int l = res.getColor(act.getLightTrans());
+    mPopup.setBackgroundDrawable(new ColorDrawable(l));
+
     mObjectOrdinal = ordinal;
     boolean firstButtonShown = false;
 
diff --git a/src/main/java/org/distorted/main/MainSettingsPopup.java b/src/main/java/org/distorted/main/MainSettingsPopup.java
index 607d4300..f42286af 100644
--- a/src/main/java/org/distorted/main/MainSettingsPopup.java
+++ b/src/main/java/org/distorted/main/MainSettingsPopup.java
@@ -11,6 +11,7 @@ package org.distorted.main;
 
 import android.content.Context;
 import android.content.res.Resources;
+import android.graphics.drawable.ColorDrawable;
 import android.os.Build;
 import android.view.Gravity;
 import android.view.LayoutInflater;
@@ -95,11 +96,20 @@ public class MainSettingsPopup implements AdapterView.OnItemSelectedListener
 
     LayoutInflater layoutInflater = (LayoutInflater) act.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
     final View layout = layoutInflater.inflate(id, null);
+    final View title  = layout.findViewById(R.id.settingsTitle);
 
     mPopup = new PopupWindow(act);
     mPopup.setContentView(layout);
     mPopup.setFocusable(true);
 
+    Resources res = act.getResources();
+    int d = res.getColor(act.getDarkTrans());
+    int l = res.getColor(act.getLightTrans());
+
+    mPopup.setBackgroundDrawable(new ColorDrawable(l));
+    title.setBackground(new ColorDrawable(d));
+    mPopup.setElevation(100);
+
     Spinner sortSpinner  = layout.findViewById(R.id.sortMethod);
     sortSpinner.setOnItemSelectedListener(this);
 
diff --git a/src/main/java/org/distorted/solverui/ScreenSolver.java b/src/main/java/org/distorted/solverui/ScreenSolver.java
index 42306506..5528eec3 100644
--- a/src/main/java/org/distorted/solverui/ScreenSolver.java
+++ b/src/main/java/org/distorted/solverui/ScreenSolver.java
@@ -374,15 +374,8 @@ public class ScreenSolver extends ScreenAbstract
     for(int b=0; b<mNumColors; b++)
       {
       Drawable d = mColorButton[b].getBackground();
-
-      if( b==mCurrentButton )
-        {
-        d.setColorFilter(ContextCompat.getColor(act,R.color.red), PorterDuff.Mode.MULTIPLY);
-        }
-      else
-        {
-        d.clearColorFilter();
-        }
+      int s = b==mCurrentButton ? act.getSelectedColor() : act.getNormalColor();
+      d.setColorFilter(ContextCompat.getColor(act,s), PorterDuff.Mode.MULTIPLY);
       }
     }
 
diff --git a/src/main/res/drawable/badge_circle.xml b/src/main/res/drawable/badge_circle.xml
index 2b9c03b6..ec1b0303 100644
--- a/src/main/res/drawable/badge_circle.xml
+++ b/src/main/res/drawable/badge_circle.xml
@@ -1,17 +1,17 @@
 <shape xmlns:android="http://schemas.android.com/apk/res/android"
   android:shape="rectangle">
   <corners
-    android:radius="10dip"/>
+    android:radius="10dp"/>
   <solid
-    android:color="#F00" />
+    android:color="?selectC" />
   <stroke
-    android:width="2dip"
-    android:color="#FFF" />
+    android:width="2dp"
+    android:color="@color/white" />
   <padding
-    android:left="8dip"
-    android:right="8dip"
-    android:top="5dip"
-    android:bottom="5dip" />
+    android:left="8dp"
+    android:right="8dp"
+    android:top="5dp"
+    android:bottom="5dp" />
 </shape>
 
 
diff --git a/src/main/res/layout/dialog_about.xml b/src/main/res/layout/dialog_about.xml
index 4b9f4376..58e75208 100644
--- a/src/main/res/layout/dialog_about.xml
+++ b/src/main/res/layout/dialog_about.xml
@@ -2,7 +2,7 @@
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
-    android:background="?normalC"
+    android:background="?mediumC"
     android:orientation="vertical">
 
     <LinearLayout
diff --git a/src/main/res/layout/dialog_delete_object.xml b/src/main/res/layout/dialog_delete_object.xml
index 3b484446..32bb7e3c 100644
--- a/src/main/res/layout/dialog_delete_object.xml
+++ b/src/main/res/layout/dialog_delete_object.xml
@@ -3,6 +3,7 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:gravity="center_horizontal"
+    android:background="?normalC"
     android:orientation="vertical">
 
     <LinearLayout
diff --git a/src/main/res/layout/dialog_save_object.xml b/src/main/res/layout/dialog_save_object.xml
index 05ba06d6..6fec4558 100644
--- a/src/main/res/layout/dialog_save_object.xml
+++ b/src/main/res/layout/dialog_save_object.xml
@@ -3,6 +3,7 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:gravity="center_horizontal"
+    android:background="?normalC"
     android:orientation="vertical">
 
     <LinearLayout
diff --git a/src/main/res/layout/dialog_scores_downloading.xml b/src/main/res/layout/dialog_scores_downloading.xml
index 6e94c3d8..e04e39eb 100644
--- a/src/main/res/layout/dialog_scores_downloading.xml
+++ b/src/main/res/layout/dialog_scores_downloading.xml
@@ -5,4 +5,5 @@
   android:layout_height="match_parent"
   android:textSize="32sp"
   android:gravity="center"
+  android:background="?darkC"
   android:padding="10dp"/>
\ No newline at end of file
diff --git a/src/main/res/layout/dialog_scrollable_panes.xml b/src/main/res/layout/dialog_scrollable_panes.xml
index bec5f042..d5025864 100644
--- a/src/main/res/layout/dialog_scrollable_panes.xml
+++ b/src/main/res/layout/dialog_scrollable_panes.xml
@@ -3,7 +3,7 @@
     android:id="@+id/updates_scroll"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:background="?darkC"
+    android:background="?mediumC"
     android:paddingLeft="10dp"
     android:paddingRight="10dp">
 
diff --git a/src/main/res/layout/dialog_tutorial_row.xml b/src/main/res/layout/dialog_tutorial_row.xml
index 630eef4f..d2c16fe4 100644
--- a/src/main/res/layout/dialog_tutorial_row.xml
+++ b/src/main/res/layout/dialog_tutorial_row.xml
@@ -3,7 +3,7 @@
     android:layout_width="fill_parent"
     android:layout_height="fill_parent"
     android:gravity="center|fill_horizontal"
-    android:background="?normalC"
+    android:background="?mediumC"
     android:orientation="vertical">
 
     <TextView
diff --git a/src/main/res/layout/main.xml b/src/main/res/layout/main.xml
index 1b05caf1..1b2e556e 100644
--- a/src/main/res/layout/main.xml
+++ b/src/main/res/layout/main.xml
@@ -142,7 +142,7 @@
                 android:layout_alignTop="@+id/buttonUpdates"
                 android:layout_alignEnd="@+id/buttonUpdates"
                 android:scaleType="fitCenter"
-                android:textColor="#FFF"
+                android:textColor="@color/white"
                 android:textSize="16sp"
                 android:textStyle="bold"
                 android:background="@drawable/badge_circle"/>
diff --git a/src/main/res/layout/settings_popup.xml b/src/main/res/layout/settings_popup.xml
index eb76e22d..ba9fb414 100644
--- a/src/main/res/layout/settings_popup.xml
+++ b/src/main/res/layout/settings_popup.xml
@@ -12,7 +12,6 @@
         android:layout_height="wrap_content"
         android:text="@string/settings_title"
         android:textSize="34sp"
-        android:background="?lightC"
         android:gravity="center"/>
 
    <GridLayout
diff --git a/src/main/res/layout/settings_popup_android25.xml b/src/main/res/layout/settings_popup_android25.xml
index d87f8efb..d238df62 100644
--- a/src/main/res/layout/settings_popup_android25.xml
+++ b/src/main/res/layout/settings_popup_android25.xml
@@ -12,7 +12,6 @@
         android:layout_height="wrap_content"
         android:text="@string/settings_title"
         android:textSize="34sp"
-        android:background="?lightC"
         android:gravity="center"/>
 
    <GridLayout
diff --git a/src/main/res/layout/settings_spinner_item.xml b/src/main/res/layout/settings_spinner_item.xml
index d42fad2a..9870c73c 100644
--- a/src/main/res/layout/settings_spinner_item.xml
+++ b/src/main/res/layout/settings_spinner_item.xml
@@ -10,5 +10,6 @@
     android:textSize="24sp"
     android:gravity="start"
     android:singleLine="true"
-    android:textColor="#FFFFFF"
+    android:textColor="@color/white"
+    android:background="?veryDarkC"
     />
\ No newline at end of file
diff --git a/src/main/res/layout/spinner_item.xml b/src/main/res/layout/spinner_item.xml
index 2ccba81e..538465ae 100644
--- a/src/main/res/layout/spinner_item.xml
+++ b/src/main/res/layout/spinner_item.xml
@@ -6,6 +6,7 @@
     android:layout_height="wrap_content"
     android:textSize="30sp"
     android:gravity="center"
-    android:textColor="#FFFFFF"
-    android:padding="5dip"
+    android:textColor="@color/white"
+    android:background="?veryDarkC"
+    android:padding="5dp"
     />
\ No newline at end of file
diff --git a/src/main/res/layout/tutorial.xml b/src/main/res/layout/tutorial.xml
index c83676e0..1e0eff8c 100644
--- a/src/main/res/layout/tutorial.xml
+++ b/src/main/res/layout/tutorial.xml
@@ -4,14 +4,15 @@
     android:layout_height="match_parent"
     android:layout_marginLeft="0dp"
     android:layout_marginRight="0dp"
-    android:background="@android:color/transparent"
+    android:background="?lightC"
     android:orientation="vertical" >
 
     <WebView
         android:id="@+id/tutorialVideoView"
         android:layout_width="match_parent"
         android:layout_height="0dp"
-        android:layout_weight="1"/>
+        android:layout_weight="1"
+        android:background="?lightC"/>
 
     <RelativeLayout
         android:id="@+id/tutorialLowerPart"
diff --git a/src/main/res/layout/tutorial_no_webview.xml b/src/main/res/layout/tutorial_no_webview.xml
index 890c56a1..fa689f2b 100644
--- a/src/main/res/layout/tutorial_no_webview.xml
+++ b/src/main/res/layout/tutorial_no_webview.xml
@@ -4,7 +4,7 @@
     android:layout_height="match_parent"
     android:layout_marginLeft="0dp"
     android:layout_marginRight="0dp"
-    android:background="@android:color/transparent"
+    android:background="?lightC"
     android:orientation="vertical" >
 
     <TextView
diff --git a/src/main/res/values/attr.xml b/src/main/res/values/attr.xml
index 174e5e9d..f7c14c24 100644
--- a/src/main/res/values/attr.xml
+++ b/src/main/res/values/attr.xml
@@ -7,5 +7,8 @@
 <attr name="mediumC" format="reference|color" />
 <attr name="lightC" format="reference|color" />
 <attr name="passedC" format="reference|color" />
+<attr name="lightT" format="reference|color" />
+<attr name="passedT" format="reference|color" />
+<attr name="selectC" format="reference|color" />
 
 </resources>
diff --git a/src/main/res/values/colors.xml b/src/main/res/values/colors.xml
index 878a1bdb..2aeecb1e 100644
--- a/src/main/res/values/colors.xml
+++ b/src/main/res/values/colors.xml
@@ -1,15 +1,17 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources>
 
-    <color name="red">#ffff0000</color>
     <color name="white">#ffffffff</color>
 
-    <color name="veryDarkGreen">#ff004400</color>
-    <color name="darkGreen">#ff007700</color>
+    <color name="veryDarkGreen">#ff003000</color>
+    <color name="darkGreen">#ff005500</color>
     <color name="normalGreen">#ff009000</color>
-    <color name="mediumGreen">#ff00aa00</color>
-    <color name="lightGreen">#ff00cc00</color>
+    <color name="mediumGreen">#ff00a500</color>
+    <color name="lightGreen">#ff00bb00</color>
     <color name="passedGreen">#ff333333</color>
+    <color name="transLGreen">#e0008000</color>
+    <color name="transDGreen">#cc005500</color>
+    <color name="selectGreen">#ffff0000</color>
 
     <color name="veryDarkGrey">#ff111111</color>
     <color name="darkGrey">#ff222222</color>
@@ -17,6 +19,9 @@
     <color name="mediumGrey">#ff444444</color>
     <color name="lightGrey">#ff555555</color>
     <color name="passedGrey">#ff00a000</color>
+    <color name="transLGrey">#e0333333</color>
+    <color name="transDGrey">#cc202020</color>
+    <color name="selectGrey">#ffff0000</color>
 
     <color name="veryDarkWhite">#ff080808</color>
     <color name="darkWhite">#ffa0a0a0</color>
@@ -24,4 +29,7 @@
     <color name="mediumWhite">#ffe0e0e0</color>
     <color name="lightWhite">#ffffffff</color>
     <color name="passedWhite">#ff00a000</color>
+    <color name="transLWhite">#ccffffff</color>
+    <color name="transDWhite">#cca0a0a0</color>
+    <color name="selectWhite">#ffff0000</color>
 </resources>
diff --git a/src/main/res/values/styles.xml b/src/main/res/values/styles.xml
index 30745d22..b51e03f1 100644
--- a/src/main/res/values/styles.xml
+++ b/src/main/res/values/styles.xml
@@ -19,6 +19,7 @@
         <item name="mediumC">@color/mediumGrey</item>
         <item name="lightC">@color/lightGrey</item>
         <item name="passedC">@color/passedGrey</item>
+        <item name="selectC">@color/selectGrey</item>
    </style>
 
    <style name="WhiteTheme" parent="@style/BaseMaterialThemeNoActionBar">
@@ -28,6 +29,7 @@
         <item name="mediumC">@color/mediumWhite</item>
         <item name="lightC">@color/lightWhite</item>
         <item name="passedC">@color/passedWhite</item>
+        <item name="selectC">@color/selectWhite</item>
    </style>
 
    <style name="GreenTheme" parent="@style/BaseMaterialThemeNoActionBar">
@@ -37,6 +39,7 @@
         <item name="mediumC">@color/mediumGreen</item>
         <item name="lightC">@color/lightGreen</item>
         <item name="passedC">@color/passedGreen</item>
+        <item name="selectC">@color/selectGreen</item>
    </style>
 
    <style name="NegativeButtonStyle" parent="Widget.MaterialComponents.Button.TextButton.Dialog">
