diff --git a/build/apk/classes2.dex b/build/apk/classes2.dex index acb361036..15a955ce8 100644 Binary files a/build/apk/classes2.dex and b/build/apk/classes2.dex differ diff --git a/smali_classes2/com/firemint/realracing/MainActivity.smali b/smali_classes2/com/firemint/realracing/MainActivity.smali index 2d29cc0c7..4c1387998 100644 --- a/smali_classes2/com/firemint/realracing/MainActivity.smali +++ b/smali_classes2/com/firemint/realracing/MainActivity.smali @@ -2246,6 +2246,9 @@ # Initialize OfflineCurrencyManager (sets unlimited currency for offline) invoke-static {p0}, Lcom/firemint/realracing/OfflineCurrencyManager;->init(Landroid/content/Context;)V + # 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; diff --git a/smali_classes2/com/firemint/realracing/OfflineEventsManager.smali b/smali_classes2/com/firemint/realracing/OfflineEventsManager.smali new file mode 100644 index 000000000..0b851d099 --- /dev/null +++ b/smali_classes2/com/firemint/realracing/OfflineEventsManager.smali @@ -0,0 +1,592 @@ +.class public Lcom/firemint/realracing/OfflineEventsManager; +.super Ljava/lang/Object; +.source "OfflineEventsManager.java" + + +# static fields +.field private static final TAG:Ljava/lang/String; = "RR3_OfflineEvents" + +.field private static eventsEnabled:Z = true + + +# direct methods +.method static constructor ()V + .locals 1 + + # Enable all events by default + const/4 v0, 0x1 + + sput-boolean v0, Lcom/firemint/realracing/OfflineEventsManager;->eventsEnabled:Z + + return-void +.end method + +.method public constructor ()V + .locals 0 + + invoke-direct {p0}, Ljava/lang/Object;->()V + + return-void +.end method + +.method public static init(Landroid/content/Context;)V + .locals 2 + + const-string v0, "RR3_OfflineEvents" + + const-string v1, "Initializing Offline Events Manager" + + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I + + # Initialize event data in save file + invoke-static {p0}, Lcom/firemint/realracing/OfflineEventsManager;->initializeEventData(Landroid/content/Context;)V + + const-string p0, "All special events enabled for offline play" + + invoke-static {v0, p0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I + + return-void +.end method + +.method private static initializeEventData(Landroid/content/Context;)V + .locals 5 + + const-string v0, "RR3_OfflineEvents" + + :try_start_0 + # Get or create events object in save file + invoke-static {}, Lcom/firemint/realracing/LocalSaveManager;->getSaveData()Lorg/json/JSONObject; + + move-result-object v1 + + if-nez v1, :cond_0 + + const-string p0, "Save data not initialized" + + invoke-static {v0, p0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I + + return-void + + :cond_0 + # Check if events object exists + const-string v2, "events" + + invoke-virtual {v1, v2}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z + + move-result v3 + + if-nez v3, :cond_1 + + # Create events object + new-instance v3, Lorg/json/JSONObject; + + invoke-direct {v3}, Lorg/json/JSONObject;->()V + + # Add event types + const-string v4, "timeTrial" + + invoke-static {}, Lcom/firemint/realracing/OfflineEventsManager;->createDefaultTimeTrialData()Lorg/json/JSONObject; + + move-result-object v4 + + const-string v2, "timeTrial" + + invoke-virtual {v3, v2, v4}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + const-string v4, "dailyBattle" + + invoke-static {}, Lcom/firemint/realracing/OfflineEventsManager;->createDefaultDailyBattleData()Lorg/json/JSONObject; + + move-result-object v4 + + const-string v2, "dailyBattle" + + invoke-virtual {v3, v2, v4}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + const-string v4, "championship" + + invoke-static {}, Lcom/firemint/realracing/OfflineEventsManager;->createDefaultChampionshipData()Lorg/json/JSONObject; + + move-result-object v4 + + const-string v2, "championship" + + invoke-virtual {v3, v2, v4}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + const-string v4, "specialEvent" + + invoke-static {}, Lcom/firemint/realracing/OfflineEventsManager;->createDefaultSpecialEventData()Lorg/json/JSONObject; + + move-result-object v4 + + const-string v2, "specialEvent" + + invoke-virtual {v3, v2, v4}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + # Save to save data + const-string v2, "events" + + invoke-virtual {v1, v2, v3}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + # Save to disk + invoke-static {p0}, Lcom/firemint/realracing/LocalSaveManager;->saveSave(Landroid/content/Context;)V + + const-string p0, "Event data initialized" + + invoke-static {v0, p0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I + + :cond_1 + :try_end_0 + .catch Lorg/json/JSONException; {:try_start_0 .. :try_end_0} :catch_0 + + goto :goto_0 + + :catch_0 + move-exception p0 + + const-string v1, "Error initializing event data" + + invoke-static {v0, v1, p0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I + + :goto_0 + return-void +.end method + +.method private static createDefaultTimeTrialData()Lorg/json/JSONObject; + .locals 4 + + :try_start_0 + new-instance v0, Lorg/json/JSONObject; + + invoke-direct {v0}, Lorg/json/JSONObject;->()V + + const-string v1, "available" + + const/4 v2, 0x1 + + invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Z)Lorg/json/JSONObject; + + const-string v1, "name" + + const-string v2, "Offline Time Trial" + + invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + const-string v1, "track" + + const-string v2, "brands_hatch" + + invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + const-string v1, "carClass" + + const-string v2, "all" + + invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + const-string v1, "reward" + + const/16 v2, 0x1388 + + invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject; + + const-string v1, "goldReward" + + const/16 v2, 0x32 + + invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject; + :try_end_0 + .catch Lorg/json/JSONException; {:try_start_0 .. :try_end_0} :catch_0 + + return-object v0 + + :catch_0 + move-exception v0 + + const-string v1, "RR3_OfflineEvents" + + const-string v2, "Error creating time trial data" + + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I + + new-instance v0, Lorg/json/JSONObject; + + invoke-direct {v0}, Lorg/json/JSONObject;->()V + + return-object v0 +.end method + +.method private static createDefaultDailyBattleData()Lorg/json/JSONObject; + .locals 4 + + :try_start_0 + new-instance v0, Lorg/json/JSONObject; + + invoke-direct {v0}, Lorg/json/JSONObject;->()V + + const-string v1, "available" + + const/4 v2, 0x1 + + invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Z)Lorg/json/JSONObject; + + const-string v1, "name" + + const-string v2, "Offline Daily Battle" + + invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + const-string v1, "opponents" + + const/4 v2, 0x3 + + invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject; + + const-string v1, "reward" + + const/16 v2, 0x7d0 + + invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject; + + const-string v1, "goldReward" + + const/16 v2, 0x14 + + invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject; + :try_end_0 + .catch Lorg/json/JSONException; {:try_start_0 .. :try_end_0} :catch_0 + + return-object v0 + + :catch_0 + move-exception v0 + + const-string v1, "RR3_OfflineEvents" + + const-string v2, "Error creating daily battle data" + + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I + + new-instance v0, Lorg/json/JSONObject; + + invoke-direct {v0}, Lorg/json/JSONObject;->()V + + return-object v0 +.end method + +.method private static createDefaultChampionshipData()Lorg/json/JSONObject; + .locals 4 + + :try_start_0 + new-instance v0, Lorg/json/JSONObject; + + invoke-direct {v0}, Lorg/json/JSONObject;->()V + + const-string v1, "available" + + const/4 v2, 0x1 + + invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Z)Lorg/json/JSONObject; + + const-string v1, "name" + + const-string v2, "Offline Championship" + + invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + const-string v1, "season" + + const-string v2, "all_seasons" + + invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + const-string v1, "reward" + + const/16 v2, 0x2710 + + invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject; + + const-string v1, "goldReward" + + const/16 v2, 0x64 + + invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject; + :try_end_0 + .catch Lorg/json/JSONException; {:try_start_0 .. :try_end_0} :catch_0 + + return-object v0 + + :catch_0 + move-exception v0 + + const-string v1, "RR3_OfflineEvents" + + const-string v2, "Error creating championship data" + + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I + + new-instance v0, Lorg/json/JSONObject; + + invoke-direct {v0}, Lorg/json/JSONObject;->()V + + return-object v0 +.end method + +.method private static createDefaultSpecialEventData()Lorg/json/JSONObject; + .locals 4 + + :try_start_0 + new-instance v0, Lorg/json/JSONObject; + + invoke-direct {v0}, Lorg/json/JSONObject;->()V + + const-string v1, "available" + + const/4 v2, 0x1 + + invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Z)Lorg/json/JSONObject; + + const-string v1, "name" + + const-string v2, "Offline Special Event" + + invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + const-string v1, "type" + + const-string v2, "unlimited" + + invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + const-string v1, "reward" + + const/16 v2, 0x4e20 + + invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject; + + const-string v1, "goldReward" + + const/16 v2, 0xc8 + + invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject; + :try_end_0 + .catch Lorg/json/JSONException; {:try_start_0 .. :try_end_0} :catch_0 + + return-object v0 + + :catch_0 + move-exception v0 + + const-string v1, "RR3_OfflineEvents" + + const-string v2, "Error creating special event data" + + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I + + new-instance v0, Lorg/json/JSONObject; + + invoke-direct {v0}, Lorg/json/JSONObject;->()V + + return-object v0 +.end method + +.method public static isEventAvailable(Ljava/lang/String;)Z + .locals 2 + + # In offline mode, all events are always available + invoke-static {}, Lcom/firemint/realracing/OfflineModeManager;->isOfflineMode()Z + + move-result v0 + + if-eqz v0, :cond_0 + + const-string v0, "RR3_OfflineEvents" + + new-instance v1, Ljava/lang/StringBuilder; + + invoke-direct {v1}, Ljava/lang/StringBuilder;->()V + + const-string v0, "Event available (offline): " + + invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p0 + + const-string v0, "RR3_OfflineEvents" + + invoke-static {v0, p0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I + + const/4 p0, 0x1 + + return p0 + + :cond_0 + # Online mode - let game decide + const/4 p0, 0x0 + + return p0 +.end method + +.method public static completeEvent(Landroid/content/Context;Ljava/lang/String;I)V + .locals 4 + + const-string v0, "RR3_OfflineEvents" + + :try_start_0 + # Log event completion + new-instance v1, Ljava/lang/StringBuilder; + + invoke-direct {v1}, Ljava/lang/StringBuilder;->()V + + const-string v2, "Event completed: " + + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + const-string v2, " | Position: " + + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; + + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object v1 + + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I + + # Award rewards based on position + invoke-static {p0, p1, p2}, Lcom/firemint/realracing/OfflineEventsManager;->awardEventRewards(Landroid/content/Context;Ljava/lang/String;I)V + :try_end_0 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0 + + goto :goto_0 + + :catch_0 + move-exception p0 + + const-string p1, "Error completing event" + + invoke-static {v0, p1, p0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I + + :goto_0 + return-void +.end method + +.method private static awardEventRewards(Landroid/content/Context;Ljava/lang/String;I)V + .locals 5 + + const-string v0, "RR3_OfflineEvents" + + # Base rewards (1st place) + const/16 v1, 0x1388 # 5000 M$ + const/16 v2, 0x32 # 50 Gold + + # Adjust based on position + const/4 v3, 0x1 + + if-ne p2, v3, :cond_1st + + # 1st place - 100% + goto :cond_award + + :cond_1st + const/4 v3, 0x2 + + if-ne p2, v3, :cond_2nd + + # 2nd place - 75% + mul-int/lit8 v1, v1, 0x3 + + div-int/lit8 v1, v1, 0x4 + + mul-int/lit8 v2, v2, 0x3 + + div-int/lit8 v2, v2, 0x4 + + goto :cond_award + + :cond_2nd + const/4 v3, 0x3 + + if-ne p2, v3, :cond_3rd + + # 3rd place - 50% + div-int/lit8 v1, v1, 0x2 + + div-int/lit8 v2, v2, 0x2 + + goto :cond_award + + :cond_3rd + # 4th+ place - 25% + div-int/lit8 v1, v1, 0x4 + + div-int/lit8 v2, v2, 0x4 + + :cond_award + # Award the rewards + invoke-static {p0, v1}, Lcom/firemint/realracing/OfflineCurrencyManager;->addCash(Landroid/content/Context;I)V + + invoke-static {p0, v2}, Lcom/firemint/realracing/OfflineCurrencyManager;->addGold(Landroid/content/Context;I)V + + # Log rewards + new-instance p0, Ljava/lang/StringBuilder; + + invoke-direct {p0}, Ljava/lang/StringBuilder;->()V + + const-string p1, "Awarded: " + + invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {p0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; + + const-string p1, " M$, " + + invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {p0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; + + const-string p1, " Gold" + + invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + + invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; + + move-result-object p0 + + invoke-static {v0, p0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I + + return-void +.end method + +.method public static bypassEventValidation()Z + .locals 2 + + # Always bypass validation in offline mode + invoke-static {}, Lcom/firemint/realracing/OfflineModeManager;->isOfflineMode()Z + + move-result v0 + + if-eqz v0, :cond_0 + + const-string v0, "RR3_OfflineEvents" + + const-string v1, "Bypassing event validation (offline mode)" + + invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I + + const/4 v0, 0x1 + + return v0 + + :cond_0 + const/4 v0, 0x0 + + return v0 +.end method diff --git a/smali_classes2/com/firemint/realracing/OfflineResponseMock.smali b/smali_classes2/com/firemint/realracing/OfflineResponseMock.smali index 38093ba64..83aff84ed 100644 --- a/smali_classes2/com/firemint/realracing/OfflineResponseMock.smali +++ b/smali_classes2/com/firemint/realracing/OfflineResponseMock.smali @@ -99,11 +99,305 @@ :cond_3 # Default: mock generic success response + const-string v0, "event" + + invoke-virtual {v1, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z + + move-result v0 + + if-eqz v0, :cond_4 + + invoke-static {p0, p1, p2}, Lcom/firemint/realracing/OfflineResponseMock;->mockEventResponse(Lcom/ea/nimble/HttpRequest;Lcom/ea/nimble/NetworkConnectionCallback;Landroid/content/Context;)V + + return-void + + :cond_4 + const-string v0, "lts" + + invoke-virtual {v1, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z + + move-result v0 + + if-nez v0, :cond_lts + + const-string v0, "timetrial" + + invoke-virtual {v1, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z + + move-result v0 + + if-eqz v0, :cond_5 + + :cond_lts + invoke-static {p0, p1, p2}, Lcom/firemint/realracing/OfflineResponseMock;->mockTimeTrialResponse(Lcom/ea/nimble/HttpRequest;Lcom/ea/nimble/NetworkConnectionCallback;Landroid/content/Context;)V + + return-void + + :cond_5 + const-string v0, "battle" + + invoke-virtual {v1, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z + + move-result v0 + + if-eqz v0, :cond_6 + + invoke-static {p0, p1, p2}, Lcom/firemint/realracing/OfflineResponseMock;->mockDailyBattleResponse(Lcom/ea/nimble/HttpRequest;Lcom/ea/nimble/NetworkConnectionCallback;Landroid/content/Context;)V + + return-void + + :cond_6 + const-string v0, "championship" + + invoke-virtual {v1, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z + + move-result v0 + + if-eqz v0, :cond_7 + + invoke-static {p0, p1, p2}, Lcom/firemint/realracing/OfflineResponseMock;->mockChampionshipResponse(Lcom/ea/nimble/HttpRequest;Lcom/ea/nimble/NetworkConnectionCallback;Landroid/content/Context;)V + + return-void + + :cond_7 + # Default: mock generic success response invoke-static {p0, p1, p2}, Lcom/firemint/realracing/OfflineResponseMock;->mockGenericSuccess(Lcom/ea/nimble/HttpRequest;Lcom/ea/nimble/NetworkConnectionCallback;Landroid/content/Context;)V return-void .end method +.method private static mockEventResponse(Lcom/ea/nimble/HttpRequest;Lcom/ea/nimble/NetworkConnectionCallback;Landroid/content/Context;)V + .locals 3 + + const-string p0, "RR3_OfflineResponseMock" + + const-string v0, "Mocking generic event response" + + invoke-static {p0, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I + + :try_start_0 + new-instance v0, Lorg/json/JSONObject; + + invoke-direct {v0}, Lorg/json/JSONObject;->()V + + const-string v1, "available" + + const/4 v2, 0x1 + + invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Z)Lorg/json/JSONObject; + + const-string v1, "canParticipate" + + invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Z)Lorg/json/JSONObject; + + const-string v1, "validated" + + invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Z)Lorg/json/JSONObject; + + invoke-virtual {v0}, Lorg/json/JSONObject;->toString()Ljava/lang/String; + + move-result-object v0 + + invoke-static {p1, v0}, Lcom/firemint/realracing/OfflineResponseMock;->sendMockResponse(Lcom/ea/nimble/NetworkConnectionCallback;Ljava/lang/String;)V + :try_end_0 + .catch Lorg/json/JSONException; {:try_start_0 .. :try_end_0} :catch_0 + + goto :goto_0 + + :catch_0 + move-exception p1 + + const-string p2, "Error creating event mock" + + invoke-static {p0, p2, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I + + :goto_0 + return-void +.end method + +.method private static mockTimeTrialResponse(Lcom/ea/nimble/HttpRequest;Lcom/ea/nimble/NetworkConnectionCallback;Landroid/content/Context;)V + .locals 3 + + const-string p0, "RR3_OfflineResponseMock" + + const-string v0, "Mocking time trial response" + + invoke-static {p0, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I + + :try_start_0 + new-instance v0, Lorg/json/JSONObject; + + invoke-direct {v0}, Lorg/json/JSONObject;->()V + + const-string v1, "available" + + const/4 v2, 0x1 + + invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Z)Lorg/json/JSONObject; + + const-string v1, "track" + + const-string v2, "brands_hatch" + + invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + const-string v1, "carClass" + + const-string v2, "all" + + invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + const-string v1, "reward" + + const/16 v2, 0x1388 + + invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject; + + const-string v1, "goldReward" + + const/16 v2, 0x32 + + invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject; + + invoke-virtual {v0}, Lorg/json/JSONObject;->toString()Ljava/lang/String; + + move-result-object v0 + + invoke-static {p1, v0}, Lcom/firemint/realracing/OfflineResponseMock;->sendMockResponse(Lcom/ea/nimble/NetworkConnectionCallback;Ljava/lang/String;)V + :try_end_0 + .catch Lorg/json/JSONException; {:try_start_0 .. :try_end_0} :catch_0 + + goto :goto_0 + + :catch_0 + move-exception p1 + + const-string p2, "Error creating time trial mock" + + invoke-static {p0, p2, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I + + :goto_0 + return-void +.end method + +.method private static mockDailyBattleResponse(Lcom/ea/nimble/HttpRequest;Lcom/ea/nimble/NetworkConnectionCallback;Landroid/content/Context;)V + .locals 3 + + const-string p0, "RR3_OfflineResponseMock" + + const-string v0, "Mocking daily battle response" + + invoke-static {p0, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I + + :try_start_0 + new-instance v0, Lorg/json/JSONObject; + + invoke-direct {v0}, Lorg/json/JSONObject;->()V + + const-string v1, "available" + + const/4 v2, 0x1 + + invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Z)Lorg/json/JSONObject; + + const-string v1, "opponents" + + const/4 v2, 0x3 + + invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject; + + const-string v1, "reward" + + const/16 v2, 0x7d0 + + invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject; + + const-string v1, "goldReward" + + const/16 v2, 0x14 + + invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject; + + invoke-virtual {v0}, Lorg/json/JSONObject;->toString()Ljava/lang/String; + + move-result-object v0 + + invoke-static {p1, v0}, Lcom/firemint/realracing/OfflineResponseMock;->sendMockResponse(Lcom/ea/nimble/NetworkConnectionCallback;Ljava/lang/String;)V + :try_end_0 + .catch Lorg/json/JSONException; {:try_start_0 .. :try_end_0} :catch_0 + + goto :goto_0 + + :catch_0 + move-exception p1 + + const-string p2, "Error creating daily battle mock" + + invoke-static {p0, p2, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I + + :goto_0 + return-void +.end method + +.method private static mockChampionshipResponse(Lcom/ea/nimble/HttpRequest;Lcom/ea/nimble/NetworkConnectionCallback;Landroid/content/Context;)V + .locals 3 + + const-string p0, "RR3_OfflineResponseMock" + + const-string v0, "Mocking championship response" + + invoke-static {p0, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I + + :try_start_0 + new-instance v0, Lorg/json/JSONObject; + + invoke-direct {v0}, Lorg/json/JSONObject;->()V + + const-string v1, "available" + + const/4 v2, 0x1 + + invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Z)Lorg/json/JSONObject; + + const-string v1, "season" + + const-string v2, "all_seasons" + + invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; + + const-string v1, "reward" + + const/16 v2, 0x2710 + + invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject; + + const-string v1, "goldReward" + + const/16 v2, 0x64 + + invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject; + + invoke-virtual {v0}, Lorg/json/JSONObject;->toString()Ljava/lang/String; + + move-result-object v0 + + invoke-static {p1, v0}, Lcom/firemint/realracing/OfflineResponseMock;->sendMockResponse(Lcom/ea/nimble/NetworkConnectionCallback;Ljava/lang/String;)V + :try_end_0 + .catch Lorg/json/JSONException; {:try_start_0 .. :try_end_0} :catch_0 + + goto :goto_0 + + :catch_0 + move-exception p1 + + const-string p2, "Error creating championship mock" + + invoke-static {p0, p2, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I + + :goto_0 + return-void +.end method + .method private static mockDailyRewardResponse(Lcom/ea/nimble/HttpRequest;Lcom/ea/nimble/NetworkConnectionCallback;Landroid/content/Context;)V .locals 4