commit 0c96b376e8107e34ea16646ab5086773b8230e93
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Fri Jan 24 23:01:12 2020 +0000

    RubikCube: further fixes for RubikSettings

diff --git a/src/main/java/org/distorted/magic/RubikSettings.java b/src/main/java/org/distorted/magic/RubikSettings.java
index 4f164b34..cdd6cce4 100644
--- a/src/main/java/org/distorted/magic/RubikSettings.java
+++ b/src/main/java/org/distorted/magic/RubikSettings.java
@@ -25,6 +25,7 @@ import android.support.annotation.NonNull;
 import android.support.v4.app.FragmentActivity;
 import android.support.v7.app.AlertDialog;
 import android.support.v7.app.AppCompatDialogFragment;
+import android.util.DisplayMetrics;
 import android.view.Gravity;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -48,7 +49,22 @@ public class RubikSettings extends AppCompatDialogFragment implements SeekBar.On
   private void createSettingsSection(FragmentActivity act, LinearLayout layout, int index)
     {
     BaseEffect.Type beType = BaseEffect.Type.getType(index);
-    float scale = act.getResources().getDisplayMetrics().density;
+    DisplayMetrics metrics = act.getResources().getDisplayMetrics();
+    float scale = metrics.density;
+
+    int textH;
+    int layoH;
+
+    if( metrics.widthPixels > metrics.heightPixels )
+      {
+      textH = 20;
+      layoH = 26;
+      }
+    else
+      {
+      textH = 32;
+      layoH = 36;
+      }
 
     ///// OUTER LAYOUT ///////////////////////////////////////////////////////////////////
 
@@ -69,8 +85,8 @@ public class RubikSettings extends AppCompatDialogFragment implements SeekBar.On
 
     ///// TEXT ///////////////////////////////////////////////////////////////////////////
 
-    int layoutHeight = (int)(scale*32 + 0.5f);
-    int padding      = (int)(scale*10 + 0.5f);
+    int layoutHeight = (int)(scale*textH + 0.5f);
+    int padding      = (int)(scale*10    + 0.5f);
 
     LinearLayout.LayoutParams textParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,layoutHeight);
 
@@ -84,7 +100,7 @@ public class RubikSettings extends AppCompatDialogFragment implements SeekBar.On
 
     ///// INNER LAYOUT1 //////////////////////////////////////////////////////////////////
 
-    int innerLayout1Height = (int)(scale*36 + 0.5f);
+    int innerLayout1Height = (int)(scale*layoH + 0.5f);
     LinearLayout innerLayout1 = new LinearLayout(act);
     LinearLayout.LayoutParams innerLayout1Params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,innerLayout1Height);
 
@@ -130,7 +146,7 @@ public class RubikSettings extends AppCompatDialogFragment implements SeekBar.On
 
     ///// INNER LAYOUT2 //////////////////////////////////////////////////////////////////
 
-    int innerLayout2Height = (int)(scale*36 + 0.5f);
+    int innerLayout2Height = (int)(scale*layoH + 0.5f);
     LinearLayout innerLayout2 = new LinearLayout(act);
     LinearLayout.LayoutParams innerLayout2Params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,innerLayout2Height);
 
@@ -159,7 +175,7 @@ public class RubikSettings extends AppCompatDialogFragment implements SeekBar.On
     spinner.setLayoutParams(spinnerLayoutParams);
     spinner.setPadding(spinnerPadding,0,spinnerPadding,0);
     spinner.setTextAlignment(View.TEXT_ALIGNMENT_CENTER);
-    spinner.setId(index);
+    spinner.setId(index+BaseEffect.Type.LENGTH);
     innerLayout2.addView(spinner);
 
     spinner.setOnItemSelectedListener(this);
@@ -216,10 +232,11 @@ public class RubikSettings extends AppCompatDialogFragment implements SeekBar.On
   public void onItemSelected(AdapterView<?> parent, View view, int pos, long id)
     {
     int parentID = parent.getId();
+    int len = BaseEffect.Type.LENGTH;
 
-    if( parentID>=0 && parentID< BaseEffect.Type.LENGTH) // ith spinner's ID is equal to i (see createSettingSection)
+    if( parentID>=len && parentID< 2*len) // ith spinner's ID is equal to i+LENGTH (see createSettingSection)
       {
-      BaseEffect.Type.getType(parentID).setCurrentType(pos);
+      BaseEffect.Type.getType(parentID-len).setCurrentType(pos);
       }
     }
 
