Files
rr3-apk/smali_classes2/com/firemint/realracing/SettingsActivity$5.smali
Daniel Elliott 7438e7efeb Add in-game settings menu with web panel sync
Features:
- SettingsActivity accessible via Menu button (keycode 82)
- Configure server URL and mode (online/offline) in-game
- Test connection before saving settings
- Switch to offline mode with one tap
- Sync settings from web admin panel
- Real-time status messages with emoji indicators

Implementation:
- Created 13 SettingsActivity Smali files (main + inner classes)
- Created activity_settings.xml UI layout
- Added SettingsActivity to AndroidManifest.xml (portrait mode)
- Modified MainActivity.smali to handle Menu button press
- Integrated with existing ServerManager for Nimble SDK overrides
- Settings stored in SharedPreferences (rr3_server_config.xml)

APK:
- Built and signed: RR3-v14-Settings-Menu.apk (103 MB)
- Keystore: rr3-release.keystore (alias: rr3key)
- Ready for distribution

Related server changes:
- ServerSettingsController.cs with 3 API endpoints
- DeviceSettings.cshtml admin page
- UserSettings database model and migration

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-19 10:19:39 -08:00

60 lines
1.8 KiB
Smali

.class Lcom/firemint/realracing/SettingsActivity$5;
.super Ljava/lang/Object;
.source "SettingsActivity.java"
# interfaces
.implements Landroid/view/View$OnClickListener;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/firemint/realracing/SettingsActivity;->onCreate(Landroid/os/Bundle;)V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x0
name = null
.end annotation
# instance fields
.field final synthetic this$0:Lcom/firemint/realracing/SettingsActivity;
# direct methods
.method constructor <init>(Lcom/firemint/realracing/SettingsActivity;)V
.registers 2
.param p1, "this$0" # Lcom/firemint/realracing/SettingsActivity;
.line 191
iput-object p1, p0, Lcom/firemint/realracing/SettingsActivity$5;->this$0:Lcom/firemint/realracing/SettingsActivity;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public onClick(Landroid/view/View;)V
.registers 4
.param p1, "v" # Landroid/view/View;
.line 194
iget-object v0, p0, Lcom/firemint/realracing/SettingsActivity$5;->this$0:Lcom/firemint/realracing/SettingsActivity;
const-string v1, "\ud83d\udd04 Syncing from web panel..."
invoke-virtual {v0, v1}, Lcom/firemint/realracing/SettingsActivity;->showStatus(Ljava/lang/String;)V
.line 196
new-instance v0, Ljava/lang/Thread;
new-instance v1, Lcom/firemint/realracing/SettingsActivity$5$1;
invoke-direct {v1, p0}, Lcom/firemint/realracing/SettingsActivity$5$1;-><init>(Lcom/firemint/realracing/SettingsActivity$5;)V
invoke-direct {v0, v1}, Ljava/lang/Thread;-><init>(Ljava/lang/Runnable;)V
invoke-virtual {v0}, Ljava/lang/Thread;->start()V
.line 230
return-void
.end method