feat: Add first-launch server URL input dialog
Implements a setup dialog on first game launch that allows users to enter their custom community server URL without rebuilding the APK. Features: - Server URL input dialog on first launch - URL validation (format check) - Connection test button - SharedPreferences storage - Priority: SharedPreferences > AndroidManifest.xml > EA defaults - Activity restart flow for applying configuration New files: - CommunityServerManager.smali (URL management) - ServerSetupActivity.smali + 4 inner classes (dialog UI) - res/layout/activity_server_setup.xml (layout) - SERVER-URL-INPUT-IMPLEMENTATION.md (docs) Modified files: - SynergyEnvironmentImpl.smali (SharedPreferences check priority) - MainActivity.smali (first-launch check + onActivityResult) - AndroidManifest.xml (declare ServerSetupActivity) Benefits: - One APK works with any server - Easy server switching - Lower barrier to entry for non-technical users
This commit is contained in:
@@ -956,6 +956,36 @@
|
||||
.line 227
|
||||
invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V
|
||||
|
||||
# 🆕 COMMUNITY PATCH: Check SharedPreferences first (PRIORITY #1)
|
||||
.line 228
|
||||
invoke-static {}, Lcom/ea/nimble/ApplicationEnvironment;->getCurrentApplication()Landroid/app/Application;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
invoke-static {v0}, Lcom/firemint/realracing/CommunityServerManager;->getServerUrl(Landroid/content/Context;)Ljava/lang/String;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
if-eqz v0, :check_manifest
|
||||
|
||||
.line 229
|
||||
invoke-virtual {v0}, Ljava/lang/String;->isEmpty()Z
|
||||
|
||||
move-result v1
|
||||
|
||||
if-nez v1, :check_manifest
|
||||
|
||||
# User has configured a custom server URL via setup dialog
|
||||
const-string v1, "🎯 Using community server from SharedPreferences"
|
||||
|
||||
const-string v2, "SynergyEnvironmentImpl"
|
||||
|
||||
invoke-static {v2, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
|
||||
|
||||
return-object v0
|
||||
|
||||
# Continue with normal logic (AndroidManifest.xml or defaults)
|
||||
:check_manifest
|
||||
.line 228
|
||||
sget-object v0, Lcom/ea/nimble/SynergyEnvironmentImpl$3;->$SwitchMap$com$ea$nimble$NimbleConfiguration:[I
|
||||
|
||||
|
||||
Reference in New Issue
Block a user