commit 90fd47b06888a8e168ceb353df1d9a2837849ba1
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Tue Apr 14 14:20:50 2020 +0100

    Lots of bugfixes.

diff --git a/src/main/java/org/distorted/dialogs/RubikDialogAbout.java b/src/main/java/org/distorted/dialogs/RubikDialogAbout.java
index 5c186951..fca20600 100644
--- a/src/main/java/org/distorted/dialogs/RubikDialogAbout.java
+++ b/src/main/java/org/distorted/dialogs/RubikDialogAbout.java
@@ -50,8 +50,6 @@ public class RubikDialogAbout extends AppCompatDialogFragment
 
     if( window!=null )
       {
-      window.setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL,
-                      WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);
       window.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
       }
     }
diff --git a/src/main/java/org/distorted/dialogs/RubikDialogEffects.java b/src/main/java/org/distorted/dialogs/RubikDialogEffects.java
index f0800158..14c0cf44 100644
--- a/src/main/java/org/distorted/dialogs/RubikDialogEffects.java
+++ b/src/main/java/org/distorted/dialogs/RubikDialogEffects.java
@@ -49,6 +49,24 @@ public class RubikDialogEffects extends AppCompatDialogFragment implements SeekB
   {
   private TextView[] mDurationText;
 
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+  @Override
+  public void onStart()
+    {
+    super.onStart();
+
+    Dialog dialog = getDialog();
+    dialog.setCanceledOnTouchOutside(false);
+
+    Window window = dialog.getWindow();
+
+    if( window!=null )
+      {
+      window.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
+      }
+    }
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
   private void addSettingsSection(FragmentActivity act, LinearLayout layout, int index)
@@ -197,26 +215,6 @@ public class RubikDialogEffects extends AppCompatDialogFragment implements SeekB
     mDurationText = new TextView[BaseEffect.Type.LENGTH];
     }
 
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-  @Override
-  public void onStart()
-    {
-    super.onStart();
-
-    Dialog dialog = getDialog();
-    dialog.setCanceledOnTouchOutside(false);
-
-    Window window = dialog.getWindow();
-
-    if( window!=null )
-      {
-      window.setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL,
-                      WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);
-      window.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
-      }
-    }
-
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
   @NonNull
diff --git a/src/main/java/org/distorted/dialogs/RubikDialogNewRecord.java b/src/main/java/org/distorted/dialogs/RubikDialogNewRecord.java
index 175efdb5..92944133 100644
--- a/src/main/java/org/distorted/dialogs/RubikDialogNewRecord.java
+++ b/src/main/java/org/distorted/dialogs/RubikDialogNewRecord.java
@@ -55,8 +55,6 @@ public class RubikDialogNewRecord extends AppCompatDialogFragment
 
     if( window!=null )
       {
-      window.setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL,
-                      WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);
       window.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
       }
     }
