.class public Lcom/firemint/realracing/OfflineModeManager; .super Ljava/lang/Object; .source "OfflineModeManager.java" # static fields .field private static final TAG:Ljava/lang/String; = "RR3_OfflineModeManager" .field private static final PREF_NAME:Ljava/lang/String; = "rr3_offline_settings" .field private static final KEY_OFFLINE_ENABLED:Ljava/lang/String; = "offline_mode_enabled" .field private static isOfflineMode:Z = false # direct methods .method static constructor ()V .locals 1 # Initialize offline mode to false by default const/4 v0, 0x0 sput-boolean v0, Lcom/firemint/realracing/OfflineModeManager;->isOfflineMode: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 3 const-string v0, "RR3_OfflineModeManager" const-string v1, "Initializing OfflineModeManager" invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I # Load offline mode preference const-string v1, "rr3_offline_settings" const/4 v2, 0x0 invoke-virtual {p0, v1, v2}, Landroid/content/Context;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences; move-result-object p0 const-string v1, "offline_mode_enabled" invoke-interface {p0, v1, v2}, Landroid/content/SharedPreferences;->getBoolean(Ljava/lang/String;Z)Z move-result p0 sput-boolean p0, Lcom/firemint/realracing/OfflineModeManager;->isOfflineMode:Z if-eqz p0, :cond_0 const-string p0, "Offline mode is ENABLED" invoke-static {v0, p0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I goto :goto_0 :cond_0 const-string p0, "Offline mode is DISABLED (online mode)" invoke-static {v0, p0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I :goto_0 return-void .end method .method public static isOfflineMode()Z .locals 1 # Return current offline mode status sget-boolean v0, Lcom/firemint/realracing/OfflineModeManager;->isOfflineMode:Z return v0 .end method .method public static setOfflineMode(Landroid/content/Context;Z)V .locals 3 const-string v0, "RR3_OfflineModeManager" # Update in-memory flag sput-boolean p1, Lcom/firemint/realracing/OfflineModeManager;->isOfflineMode:Z # Save to SharedPreferences const-string v1, "rr3_offline_settings" const/4 v2, 0x0 invoke-virtual {p0, v1, v2}, Landroid/content/Context;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences; move-result-object p0 invoke-interface {p0}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor; move-result-object p0 const-string v1, "offline_mode_enabled" invoke-interface {p0, v1, p1}, Landroid/content/SharedPreferences$Editor;->putBoolean(Ljava/lang/String;Z)Landroid/content/SharedPreferences$Editor; invoke-interface {p0}, Landroid/content/SharedPreferences$Editor;->apply()V # Log the change if-eqz p1, :cond_0 const-string p0, "Offline mode ENABLED" invoke-static {v0, p0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I goto :goto_0 :cond_0 const-string p0, "Offline mode DISABLED (switched to online)" invoke-static {v0, p0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I :goto_0 return-void .end method .method public static shouldMockRequest(Ljava/lang/String;)Z .locals 1 # Check if offline mode is enabled sget-boolean v0, Lcom/firemint/realracing/OfflineModeManager;->isOfflineMode:Z if-nez v0, :cond_0 # Online mode - don't mock const/4 p0, 0x0 return p0 :cond_0 # Offline mode - check if URL should be mocked if-nez p0, :cond_1 # Null URL - don't mock const/4 p0, 0x0 return p0 :cond_1 # Mock all requests in offline mode # In future, could filter specific URLs const/4 p0, 0x1 return p0 .end method .method public static logRequest(Ljava/lang/String;Ljava/lang/String;)V .locals 2 # Log network requests for debugging new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V const-string v1, "Network Request: " invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string p0, " -> " invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 const-string p1, "RR3_OfflineModeManager" invoke-static {p1, p0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I return-void .end method