commit 32fbd026fe44b9b5ceaf3f46a1116d7c76bc6d48
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Wed Feb 2 00:53:23 2022 +0100

    Downloaded Objects: bugfix.

diff --git a/src/main/java/org/distorted/dialogs/RubikDialogUpdateView.java b/src/main/java/org/distorted/dialogs/RubikDialogUpdateView.java
index eb1215a5..cd93c53a 100644
--- a/src/main/java/org/distorted/dialogs/RubikDialogUpdateView.java
+++ b/src/main/java/org/distorted/dialogs/RubikDialogUpdateView.java
@@ -139,20 +139,51 @@ public class RubikDialogUpdateView implements RubikNetwork.Downloadee
     mBar.setVisibility(View.VISIBLE);
     }
 
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+  private void displayError(int error)
+    {
+    Activity act = mAct.get();
+
+    act.runOnUiThread(new Runnable()
+      {
+      @Override
+      public void run()
+        {
+        mDescription.setTextColor(Color.parseColor("#ff0000"));
+        mDescription.setText(error);
+        }
+      });
+    }
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+  private void makeProgress(int progress, int message)
+    {
+    Activity act = mAct.get();
+
+    act.runOnUiThread(new Runnable()
+      {
+      @Override
+      public void run()
+        {
+        mBar.setProgress(progress);
+        mDescription.setText(message);
+        }
+      });
+    }
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
   public void jsonDownloaded()
     {
     if( mInfo.mUpdateObject && mInfo.mObjectStream==null )
       {
-      mDescription.setTextColor(Color.parseColor("#ff0000"));
-      mDescription.setText(R.string.networkError);
+      displayError(R.string.networkError);
       }
     else
       {
-      mBar.setProgress(50);
-      mDescription.setText(R.string.installing);
-
+      makeProgress(50,R.string.installing);
       RubikFiles files = RubikFiles.getInstance();
       boolean oSuccess=true, eSuccess=true;
 
@@ -181,24 +212,32 @@ public class RubikDialogUpdateView implements RubikNetwork.Downloadee
 
       if( mIconSaved || oSuccess || eSuccess )
         {
-        mBar.setProgress(75);
-        mDescription.setText(R.string.configuring);
+        makeProgress(75,R.string.configuring);
+
+        android.util.Log.e("D", "1");
+
         RubikObjectList.addDownloadedObject(mInfo.mObjectShortName,mInfo.mNumScrambles, mInfo.mObjectMinorVersion,
                                             mInfo.mExtrasMinorVersion, mIconSaved, oSuccess, eSuccess);
 
+        android.util.Log.e("D", "2");
+
         RubikNetwork network = RubikNetwork.getInstance();
         network.updateDone(mInfo.mObjectShortName);
 
+        android.util.Log.e("D", "3");
+
         RubikScreenPlay play = (RubikScreenPlay)ScreenList.PLAY.getScreenClass();
         play.recreatePopup();
 
-        mBar.setProgress(100);
-        mDescription.setText(R.string.success);
+        android.util.Log.e("D", "4");
+
+        makeProgress(100,R.string.success);
+
+        android.util.Log.e("D", "5");
         }
       else
         {
-        mDescription.setTextColor(Color.parseColor("#ff0000"));
-        mDescription.setText(R.string.saveError);
+        displayError(R.string.saveError);
         }
       }
     }