diff --git a/src/main/java/org/distorted/dialogs/RubikDialogScoresPagerAdapter.java b/src/main/java/org/distorted/dialogs/RubikDialogScoresPagerAdapter.java
index 8e62b884..60346af7 100644
--- a/src/main/java/org/distorted/dialogs/RubikDialogScoresPagerAdapter.java
+++ b/src/main/java/org/distorted/dialogs/RubikDialogScoresPagerAdapter.java
@@ -86,7 +86,7 @@ class RubikDialogScoresPagerAdapter extends PagerAdapter implements RubikScoresD
 
     switch(errorNumber)
       {
-      case '1': message("Client error");
+      case '1': message("Network error");
                 break;
       case '2': RubikScores scores = RubikScores.getInstance();
                 Bundle bundle = new Bundle();
diff --git a/src/main/java/org/distorted/dialogs/RubikDialogSetName.java b/src/main/java/org/distorted/dialogs/RubikDialogSetName.java
index 19ae85e6..c4735c95 100644
--- a/src/main/java/org/distorted/dialogs/RubikDialogSetName.java
+++ b/src/main/java/org/distorted/dialogs/RubikDialogSetName.java
@@ -47,6 +47,10 @@ import org.distorted.states.RubikStatePlay;
 
 public class RubikDialogSetName extends AppCompatDialogFragment
   {
+  private EditText mEdit;
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
   @Override
   public void onStart()
     {
@@ -56,19 +60,23 @@ public class RubikDialogSetName extends AppCompatDialogFragment
 
     if (dialog != null)
       {
-      Button positiveButton = dialog.getButton(Dialog.BUTTON_POSITIVE);
-      positiveButton.setEnabled(false);
       dialog.setCanceledOnTouchOutside(false);
 
       Window window = dialog.getWindow();
 
       if( window!=null )
         {
-        window.setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL,
-                        WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);
         window.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
         }
       }
+
+    Button positiveButton = dialog.getButton(Dialog.BUTTON_POSITIVE);
+
+    if( positiveButton!=null )
+      {
+      String editName = mEdit.getText().toString();
+      positiveButton.setEnabled(editName.length()>0);
+      }
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -101,6 +109,7 @@ public class RubikDialogSetName extends AppCompatDialogFragment
 
     final View view = inflater.inflate(R.layout.dialog_set_name, null);
     TextView text = view.findViewById(R.id.set_name_message);
+    mEdit = view.findViewById(R.id.set_name);
 
     if( first )
       {
@@ -118,25 +127,27 @@ public class RubikDialogSetName extends AppCompatDialogFragment
       @Override
       public void onClick(DialogInterface dialog, int which)
         {
-        RubikActivity act = (RubikActivity)getActivity();
-        RubikState.switchState(act,RubikState.PLAY);
-
-        EditText edit = view.findViewById(R.id.set_name);
-        String name = edit.getText().toString();
-        RubikScores.getInstance().setName(name);
-
-        RubikStatePlay play = (RubikStatePlay) RubikState.PLAY.getStateClass();
-        int object = play.getObject();
-        int size   = play.getSize();
-        int sizeIndex = RubikObjectList.getSizeIndex(object,size);
-
-        Bundle bundle = new Bundle();
-        bundle.putInt("tab", RubikObjectList.pack(object,sizeIndex) );
-        bundle.putBoolean("submitting", true);
-
-        RubikDialogScores scores = new RubikDialogScores();
-        scores.setArguments(bundle);
-        scores.show(act.getSupportFragmentManager(), null);
+        String name = mEdit.getText().toString();
+
+        if( name.length()>0 )
+          {
+          RubikActivity act = (RubikActivity)getActivity();
+          RubikState.switchState(act,RubikState.PLAY);
+          RubikScores.getInstance().setName(name);
+          RubikStatePlay play = (RubikStatePlay) RubikState.PLAY.getStateClass();
+
+          int object = play.getObject();
+          int size   = play.getSize();
+          int sizeIndex = RubikObjectList.getSizeIndex(object,size);
+
+          Bundle bundle = new Bundle();
+          bundle.putInt("tab", RubikObjectList.pack(object,sizeIndex) );
+          bundle.putBoolean("submitting", true);
+
+          RubikDialogScores scores = new RubikDialogScores();
+          scores.setArguments(bundle);
+          scores.show(act.getSupportFragmentManager(), null);
+          }
         }
       });
 
@@ -144,10 +155,9 @@ public class RubikDialogSetName extends AppCompatDialogFragment
     final Dialog dialog = builder.create();
     dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
 
-    EditText edit = view.findViewById(R.id.set_name);
-    edit.requestFocus();
+    mEdit.requestFocus();
 
-    edit.addTextChangedListener(new TextWatcher()
+    mEdit.addTextChangedListener(new TextWatcher()
       {
       @Override
       public void afterTextChanged(Editable s) {}
diff --git a/src/main/java/org/distorted/dialogs/RubikDialogSolved.java b/src/main/java/org/distorted/dialogs/RubikDialogSolved.java
index fa274878..43f70f9b 100644
--- a/src/main/java/org/distorted/dialogs/RubikDialogSolved.java
+++ b/src/main/java/org/distorted/dialogs/RubikDialogSolved.java
@@ -52,8 +52,6 @@ public class RubikDialogSolved extends AppCompatDialogFragment
 
     if( window!=null )
       {
-      window.setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL,
-                      WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);
       window.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
       }
     }
diff --git a/src/main/java/org/distorted/dialogs/RubikDialogSolverError.java b/src/main/java/org/distorted/dialogs/RubikDialogSolverError.java
index 4bfee51a..082ff924 100644
--- a/src/main/java/org/distorted/dialogs/RubikDialogSolverError.java
+++ b/src/main/java/org/distorted/dialogs/RubikDialogSolverError.java
@@ -50,8 +50,6 @@ public class RubikDialogSolverError extends AppCompatDialogFragment
 
     if( window!=null )
       {
-      window.setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL,
-                      WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);
       window.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
       }
     }
diff --git a/src/main/java/org/distorted/scores/RubikScoresDownloader.java b/src/main/java/org/distorted/scores/RubikScoresDownloader.java
index 3cedea60..2f6fda8f 100644
--- a/src/main/java/org/distorted/scores/RubikScoresDownloader.java
+++ b/src/main/java/org/distorted/scores/RubikScoresDownloader.java
@@ -139,7 +139,7 @@ public class RubikScoresDownloader implements Runnable
       mReceiver.error("1");
       return false;
       }
-    else if( len==1 )
+    else if( len<=2 )
       {
       mReceiver.error(mScores);
       return false;
