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>
This commit is contained in:
@@ -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;-><init>(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;
|
||||
|
||||
Reference in New Issue
Block a user