commit 0c9b1ef5ba3877c23ec90eb80baefc132c036787
Author: leszek <leszek@koltunski.pl>
Date:   Sun Jan 21 02:39:20 2024 +0100

    progress

diff --git a/src/main/java/org/distorted/helpers/ObjectGridCreator.java b/src/main/java/org/distorted/helpers/ObjectGridCreator.java
index 85f1b24b..286a6259 100644
--- a/src/main/java/org/distorted/helpers/ObjectGridCreator.java
+++ b/src/main/java/org/distorted/helpers/ObjectGridCreator.java
@@ -15,6 +15,8 @@ import static org.distorted.main.MainScrollGrid.POPUP_PADDING;
 
 import android.app.Activity;
 import android.content.Context;
+import android.util.TypedValue;
+import android.view.Gravity;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -35,6 +37,10 @@ import org.distorted.objects.RubikObjectList;
 
 public class ObjectGridCreator
   {
+  private static final float TITLE_SIZE     = 0.8f;
+  private static final float TEXT_SIZE      = 0.5f;
+  private static final float TITLE_PADDING  = 0.15f;
+
   private GridLayout mGrid;
   private GridLayout[] mCategoryGrids;
   private RubikObjectCategories mROC;
@@ -126,9 +132,11 @@ public class ObjectGridCreator
       layout.setPadding(0,mMargin,0,mMargin);
       scrollView.addView(layout);
 
+      int height = (int)(TITLE_SIZE*mCubeSize);
+
       mROC = new RubikObjectCategories(sortMode);
-      if( mROC.hasIcons() ) constructIconBasedGrid(act,layout,mROC,mCubeSize);
-      else                  constructIconlessGrid(act,layout,mROC,mCubeSize);
+      if( mROC.hasIcons() ) constructIconBasedGrid(act,layout,mROC,height);
+      else                  constructIconlessGrid(act,layout,mROC,height);
       }
     }
 
@@ -175,6 +183,10 @@ public class ObjectGridCreator
     ImageView view = new ImageView(act);
     ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,height);
     view.setLayoutParams(params);
+    view.setBackgroundResource(R.color.dark_grey);
+
+    int p = (int)(TITLE_PADDING*height);
+    view.setPadding( p,p,p,p );
     view.setImageResource(iconID);
 
     return view;
@@ -187,6 +199,11 @@ public class ObjectGridCreator
     TextView view = new TextView(act);
     ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,height);
     view.setLayoutParams(params);
+    view.setBackgroundResource(R.color.dark_grey);
+    view.setGravity(Gravity.CENTER);
+
+    int size = (int)(TEXT_SIZE*height);
+    view.setTextSize(TypedValue.COMPLEX_UNIT_PX, size);
     view.setText(title);
 
     return view;
diff --git a/src/main/java/org/distorted/objects/RubikObjectCategories.java b/src/main/java/org/distorted/objects/RubikObjectCategories.java
index 782c3202..6a4f0314 100644
--- a/src/main/java/org/distorted/objects/RubikObjectCategories.java
+++ b/src/main/java/org/distorted/objects/RubikObjectCategories.java
@@ -331,7 +331,7 @@ public class RubikObjectCategories
       int obj = mObjectIndices[t][0];
       RubikObject object = RubikObjectList.getObject(obj);
       int year = object==null ? 0 : object.getYearOfInvention();
-      mTitles[t] = String.valueOf(year);
+      mTitles[t] = year==0 ? "Unknown" : String.valueOf(year);
       }
     }
 
