commit d6c79ac9b8a83d3f242a4359d81bd9882d1cac45
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Thu Apr 7 08:13:20 2022 +0200

    Only show Bandaged option on Android >= 7.0.

diff --git a/src/main/java/org/distorted/screens/RubikScreenPlay.java b/src/main/java/org/distorted/screens/RubikScreenPlay.java
index 99b8a43e..f20d0b82 100644
--- a/src/main/java/org/distorted/screens/RubikScreenPlay.java
+++ b/src/main/java/org/distorted/screens/RubikScreenPlay.java
@@ -66,14 +66,19 @@ public class RubikScreenPlay extends RubikScreenBase implements RubikNetwork.Upd
   public static final int NUM_COLUMNS  = 5;
   public static final int LEVELS_SHOWN = 10;
 
-  private static final int[] BUTTON_LABELS = { R.string.scores,
-                                               R.string.patterns,
-                                               R.string.solver,
-                                               R.string.tutorials,
-                                               R.string.bandaged,
-                                               R.string.about };
-
-  private static final int NUM_BUTTONS = BUTTON_LABELS.length;
+  private static final int[] BUTTON_LABELS_FULL = { R.string.scores,
+                                                    R.string.patterns,
+                                                    R.string.solver,
+                                                    R.string.tutorials,
+                                                    R.string.bandaged,
+                                                    R.string.about };
+
+  private static final int[] BUTTON_LABELS_LEAN = { R.string.scores,
+                                                    R.string.patterns,
+                                                    R.string.solver,
+                                                    R.string.tutorials,
+                                                    R.string.about };
+
   private static final float LAST_BUTTON = 1.5f;
   private static final int[] mLocation = new int[2];
 
@@ -91,6 +96,8 @@ public class RubikScreenPlay extends RubikScreenBase implements RubikNetwork.Upd
   private int mBottomHeight;
   private float mScreenWidth;
   private WeakReference<RubikActivity> mWeakAct;
+  private boolean mDisplayBandaged;
+  private int mNumButtons;
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
@@ -103,6 +110,9 @@ public class RubikScreenPlay extends RubikScreenBase implements RubikNetwork.Upd
 
   void enterScreen(final RubikActivity act)
     {
+    mDisplayBandaged = Build.VERSION.SDK_INT >= Build.VERSION_CODES.N;
+    mNumButtons = mDisplayBandaged ? BUTTON_LABELS_FULL.length : BUTTON_LABELS_LEAN.length;
+
     mWeakAct = new WeakReference<>(act);
     int numObjects = RubikObjectList.getNumObjects();
     mScreenWidth = act.getScreenWidthInPixels();
@@ -393,16 +403,18 @@ public class RubikScreenPlay extends RubikScreenBase implements RubikNetwork.Upd
     int padding = (int)(width*RubikActivity.PADDING);
 
     mMenuLayoutWidth = (int)(width/2);
-    mMenuLayoutHeight= (int)(2*margin + NUM_BUTTONS*(mMenuItemSize+margin));
+    mMenuLayoutHeight= (int)(2*margin + mNumButtons*(mMenuItemSize+margin));
 
     LinearLayout.LayoutParams p = new LinearLayout.LayoutParams( mMenuLayoutWidth - 2*padding, (int)mMenuItemSize);
 
-    for(int i=0; i<NUM_BUTTONS; i++)
+    int[] labels = mDisplayBandaged ? BUTTON_LABELS_FULL : BUTTON_LABELS_LEAN;
+
+    for(int i=0; i<mNumButtons; i++)
       {
       final int but = i;
       Button button = new Button(act);
       button.setLayoutParams(p);
-      button.setText(BUTTON_LABELS[i]);
+      button.setText(labels[i]);
       button.setTextSize(TypedValue.COMPLEX_UNIT_PX, mMenuTextSize);
 
       button.setOnClickListener( new View.OnClickListener()
@@ -458,8 +470,11 @@ public class RubikScreenPlay extends RubikScreenBase implements RubikNetwork.Upd
       case 3: RubikDialogTutorial tDiag = new RubikDialogTutorial();
               tDiag.show( act.getSupportFragmentManager(), RubikDialogTutorial.getDialogTag() );
               break;
-      case 4: act.switchToBandagedCreator();
-              break;
+      case 4: if( mDisplayBandaged )
+                {
+                act.switchToBandagedCreator();
+                break;
+                }
       case 5: RubikDialogAbout aDiag = new RubikDialogAbout();
               aDiag.show(act.getSupportFragmentManager(), null);
               break;
