commit 2f1b15dac848dd56fb81b92cda44dbb157a2324d
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Tue Feb 18 16:03:51 2020 +0000

    Corrections

diff --git a/src/main/java/org/distorted/magic/RubikActivity.java b/src/main/java/org/distorted/magic/RubikActivity.java
index 1c8c7c81..148a5c94 100644
--- a/src/main/java/org/distorted/magic/RubikActivity.java
+++ b/src/main/java/org/distorted/magic/RubikActivity.java
@@ -66,7 +66,7 @@ public class RubikActivity extends AppCompatActivity implements View.OnClickList
       RubikSurfaceView view = findViewById(R.id.rubikSurfaceView);
       view.onResume();
       restorePreferences();
-      view.enterState(this, mCurrentState);
+      view.switchState(this, mCurrentState);
       }
     
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -105,7 +105,7 @@ public class RubikActivity extends AppCompatActivity implements View.OnClickList
         if( mCurrentState!=null )
           {
           RubikSurfaceView view = findViewById(R.id.rubikSurfaceView);
-          view.enterState(this, mCurrentState);
+          view.switchState(this, mCurrentState);
           }
         else
           {
@@ -161,7 +161,7 @@ public class RubikActivity extends AppCompatActivity implements View.OnClickList
       {
       mCurrentState = RubikState.PLAY;
       RubikSurfaceView view = findViewById(R.id.rubikSurfaceView);
-      view.enterState(this,mCurrentState);
+      view.switchState(this,mCurrentState);
       }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/magic/RubikSurfaceView.java b/src/main/java/org/distorted/magic/RubikSurfaceView.java
index d71871ea..2751d269 100644
--- a/src/main/java/org/distorted/magic/RubikSurfaceView.java
+++ b/src/main/java/org/distorted/magic/RubikSurfaceView.java
@@ -263,7 +263,7 @@ public class RubikSurfaceView extends GLSurfaceView
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-    void enterState(RubikActivity act, RubikState state)
+    void switchState(RubikActivity act, RubikState state)
       {
       if( mCurrentState!=state )
         {
@@ -273,33 +273,12 @@ public class RubikSurfaceView extends GLSurfaceView
           case PLAY: enterPlayState(act); break;
           }
 
-        if( mCurrentState==RubikState.PLAY )
+        if( mCurrentState!=null )
           {
-          mPickerValue = mPicker.getValue();
-          }
-        if( mCurrentState==RubikState.MAIN )
-          {
-          FragmentManager mana = act.getSupportFragmentManager();
-          RubikDialogMain diag = (RubikDialogMain) mana.findFragmentByTag(RubikDialogMain.getDialogTag());
-
-          if( diag!=null )
-            {
-            diag.dismiss();
-            }
-          else
+          switch(mCurrentState)
             {
-            android.util.Log.e("act", "cannot find main dialog!");
-            }
-          }
-        if( state==RubikState.MAIN )
-          {
-          FragmentManager mana = act.getSupportFragmentManager();
-          RubikDialogMain diag = (RubikDialogMain) mana.findFragmentByTag(RubikDialogMain.getDialogTag());
-
-          if( diag==null )
-            {
-            RubikDialogMain diag2 = new RubikDialogMain();
-            diag2.show( mana, RubikDialogMain.getDialogTag() );
+            case MAIN: leaveMainState(act); break;
+            case PLAY: leavePlayState(act); break;
             }
           }
 
@@ -311,10 +290,43 @@ public class RubikSurfaceView extends GLSurfaceView
         }
       }
 
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+    private void leaveMainState(RubikActivity act)
+      {
+      FragmentManager mana = act.getSupportFragmentManager();
+      RubikDialogMain diag = (RubikDialogMain) mana.findFragmentByTag(RubikDialogMain.getDialogTag());
+
+      if( diag!=null )
+        {
+        diag.dismiss();
+        }
+      else
+        {
+        android.util.Log.e("act", "cannot find main dialog!");
+        }
+      }
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+    private void leavePlayState(RubikActivity act)
+      {
+      mPickerValue = mPicker.getValue();
+      }
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
     private void enterMainState(RubikActivity act)
       {
+      FragmentManager mana = act.getSupportFragmentManager();
+      RubikDialogMain diag = (RubikDialogMain) mana.findFragmentByTag(RubikDialogMain.getDialogTag());
+
+      if( diag==null )
+        {
+        RubikDialogMain diag2 = new RubikDialogMain();
+        diag2.show( mana, RubikDialogMain.getDialogTag() );
+        }
+
       LayoutInflater inflater = act.getLayoutInflater();
 
       // TOP ////////////////////////////
