.class public Lcom/firemint/realracing/OfflineResponseMock; .super Ljava/lang/Object; .source "OfflineResponseMock.java" # static fields .field private static final TAG:Ljava/lang/String; = "RR3_OfflineResponseMock" # direct methods .method public constructor ()V .locals 0 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method .method public static handleRequest(Lcom/ea/nimble/HttpRequest;Lcom/ea/nimble/NetworkConnectionCallback;Landroid/content/Context;)V .locals 4 const-string v0, "RR3_OfflineResponseMock" const-string v1, "Handling offline request" invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I # Get URL from request iget-object v1, p0, Lcom/ea/nimble/HttpRequest;->url:Ljava/net/URL; if-nez v1, :cond_0 const-string p0, "Request URL is null" invoke-static {v0, p0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I return-void :cond_0 invoke-virtual {v1}, Ljava/net/URL;->toString()Ljava/lang/String; move-result-object v1 # Log the request new-instance v2, Ljava/lang/StringBuilder; invoke-direct {v2}, Ljava/lang/StringBuilder;->()V const-string v3, "Mocking request to: " invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v2 invoke-static {v0, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I # Check URL and route to appropriate mock const-string v0, "dailyreward" invoke-virtual {v1, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v0 if-eqz v0, :cond_1 invoke-static {p0, p1, p2}, Lcom/firemint/realracing/OfflineResponseMock;->mockDailyRewardResponse(Lcom/ea/nimble/HttpRequest;Lcom/ea/nimble/NetworkConnectionCallback;Landroid/content/Context;)V return-void :cond_1 const-string v0, "auth" invoke-virtual {v1, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v0 if-eqz v0, :cond_2 invoke-static {p0, p1, p2}, Lcom/firemint/realracing/OfflineResponseMock;->mockAuthResponse(Lcom/ea/nimble/HttpRequest;Lcom/ea/nimble/NetworkConnectionCallback;Landroid/content/Context;)V return-void :cond_2 const-string v0, "profile" invoke-virtual {v1, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result v0 if-eqz v0, :cond_3 invoke-static {p0, p1, p2}, Lcom/firemint/realracing/OfflineResponseMock;->mockProfileResponse(Lcom/ea/nimble/HttpRequest;Lcom/ea/nimble/NetworkConnectionCallback;Landroid/content/Context;)V return-void :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 const-string v0, "RR3_OfflineResponseMock" const-string v1, "Mocking daily reward response" invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I :try_start_0 # Create JSON response new-instance v1, Lorg/json/JSONObject; invoke-direct {v1}, Lorg/json/JSONObject;->()V const-string v2, "available" const/4 v3, 0x1 invoke-virtual {v1, v2, v3}, Lorg/json/JSONObject;->put(Ljava/lang/String;Z)Lorg/json/JSONObject; const-string v2, "gold" const/16 v3, 0x32 invoke-virtual {v1, v2, v3}, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject; const-string v2, "cash" const/16 v3, 0x1388 invoke-virtual {v1, v2, v3}, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject; const-string v2, "streak" const/4 v3, 0x1 invoke-virtual {v1, v2, v3}, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject; # Convert to string invoke-virtual {v1}, Lorg/json/JSONObject;->toString()Ljava/lang/String; move-result-object v1 # Send mock response invoke-static {p1, v1}, 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 p0 const-string p1, "Error creating daily reward mock" 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 mockAuthResponse(Lcom/ea/nimble/HttpRequest;Lcom/ea/nimble/NetworkConnectionCallback;Landroid/content/Context;)V .locals 3 const-string p0, "RR3_OfflineResponseMock" const-string v0, "Mocking auth response" invoke-static {p0, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I :try_start_0 # Create JSON response new-instance v0, Lorg/json/JSONObject; invoke-direct {v0}, Lorg/json/JSONObject;->()V const-string v1, "success" const/4 v2, 0x1 invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Z)Lorg/json/JSONObject; const-string v1, "userId" const-string v2, "offline_user_001" invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; const-string v1, "token" const-string v2, "offline_token_mock" invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; # Convert to string invoke-virtual {v0}, Lorg/json/JSONObject;->toString()Ljava/lang/String; move-result-object v0 # Send mock response 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 auth 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 mockProfileResponse(Lcom/ea/nimble/HttpRequest;Lcom/ea/nimble/NetworkConnectionCallback;Landroid/content/Context;)V .locals 4 const-string v0, "RR3_OfflineResponseMock" const-string v1, "Mocking profile response" invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I :try_start_0 # Get currency from LocalSaveManager const-string v1, "cash" invoke-static {p2, v1}, Lcom/firemint/realracing/LocalSaveManager;->getCurrency(Landroid/content/Context;Ljava/lang/String;)I move-result v1 const-string v2, "gold" invoke-static {p2, v2}, Lcom/firemint/realracing/LocalSaveManager;->getCurrency(Landroid/content/Context;Ljava/lang/String;)I move-result p2 # Create JSON response new-instance v2, Lorg/json/JSONObject; invoke-direct {v2}, Lorg/json/JSONObject;->()V const-string v3, "cash" invoke-virtual {v2, v3, v1}, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject; const-string v1, "gold" invoke-virtual {v2, v1, p2}, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject; const-string p2, "level" const/4 v1, 0x1 invoke-virtual {v2, p2, v1}, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject; const-string p2, "name" const-string v1, "Offline Player" invoke-virtual {v2, p2, v1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; # Convert to string invoke-virtual {v2}, Lorg/json/JSONObject;->toString()Ljava/lang/String; move-result-object p2 # Send mock response invoke-static {p1, p2}, 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 p0 const-string p1, "Error creating profile mock" 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 mockGenericSuccess(Lcom/ea/nimble/HttpRequest;Lcom/ea/nimble/NetworkConnectionCallback;Landroid/content/Context;)V .locals 2 const-string p0, "RR3_OfflineResponseMock" const-string p2, "Mocking generic success response" invoke-static {p0, p2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I :try_start_0 # Create JSON response new-instance p2, Lorg/json/JSONObject; invoke-direct {p2}, Lorg/json/JSONObject;->()V const-string v0, "success" const/4 v1, 0x1 invoke-virtual {p2, v0, v1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Z)Lorg/json/JSONObject; const-string v0, "message" const-string v1, "OK (offline mock)" invoke-virtual {p2, v0, v1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; # Convert to string invoke-virtual {p2}, Lorg/json/JSONObject;->toString()Ljava/lang/String; move-result-object p2 # Send mock response invoke-static {p1, p2}, 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 generic 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 sendMockResponse(Lcom/ea/nimble/NetworkConnectionCallback;Ljava/lang/String;)V .locals 2 const-string v0, "RR3_OfflineResponseMock" if-nez p0, :cond_0 const-string p0, "Callback is null, cannot send response" invoke-static {v0, p0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I return-void :cond_0 # Log the mocked response new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V const-string v0, "Sending mock response: " invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 const-string v0, "RR3_OfflineResponseMock" invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I # TODO: Actually invoke the callback with mock response # This requires understanding the NetworkConnectionCallback interface # For now, just log that we would send the response const-string p1, "Mock response prepared (callback invocation not yet implemented)" invoke-static {v0, p1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I return-void .end method