Files
rr3-apk/smali_classes2/com/firemint/realracing/MainActivity$OfflineInitRunnable.smali
Daniel Elliott 8f2e2f78f3 Fix startup crash: Delay offline manager initialization by 500ms
- Move init calls from onCreate() to Handler.postDelayed()
- Create OfflineInitRunnable inner class for delayed execution
- Add try-catch wrapper for safety
- Add detailed logging for debugging

This fixes the crash caused by offline managers trying to access
Context/SharedPreferences before Android system fully initializes.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-18 21:25:51 -08:00

109 lines
3.3 KiB
Smali

.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 <init>(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;-><init>()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