diff --git a/smali_classes2/com/firemint/realracing/MainActivity$OfflineInitRunnable.smali b/smali_classes2/com/firemint/realracing/MainActivity$OfflineInitRunnable.smali new file mode 100644 index 000000000..e2d984a23 --- /dev/null +++ b/smali_classes2/com/firemint/realracing/MainActivity$OfflineInitRunnable.smali @@ -0,0 +1,108 @@ +.class Lcom/firemint/realracing/MainActivity$OfflineInitRunnable; +.super Ljava/lang/Object; +.source "SourceFile" + +# interfaces +.implements Ljava/lang/Runnable; + + +# annotations +.annotation system Ldalvik/annotation/EnclosingClass; + value = Lcom/firemint/realracing/MainActivity; +.end annotation + +.annotation system Ldalvik/annotation/InnerClass; + accessFlags = 0x2 + name = "OfflineInitRunnable" +.end annotation + + +# instance fields +.field final synthetic this$0:Lcom/firemint/realracing/MainActivity; + + +# direct methods +.method constructor (Lcom/firemint/realracing/MainActivity;)V + .locals 0 + + .line 1 + iput-object p1, p0, Lcom/firemint/realracing/MainActivity$OfflineInitRunnable;->this$0:Lcom/firemint/realracing/MainActivity; + + invoke-direct {p0}, Ljava/lang/Object;->()V + + return-void +.end method + + +# virtual methods +.method public run()V + .locals 3 + + .line 1 + const-string v0, "RealRacing3" + + const-string v1, "OfflineInitRunnable: Initializing offline managers (delayed)" + + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I + + .line 2 + :try_start_0 + iget-object v1, p0, Lcom/firemint/realracing/MainActivity$OfflineInitRunnable;->this$0:Lcom/firemint/realracing/MainActivity; + + invoke-static {v1}, Lcom/firemint/realracing/LocalSaveManager;->initSaveFile(Landroid/content/Context;)V + + .line 3 + const-string v1, " ✓ LocalSaveManager initialized" + + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I + + .line 4 + iget-object v1, p0, Lcom/firemint/realracing/MainActivity$OfflineInitRunnable;->this$0:Lcom/firemint/realracing/MainActivity; + + invoke-static {v1}, Lcom/firemint/realracing/OfflineModeManager;->init(Landroid/content/Context;)V + + .line 5 + const-string v1, " ✓ OfflineModeManager initialized" + + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I + + .line 6 + iget-object v1, p0, Lcom/firemint/realracing/MainActivity$OfflineInitRunnable;->this$0:Lcom/firemint/realracing/MainActivity; + + invoke-static {v1}, Lcom/firemint/realracing/OfflineCurrencyManager;->init(Landroid/content/Context;)V + + .line 7 + const-string v1, " ✓ OfflineCurrencyManager initialized" + + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I + + .line 8 + iget-object v1, p0, Lcom/firemint/realracing/MainActivity$OfflineInitRunnable;->this$0:Lcom/firemint/realracing/MainActivity; + + invoke-static {v1}, Lcom/firemint/realracing/OfflineEventsManager;->init(Landroid/content/Context;)V + + .line 9 + const-string v1, " ✓ OfflineEventsManager initialized" + + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I + + .line 10 + const-string v1, "✅ All offline managers initialized successfully!" + + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I + :try_end_0 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0 + + goto :goto_0 + + :catch_0 + move-exception v1 + + .line 11 + const-string v2, "❌ Error initializing offline managers:" + + invoke-static {v0, v2, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I + + :goto_0 + return-void +.end method diff --git a/smali_classes2/com/firemint/realracing/MainActivity.smali b/smali_classes2/com/firemint/realracing/MainActivity.smali index 4c1387998..c6dc7af02 100644 --- a/smali_classes2/com/firemint/realracing/MainActivity.smali +++ b/smali_classes2/com/firemint/realracing/MainActivity.smali @@ -6,6 +6,7 @@ # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { + Lcom/firemint/realracing/MainActivity$OfflineInitRunnable;, Lcom/firemint/realracing/MainActivity$Message;, Lcom/firemint/realracing/MainActivity$KeyEventRunnable;, Lcom/firemint/realracing/MainActivity$MessageExecuteCallback; @@ -2237,17 +2238,17 @@ :cond_0 invoke-static {p0}, Lcom/firemint/realracing/AppProxy;->SetActivity(Landroid/app/Activity;)V - # Initialize LocalSaveManager for offline mode - invoke-static {p0}, Lcom/firemint/realracing/LocalSaveManager;->initSaveFile(Landroid/content/Context;)V + # Delayed initialization of offline managers (500ms delay to prevent crash) + # This allows Android system to fully initialize Context, SharedPreferences, etc. + iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->handler:Landroid/os/Handler; - # Initialize OfflineModeManager - invoke-static {p0}, Lcom/firemint/realracing/OfflineModeManager;->init(Landroid/content/Context;)V + new-instance v1, Lcom/firemint/realracing/MainActivity$OfflineInitRunnable; - # Initialize OfflineCurrencyManager (sets unlimited currency for offline) - invoke-static {p0}, Lcom/firemint/realracing/OfflineCurrencyManager;->init(Landroid/content/Context;)V + invoke-direct {v1, p0}, Lcom/firemint/realracing/MainActivity$OfflineInitRunnable;->(Lcom/firemint/realracing/MainActivity;)V - # Initialize OfflineEventsManager (enables all special events) - invoke-static {p0}, Lcom/firemint/realracing/OfflineEventsManager;->init(Landroid/content/Context;)V + const-wide/16 v2, 0x1f4 + + invoke-virtual {v0, v1, v2, v3}, Landroid/os/Handler;->postDelayed(Ljava/lang/Runnable;J)Z .line 353 invoke-virtual {p0}, Landroid/app/Activity;->getApplication()Landroid/app/Application;