commit 526a590636185cb79a6ad554e54012124863e7a0
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Wed Feb 2 16:25:32 2022 +0100

    Restore the list of objects before resotoring the list of records; otherwise we cannot restore records of downloaded objects.

diff --git a/src/main/java/org/distorted/main/RubikActivity.java b/src/main/java/org/distorted/main/RubikActivity.java
index 488774cd..29e498bc 100644
--- a/src/main/java/org/distorted/main/RubikActivity.java
+++ b/src/main/java/org/distorted/main/RubikActivity.java
@@ -331,6 +331,8 @@ public class RubikActivity extends AppCompatActivity
       mPolicyAccepted = preferences.getBoolean("policyAccepted", false);
       String oldVersion = preferences.getString("appVersion","");
 
+      RubikObjectList.restorePreferences(preferences);
+
       for (int i=0; i< BaseEffect.Type.LENGTH; i++)
         {
         BaseEffect.Type.getType(i).restorePreferences(preferences);
@@ -341,9 +343,7 @@ public class RubikActivity extends AppCompatActivity
         ScreenList.getScreen(i).getScreenClass().restorePreferences(preferences);
         }
 
-      RubikObjectList.restorePreferences(preferences);
       ScreenList.restorePreferences(preferences);
-
       RubikSurfaceView view = findViewById(R.id.rubikSurfaceView);
 
       // Versions <= 1.8.6 did not save their 'appVersion' to preferences, therefore in their
diff --git a/src/main/java/org/distorted/objects/RubikObjectList.java b/src/main/java/org/distorted/objects/RubikObjectList.java
index a726dc5d..0bdcfe6a 100644
--- a/src/main/java/org/distorted/objects/RubikObjectList.java
+++ b/src/main/java/org/distorted/objects/RubikObjectList.java
@@ -283,6 +283,8 @@ public class RubikObjectList
 
   public static void restorePreferences(SharedPreferences preferences)
     {
+    if( mThis==null ) mThis = new RubikObjectList();
+
     String downloaded = preferences.getString("rol_downloaded","");
 
     if( SHOW_DOWNLOADED_DEBUG ) android.util.Log.e("D", downloaded);
