commit 2456eaa0817caf7815dd5e9920495570e0c18b63
Author: leszek <leszek@koltunski.pl>
Date:   Fri May 10 12:05:04 2024 +0200

    Improve the spinners; more themes.

diff --git a/src/main/java/org/distorted/helpers/BaseActivity.java b/src/main/java/org/distorted/helpers/BaseActivity.java
index 8f9e1eb9..80d8c49d 100644
--- a/src/main/java/org/distorted/helpers/BaseActivity.java
+++ b/src/main/java/org/distorted/helpers/BaseActivity.java
@@ -30,8 +30,10 @@ import org.distorted.main.R;
 public class BaseActivity extends AppCompatActivity
 {
     protected static final int THEME_GREY  = 0;
-    protected static final int THEME_WHITE = 1;
+    protected static final int THEME_BLUE  = 1;
     protected static final int THEME_GREEN = 2;
+    protected static final int THEME_PINK  = 3;
+    protected static final int THEME_ORANGE= 4;
 
     public static final float RATIO_BAR = 0.080f;
     public static final int FLAGS =  View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
@@ -61,16 +63,16 @@ public class BaseActivity extends AppCompatActivity
 
       switch(mCurrentTheme)
         {
-        case THEME_WHITE : setTheme(R.style.WhiteTheme);
-                           mVeryDarkC= R.color.veryDarkWhite;
-                           mDarkC    = R.color.darkWhite;
-                           mNormalC  = R.color.normalWhite;
-                           mMediumC  = R.color.mediumWhite;
-                           mLightC   = R.color.lightWhite;
-                           mPassedC  = R.color.passedWhite;
-                           mDarkT    = R.color.transDWhite;
-                           mLightT   = R.color.transLWhite;
-                           mSelectC  = R.color.selectWhite;
+        case THEME_BLUE  : setTheme(R.style.BlueTheme);
+                           mVeryDarkC= R.color.veryDarkBlue;
+                           mDarkC    = R.color.darkBlue;
+                           mNormalC  = R.color.normalBlue;
+                           mMediumC  = R.color.mediumBlue;
+                           mLightC   = R.color.lightBlue;
+                           mPassedC  = R.color.passedBlue;
+                           mDarkT    = R.color.transDBlue;
+                           mLightT   = R.color.transLBlue;
+                           mSelectC  = R.color.selectBlue;
                            break;
         case THEME_GREEN : setTheme(R.style.GreenTheme);
                            mVeryDarkC= R.color.veryDarkGreen;
@@ -83,7 +85,7 @@ public class BaseActivity extends AppCompatActivity
                            mLightT   = R.color.transLGreen;
                            mSelectC  = R.color.selectGreen;
                            break;
-        default          : setTheme(R.style.GreyTheme);
+        case THEME_GREY  : setTheme(R.style.GreyTheme);
                            mVeryDarkC= R.color.veryDarkGrey;
                            mDarkC    = R.color.darkGrey;
                            mNormalC  = R.color.normalGrey;
@@ -93,7 +95,30 @@ public class BaseActivity extends AppCompatActivity
                            mDarkT    = R.color.transDGrey;
                            mLightT   = R.color.transLGrey;
                            mSelectC  = R.color.selectGrey;
-            break;
+                           break;
+        case THEME_PINK  : setTheme(R.style.PinkTheme);
+                           mVeryDarkC= R.color.veryDarkPink;
+                           mDarkC    = R.color.darkPink;
+                           mNormalC  = R.color.normalPink;
+                           mMediumC  = R.color.mediumPink;
+                           mLightC   = R.color.lightPink;
+                           mPassedC  = R.color.passedPink;
+                           mDarkT    = R.color.transDPink;
+                           mLightT   = R.color.transLPink;
+                           mSelectC  = R.color.selectPink;
+                           break;
+        case THEME_ORANGE: setTheme(R.style.OrangeTheme);
+                           mVeryDarkC= R.color.veryDarkOrange;
+                           mDarkC    = R.color.darkOrange;
+                           mNormalC  = R.color.normalOrange;
+                           mMediumC  = R.color.mediumOrange;
+                           mLightC   = R.color.lightOrange;
+                           mPassedC  = R.color.passedOrange;
+                           mDarkT    = R.color.transDOrange;
+                           mLightT   = R.color.transLOrange;
+                           mSelectC  = R.color.selectOrange;
+                           break;
+        default          : android.util.Log.e("D", "UNSUPPORTED THEME!");
         }
 
       super.onCreate(savedState);
diff --git a/src/main/java/org/distorted/main/MainSettingsPopup.java b/src/main/java/org/distorted/main/MainSettingsPopup.java
index f42286af..baf71011 100644
--- a/src/main/java/org/distorted/main/MainSettingsPopup.java
+++ b/src/main/java/org/distorted/main/MainSettingsPopup.java
@@ -154,11 +154,13 @@ public class MainSettingsPopup implements AdapterView.OnItemSelectedListener
   private void buildThemeOptions(MainActivity act)
     {
     Resources res = act.getResources();
-    mThemeNames = new String[3];
+    mThemeNames = new String[5];
 
     mThemeNames[0] = res.getString(R.string.theme_grey);
-    mThemeNames[1] = res.getString(R.string.theme_white);
+    mThemeNames[1] = res.getString(R.string.theme_blue);
     mThemeNames[2] = res.getString(R.string.theme_green);
+    mThemeNames[3] = res.getString(R.string.theme_pink);
+    mThemeNames[4] = res.getString(R.string.theme_orange);
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/res/drawable/ui_spinner.xml b/src/main/res/drawable/ui_spinner.xml
index 46ce7517..66ec8a25 100644
--- a/src/main/res/drawable/ui_spinner.xml
+++ b/src/main/res/drawable/ui_spinner.xml
@@ -1,19 +1,28 @@
 <?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
     <item>
+        <shape android:shape="rectangle">
+            <solid android:color="?darkC"/>
+            <corners android:radius="0dp" />
+        </shape>
+    </item>
+    <item android:gravity="center_vertical|right" android:right="8dp">
         <layer-list>
-            <item>
+            <item android:width="12dp" android:height="12dp"  android:gravity="center" android:bottom="10dp">
+                <rotate
+                    android:fromDegrees="45"
+                    android:toDegrees="45">
+                    <shape android:shape="rectangle">
+                        <solid android:color="#ffffff" />
+                        <stroke android:color="#ffffff" android:width="1dp"/>
+                    </shape>
+                </rotate>
+            </item>
+            <item android:width="20dp" android:height="10dp" android:bottom="21dp" android:gravity="center">
                 <shape android:shape="rectangle">
-                    <solid android:color="?lightC" />
-                    <corners android:radius="6dp" />
-                    <stroke
-                        android:color="?normalC"
-                        android:width="2dp"/>
+                    <solid android:color="?darkC"/>
                 </shape>
             </item>
-            <item >
-                <bitmap android:gravity="center_vertical|right" android:src="@drawable/ui_down"/>
-            </item>
         </layer-list>
     </item>
-</selector>
\ No newline at end of file
+</layer-list>
diff --git a/src/main/res/layout/bandaged.xml b/src/main/res/layout/bandaged.xml
index 515166d3..f7318848 100644
--- a/src/main/res/layout/bandaged.xml
+++ b/src/main/res/layout/bandaged.xml
@@ -52,19 +52,22 @@
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1.0"
-               android:textAlignment="center"/>
+               android:background="@drawable/ui_spinner"
+               android:popupBackground="?darkC"/>
            <Spinner
                android:id="@+id/bandagedCreatorY"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1.0"
-               android:textAlignment="center"/>
+               android:background="@drawable/ui_spinner"
+               android:popupBackground="?darkC"/>
            <Spinner
                android:id="@+id/bandagedCreatorZ"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1.0"
-               android:textAlignment="center"/>
+               android:background="@drawable/ui_spinner"
+               android:popupBackground="?darkC"/>
        </LinearLayout>
 
        <LinearLayout
diff --git a/src/main/res/layout/settings_popup.xml b/src/main/res/layout/settings_popup.xml
index ba9fb414..425a2cc6 100644
--- a/src/main/res/layout/settings_popup.xml
+++ b/src/main/res/layout/settings_popup.xml
@@ -40,7 +40,7 @@
             android:layout_marginEnd="10dp"
             android:layout_marginTop="10dp"
             android:layout_marginBottom="10dp"
-            android:gravity="start|center_vertical"/>
+            android:popupBackground="?darkC"/>
 
         <TextView
             android:id="@+id/themeText"
@@ -62,7 +62,7 @@
             android:layout_marginEnd="10dp"
             android:layout_marginTop="10dp"
             android:layout_marginBottom="10dp"
-            android:gravity="start|center_vertical"/>
+            android:popupBackground="?darkC"/>
 
    </GridLayout>
 </LinearLayout>
\ 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 538465ae..c550e423 100644
--- a/src/main/res/layout/spinner_item.xml
+++ b/src/main/res/layout/spinner_item.xml
@@ -5,8 +5,7 @@
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:textSize="30sp"
-    android:gravity="center"
+    android:gravity="start"
     android:textColor="@color/white"
-    android:background="?veryDarkC"
     android:padding="5dp"
     />
\ No newline at end of file
diff --git a/src/main/res/values-de/strings.xml b/src/main/res/values-de/strings.xml
index 800d29f9..606d213a 100755
--- a/src/main/res/values-de/strings.xml
+++ b/src/main/res/values-de/strings.xml
@@ -95,9 +95,11 @@
     <string name="solver_message">Richte eine verschlüsselte Position ein, indem du die Sticker berührst.</string>
 
     <string name="theme">Thema</string>
-    <string name="theme_white">Weiß</string>
+    <string name="theme_blue">Blau</string>
     <string name="theme_grey">Grau</string>
     <string name="theme_green">Grün</string>
+    <string name="theme_pink">Rosa</string>
+    <string name="theme_orange">Orange</string>
 
     <string name="sort_classic">Klassisch</string>
     <string name="sort_shape">Form</string>
diff --git a/src/main/res/values-es/strings.xml b/src/main/res/values-es/strings.xml
index 0cc6177d..1c923b50 100755
--- a/src/main/res/values-es/strings.xml
+++ b/src/main/res/values-es/strings.xml
@@ -95,9 +95,11 @@
     <string name="solver_message">Establece la posición de revuelto tocando las pegatinas.</string>
 
     <string name="theme">Tema</string>
-    <string name="theme_white">Blanco</string>
+    <string name="theme_blue">Azul</string>
     <string name="theme_grey">Gris</string>
     <string name="theme_green">Verde</string>
+    <string name="theme_pink">Rosa</string>
+    <string name="theme_orange">Naranja</string>
 
     <string name="sort_classic">Clásico</string>
     <string name="sort_shape">Forma</string>
diff --git a/src/main/res/values-fr/strings.xml b/src/main/res/values-fr/strings.xml
index 32b7d596..847d3131 100755
--- a/src/main/res/values-fr/strings.xml
+++ b/src/main/res/values-fr/strings.xml
@@ -95,9 +95,11 @@
     <string name="solver_message">Mettre en place une position brouillée en touchant les autocollants.</string>
 
     <string name="theme">Thème</string>
-    <string name="theme_white">Blanc</string>
+    <string name="theme_blue">Bleu</string>
     <string name="theme_grey">Gris</string>
     <string name="theme_green">Vert</string>
+    <string name="theme_pink">Rose</string>
+    <string name="theme_orange">Orange</string>
 
     <string name="sort_classic">Classique</string>
     <string name="sort_shape">Forme</string>
diff --git a/src/main/res/values-ja/strings.xml b/src/main/res/values-ja/strings.xml
index fd2a068e..6f936cbb 100755
--- a/src/main/res/values-ja/strings.xml
+++ b/src/main/res/values-ja/strings.xml
@@ -95,9 +95,11 @@
     <string name="solver_message">シールをタッチして、スクランブルポジションを設定します。</string>
 
     <string name="theme">テーマ</string>
-    <string name="theme_white">ホワイト</string>
+    <string name="theme_blue">ブルー</string>
     <string name="theme_grey">グレー</string>
     <string name="theme_green">グリーン</string>
+    <string name="theme_pink">ピンク</string>
+    <string name="theme_orange">オレンジ</string>
 
     <string name="sort_classic">古典学</string>
     <string name="sort_shape">形</string>
diff --git a/src/main/res/values-ko/strings.xml b/src/main/res/values-ko/strings.xml
index 07bebe56..ac57a47d 100755
--- a/src/main/res/values-ko/strings.xml
+++ b/src/main/res/values-ko/strings.xml
@@ -95,9 +95,11 @@
     <string name="solver_message">스티커를 터치하여 스크램블 위치를 설정합니다.</string>
 
     <string name="theme">테마</string>
-    <string name="theme_white">흰색</string>
+    <string name="theme_blue">파란색</string>
     <string name="theme_grey">회색</string>
     <string name="theme_green">녹색</string>
+    <string name="theme_pink">분홍색</string>
+    <string name="theme_orange">주황색</string>
 
     <string name="sort_classic">전통적인</string>
     <string name="sort_shape">모양</string>
diff --git a/src/main/res/values-pl/strings.xml b/src/main/res/values-pl/strings.xml
index 6601a89d..e862f31b 100644
--- a/src/main/res/values-pl/strings.xml
+++ b/src/main/res/values-pl/strings.xml
@@ -95,9 +95,11 @@
     <string name="solver_message">Dotknij naklejki żeby zmienić jej kolor i tym samym ustawić pozycję początkową.</string>
 
     <string name="theme">Styl</string>
-    <string name="theme_white">Bialy</string>
+    <string name="theme_blue">Niebieski</string>
     <string name="theme_grey">Szary</string>
     <string name="theme_green">Zielony</string>
+    <string name="theme_pink">Różowy</string>
+    <string name="theme_orange">Żółty</string>
 
     <string name="sort_classic">Klasycznie</string>
     <string name="sort_shape">Kształt</string>
diff --git a/src/main/res/values-ru/strings.xml b/src/main/res/values-ru/strings.xml
index 46f83ee3..05c66319 100755
--- a/src/main/res/values-ru/strings.xml
+++ b/src/main/res/values-ru/strings.xml
@@ -95,9 +95,11 @@
     <string name="solver_message">Установите скремблированную позицию, касаясь наклеек.</string>
 
     <string name="theme">Тема</string>
-    <string name="theme_white">Белый</string>
+    <string name="theme_blue">Синий</string>
     <string name="theme_grey">Серый</string>
     <string name="theme_green">Зеленый</string>
+    <string name="theme_pink">Розовый</string>
+    <string name="theme_orange">Апельсин</string>
 
     <string name="sort_classic">Классик</string>
     <string name="sort_shape">Форма</string>
diff --git a/src/main/res/values-zh-rCN/strings.xml b/src/main/res/values-zh-rCN/strings.xml
index 29a90d16..d49b6d4f 100644
--- a/src/main/res/values-zh-rCN/strings.xml
+++ b/src/main/res/values-zh-rCN/strings.xml
@@ -95,9 +95,11 @@
     <string name="solver_message">通过触摸贴纸来设置拼图位置。</string>
 
     <string name="theme">主题</string>
-    <string name="theme_white">白色</string>
+    <string name="theme_blue">蓝色</string>
     <string name="theme_grey">灰色</string>
     <string name="theme_green">绿色</string>
+    <string name="theme_pink">粉色</string>
+    <string name="theme_orange">橙色</string>
 
     <string name="sort_classic">經典的</string>
     <string name="sort_shape">形狀</string>
diff --git a/src/main/res/values-zh-rTW/strings.xml b/src/main/res/values-zh-rTW/strings.xml
index b130630f..72eac3bc 100644
--- a/src/main/res/values-zh-rTW/strings.xml
+++ b/src/main/res/values-zh-rTW/strings.xml
@@ -95,9 +95,11 @@
     <string name="solver_message">透過觸控貼紙設定打亂位置。</string>
 
     <string name="theme">主題</string>
-    <string name="theme_white">白色的</string>
+    <string name="theme_blue">藍色的</string>
     <string name="theme_grey">灰色的</string>
     <string name="theme_green">綠色的</string>
+    <string name="theme_pink">粉紅色的</string>
+    <string name="theme_orange">橘色的</string>
 
     <string name="sort_classic">经典的</string>
     <string name="sort_shape">形状</string>
diff --git a/src/main/res/values/colors.xml b/src/main/res/values/colors.xml
index 2aeecb1e..5ebc66d1 100644
--- a/src/main/res/values/colors.xml
+++ b/src/main/res/values/colors.xml
@@ -23,13 +23,33 @@
     <color name="transDGrey">#cc202020</color>
     <color name="selectGrey">#ffff0000</color>
 
-    <color name="veryDarkWhite">#ff080808</color>
-    <color name="darkWhite">#ffa0a0a0</color>
-    <color name="normalWhite">#ffc0c0c0</color>
-    <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>
+    <color name="veryDarkBlue">#ff000030</color>
+    <color name="darkBlue">#ff000055</color>
+    <color name="normalBlue">#ff000090</color>
+    <color name="mediumBlue">#ff0000a5</color>
+    <color name="lightBlue">#ff0000ff</color>
+    <color name="passedBlue">#ff00a000</color>
+    <color name="transLBlue">#cc000080</color>
+    <color name="transDBlue">#cc000055</color>
+    <color name="selectBlue">#ffff0000</color>
+
+    <color name="veryDarkPink">#ffff1111</color>
+    <color name="darkPink">#ffff4444</color>
+    <color name="normalPink">#ffff6666</color>
+    <color name="mediumPink">#ffff8888</color>
+    <color name="lightPink">#ffffaaaa</color>
+    <color name="passedPink">#ff00a000</color>
+    <color name="transLPink">#ccff5555</color>
+    <color name="transDPink">#ccff4444</color>
+    <color name="selectPink">#ffff0000</color>
+
+    <color name="veryDarkOrange">#ffff2008</color>
+    <color name="darkOrange">#ffff5015</color>
+    <color name="normalOrange">#ffff8025</color>
+    <color name="mediumOrange">#ffffa040</color>
+    <color name="lightOrange">#ffffd050</color>
+    <color name="passedOrange">#ff00a000</color>
+    <color name="transLOrange">#ccff6020</color>
+    <color name="transDOrange">#ccff5015</color>
+    <color name="selectOrange">#ffff0000</color>
 </resources>
diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml
index 35c17e2d..388aceef 100644
--- a/src/main/res/values/strings.xml
+++ b/src/main/res/values/strings.xml
@@ -117,9 +117,11 @@
     <string name="solver_message">Set up scrambled position by touching the stickers.</string>
 
     <string name="theme">Theme</string>
-    <string name="theme_white">White</string>
+    <string name="theme_blue">Blue</string>
     <string name="theme_grey">Grey</string>
     <string name="theme_green">Green</string>
+    <string name="theme_pink">Pink</string>
+    <string name="theme_orange">Orange</string>
 
     <string name="sort_by">Sort by</string>
     <string name="settings_title">Settings</string>
diff --git a/src/main/res/values/styles.xml b/src/main/res/values/styles.xml
index b51e03f1..393a4615 100644
--- a/src/main/res/values/styles.xml
+++ b/src/main/res/values/styles.xml
@@ -22,14 +22,14 @@
         <item name="selectC">@color/selectGrey</item>
    </style>
 
-   <style name="WhiteTheme" parent="@style/BaseMaterialThemeNoActionBar">
-        <item name="veryDarkC">@color/veryDarkWhite</item>
-        <item name="darkC">@color/darkWhite</item>
-        <item name="normalC">@color/normalWhite</item>
-        <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 name="BlueTheme" parent="@style/BaseMaterialThemeNoActionBar">
+        <item name="veryDarkC">@color/veryDarkBlue</item>
+        <item name="darkC">@color/darkBlue</item>
+        <item name="normalC">@color/normalBlue</item>
+        <item name="mediumC">@color/mediumBlue</item>
+        <item name="lightC">@color/lightBlue</item>
+        <item name="passedC">@color/passedBlue</item>
+        <item name="selectC">@color/selectBlue</item>
    </style>
 
    <style name="GreenTheme" parent="@style/BaseMaterialThemeNoActionBar">
@@ -42,6 +42,26 @@
         <item name="selectC">@color/selectGreen</item>
    </style>
 
+   <style name="PinkTheme" parent="@style/BaseMaterialThemeNoActionBar">
+        <item name="veryDarkC">@color/veryDarkPink</item>
+        <item name="darkC">@color/darkPink</item>
+        <item name="normalC">@color/normalPink</item>
+        <item name="mediumC">@color/mediumPink</item>
+        <item name="lightC">@color/lightPink</item>
+        <item name="passedC">@color/passedPink</item>
+        <item name="selectC">@color/selectPink</item>
+   </style>
+
+   <style name="OrangeTheme" parent="@style/BaseMaterialThemeNoActionBar">
+        <item name="veryDarkC">@color/veryDarkOrange</item>
+        <item name="darkC">@color/darkOrange</item>
+        <item name="normalC">@color/normalOrange</item>
+        <item name="mediumC">@color/mediumOrange</item>
+        <item name="lightC">@color/lightOrange</item>
+        <item name="passedC">@color/passedOrange</item>
+        <item name="selectC">@color/selectOrange</item>
+   </style>
+
    <style name="NegativeButtonStyle" parent="Widget.MaterialComponents.Button.TextButton.Dialog">
       <item name="android:textColor">@color/white</item>
    </style>
@@ -51,7 +71,7 @@
    </style>
 
    <style name="ButtonStyleTextColor">
-      <item name="colorOnPrimary">@color/normalWhite</item>
+      <item name="colorOnPrimary">@color/white</item>
       <item name="colorOnSecondary">@color/darkGrey</item>
       <item name="colorOnSurface">@color/lightGrey</item>
    </style>
