commit 9b6f8f18fd660985a7e61cd76446743227220928
Author: leszek <leszek@koltunski.pl>
Date:   Thu May 9 14:05:39 2024 +0200

    progress with colors in styles

diff --git a/src/main/java/org/distorted/helpers/BaseActivity.java b/src/main/java/org/distorted/helpers/BaseActivity.java
index 319428be..cc5c1e36 100644
--- a/src/main/java/org/distorted/helpers/BaseActivity.java
+++ b/src/main/java/org/distorted/helpers/BaseActivity.java
@@ -32,7 +32,6 @@ public class BaseActivity extends AppCompatActivity
     protected static final int THEME_WHITE = 1;
     protected static final int THEME_GREEN = 2;
 
-    public static final float RATIO_HID = 0.050f;
     public static final float RATIO_BAR = 0.080f;
     public static final int FLAGS =  View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                                    | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
@@ -45,6 +44,7 @@ public class BaseActivity extends AppCompatActivity
     protected int mScreenWidth, mScreenHeight;
     protected int mHeightLowerBar, mHeightUpperBar;
     protected float mDensity;
+    protected int mDarkC, mNormalC, mMediumC, mLightC;
     protected SharedPreferences mPreferences;
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -59,9 +59,24 @@ public class BaseActivity extends AppCompatActivity
 
       switch(mCurrentTheme)
         {
-        case THEME_WHITE : setTheme(R.style.WhiteTheme); break;
-        case THEME_GREEN : setTheme(R.style.GreenTheme); break;
-        default          : setTheme(R.style.GreyTheme);  break;
+        case THEME_WHITE : setTheme(R.style.WhiteTheme);
+                           mDarkC   = R.color.darkWhite;
+                           mNormalC = R.color.normalWhite;
+                           mMediumC = R.color.mediumWhite;
+                           mLightC  = R.color.lightWhite;
+                           break;
+        case THEME_GREEN : setTheme(R.style.GreenTheme);
+                           mDarkC   = R.color.darkGreen;
+                           mNormalC = R.color.normalGreen;
+                           mMediumC = R.color.mediumGreen;
+                           mLightC  = R.color.lightGreen;
+                           break;
+        default          : setTheme(R.style.GreyTheme);
+                           mDarkC   = R.color.darkGrey;
+                           mNormalC = R.color.normalGrey;
+                           mMediumC = R.color.mediumGrey;
+                           mLightC  = R.color.lightGrey;
+                           break;
         }
 
       super.onCreate(savedState);
