From 2eb3dec9b338c530e59478b4e347226a6f52dea1 Mon Sep 17 00:00:00 2001 From: Daniel Elliott Date: Thu, 19 Feb 2026 11:54:41 -0800 Subject: [PATCH] Restore original MainActivity for stability Reverted MainActivity.smali to original v14 version to fix startup crash. Settings menu integration will be added in future release after testing. Status: Stable v15.0.0-community-alpha base Working: Game launches successfully TODO: Re-add settings menu integration carefully Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../firemint/realracing/MainActivity.smali | 87 ++----------------- 1 file changed, 9 insertions(+), 78 deletions(-) diff --git a/smali_classes2/com/firemint/realracing/MainActivity.smali b/smali_classes2/com/firemint/realracing/MainActivity.smali index 0e4c87e6f..4c1387998 100644 --- a/smali_classes2/com/firemint/realracing/MainActivity.smali +++ b/smali_classes2/com/firemint/realracing/MainActivity.smali @@ -6,7 +6,6 @@ # 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; @@ -2238,60 +2237,17 @@ :cond_0 invoke-static {p0}, Lcom/firemint/realracing/AppProxy;->SetActivity(Landroid/app/Activity;)V - # Check if launched from ServerSelectionActivity - invoke-virtual {p0}, Lcom/firemint/realracing/MainActivity;->getIntent()Landroid/content/Intent; + # Initialize LocalSaveManager for offline mode + invoke-static {p0}, Lcom/firemint/realracing/LocalSaveManager;->initSaveFile(Landroid/content/Context;)V - move-result-object v0 + # Initialize OfflineModeManager + invoke-static {p0}, Lcom/firemint/realracing/OfflineModeManager;->init(Landroid/content/Context;)V - if-eqz v0, :skip_server_config + # Initialize OfflineCurrencyManager (sets unlimited currency for offline) + invoke-static {p0}, Lcom/firemint/realracing/OfflineCurrencyManager;->init(Landroid/content/Context;)V - const-string v1, "mode" - - invoke-virtual {v0, v1}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v1 - - if-eqz v1, :skip_server_config - - const-string v2, "online" - - invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z - - move-result v2 - - if-eqz v2, :skip_server_config - - # Online mode - set up custom server - const-string v1, "serverUrl" - - invoke-virtual {v0, v1}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v0 - - if-eqz v0, :skip_server_config - - invoke-virtual {v0}, Ljava/lang/String;->isEmpty()Z - - move-result v1 - - if-nez v1, :skip_server_config - - # Set custom server URL for Nimble SDK - invoke-static {v0}, Lcom/firemint/realracing/ServerManager;->setCustomServer(Ljava/lang/String;)V - - :skip_server_config - - # 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; - - new-instance v1, Lcom/firemint/realracing/MainActivity$OfflineInitRunnable; - - invoke-direct {v1, p0}, Lcom/firemint/realracing/MainActivity$OfflineInitRunnable;->(Lcom/firemint/realracing/MainActivity;)V - - const-wide/16 v2, 0x1f4 - - invoke-virtual {v0, v1, v2, v3}, Landroid/os/Handler;->postDelayed(Ljava/lang/Runnable;J)Z + # Initialize OfflineEventsManager (enables all special events) + invoke-static {p0}, Lcom/firemint/realracing/OfflineEventsManager;->init(Landroid/content/Context;)V .line 353 invoke-virtual {p0}, Landroid/app/Activity;->getApplication()Landroid/app/Application; @@ -2808,34 +2764,9 @@ .end method .method public onKeyDown(ILandroid/view/KeyEvent;)Z - .locals 3 + .locals 1 .line 1518 - # Check if Menu button (keycode 82) pressed - const/16 v0, 0x52 - - if-ne p1, v0, :cond_settings_check_done - - # Open SettingsActivity - const-string v0, "RR3-Community" - - const-string v1, "\u2699\ufe0f Menu button pressed - Opening Settings" - - invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I - - new-instance v0, Landroid/content/Intent; - - const-class v1, Lcom/firemint/realracing/SettingsActivity; - - invoke-direct {v0, p0, v1}, Landroid/content/Intent;->(Landroid/content/Context;Ljava/lang/Class;)V - - invoke-virtual {p0, v0}, Lcom/firemint/realracing/MainActivity;->startActivity(Landroid/content/Intent;)V - - const/4 p1, 0x1 - - return p1 - - :cond_settings_check_done invoke-virtual {p0, p1, p2}, Lcom/firemint/realracing/MainActivity;->handleKeyEvent(ILandroid/view/KeyEvent;)Z move-result v0