diff --git a/src/main/java/org/distorted/helpers/ObjectGridCreator.java b/src/main/java/org/distorted/helpers/ObjectGridCreator.java
index e22ffb49..569315ad 100644
--- a/src/main/java/org/distorted/helpers/ObjectGridCreator.java
+++ b/src/main/java/org/distorted/helpers/ObjectGridCreator.java
@@ -108,7 +108,7 @@ public class ObjectGridCreator
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  public void createObjectGrid(Activity act, ScrollView scrollView, int sortMode)
+  public void createObjectGrid(Activity act, ScrollView scrollView, int sortMode, int color)
     {
     mSortMode = sortMode;
 
@@ -137,14 +137,14 @@ public class ObjectGridCreator
       int height = (int)(TITLE_SIZE*mCubeSize);
 
       mROC = RubikObjectCategories.create(sortMode);
-      if( mROC.hasIcons() ) constructIconBasedGrid(act,layout,mROC,height);
-      else                  constructIconlessGrid(act,layout,mROC,height);
+      if( mROC.hasIcons() ) constructIconBasedGrid(act,layout,mROC,height,color);
+      else                  constructIconlessGrid(act,layout,mROC,height,color);
       }
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  private void constructIconBasedGrid(Activity act, LinearLayout layout, RubikObjectCategories roc, int height)
+  private void constructIconBasedGrid(Activity act, LinearLayout layout, RubikObjectCategories roc, int height, int color)
     {
     int numCategories = roc.getNumCategories();
 
@@ -153,7 +153,7 @@ public class ObjectGridCreator
     for(int c=0; c<numCategories; c++)
       {
       int iconID = roc.getIconId(c);
-      View title = constructTitle(act,iconID,height);
+      View title = constructTitle(act,iconID,height,color);
       layout.addView(title);
       mCategoryGrids[c] = constructGrid(act,c);
       layout.addView(mCategoryGrids[c]);
@@ -162,7 +162,7 @@ public class ObjectGridCreator
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  private void constructIconlessGrid(Activity act, LinearLayout layout, RubikObjectCategories roc, int height)
+  private void constructIconlessGrid(Activity act, LinearLayout layout, RubikObjectCategories roc, int height, int color)
     {
     int numCategories = roc.getNumCategories();
 
@@ -171,7 +171,7 @@ public class ObjectGridCreator
     for(int c=0; c<numCategories; c++)
       {
       String titleStr = roc.getTitle(c);
-      View title = constructTitle(act,titleStr,height);
+      View title = constructTitle(act,titleStr,height,color);
       layout.addView(title);
       mCategoryGrids[c] = constructGrid(act,c);
       layout.addView(mCategoryGrids[c]);
@@ -180,7 +180,7 @@ public class ObjectGridCreator
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  private View constructTitle(Activity act, int iconID, int height)
+  private View constructTitle(Activity act, int iconID, int height, int color)
     {
     ImageView view = new ImageView(act);
     FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,height);
@@ -188,9 +188,7 @@ public class ObjectGridCreator
     params.leftMargin = m;
     params.rightMargin = m;
     view.setLayoutParams(params);
-
-    view.setBackgroundResource(R.color.darkGrey);
-
+    view.setBackgroundResource(color);
     int p = (int)(TITLE_PADDING*height);
     view.setPadding( p,p,p,p );
     view.setImageResource(iconID);
@@ -200,7 +198,7 @@ public class ObjectGridCreator
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  private View constructTitle(Activity act, String title, int height)
+  private View constructTitle(Activity act, String title, int height, int color)
     {
     TextView view = new TextView(act);
     FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,height);
@@ -208,7 +206,7 @@ public class ObjectGridCreator
     params.leftMargin = m;
     params.rightMargin = m;
     view.setLayoutParams(params);
-    view.setBackgroundResource(R.color.darkGrey);
+    view.setBackgroundResource(color);
     view.setGravity(Gravity.CENTER);
 
     int size = (int)(TEXT_SIZE*height);
diff --git a/src/main/java/org/distorted/main/MainActivity.java b/src/main/java/org/distorted/main/MainActivity.java
index ad04fe43..4459bbc6 100644
--- a/src/main/java/org/distorted/main/MainActivity.java
+++ b/src/main/java/org/distorted/main/MainActivity.java
@@ -84,9 +84,6 @@ public class MainActivity extends BaseActivity implements RubikNetwork.Updatee,
       mBubbleUpdates.setVisibility(View.INVISIBLE);
       mNumUpdates = 0;
 
-      mGrid = new MainScrollGrid();
-      mGrid.createGrid(this,mScreenWidth,mSortMode);
-
       Thread thread = new Thread()
         {
         public void run()
@@ -124,7 +121,7 @@ public class MainActivity extends BaseActivity implements RubikNetwork.Updatee,
       {
       super.onConfigurationChanged(conf);
       getWindowWidth(conf);
-      if( mGrid!=null ) mGrid.updateGrid(this,mScreenWidth);
+      if( mGrid!=null ) mGrid.updateGrid(this,mScreenWidth,mDarkC);
       }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -146,6 +143,9 @@ public class MainActivity extends BaseActivity implements RubikNetwork.Updatee,
 
       restorePreferences(mJustStarted);
 
+      mGrid = new MainScrollGrid();
+      mGrid.createGrid(this,mScreenWidth,mSortMode,mDarkC);
+
       RubikNetwork network = RubikNetwork.getInstance();
       network.signUpForUpdates(this);
 
@@ -369,7 +369,7 @@ public class MainActivity extends BaseActivity implements RubikNetwork.Updatee,
 
       int vw = v.getWidth();
 
-      MainSettingsPopup popup = new MainSettingsPopup(this,mSortMode,mCurrentTheme,mScreenWidth,sw,sh);
+      MainSettingsPopup popup = new MainSettingsPopup(this,mSortMode,mCurrentTheme,sw,sh);
       popup.displayPopup(this,v,((vw-sw)/2),0);
       }
 
@@ -419,7 +419,7 @@ public class MainActivity extends BaseActivity implements RubikNetwork.Updatee,
       {
       mNumUpdates--;
       updateBubble(mNumUpdates);
-      mGrid.updateGrid(this,mScreenWidth);
+      mGrid.updateGrid(this,mScreenWidth,mDarkC);
       }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -434,7 +434,7 @@ public class MainActivity extends BaseActivity implements RubikNetwork.Updatee,
     public void sortObjectsBy(int sortMode)
       {
       mSortMode = sortMode;
-      mGrid.createGrid(this,mScreenWidth,mSortMode);
+      mGrid.createGrid(this,mScreenWidth,mSortMode,mDarkC);
       }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/main/MainScrollGrid.java b/src/main/java/org/distorted/main/MainScrollGrid.java
index 39c86a0e..9ce9bd3b 100644
--- a/src/main/java/org/distorted/main/MainScrollGrid.java
+++ b/src/main/java/org/distorted/main/MainScrollGrid.java
@@ -31,7 +31,7 @@ public class MainScrollGrid
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  void createGrid(final MainActivity act, int windowWidth, int sortMode)
+  void createGrid(final MainActivity act, int windowWidth, int sortMode, int color)
     {
     if( mCreator==null ) mCreator = new ObjectGridCreator(windowWidth);
 
@@ -41,7 +41,7 @@ public class MainScrollGrid
     ScrollView scrollView = act.findViewById(R.id.objectScroll);
     scrollView.removeAllViews();
 
-    mCreator.createObjectGrid(act,scrollView,sortMode);
+    mCreator.createObjectGrid(act,scrollView,sortMode,color);
 
     DisplayMetrics displaymetrics = new DisplayMetrics();
     act.getWindowManager().getDefaultDisplay().getRealMetrics(displaymetrics);
@@ -70,7 +70,7 @@ public class MainScrollGrid
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  void updateGrid(final MainActivity act, int scrW)
+  void updateGrid(final MainActivity act, int scrW, int color)
     {
     act.runOnUiThread(new Runnable()
       {
@@ -78,7 +78,7 @@ public class MainScrollGrid
       public void run()
         {
         if( mSortMode<0 ) mSortMode = MainSettingsPopup.SORT_DEFAULT;
-        createGrid(act,scrW,mSortMode);
+        createGrid(act,scrW,mSortMode,color);
         }
       });
     }
diff --git a/src/main/java/org/distorted/main/MainSettingsPopup.java b/src/main/java/org/distorted/main/MainSettingsPopup.java
index b4d70ee6..607d4300 100644
--- a/src/main/java/org/distorted/main/MainSettingsPopup.java
+++ b/src/main/java/org/distorted/main/MainSettingsPopup.java
@@ -12,7 +12,6 @@ package org.distorted.main;
 import android.content.Context;
 import android.content.res.Resources;
 import android.os.Build;
-import android.util.TypedValue;
 import android.view.Gravity;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -21,7 +20,6 @@ import android.widget.ArrayAdapter;
 import android.widget.ListPopupWindow;
 import android.widget.PopupWindow;
 import android.widget.Spinner;
-import android.widget.TextView;
 
 import java.lang.ref.WeakReference;
 import java.lang.reflect.Field;
@@ -38,8 +36,6 @@ public class MainSettingsPopup implements AdapterView.OnItemSelectedListener
 
   public static final int SORT_DEFAULT    = SORT_SHAPE;
 
-  private static final float MENU_TITLE_SIZE= 0.070f;
-  private static final float MENU_TEXT_SIZE = 0.060f;
   private static final int[] mLocation = new int[2];
 
   private final int mWidth, mHeight;
@@ -86,8 +82,7 @@ public class MainSettingsPopup implements AdapterView.OnItemSelectedListener
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  MainSettingsPopup(MainActivity act, int sortMethod, int themeValue,
-                    int scrWidth, int popupWidth, int popupHeight)
+  MainSettingsPopup(MainActivity act, int sortMethod, int themeValue, int popupWidth, int popupHeight)
     {
     mAct = new WeakReference<>(act);
 
@@ -105,16 +100,6 @@ public class MainSettingsPopup implements AdapterView.OnItemSelectedListener
     mPopup.setContentView(layout);
     mPopup.setFocusable(true);
 
-    int titleSize = (int)(0.26f*popupHeight);
-    int textSize  = (int)(0.19f*popupHeight);
-
-    TextView title = layout.findViewById(R.id.settingsTitle);
-    //title.setTextSize(TypedValue.COMPLEX_UNIT_PX, titleSize);
-    TextView sortText = layout.findViewById(R.id.sortText);
-    //sortText.setTextSize(TypedValue.COMPLEX_UNIT_PX, textSize);
-    TextView themeTitle = layout.findViewById(R.id.themeText);
-   // themeTitle.setTextSize(TypedValue.COMPLEX_UNIT_PX, textSize);
-
     Spinner sortSpinner  = layout.findViewById(R.id.sortMethod);
     sortSpinner.setOnItemSelectedListener(this);
 
diff --git a/src/main/res/drawable/ui_spinner.xml b/src/main/res/drawable/ui_spinner.xml
index f93725e8..46ce7517 100644
--- a/src/main/res/drawable/ui_spinner.xml
+++ b/src/main/res/drawable/ui_spinner.xml
@@ -5,7 +5,7 @@
             <item>
                 <shape android:shape="rectangle">
                     <solid android:color="?lightC" />
-                    <corners android:radius="6dip" />
+                    <corners android:radius="6dp" />
                     <stroke
                         android:color="?normalC"
                         android:width="2dp"/>
diff --git a/src/main/res/layout/dialog_scrollable_panes.xml b/src/main/res/layout/dialog_scrollable_panes.xml
index da84709f..060e07d6 100644
--- a/src/main/res/layout/dialog_scrollable_panes.xml
+++ b/src/main/res/layout/dialog_scrollable_panes.xml
@@ -3,6 +3,7 @@
     android:id="@+id/updates_scroll"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
+    android:background="?darkC"
     android:paddingLeft="10dp"
     android:paddingRight="10dp">
 
diff --git a/src/main/res/layout/dialog_title.xml b/src/main/res/layout/dialog_title.xml
index 5b1fc0c0..253972b3 100644
--- a/src/main/res/layout/dialog_title.xml
+++ b/src/main/res/layout/dialog_title.xml
@@ -3,5 +3,6 @@
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:textSize="20sp"
+  android:background="?mediumC"
   android:gravity="center"
   android:padding="10dp"/>
\ No newline at end of file
diff --git a/src/main/res/values/colors.xml b/src/main/res/values/colors.xml
index e3b4185d..0c3d9ef3 100644
--- a/src/main/res/values/colors.xml
+++ b/src/main/res/values/colors.xml
@@ -1,15 +1,13 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources>
-    <color name="colorPrimary">#008577</color>
-    <color name="colorPrimaryDark">#00574B</color>
-    <color name="colorAccent">#D81B60</color>
+
     <color name="red">#ffff0000</color>
     <color name="black">#ff010101</color>
     <color name="white">#ffffffff</color>
 
-    <color name="darkGreen">#ff009900</color>
-    <color name="normalGreen">#ff00aa00</color>
-    <color name="mediumGreen">#ff00bb00</color>
+    <color name="darkGreen">#ff008800</color>
+    <color name="normalGreen">#ff00a000</color>
+    <color name="mediumGreen">#ff00b800</color>
     <color name="lightGreen">#ff00cc00</color>
 
     <color name="darkGrey">#ff222222</color>
@@ -17,8 +15,8 @@
     <color name="mediumGrey">#ff444444</color>
     <color name="lightGrey">#ff555555</color>
 
-    <color name="darkWhite">#ffd0d0d0</color>
-    <color name="normalWhite">#ffe0e0e0</color>
-    <color name="mediumWhite">#fff0f0f0</color>
+    <color name="darkWhite">#ffa0a0a0</color>
+    <color name="normalWhite">#ffc0c0c0</color>
+    <color name="mediumWhite">#ffe0e0e0</color>
     <color name="lightWhite">#ffffffff</color>
 </resources>
diff --git a/src/main/res/values/styles.xml b/src/main/res/values/styles.xml
index b9d9793a..6c38c794 100644
--- a/src/main/res/values/styles.xml
+++ b/src/main/res/values/styles.xml
@@ -34,11 +34,11 @@
    </style>
 
    <style name="NegativeButtonStyle" parent="Widget.MaterialComponents.Button.TextButton.Dialog">
-      <item name="android:textColor">#ffffff</item>
+      <item name="android:textColor">@color/white</item>
    </style>
 
    <style name="PositiveButtonStyle" parent="Widget.MaterialComponents.Button.TextButton.Dialog">
-      <item name="android:textColor">#ffffff</item>
+      <item name="android:textColor">@color/white</item>
    </style>
 
    <style name="ButtonStyleTextColor">
