Files
Daniel Elliott 51be1177df 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
2026-02-21 23:33:14 -08:00

3740 lines
100 KiB
Smali

.class public Lcom/firemint/realracing/MainActivity;
.super Lcom/firemonkeys/cloudcellapi/CC_Activity;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/firemint/realracing/MainActivity$Message;,
Lcom/firemint/realracing/MainActivity$KeyEventRunnable;,
Lcom/firemint/realracing/MainActivity$MessageExecuteCallback;
}
.end annotation
# static fields
.field public static final ANDROID_ORIENTATION_LANDSCAPE:I = 0x2
.field public static final ANDROID_ORIENTATION_PORTRAIT:I = 0x1
.field public static final ANDROID_ORIENTATION_UNDEFINED:I = 0x0
.field public static final ANDROID_ROTATION_0:I = 0x0
.field public static final ANDROID_ROTATION_180:I = 0x2
.field public static final ANDROID_ROTATION_270:I = 0x3
.field public static final ANDROID_ROTATION_90:I = 0x1
.field public static final APPLICATION_LIB_NAME:Ljava/lang/String; = "RealRacing3"
.field public static final ButtonId_NEGATIVE:I = 0x1
.field public static final ButtonId_NEUTRAL:I = 0x2
.field public static final ButtonId_POSITIVE:I = 0x0
.field public static final GAMESTATE_CREATED:I = 0x1
.field public static final GAMESTATE_DESTROYED:I = 0x6
.field public static final GAMESTATE_NONE:I = 0x0
.field public static final GAMESTATE_NOSTORAGE:I = 0x5
.field public static final GAMESTATE_RUNNING:I = 0x3
.field public static final GAMESTATE_STARTED:I = 0x2
.field public static final GAMESTATE_STOPPED:I = 0x4
.field public static final LOG_TAG:Ljava/lang/String; = "RealRacing3"
.field static final PERMISSIONS_CAMERA_REQUEST:I = 0x2
.field static final PERMISSION_POST_NOTIFICATIONS_REQUEST:I = 0x3
.field static final PERMISSION_STORAGE_REQUEST:I = 0x0
.field static final PICTURE_DIR_REQUEST:I = 0x1
.field static final WIFI_SETTINGS:I = 0x13a286e3
.field public static instance:Lcom/firemint/realracing/MainActivity;
.field public static m_WIFISettingsShown:Z
.field private static m_bIsAmazon:Z
.field private static m_bIsAndroidTv:Z
.field static s_bRunStrictMode:Z
# instance fields
.field public handler:Landroid/os/Handler;
.field private mFirebaseAnalytics:Lcom/google/firebase/analytics/FirebaseAnalytics;
.field public mFirebaseRemoteConfig:Lcom/google/firebase/remoteconfig/FirebaseRemoteConfig;
.field private m_audioStreamManager:Lcom/firemint/realracing/AudioStreamManager;
.field private m_cheatPtr:J
.field private m_cheatText:Ljava/lang/String;
.field private m_cheatView:Lcom/firemint/realracing/CheatView;
.field public m_controllerManager:Lcom/firemint/realracing/ControllerManager;
.field private m_delayedResumeJNI:Z
.field private m_displayCutout:Landroid/view/DisplayCutout;
.field private m_frameLayout:Landroid/widget/FrameLayout;
.field private m_gameState:I
.field private m_glView:Lcom/firemint/realracing/GLView;
.field private m_hasFocus:Z
.field private m_headphoneBroadcastReceiver:Lcom/firemint/realracing/HeadphoneBroadcastReceiver;
.field private m_keyboardInputAlphaNumericOnly:Z
.field private m_keyboardInputMaxLength:I
.field private m_keyboardInputUppercaseOnly:Z
.field private m_keyboardPtr:J
.field private m_keyboardText:Ljava/lang/String;
.field private m_keyboardView:Lcom/firemint/realracing/CheatView;
.field private m_loadingView:Landroid/view/View;
.field public m_message:Lcom/firemint/realracing/MainActivity$Message;
.field private m_nimbleManager:Lcom/firemint/realracing/NimbleManager;
.field private m_pauseRunnable:Lcom/firemint/realracing/PauseRunnable;
.field private m_paused:Z
.field private m_sLoadingString:Ljava/lang/String;
.field private m_skipOnDestroyJNI:Z
.field private m_splashView:Landroid/view/View;
.field oldGameState:I
# direct methods
.method public static bridge synthetic -$$Nest$fgetm_cheatPtr(Lcom/firemint/realracing/MainActivity;)J
.locals 2
.line 0
iget-wide v0, p0, Lcom/firemint/realracing/MainActivity;->m_cheatPtr:J
return-wide v0
.end method
.method public static bridge synthetic -$$Nest$fgetm_cheatText(Lcom/firemint/realracing/MainActivity;)Ljava/lang/String;
.locals 0
.line 0
iget-object p0, p0, Lcom/firemint/realracing/MainActivity;->m_cheatText:Ljava/lang/String;
return-object p0
.end method
.method public static bridge synthetic -$$Nest$fgetm_cheatView(Lcom/firemint/realracing/MainActivity;)Lcom/firemint/realracing/CheatView;
.locals 0
.line 0
iget-object p0, p0, Lcom/firemint/realracing/MainActivity;->m_cheatView:Lcom/firemint/realracing/CheatView;
return-object p0
.end method
.method public static bridge synthetic -$$Nest$fgetm_displayCutout(Lcom/firemint/realracing/MainActivity;)Landroid/view/DisplayCutout;
.locals 0
.line 0
iget-object p0, p0, Lcom/firemint/realracing/MainActivity;->m_displayCutout:Landroid/view/DisplayCutout;
return-object p0
.end method
.method public static bridge synthetic -$$Nest$fgetm_frameLayout(Lcom/firemint/realracing/MainActivity;)Landroid/widget/FrameLayout;
.locals 0
.line 0
iget-object p0, p0, Lcom/firemint/realracing/MainActivity;->m_frameLayout:Landroid/widget/FrameLayout;
return-object p0
.end method
.method public static bridge synthetic -$$Nest$fgetm_glView(Lcom/firemint/realracing/MainActivity;)Lcom/firemint/realracing/GLView;
.locals 0
.line 0
iget-object p0, p0, Lcom/firemint/realracing/MainActivity;->m_glView:Lcom/firemint/realracing/GLView;
return-object p0
.end method
.method public static bridge synthetic -$$Nest$fgetm_hasFocus(Lcom/firemint/realracing/MainActivity;)Z
.locals 0
.line 0
iget-boolean p0, p0, Lcom/firemint/realracing/MainActivity;->m_hasFocus:Z
return p0
.end method
.method public static bridge synthetic -$$Nest$fgetm_keyboardInputAlphaNumericOnly(Lcom/firemint/realracing/MainActivity;)Z
.locals 0
.line 0
iget-boolean p0, p0, Lcom/firemint/realracing/MainActivity;->m_keyboardInputAlphaNumericOnly:Z
return p0
.end method
.method public static bridge synthetic -$$Nest$fgetm_keyboardInputMaxLength(Lcom/firemint/realracing/MainActivity;)I
.locals 0
.line 0
iget p0, p0, Lcom/firemint/realracing/MainActivity;->m_keyboardInputMaxLength:I
return p0
.end method
.method public static bridge synthetic -$$Nest$fgetm_keyboardInputUppercaseOnly(Lcom/firemint/realracing/MainActivity;)Z
.locals 0
.line 0
iget-boolean p0, p0, Lcom/firemint/realracing/MainActivity;->m_keyboardInputUppercaseOnly:Z
return p0
.end method
.method public static bridge synthetic -$$Nest$fgetm_keyboardPtr(Lcom/firemint/realracing/MainActivity;)J
.locals 2
.line 0
iget-wide v0, p0, Lcom/firemint/realracing/MainActivity;->m_keyboardPtr:J
return-wide v0
.end method
.method public static bridge synthetic -$$Nest$fgetm_keyboardText(Lcom/firemint/realracing/MainActivity;)Ljava/lang/String;
.locals 0
.line 0
iget-object p0, p0, Lcom/firemint/realracing/MainActivity;->m_keyboardText:Ljava/lang/String;
return-object p0
.end method
.method public static bridge synthetic -$$Nest$fgetm_keyboardView(Lcom/firemint/realracing/MainActivity;)Lcom/firemint/realracing/CheatView;
.locals 0
.line 0
iget-object p0, p0, Lcom/firemint/realracing/MainActivity;->m_keyboardView:Lcom/firemint/realracing/CheatView;
return-object p0
.end method
.method public static bridge synthetic -$$Nest$fgetm_loadingView(Lcom/firemint/realracing/MainActivity;)Landroid/view/View;
.locals 0
.line 0
iget-object p0, p0, Lcom/firemint/realracing/MainActivity;->m_loadingView:Landroid/view/View;
return-object p0
.end method
.method public static bridge synthetic -$$Nest$fgetm_sLoadingString(Lcom/firemint/realracing/MainActivity;)Ljava/lang/String;
.locals 0
.line 0
iget-object p0, p0, Lcom/firemint/realracing/MainActivity;->m_sLoadingString:Ljava/lang/String;
return-object p0
.end method
.method public static bridge synthetic -$$Nest$fgetm_splashView(Lcom/firemint/realracing/MainActivity;)Landroid/view/View;
.locals 0
.line 0
iget-object p0, p0, Lcom/firemint/realracing/MainActivity;->m_splashView:Landroid/view/View;
return-object p0
.end method
.method public static bridge synthetic -$$Nest$fputm_cheatText(Lcom/firemint/realracing/MainActivity;Ljava/lang/String;)V
.locals 0
.line 0
iput-object p1, p0, Lcom/firemint/realracing/MainActivity;->m_cheatText:Ljava/lang/String;
return-void
.end method
.method public static bridge synthetic -$$Nest$fputm_cheatView(Lcom/firemint/realracing/MainActivity;Lcom/firemint/realracing/CheatView;)V
.locals 0
.line 0
iput-object p1, p0, Lcom/firemint/realracing/MainActivity;->m_cheatView:Lcom/firemint/realracing/CheatView;
return-void
.end method
.method public static bridge synthetic -$$Nest$fputm_displayCutout(Lcom/firemint/realracing/MainActivity;Landroid/view/DisplayCutout;)V
.locals 0
.line 0
iput-object p1, p0, Lcom/firemint/realracing/MainActivity;->m_displayCutout:Landroid/view/DisplayCutout;
return-void
.end method
.method public static bridge synthetic -$$Nest$fputm_keyboardText(Lcom/firemint/realracing/MainActivity;Ljava/lang/String;)V
.locals 0
.line 0
iput-object p1, p0, Lcom/firemint/realracing/MainActivity;->m_keyboardText:Ljava/lang/String;
return-void
.end method
.method public static bridge synthetic -$$Nest$fputm_keyboardView(Lcom/firemint/realracing/MainActivity;Lcom/firemint/realracing/CheatView;)V
.locals 0
.line 0
iput-object p1, p0, Lcom/firemint/realracing/MainActivity;->m_keyboardView:Lcom/firemint/realracing/CheatView;
return-void
.end method
.method public static bridge synthetic -$$Nest$fputm_loadingView(Lcom/firemint/realracing/MainActivity;Landroid/view/View;)V
.locals 0
.line 0
iput-object p1, p0, Lcom/firemint/realracing/MainActivity;->m_loadingView:Landroid/view/View;
return-void
.end method
.method public static bridge synthetic -$$Nest$fputm_splashView(Lcom/firemint/realracing/MainActivity;Landroid/view/View;)V
.locals 0
.line 0
iput-object p1, p0, Lcom/firemint/realracing/MainActivity;->m_splashView:Landroid/view/View;
return-void
.end method
.method public static bridge synthetic -$$Nest$mOnSystemUiVisibilityChanged(Lcom/firemint/realracing/MainActivity;)V
.locals 0
.line 0
invoke-direct {p0}, Lcom/firemint/realracing/MainActivity;->OnSystemUiVisibilityChanged()V
return-void
.end method
.method static constructor <clinit>()V
.locals 1
const-string v0, "Nimble"
.line 78
invoke-static {v0}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V
const-string v0, "fmodex"
.line 79
invoke-static {v0}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V
const-string v0, "RealRacing3"
.line 80
invoke-static {v0}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V
const/4 v0, 0x0
sput-object v0, Lcom/firemint/realracing/MainActivity;->instance:Lcom/firemint/realracing/MainActivity;
const/4 v0, 0x0
sput-boolean v0, Lcom/firemint/realracing/MainActivity;->m_bIsAmazon:Z
sput-boolean v0, Lcom/firemint/realracing/MainActivity;->m_bIsAndroidTv:Z
sput-boolean v0, Lcom/firemint/realracing/MainActivity;->s_bRunStrictMode:Z
sput-boolean v0, Lcom/firemint/realracing/MainActivity;->m_WIFISettingsShown:Z
return-void
.end method
.method public constructor <init>()V
.locals 4
.line 64
invoke-direct {p0}, Lcom/firemonkeys/cloudcellapi/CC_Activity;-><init>()V
const/4 v0, 0x0
iput-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_controllerManager:Lcom/firemint/realracing/ControllerManager;
iput-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_headphoneBroadcastReceiver:Lcom/firemint/realracing/HeadphoneBroadcastReceiver;
iput-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_displayCutout:Landroid/view/DisplayCutout;
const/4 v1, 0x0
iput-boolean v1, p0, Lcom/firemint/realracing/MainActivity;->m_paused:Z
iput-boolean v1, p0, Lcom/firemint/realracing/MainActivity;->m_hasFocus:Z
iput-boolean v1, p0, Lcom/firemint/realracing/MainActivity;->m_delayedResumeJNI:Z
iput-boolean v1, p0, Lcom/firemint/realracing/MainActivity;->m_skipOnDestroyJNI:Z
const-string v2, ""
iput-object v2, p0, Lcom/firemint/realracing/MainActivity;->m_sLoadingString:Ljava/lang/String;
iput-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_splashView:Landroid/view/View;
iput-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_loadingView:Landroid/view/View;
iput-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_glView:Lcom/firemint/realracing/GLView;
iput-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_frameLayout:Landroid/widget/FrameLayout;
iput-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_pauseRunnable:Lcom/firemint/realracing/PauseRunnable;
iput-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_cheatView:Lcom/firemint/realracing/CheatView;
iput-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_keyboardView:Lcom/firemint/realracing/CheatView;
iput-object v2, p0, Lcom/firemint/realracing/MainActivity;->m_cheatText:Ljava/lang/String;
iput-object v2, p0, Lcom/firemint/realracing/MainActivity;->m_keyboardText:Ljava/lang/String;
const-wide/16 v2, 0x0
iput-wide v2, p0, Lcom/firemint/realracing/MainActivity;->m_cheatPtr:J
iput-wide v2, p0, Lcom/firemint/realracing/MainActivity;->m_keyboardPtr:J
iput v1, p0, Lcom/firemint/realracing/MainActivity;->m_keyboardInputMaxLength:I
iput-boolean v1, p0, Lcom/firemint/realracing/MainActivity;->m_keyboardInputUppercaseOnly:Z
iput-boolean v1, p0, Lcom/firemint/realracing/MainActivity;->m_keyboardInputAlphaNumericOnly:Z
.line 115
new-instance v2, Lcom/firemint/realracing/AudioStreamManager;
invoke-direct {v2}, Lcom/firemint/realracing/AudioStreamManager;-><init>()V
iput-object v2, p0, Lcom/firemint/realracing/MainActivity;->m_audioStreamManager:Lcom/firemint/realracing/AudioStreamManager;
.line 117
new-instance v2, Lcom/firemint/realracing/NimbleManager;
invoke-direct {v2}, Lcom/firemint/realracing/NimbleManager;-><init>()V
iput-object v2, p0, Lcom/firemint/realracing/MainActivity;->m_nimbleManager:Lcom/firemint/realracing/NimbleManager;
iput v1, p0, Lcom/firemint/realracing/MainActivity;->m_gameState:I
iput v1, p0, Lcom/firemint/realracing/MainActivity;->oldGameState:I
iput-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_message:Lcom/firemint/realracing/MainActivity$Message;
return-void
.end method
.method public static ExactlyAPI(I)Z
.locals 1
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
if-ne v0, p0, :cond_0
const/4 p0, 0x1
goto :goto_0
:cond_0
const/4 p0, 0x0
:goto_0
return p0
.end method
.method public static HideSystemKeys(Landroid/view/View;)V
.locals 2
.annotation build Landroid/annotation/TargetApi;
value = 0x13
.end annotation
const/16 v0, 0x13
.line 1298
invoke-static {v0}, Lcom/firemint/realracing/MainActivity;->IsAtLeastAPI(I)Z
move-result v0
if-eqz v0, :cond_0
const/16 v0, 0x1206
.line 1301
invoke-virtual {p0, v0}, Landroid/view/View;->setSystemUiVisibility(I)V
goto :goto_0
:cond_0
const/16 v0, 0xe
.line 1306
invoke-static {v0}, Lcom/firemint/realracing/MainActivity;->IsAtLeastAPI(I)Z
move-result v0
if-eqz v0, :cond_1
.line 1307
invoke-virtual {p0}, Landroid/view/View;->getSystemUiVisibility()I
move-result v0
const/4 v1, 0x1
and-int/2addr v0, v1
if-eq v0, v1, :cond_1
.line 1311
invoke-virtual {p0, v1}, Landroid/view/View;->setSystemUiVisibility(I)V
:cond_1
:goto_0
return-void
.end method
.method public static IsAtLeastAPI(I)Z
.locals 1
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
if-lt v0, p0, :cond_0
const/4 p0, 0x1
goto :goto_0
:cond_0
const/4 p0, 0x0
:goto_0
return p0
.end method
.method public static IsBelowAPI(I)Z
.locals 1
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
if-ge v0, p0, :cond_0
const/4 p0, 0x1
goto :goto_0
:cond_0
const/4 p0, 0x0
:goto_0
return p0
.end method
.method private OnSystemUiVisibilityChanged()V
.locals 4
.line 1275
invoke-virtual {p0}, Lcom/firemint/realracing/MainActivity;->isKeyboardInputShown()Z
move-result v0
if-nez v0, :cond_1
.line 1278
invoke-static {}, Lcom/firemint/realracing/MainActivity;->getIsAmazon()Z
move-result v0
if-eqz v0, :cond_0
const/16 v0, 0x15
.line 1279
invoke-static {v0}, Lcom/firemint/realracing/MainActivity;->IsAtLeastAPI(I)Z
move-result v0
if-eqz v0, :cond_1
.line 1281
:cond_0
new-instance v0, Lcom/firemint/realracing/MainActivity$24;
invoke-direct {v0, p0}, Lcom/firemint/realracing/MainActivity$24;-><init>(Lcom/firemint/realracing/MainActivity;)V
.line 1290
invoke-virtual {p0}, Lcom/firemint/realracing/MainActivity;->getGLView()Lcom/firemint/realracing/GLView;
move-result-object v1
const-wide/16 v2, 0x3e8
invoke-virtual {v1, v0, v2, v3}, Landroid/view/View;->postDelayed(Ljava/lang/Runnable;J)Z
:cond_1
return-void
.end method
.method private SetupDisplayCutoutCallback()V
.locals 2
const/16 v0, 0x1c
.line 526
:try_start_0
invoke-static {v0}, Lcom/firemint/realracing/MainActivity;->IsAtLeastAPI(I)Z
move-result v0
if-eqz v0, :cond_0
.line 528
invoke-virtual {p0}, Landroid/app/Activity;->getWindow()Landroid/view/Window;
move-result-object v0
invoke-virtual {v0}, Landroid/view/Window;->getDecorView()Landroid/view/View;
move-result-object v0
.line 529
new-instance v1, Lcom/firemint/realracing/MainActivity$9;
invoke-direct {v1, p0}, Lcom/firemint/realracing/MainActivity$9;-><init>(Lcom/firemint/realracing/MainActivity;)V
invoke-virtual {v0, v1}, Landroid/view/View;->setOnApplyWindowInsetsListener(Landroid/view/View$OnApplyWindowInsetsListener;)V
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
:catch_0
move-exception v0
.line 555
invoke-virtual {v0}, Ljava/lang/Throwable;->printStackTrace()V
:cond_0
:goto_0
return-void
.end method
.method private SetupSystemUiVisibility()V
.locals 2
.annotation build Landroid/annotation/TargetApi;
value = 0xe
.end annotation
.line 663
invoke-virtual {p0}, Landroid/app/Activity;->getWindow()Landroid/view/Window;
move-result-object v0
invoke-virtual {v0}, Landroid/view/Window;->getDecorView()Landroid/view/View;
move-result-object v0
new-instance v1, Lcom/firemint/realracing/MainActivity$12;
invoke-direct {v1, p0}, Lcom/firemint/realracing/MainActivity$12;-><init>(Lcom/firemint/realracing/MainActivity;)V
invoke-virtual {v0, v1}, Landroid/view/View;->setOnSystemUiVisibilityChangeListener(Landroid/view/View$OnSystemUiVisibilityChangeListener;)V
return-void
.end method
.method public static createSplashView(Landroid/content/Context;)Landroid/view/View;
.locals 2
.line 971
invoke-static {p0}, Landroid/view/LayoutInflater;->from(Landroid/content/Context;)Landroid/view/LayoutInflater;
move-result-object p0
sget v0, Lcom/firemint/realracing/R$layout;->unpacking_assets:I
const/4 v1, 0x0
invoke-virtual {p0, v0, v1}, Landroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;)Landroid/view/View;
move-result-object p0
return-object p0
.end method
.method public static getGameState()I
.locals 1
sget-object v0, Lcom/firemint/realracing/MainActivity;->instance:Lcom/firemint/realracing/MainActivity;
if-nez v0, :cond_0
const/4 v0, 0x0
goto :goto_0
.line 232
:cond_0
iget v0, v0, Lcom/firemint/realracing/MainActivity;->m_gameState:I
:goto_0
return v0
.end method
.method public static getIsAmazon()Z
.locals 1
sget-boolean v0, Lcom/firemint/realracing/MainActivity;->m_bIsAmazon:Z
return v0
.end method
.method public static getIsAndroidTv()Z
.locals 1
sget-boolean v0, Lcom/firemint/realracing/MainActivity;->m_bIsAndroidTv:Z
return v0
.end method
.method private isMenuBackKey(I)Z
.locals 1
const/4 v0, 0x4
if-eq p1, v0, :cond_0
const/16 v0, 0x52
if-eq p1, v0, :cond_0
const/4 p1, 0x0
return p1
:cond_0
const/4 p1, 0x1
return p1
.end method
.method private isVolumeKey(I)Z
.locals 1
const/16 v0, 0x18
if-eq p1, v0, :cond_1
const/16 v0, 0x19
if-ne p1, v0, :cond_0
goto :goto_0
:cond_0
const/4 p1, 0x0
goto :goto_1
:cond_1
:goto_0
const/4 p1, 0x1
:goto_1
return p1
.end method
.method public static loge(Ljava/lang/String;)V
.locals 1
const-string v0, "RealRacing3"
.line 1815
invoke-static {v0, p0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
return-void
.end method
.method public static logi(Ljava/lang/String;)V
.locals 0
return-void
.end method
.method public static logw(Ljava/lang/String;)V
.locals 1
const-string v0, "RealRacing3"
.line 1806
invoke-static {v0, p0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
return-void
.end method
.method public static setGameState(I)Z
.locals 2
sget-object v0, Lcom/firemint/realracing/MainActivity;->instance:Lcom/firemint/realracing/MainActivity;
if-nez v0, :cond_0
const/4 p0, 0x0
return p0
.line 240
:cond_0
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "setGameState("
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v1, ")"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/firemint/realracing/MainActivity;->logi(Ljava/lang/String;)V
sget-object v0, Lcom/firemint/realracing/MainActivity;->instance:Lcom/firemint/realracing/MainActivity;
.line 242
iput p0, v0, Lcom/firemint/realracing/MainActivity;->m_gameState:I
const/4 p0, 0x1
return p0
.end method
# virtual methods
.method public CheckInitialiseCrashlytics(Z)V
.locals 1
.line 495
invoke-static {}, Lcom/google/firebase/crashlytics/FirebaseCrashlytics;->getInstance()Lcom/google/firebase/crashlytics/FirebaseCrashlytics;
move-result-object v0
invoke-virtual {v0, p1}, Lcom/google/firebase/crashlytics/FirebaseCrashlytics;->setCrashlyticsCollectionEnabled(Z)V
return-void
.end method
.method public GetCutoutLeft()I
.locals 1
.annotation build Landroid/annotation/TargetApi;
value = 0x1c
.end annotation
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_displayCutout:Landroid/view/DisplayCutout;
if-eqz v0, :cond_0
.line 501
invoke-static {v0}, Lcom/firemint/realracing/MainActivity$$ExternalSyntheticApiModelOutline0;->m(Landroid/view/DisplayCutout;)I
move-result v0
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
.method public GetCutoutRight()I
.locals 1
.annotation build Landroid/annotation/TargetApi;
value = 0x1c
.end annotation
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_displayCutout:Landroid/view/DisplayCutout;
if-eqz v0, :cond_0
.line 504
invoke-static {v0}, Lcom/firemint/realracing/MainActivity$$ExternalSyntheticApiModelOutline1;->m(Landroid/view/DisplayCutout;)I
move-result v0
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
.method public HandleDeepLink(Ljava/lang/String;Ljava/lang/String;)V
.locals 1
.line 636
new-instance v0, Lcom/firemint/realracing/MainActivity$11;
invoke-direct {v0, p0, p1, p2}, Lcom/firemint/realracing/MainActivity$11;-><init>(Lcom/firemint/realracing/MainActivity;Ljava/lang/String;Ljava/lang/String;)V
.line 645
invoke-virtual {p0}, Lcom/firemint/realracing/MainActivity;->getGLView()Lcom/firemint/realracing/GLView;
move-result-object p1
if-eqz p1, :cond_0
.line 647
invoke-virtual {p0, v0}, Lcom/firemint/realracing/MainActivity;->RunOnGlThread(Ljava/lang/Runnable;)V
goto :goto_0
.line 651
:cond_0
invoke-interface {v0}, Ljava/lang/Runnable;->run()V
:goto_0
return-void
.end method
.method public native HandleIntent(Landroid/content/Intent;)V
.end method
.method public HandleLaunchURL(Landroid/content/Intent;)V
.locals 3
if-eqz p1, :cond_4
const-string v0, "deepLinkUrl"
.line 611
invoke-virtual {p1, v0}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v1, "alert"
.line 612
invoke-virtual {p1, v1}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
if-eqz v0, :cond_0
.line 615
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v2
if-nez v2, :cond_1
:cond_0
const-string v0, "launchURL"
.line 617
invoke-virtual {p1, v0}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
:cond_1
if-eqz v0, :cond_2
.line 621
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v2
if-nez v2, :cond_3
.line 623
:cond_2
invoke-virtual {p1}, Landroid/content/Intent;->getDataString()Ljava/lang/String;
move-result-object v0
:cond_3
if-eqz v0, :cond_4
.line 627
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result p1
if-lez p1, :cond_4
.line 629
invoke-virtual {p0, v1, v0}, Lcom/firemint/realracing/MainActivity;->HandleDeepLink(Ljava/lang/String;Ljava/lang/String;)V
:cond_4
return-void
.end method
.method public HasDisplayCutout()Z
.locals 1
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_displayCutout:Landroid/view/DisplayCutout;
if-eqz v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
.method public IsPermissionGranted(Ljava/lang/String;)Z
.locals 0
.line 598
invoke-static {p0, p1}, Landroidx/core/content/ContextCompat;->checkSelfPermission(Landroid/content/Context;Ljava/lang/String;)I
move-result p1
if-nez p1, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
return p1
.end method
.method public OnLegalOptOutChanged(Z)V
.locals 2
.line 487
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "MainActivity::OnLegalOptOutChanged: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/firemint/realracing/MainActivity;->logi(Ljava/lang/String;)V
.line 488
invoke-virtual {p0, p1}, Lcom/firemint/realracing/MainActivity;->CheckInitialiseCrashlytics(Z)V
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->mFirebaseAnalytics:Lcom/google/firebase/analytics/FirebaseAnalytics;
.line 489
invoke-virtual {v0, p1}, Lcom/google/firebase/analytics/FirebaseAnalytics;->setAnalyticsCollectionEnabled(Z)V
.line 490
invoke-static {}, Lcom/google/firebase/perf/FirebasePerformance;->getInstance()Lcom/google/firebase/perf/FirebasePerformance;
move-result-object v0
invoke-virtual {v0, p1}, Lcom/google/firebase/perf/FirebasePerformance;->setPerformanceCollectionEnabled(Z)V
return-void
.end method
.method public OnMessageDismissed(Lcom/firemint/realracing/MainActivity$Message;)V
.locals 1
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_message:Lcom/firemint/realracing/MainActivity$Message;
if-ne p1, v0, :cond_0
const/4 p1, 0x0
iput-object p1, p0, Lcom/firemint/realracing/MainActivity;->m_message:Lcom/firemint/realracing/MainActivity$Message;
:cond_0
return-void
.end method
.method public OnViewChanged(IIII)V
.locals 1
.line 977
new-instance v0, Lcom/firemint/realracing/MainActivity$20;
invoke-direct {v0, p0}, Lcom/firemint/realracing/MainActivity$20;-><init>(Lcom/firemint/realracing/MainActivity;)V
invoke-virtual {p0, v0}, Landroid/app/Activity;->runOnUiThread(Ljava/lang/Runnable;)V
.line 1005
invoke-virtual {p0, p1, p2, p3, p4}, Lcom/firemint/realracing/MainActivity;->onViewChangedJNI(IIII)V
return-void
.end method
.method public RequestPermission(Ljava/lang/String;I)V
.locals 0
filled-new-array {p1}, [Ljava/lang/String;
move-result-object p1
.line 603
invoke-static {p0, p1, p2}, Landroidx/core/app/ActivityCompat;->requestPermissions(Landroid/app/Activity;[Ljava/lang/String;I)V
return-void
.end method
.method public RunOnGlThread(Ljava/lang/Runnable;)V
.locals 1
.line 142
invoke-virtual {p0}, Lcom/firemint/realracing/MainActivity;->getGLView()Lcom/firemint/realracing/GLView;
move-result-object v0
invoke-virtual {v0, p1}, Landroid/opengl/GLSurfaceView;->queueEvent(Ljava/lang/Runnable;)V
return-void
.end method
.method public native SSExperimentalHoldAndWaitJNI()V
.end method
.method public SSExperimental_SimulateDeadlock()V
.locals 2
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_glView:Lcom/firemint/realracing/GLView;
.line 1478
new-instance v1, Lcom/firemint/realracing/MainActivity$25;
invoke-direct {v1, p0}, Lcom/firemint/realracing/MainActivity$25;-><init>(Lcom/firemint/realracing/MainActivity;)V
invoke-virtual {v0, v1}, Landroid/opengl/GLSurfaceView;->queueEvent(Ljava/lang/Runnable;)V
return-void
.end method
.method public native SetRunningOnAndroidTv(Z)V
.end method
.method public ShouldUseDefaultDisplayCutout()Z
.locals 4
.line 508
invoke-virtual {p0}, Lcom/firemint/realracing/MainActivity;->HasDisplayCutout()Z
move-result v0
const/4 v1, 0x0
if-nez v0, :cond_2
.line 510
sget-object v0, Landroid/os/Build;->MODEL:Ljava/lang/String;
invoke-virtual {v0}, Ljava/lang/String;->toUpperCase()Ljava/lang/String;
move-result-object v2
const-string v3, "SM-M205"
invoke-virtual {v2, v3}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v2
if-eqz v2, :cond_0
sget v2, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v3, 0x1c
if-lt v2, v3, :cond_1
.line 511
:cond_0
invoke-virtual {v0}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;
move-result-object v2
const-string v3, "vivo 1818"
invoke-virtual {v2, v3}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v2
if-nez v2, :cond_1
.line 512
invoke-virtual {v0}, Ljava/lang/String;->toUpperCase()Ljava/lang/String;
move-result-object v2
const-string v3, "CPH1969"
invoke-virtual {v2, v3}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v2
if-nez v2, :cond_1
.line 513
invoke-virtual {v0}, Ljava/lang/String;->toUpperCase()Ljava/lang/String;
move-result-object v2
const-string v3, "CPH1909"
invoke-virtual {v2, v3}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v2
if-nez v2, :cond_1
.line 514
invoke-virtual {v0}, Ljava/lang/String;->toUpperCase()Ljava/lang/String;
move-result-object v2
const-string v3, "PIXEL 4"
invoke-virtual {v2, v3}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v2
if-nez v2, :cond_1
.line 515
invoke-virtual {v0}, Ljava/lang/String;->toUpperCase()Ljava/lang/String;
move-result-object v2
const-string v3, "PIXEL 4 XL"
invoke-virtual {v2, v3}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v2
if-nez v2, :cond_1
.line 516
invoke-virtual {v0}, Ljava/lang/String;->toUpperCase()Ljava/lang/String;
move-result-object v2
const-string v3, "PIXEL 3"
invoke-virtual {v2, v3}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v2
if-nez v2, :cond_1
.line 517
invoke-virtual {v0}, Ljava/lang/String;->toUpperCase()Ljava/lang/String;
move-result-object v0
const-string v2, "GM1913"
invoke-virtual {v0, v2}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_2
:cond_1
const/4 v1, 0x1
:cond_2
return v1
.end method
.method public native alertMessageExecuteCallback(J)V
.end method
.method public areHeadphonesConnected()Z
.locals 1
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_headphoneBroadcastReceiver:Lcom/firemint/realracing/HeadphoneBroadcastReceiver;
.line 657
invoke-virtual {v0}, Lcom/firemint/realracing/HeadphoneBroadcastReceiver;->AreHeadphonesConnected()Z
move-result v0
return v0
.end method
.method public native checkMemoryJNI()Z
.end method
.method public checkStorage(Z)Z
.locals 9
iget v0, p0, Lcom/firemint/realracing/MainActivity;->m_gameState:I
const/4 v8, 0x0
const/4 v1, 0x5
if-ne v0, v1, :cond_1
if-eqz p1, :cond_0
goto :goto_0
:cond_0
return v8
.line 260
:cond_1
:goto_0
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "checkStorage(): storage state = "
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {}, Landroid/os/Environment;->getExternalStorageState()Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/firemint/realracing/MainActivity;->logi(Ljava/lang/String;)V
.line 262
invoke-static {}, Landroid/os/Environment;->getExternalStorageState()Ljava/lang/String;
move-result-object v0
const-string v2, "mounted"
invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
const/4 v2, 0x1
if-nez v0, :cond_4
.line 263
invoke-static {}, Landroid/os/Environment;->getExternalStorageState()Ljava/lang/String;
move-result-object v0
const-string v3, "mounted_ro"
invoke-virtual {v0, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_4
iget v0, p0, Lcom/firemint/realracing/MainActivity;->m_gameState:I
if-eq v0, v1, :cond_2
iput v0, p0, Lcom/firemint/realracing/MainActivity;->oldGameState:I
.line 269
:cond_2
invoke-static {v1}, Lcom/firemint/realracing/MainActivity;->setGameState(I)Z
.line 270
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "checkStorage(): game state = "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v1, p0, Lcom/firemint/realracing/MainActivity;->m_gameState:I
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v1, " old state="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v1, p0, Lcom/firemint/realracing/MainActivity;->oldGameState:I
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/firemint/realracing/MainActivity;->logi(Ljava/lang/String;)V
iget v0, p0, Lcom/firemint/realracing/MainActivity;->oldGameState:I
if-gt v0, v2, :cond_3
.line 273
invoke-virtual {p0}, Lcom/firemint/realracing/MainActivity;->checkMemoryJNI()Z
move-result v0
if-eqz v0, :cond_3
.line 275
new-instance v0, Lcom/firemint/realracing/MainActivity$Message;
sget v1, Lcom/firemint/realracing/R$string;->STORAGE_ERROR_TITLE:I
invoke-virtual {p0, v1}, Landroid/content/Context;->getString(I)Ljava/lang/String;
move-result-object v2
sget v1, Lcom/firemint/realracing/R$string;->STORAGE_ERROR_DESC:I
.line 276
invoke-virtual {p0, v1}, Landroid/content/Context;->getString(I)Ljava/lang/String;
move-result-object v3
sget v1, Lcom/firemint/realracing/R$string;->STORAGE_ERROR_POS_BTN:I
.line 277
invoke-virtual {p0, v1}, Landroid/content/Context;->getString(I)Ljava/lang/String;
move-result-object v4
sget v1, Lcom/firemint/realracing/R$string;->STORAGE_ERROR_NEG_BTN:I
.line 278
invoke-virtual {p0, v1}, Landroid/content/Context;->getString(I)Ljava/lang/String;
move-result-object v5
const/4 v6, 0x0
new-instance v7, Lcom/firemint/realracing/MainActivity$5;
invoke-direct {v7, p0}, Lcom/firemint/realracing/MainActivity$5;-><init>(Lcom/firemint/realracing/MainActivity;)V
move-object v1, p0
invoke-direct/range {v0 .. v7}, Lcom/firemint/realracing/MainActivity$Message;-><init>(Lcom/firemint/realracing/MainActivity;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/firemint/realracing/MessageCallback;)V
goto :goto_1
.line 293
:cond_3
new-instance v0, Lcom/firemint/realracing/MainActivity$Message;
sget v1, Lcom/firemint/realracing/R$string;->STORAGE_ERROR_TITLE:I
invoke-virtual {p0, v1}, Landroid/content/Context;->getString(I)Ljava/lang/String;
move-result-object v2
sget v1, Lcom/firemint/realracing/R$string;->STORAGE_ERROR_DESC:I
invoke-virtual {p0, v1}, Landroid/content/Context;->getString(I)Ljava/lang/String;
move-result-object v3
const/4 v4, 0x0
sget v1, Lcom/firemint/realracing/R$string;->STORAGE_ERROR_NEG_BTN:I
invoke-virtual {p0, v1}, Landroid/content/Context;->getString(I)Ljava/lang/String;
move-result-object v5
const/4 v6, 0x0
const/4 v7, 0x0
move-object v1, p0
invoke-direct/range {v0 .. v7}, Lcom/firemint/realracing/MainActivity$Message;-><init>(Lcom/firemint/realracing/MainActivity;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/firemint/realracing/MessageCallback;)V
:goto_1
return v8
:cond_4
return v2
.end method
.method public createControllerManager()V
.locals 1
.line 699
new-instance v0, Lcom/firemint/realracing/ControllerManager;
invoke-direct {v0, p0}, Lcom/firemint/realracing/ControllerManager;-><init>(Lcom/firemint/realracing/MainActivity;)V
iput-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_controllerManager:Lcom/firemint/realracing/ControllerManager;
return-void
.end method
.method public createLoadingView(Ljava/lang/String;)Landroid/view/View;
.locals 3
.line 954
invoke-static {}, Lcom/firemint/realracing/Platform;->getScreenWidth()I
.line 955
invoke-static {}, Lcom/firemint/realracing/Platform;->getScreenHeight()I
move-result v0
.line 957
new-instance v1, Landroid/widget/TextView;
invoke-direct {v1, p0}, Landroid/widget/TextView;-><init>(Landroid/content/Context;)V
.line 959
invoke-virtual {v1, p1}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
const/4 p1, -0x1
.line 960
invoke-virtual {v1, p1}, Landroid/widget/TextView;->setTextColor(I)V
const/high16 p1, 0x42000000 # 32.0f
.line 961
invoke-virtual {v1, p1}, Landroid/widget/TextView;->setTextSize(F)V
const/4 p1, 0x0
.line 962
invoke-virtual {v1, p1}, Landroid/view/View;->setVisibility(I)V
const/4 v2, 0x1
.line 963
invoke-virtual {v1, v2}, Landroid/widget/TextView;->setGravity(I)V
.line 964
div-int/lit8 v2, v0, 0x7
sub-int/2addr v0, v2
invoke-virtual {v1, p1, v0, p1, p1}, Landroid/widget/TextView;->setPadding(IIII)V
return-object v1
.end method
.method public createTextField(JLjava/lang/String;)Lcom/firemint/realracing/TextField;
.locals 2
.line 917
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "createTextField(): "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/firemint/realracing/MainActivity;->logi(Ljava/lang/String;)V
.line 919
new-instance v0, Lcom/firemint/realracing/TextField;
sget-object v1, Lcom/firemint/realracing/MainActivity;->instance:Lcom/firemint/realracing/MainActivity;
invoke-direct {v0, v1, p1, p2, p3}, Lcom/firemint/realracing/TextField;-><init>(Landroid/content/Context;JLjava/lang/String;)V
.line 920
new-instance p1, Lcom/firemint/realracing/MainActivity$18;
invoke-direct {p1, p0, v0}, Lcom/firemint/realracing/MainActivity$18;-><init>(Lcom/firemint/realracing/MainActivity;Lcom/firemint/realracing/TextField;)V
invoke-virtual {p0, p1}, Landroid/app/Activity;->runOnUiThread(Ljava/lang/Runnable;)V
return-object v0
.end method
.method public dismissMessage()V
.locals 1
.line 1775
new-instance v0, Lcom/firemint/realracing/MainActivity$27;
invoke-direct {v0, p0}, Lcom/firemint/realracing/MainActivity$27;-><init>(Lcom/firemint/realracing/MainActivity;)V
invoke-virtual {p0, v0}, Landroid/app/Activity;->runOnUiThread(Ljava/lang/Runnable;)V
return-void
.end method
.method public dispatchKeyEvent(Landroid/view/KeyEvent;)Z
.locals 1
.line 1501
invoke-virtual {p0}, Lcom/firemint/realracing/MainActivity;->isCheatInputShown()Z
move-result v0
if-nez v0, :cond_0
invoke-virtual {p0}, Lcom/firemint/realracing/MainActivity;->isKeyboardInputShown()Z
move-result v0
if-nez v0, :cond_0
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_controllerManager:Lcom/firemint/realracing/ControllerManager;
if-eqz v0, :cond_0
.line 1505
invoke-virtual {v0, p1}, Lcom/firemint/realracing/ControllerManager;->HandleKeyEvents(Landroid/view/KeyEvent;)Z
move-result v0
if-eqz v0, :cond_0
const/4 p1, 0x1
return p1
.line 1512
:cond_0
invoke-super {p0, p1}, Landroid/app/Activity;->dispatchKeyEvent(Landroid/view/KeyEvent;)Z
move-result p1
return p1
.end method
.method public finishActivity()V
.locals 0
.line 1328
invoke-virtual {p0}, Landroid/app/Activity;->finish()V
return-void
.end method
.method public getApiLevel()I
.locals 1
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
return v0
.end method
.method public getFirebaseAnalyticsInstance()Lcom/google/firebase/analytics/FirebaseAnalytics;
.locals 1
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->mFirebaseAnalytics:Lcom/google/firebase/analytics/FirebaseAnalytics;
return-object v0
.end method
.method public getFirebaseRemoteConfigInstance()Lcom/google/firebase/remoteconfig/FirebaseRemoteConfig;
.locals 1
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->mFirebaseRemoteConfig:Lcom/google/firebase/remoteconfig/FirebaseRemoteConfig;
return-object v0
.end method
.method public getFrameLayout()Landroid/widget/FrameLayout;
.locals 1
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_frameLayout:Landroid/widget/FrameLayout;
return-object v0
.end method
.method public getGLView()Lcom/firemint/realracing/GLView;
.locals 1
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_glView:Lcom/firemint/realracing/GLView;
return-object v0
.end method
.method public getPaused()Z
.locals 1
iget-boolean v0, p0, Lcom/firemint/realracing/MainActivity;->m_paused:Z
return v0
.end method
.method public getScreenOrientation()I
.locals 2
.line 1377
invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v0
invoke-virtual {v0}, Landroid/content/res/Resources;->getConfiguration()Landroid/content/res/Configuration;
move-result-object v0
iget v0, v0, Landroid/content/res/Configuration;->orientation:I
const/4 v1, 0x1
if-eq v0, v1, :cond_0
const/4 v1, 0x2
if-eq v0, v1, :cond_0
const/4 v0, 0x0
return v0
:cond_0
return v1
.end method
.method public getScreenRotation()I
.locals 2
.line 1390
invoke-virtual {p0}, Landroid/app/Activity;->getWindowManager()Landroid/view/WindowManager;
move-result-object v0
invoke-interface {v0}, Landroid/view/WindowManager;->getDefaultDisplay()Landroid/view/Display;
move-result-object v0
invoke-virtual {v0}, Landroid/view/Display;->getRotation()I
move-result v0
if-eqz v0, :cond_1
const/4 v1, 0x1
if-eq v0, v1, :cond_0
const/4 v1, 0x2
if-eq v0, v1, :cond_0
const/4 v0, 0x3
return v0
:cond_0
return v1
:cond_1
const/4 v0, 0x0
return v0
.end method
.method public handleKeyEvent(ILandroid/view/KeyEvent;)Z
.locals 2
.line 1536
invoke-direct {p0, p1}, Lcom/firemint/realracing/MainActivity;->isMenuBackKey(I)Z
move-result v0
if-eqz v0, :cond_0
invoke-virtual {p2}, Landroid/view/KeyEvent;->getRepeatCount()I
move-result v0
if-nez v0, :cond_0
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_glView:Lcom/firemint/realracing/GLView;
.line 1538
new-instance v1, Lcom/firemint/realracing/MainActivity$KeyEventRunnable;
invoke-virtual {p2}, Landroid/view/KeyEvent;->getAction()I
move-result p2
invoke-direct {v1, p0, p1, p2}, Lcom/firemint/realracing/MainActivity$KeyEventRunnable;-><init>(Lcom/firemint/realracing/MainActivity;II)V
invoke-virtual {v0, v1}, Landroid/opengl/GLSurfaceView;->queueEvent(Ljava/lang/Runnable;)V
const/4 p1, 0x1
return p1
.line 1541
:cond_0
invoke-direct {p0, p1}, Lcom/firemint/realracing/MainActivity;->isVolumeKey(I)Z
move-result v0
if-eqz v0, :cond_1
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_glView:Lcom/firemint/realracing/GLView;
.line 1543
new-instance v1, Lcom/firemint/realracing/MainActivity$KeyEventRunnable;
invoke-virtual {p2}, Landroid/view/KeyEvent;->getAction()I
move-result p2
invoke-direct {v1, p0, p1, p2}, Lcom/firemint/realracing/MainActivity$KeyEventRunnable;-><init>(Lcom/firemint/realracing/MainActivity;II)V
invoke-virtual {v0, v1}, Landroid/opengl/GLSurfaceView;->queueEvent(Ljava/lang/Runnable;)V
:cond_1
const/4 p1, 0x0
return p1
.end method
.method public hideCheatInput()V
.locals 1
.line 751
new-instance v0, Lcom/firemint/realracing/MainActivity$15;
invoke-direct {v0, p0}, Lcom/firemint/realracing/MainActivity$15;-><init>(Lcom/firemint/realracing/MainActivity;)V
invoke-virtual {p0, v0}, Landroid/app/Activity;->runOnUiThread(Ljava/lang/Runnable;)V
return-void
.end method
.method public hideKeyboardInput()V
.locals 1
.line 879
new-instance v0, Lcom/firemint/realracing/MainActivity$17;
invoke-direct {v0, p0}, Lcom/firemint/realracing/MainActivity$17;-><init>(Lcom/firemint/realracing/MainActivity;)V
invoke-virtual {p0, v0}, Landroid/app/Activity;->runOnUiThread(Ljava/lang/Runnable;)V
return-void
.end method
.method public hideLoadingSplash()V
.locals 1
.line 170
new-instance v0, Lcom/firemint/realracing/MainActivity$2;
invoke-direct {v0, p0}, Lcom/firemint/realracing/MainActivity$2;-><init>(Lcom/firemint/realracing/MainActivity;)V
invoke-virtual {p0, v0}, Landroid/app/Activity;->runOnUiThread(Ljava/lang/Runnable;)V
return-void
.end method
.method public hideSplash()V
.locals 1
.line 199
new-instance v0, Lcom/firemint/realracing/MainActivity$4;
invoke-direct {v0, p0}, Lcom/firemint/realracing/MainActivity$4;-><init>(Lcom/firemint/realracing/MainActivity;)V
invoke-virtual {p0, v0}, Landroid/app/Activity;->runOnUiThread(Ljava/lang/Runnable;)V
return-void
.end method
.method public isCheatInputShown()Z
.locals 1
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_cheatView:Lcom/firemint/realracing/CheatView;
if-eqz v0, :cond_0
.line 771
invoke-virtual {v0}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object v0
if-eqz v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
.method public isKeyboardInputShown()Z
.locals 1
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_keyboardView:Lcom/firemint/realracing/CheatView;
if-eqz v0, :cond_0
.line 900
invoke-virtual {v0}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object v0
if-eqz v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
.method public native isLegalUsageEnabled()Z
.end method
.method public isSystemKey(I)Z
.locals 1
const/4 v0, 0x3
if-eq p1, v0, :cond_0
const/16 v0, 0x5b
if-eq p1, v0, :cond_0
const/4 v0, 0x5
if-eq p1, v0, :cond_0
const/4 v0, 0x6
if-eq p1, v0, :cond_0
packed-switch p1, :pswitch_data_0
const/4 p1, 0x0
return p1
:cond_0
:pswitch_0
const/4 p1, 0x1
return p1
:pswitch_data_0
.packed-switch 0x18
:pswitch_0
:pswitch_0
:pswitch_0
:pswitch_0
.end packed-switch
.end method
.method public onActivityResult(IILandroid/content/Intent;)V
.locals 4
.line 1418
invoke-super {p0, p1, p2, p3}, Lcom/firemonkeys/cloudcellapi/CC_Activity;->onActivityResult(IILandroid/content/Intent;)V
# 🆕 COMMUNITY PATCH: Handle ServerSetupActivity result
const/16 v0, 0x1001
if-ne p1, v0, :check_wifi
# ServerSetupActivity returned
const/4 v0, -0x1
if-ne p2, v0, :setup_cancelled
# RESULT_OK - Server URL was configured, continue boot
const-string v0, "✅ Server configured - continuing boot"
const-string v1, "MainActivity"
invoke-static {v1, v0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
# Restart activity to continue normal boot sequence
invoke-virtual {p0}, Landroid/app/Activity;->recreate()V
return-void
:setup_cancelled
# User cancelled setup - exit app
const-string v0, "❌ Server setup cancelled - exiting"
const-string v1, "MainActivity"
invoke-static {v1, v0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
invoke-virtual {p0}, Landroid/app/Activity;->finish()V
return-void
:check_wifi
const v0, 0x13a286e3
const/4 v1, 0x0
if-ne p1, v0, :cond_0
sput-boolean v1, Lcom/firemint/realracing/MainActivity;->m_WIFISettingsShown:Z
goto :goto_1
:cond_0
const/4 v0, 0x1
if-ne p1, v0, :cond_2
const/4 v0, -0x1
if-ne p2, v0, :cond_1
.line 1430
invoke-virtual {p0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v0
invoke-virtual {p3}, Landroid/content/Intent;->getData()Landroid/net/Uri;
move-result-object v2
const/4 v3, 0x3
invoke-virtual {v0, v2, v3}, Landroid/content/ContentResolver;->takePersistableUriPermission(Landroid/net/Uri;I)V
goto :goto_0
:cond_1
move v1, v0
.line 1434
:goto_0
invoke-static {v1, p3}, Lcom/firemint/realracing/Platform;->StoragePermissionUpdated(ILandroid/content/Intent;)V
:cond_2
:goto_1
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_nimbleManager:Lcom/firemint/realracing/NimbleManager;
.line 1437
invoke-virtual {v0, p1, p2, p3}, Lcom/firemint/realracing/NimbleManager;->onActivityResult(IILandroid/content/Intent;)V
return-void
.end method
.method public onBackPressed()V
.locals 1
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_nimbleManager:Lcom/firemint/realracing/NimbleManager;
.line 1318
invoke-virtual {v0}, Lcom/firemint/realracing/NimbleManager;->onBackPressed()Z
move-result v0
if-eqz v0, :cond_0
.line 1320
invoke-super {p0}, Landroid/app/Activity;->onBackPressed()V
:cond_0
return-void
.end method
.method public native onCheatInputDone(Ljava/lang/String;J)V
.end method
.method public onConfigurationChanged(Landroid/content/res/Configuration;)V
.locals 0
.line 1405
invoke-super {p0, p1}, Landroid/app/Activity;->onConfigurationChanged(Landroid/content/res/Configuration;)V
return-void
.end method
.method public native onConfigurationChangedJNI()V
.end method
.method public onContinueLowMemory()V
.locals 1
const/4 v0, 0x1
.line 305
invoke-virtual {p0, v0}, Lcom/firemint/realracing/MainActivity;->checkStorage(Z)Z
move-result v0
if-eqz v0, :cond_1
.line 307
invoke-virtual {p0}, Lcom/firemint/realracing/MainActivity;->onCreateJNI()V
.line 309
invoke-virtual {p0}, Lcom/firemint/realracing/MainActivity;->onStartJNI()V
iget-boolean v0, p0, Lcom/firemint/realracing/MainActivity;->m_hasFocus:Z
if-eqz v0, :cond_0
.line 313
invoke-virtual {p0}, Lcom/firemint/realracing/MainActivity;->onDelayedResume()V
:cond_0
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/firemint/realracing/MainActivity;->m_paused:Z
const/4 v0, 0x3
iput v0, p0, Lcom/firemint/realracing/MainActivity;->oldGameState:I
.line 319
invoke-static {v0}, Lcom/firemint/realracing/MainActivity;->setGameState(I)Z
:cond_1
return-void
.end method
.method public onCreate(Landroid/os/Bundle;)V
.locals 6
const-string v0, "onCreate(): start"
.line 328
invoke-static {v0}, Lcom/firemint/realracing/MainActivity;->logi(Ljava/lang/String;)V
sget-boolean v0, Lcom/firemint/realracing/MainActivity;->s_bRunStrictMode:Z
if-eqz v0, :cond_0
const-string v0, "enabling strict mode settings"
.line 333
invoke-static {v0}, Lcom/firemint/realracing/MainActivity;->logi(Ljava/lang/String;)V
.line 334
new-instance v0, Landroid/os/StrictMode$ThreadPolicy$Builder;
invoke-direct {v0}, Landroid/os/StrictMode$ThreadPolicy$Builder;-><init>()V
.line 335
invoke-virtual {v0}, Landroid/os/StrictMode$ThreadPolicy$Builder;->detectAll()Landroid/os/StrictMode$ThreadPolicy$Builder;
move-result-object v0
.line 336
invoke-virtual {v0}, Landroid/os/StrictMode$ThreadPolicy$Builder;->permitDiskReads()Landroid/os/StrictMode$ThreadPolicy$Builder;
move-result-object v0
.line 337
invoke-virtual {v0}, Landroid/os/StrictMode$ThreadPolicy$Builder;->permitDiskWrites()Landroid/os/StrictMode$ThreadPolicy$Builder;
move-result-object v0
.line 338
invoke-virtual {v0}, Landroid/os/StrictMode$ThreadPolicy$Builder;->penaltyLog()Landroid/os/StrictMode$ThreadPolicy$Builder;
move-result-object v0
.line 339
invoke-virtual {v0}, Landroid/os/StrictMode$ThreadPolicy$Builder;->penaltyDeath()Landroid/os/StrictMode$ThreadPolicy$Builder;
move-result-object v0
.line 340
invoke-virtual {v0}, Landroid/os/StrictMode$ThreadPolicy$Builder;->build()Landroid/os/StrictMode$ThreadPolicy;
move-result-object v0
.line 334
invoke-static {v0}, Landroid/os/StrictMode;->setThreadPolicy(Landroid/os/StrictMode$ThreadPolicy;)V
.line 341
new-instance v0, Landroid/os/StrictMode$VmPolicy$Builder;
invoke-direct {v0}, Landroid/os/StrictMode$VmPolicy$Builder;-><init>()V
.line 342
invoke-virtual {v0}, Landroid/os/StrictMode$VmPolicy$Builder;->detectActivityLeaks()Landroid/os/StrictMode$VmPolicy$Builder;
move-result-object v0
.line 343
invoke-virtual {v0}, Landroid/os/StrictMode$VmPolicy$Builder;->detectFileUriExposure()Landroid/os/StrictMode$VmPolicy$Builder;
move-result-object v0
.line 344
invoke-virtual {v0}, Landroid/os/StrictMode$VmPolicy$Builder;->detectLeakedRegistrationObjects()Landroid/os/StrictMode$VmPolicy$Builder;
move-result-object v0
.line 346
invoke-virtual {v0}, Landroid/os/StrictMode$VmPolicy$Builder;->penaltyLog()Landroid/os/StrictMode$VmPolicy$Builder;
move-result-object v0
.line 347
invoke-virtual {v0}, Landroid/os/StrictMode$VmPolicy$Builder;->penaltyDeath()Landroid/os/StrictMode$VmPolicy$Builder;
move-result-object v0
.line 348
invoke-virtual {v0}, Landroid/os/StrictMode$VmPolicy$Builder;->build()Landroid/os/StrictMode$VmPolicy;
move-result-object v0
.line 341
invoke-static {v0}, Landroid/os/StrictMode;->setVmPolicy(Landroid/os/StrictMode$VmPolicy;)V
.line 351
:cond_0
invoke-static {p0}, Lcom/firemint/realracing/AppProxy;->SetActivity(Landroid/app/Activity;)V
.line 353
invoke-virtual {p0}, Landroid/app/Activity;->getApplication()Landroid/app/Application;
move-result-object v0
invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v0
const-string v1, "_azn"
invoke-virtual {v0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
sput-boolean v0, Lcom/firemint/realracing/MainActivity;->m_bIsAmazon:Z
const-string v0, "uimode"
.line 355
invoke-virtual {p0, v0}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/app/UiModeManager;
.line 356
invoke-virtual {v0}, Landroid/app/UiModeManager;->getCurrentModeType()I
move-result v0
const/4 v1, 0x4
const/4 v2, 0x0
const/4 v3, 0x1
if-ne v0, v1, :cond_1
move v0, v3
goto :goto_0
:cond_1
move v0, v2
:goto_0
sput-boolean v0, Lcom/firemint/realracing/MainActivity;->m_bIsAndroidTv:Z
.line 357
invoke-static {}, Lcom/firemint/realracing/MainActivity;->getIsAndroidTv()Z
move-result v0
invoke-virtual {p0, v0}, Lcom/firemint/realracing/MainActivity;->SetRunningOnAndroidTv(Z)V
.line 359
new-instance v0, Lcom/firemint/realracing/HeadphoneBroadcastReceiver;
invoke-direct {v0, p0}, Lcom/firemint/realracing/HeadphoneBroadcastReceiver;-><init>(Lcom/firemint/realracing/MainActivity;)V
iput-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_headphoneBroadcastReceiver:Lcom/firemint/realracing/HeadphoneBroadcastReceiver;
.line 360
invoke-direct {p0}, Lcom/firemint/realracing/MainActivity;->SetupDisplayCutoutCallback()V
.line 362
invoke-super {p0, p1}, Lcom/firemonkeys/cloudcellapi/CC_Activity;->onCreate(Landroid/os/Bundle;)V
# 🆕 COMMUNITY PATCH: Check for server URL before continuing boot
.line 363
invoke-static {p0}, Lcom/firemint/realracing/CommunityServerManager;->checkServerUrl(Landroid/content/Context;)Z
move-result v0
if-nez v0, :server_configured
# No server URL configured - show setup dialog
const-string v0, "⚠️ No server URL configured - showing setup dialog"
const-string v1, "MainActivity"
invoke-static {v1, v0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
new-instance v0, Landroid/content/Intent;
const-class v1, Lcom/firemint/realracing/ServerSetupActivity;
invoke-direct {v0, p0, v1}, Landroid/content/Intent;-><init>(Landroid/content/Context;Ljava/lang/Class;)V
const/16 v1, 0x1001
invoke-virtual {p0, v0, v1}, Landroid/app/Activity;->startActivityForResult(Landroid/content/Intent;I)V
# Don't continue boot - wait for setup to complete
return-void
:server_configured
const-string v0, "✅ Server URL configured - continuing boot"
const-string v1, "MainActivity"
invoke-static {v1, v0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
.line 365
new-instance v0, Lcom/firemint/realracing/NotificationChannelHelper;
invoke-direct {v0, p0}, Lcom/firemint/realracing/NotificationChannelHelper;-><init>(Landroid/content/Context;)V
.line 368
new-instance v0, Landroid/os/Handler;
invoke-direct {v0}, Landroid/os/Handler;-><init>()V
iput-object v0, p0, Lcom/firemint/realracing/MainActivity;->handler:Landroid/os/Handler;
.line 370
invoke-virtual {p0}, Landroid/app/Activity;->getIntent()Landroid/content/Intent;
move-result-object v0
.line 371
invoke-virtual {p0, v0}, Lcom/firemint/realracing/MainActivity;->HandleLaunchURL(Landroid/content/Intent;)V
iget v0, p0, Lcom/firemint/realracing/MainActivity;->m_gameState:I
const/4 v1, 0x6
if-ne v0, v1, :cond_2
.line 375
invoke-virtual {p0}, Landroid/app/Activity;->finish()V
return-void
:cond_2
if-lt v0, v3, :cond_3
return-void
:cond_3
sput-object p0, Lcom/firemint/realracing/MainActivity;->instance:Lcom/firemint/realracing/MainActivity;
.line 385
invoke-static {v3}, Lcom/firemint/realracing/MainActivity;->setGameState(I)Z
.line 388
invoke-virtual {p0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v0
sget-object v1, Landroid/provider/Settings$System;->CONTENT_URI:Landroid/net/Uri;
new-instance v4, Lcom/firemint/realracing/MainActivity$6;
new-instance v5, Landroid/os/Handler;
invoke-direct {v5}, Landroid/os/Handler;-><init>()V
invoke-direct {v4, p0, v5}, Lcom/firemint/realracing/MainActivity$6;-><init>(Lcom/firemint/realracing/MainActivity;Landroid/os/Handler;)V
invoke-virtual {v0, v1, v3, v4}, Landroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;)V
.line 407
invoke-virtual {p0}, Lcom/firemint/realracing/MainActivity;->updateScreenOrientationConfiguration()V
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_audioStreamManager:Lcom/firemint/realracing/AudioStreamManager;
const-string v1, "audio"
.line 409
invoke-virtual {p0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroid/media/AudioManager;
invoke-virtual {v0, v1}, Lcom/firemint/realracing/AudioStreamManager;->setAudioManager(Landroid/media/AudioManager;)V
.line 411
invoke-virtual {p0}, Landroid/app/Activity;->getWindow()Landroid/view/Window;
move-result-object v0
invoke-virtual {v0, v3}, Landroid/view/Window;->requestFeature(I)Z
.line 412
invoke-virtual {p0}, Landroid/app/Activity;->getWindow()Landroid/view/Window;
move-result-object v0
const/16 v1, 0x480
invoke-virtual {v0, v1}, Landroid/view/Window;->addFlags(I)V
.line 414
invoke-static {p0}, Lcom/firemint/realracing/MainActivity;->createSplashView(Landroid/content/Context;)Landroid/view/View;
move-result-object v0
iput-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_splashView:Landroid/view/View;
.line 415
new-instance v0, Lcom/firemint/realracing/GLView;
invoke-virtual {p0}, Landroid/app/Activity;->getApplication()Landroid/app/Application;
move-result-object v1
invoke-direct {v0, v1}, Lcom/firemint/realracing/GLView;-><init>(Landroid/content/Context;)V
iput-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_glView:Lcom/firemint/realracing/GLView;
.line 417
invoke-direct {p0}, Lcom/firemint/realracing/MainActivity;->SetupSystemUiVisibility()V
.line 418
invoke-virtual {p0}, Landroid/app/Activity;->getWindow()Landroid/view/Window;
move-result-object v0
invoke-virtual {v0}, Landroid/view/Window;->getDecorView()Landroid/view/View;
move-result-object v0
invoke-static {v0}, Lcom/firemint/realracing/MainActivity;->HideSystemKeys(Landroid/view/View;)V
.line 420
invoke-static {v3}, Lcom/firemonkeys/cloudcellapi/CC_Component;->setIsUsingImmersiveMode(Z)V
.line 422
new-instance v0, Landroid/widget/FrameLayout;
invoke-direct {v0, p0}, Landroid/widget/FrameLayout;-><init>(Landroid/content/Context;)V
iput-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_frameLayout:Landroid/widget/FrameLayout;
iget-object v1, p0, Lcom/firemint/realracing/MainActivity;->m_glView:Lcom/firemint/realracing/GLView;
.line 423
invoke-virtual {v0, v1}, Landroid/view/ViewGroup;->addView(Landroid/view/View;)V
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_frameLayout:Landroid/widget/FrameLayout;
iget-object v1, p0, Lcom/firemint/realracing/MainActivity;->m_splashView:Landroid/view/View;
.line 424
invoke-virtual {v0, v1}, Landroid/view/ViewGroup;->addView(Landroid/view/View;)V
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_frameLayout:Landroid/widget/FrameLayout;
.line 426
invoke-virtual {p0, v0}, Landroid/app/Activity;->setContentView(Landroid/view/View;)V
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_glView:Lcom/firemint/realracing/GLView;
iget-object v1, p0, Lcom/firemint/realracing/MainActivity;->m_frameLayout:Landroid/widget/FrameLayout;
.line 428
invoke-super {p0, v0, v1}, Lcom/firemonkeys/cloudcellapi/CC_Activity;->setInstances(Landroid/view/SurfaceView;Landroid/view/ViewGroup;)V
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_frameLayout:Landroid/widget/FrameLayout;
iget-object v1, p0, Lcom/firemint/realracing/MainActivity;->handler:Landroid/os/Handler;
.line 430
invoke-static {p0, v0, v1}, Lcom/firemint/realracing/MoviePlayer;->startup(Landroid/app/Activity;Landroid/view/ViewGroup;Landroid/os/Handler;)V
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_nimbleManager:Lcom/firemint/realracing/NimbleManager;
.line 432
invoke-virtual {v0, p0}, Lcom/firemint/realracing/NimbleManager;->initialise(Landroid/app/Activity;)V
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_nimbleManager:Lcom/firemint/realracing/NimbleManager;
.line 433
invoke-virtual {v0, p1}, Lcom/firemint/realracing/NimbleManager;->onCreate(Landroid/os/Bundle;)V
.line 435
invoke-virtual {p0, v2}, Lcom/firemint/realracing/MainActivity;->checkStorage(Z)Z
move-result p1
if-eqz p1, :cond_4
.line 437
invoke-virtual {p0}, Lcom/firemint/realracing/MainActivity;->onCreateJNI()V
.line 440
:cond_4
invoke-virtual {p0}, Lcom/firemint/realracing/MainActivity;->isLegalUsageEnabled()Z
move-result p1
invoke-virtual {p0, p1}, Lcom/firemint/realracing/MainActivity;->CheckInitialiseCrashlytics(Z)V
.line 443
invoke-static {p0}, Lcom/google/firebase/analytics/FirebaseAnalytics;->getInstance(Landroid/content/Context;)Lcom/google/firebase/analytics/FirebaseAnalytics;
move-result-object p1
iput-object p1, p0, Lcom/firemint/realracing/MainActivity;->mFirebaseAnalytics:Lcom/google/firebase/analytics/FirebaseAnalytics;
.line 444
invoke-virtual {p0}, Lcom/firemint/realracing/MainActivity;->isLegalUsageEnabled()Z
move-result v0
invoke-virtual {p1, v0}, Lcom/google/firebase/analytics/FirebaseAnalytics;->setAnalyticsCollectionEnabled(Z)V
.line 446
invoke-static {}, Lcom/google/firebase/perf/FirebasePerformance;->getInstance()Lcom/google/firebase/perf/FirebasePerformance;
move-result-object p1
invoke-virtual {p0}, Lcom/firemint/realracing/MainActivity;->isLegalUsageEnabled()Z
move-result v0
invoke-virtual {p1, v0}, Lcom/google/firebase/perf/FirebasePerformance;->setPerformanceCollectionEnabled(Z)V
.line 448
invoke-static {}, Lcom/google/firebase/remoteconfig/FirebaseRemoteConfig;->getInstance()Lcom/google/firebase/remoteconfig/FirebaseRemoteConfig;
move-result-object p1
iput-object p1, p0, Lcom/firemint/realracing/MainActivity;->mFirebaseRemoteConfig:Lcom/google/firebase/remoteconfig/FirebaseRemoteConfig;
.line 449
new-instance p1, Lcom/google/firebase/remoteconfig/FirebaseRemoteConfigSettings$Builder;
invoke-direct {p1}, Lcom/google/firebase/remoteconfig/FirebaseRemoteConfigSettings$Builder;-><init>()V
const-wide/16 v0, 0xe10
.line 450
invoke-virtual {p1, v0, v1}, Lcom/google/firebase/remoteconfig/FirebaseRemoteConfigSettings$Builder;->setMinimumFetchIntervalInSeconds(J)Lcom/google/firebase/remoteconfig/FirebaseRemoteConfigSettings$Builder;
move-result-object p1
.line 451
invoke-virtual {p1}, Lcom/google/firebase/remoteconfig/FirebaseRemoteConfigSettings$Builder;->build()Lcom/google/firebase/remoteconfig/FirebaseRemoteConfigSettings;
move-result-object p1
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->mFirebaseRemoteConfig:Lcom/google/firebase/remoteconfig/FirebaseRemoteConfig;
.line 452
invoke-virtual {v0, p1}, Lcom/google/firebase/remoteconfig/FirebaseRemoteConfig;->setConfigSettingsAsync(Lcom/google/firebase/remoteconfig/FirebaseRemoteConfigSettings;)Lcom/google/android/gms/tasks/Task;
iget-object p1, p0, Lcom/firemint/realracing/MainActivity;->mFirebaseRemoteConfig:Lcom/google/firebase/remoteconfig/FirebaseRemoteConfig;
.line 454
invoke-virtual {p1}, Lcom/google/firebase/remoteconfig/FirebaseRemoteConfig;->fetchAndActivate()Lcom/google/android/gms/tasks/Task;
move-result-object p1
new-instance v0, Lcom/firemint/realracing/MainActivity$7;
invoke-direct {v0, p0}, Lcom/firemint/realracing/MainActivity$7;-><init>(Lcom/firemint/realracing/MainActivity;)V
.line 455
invoke-virtual {p1, p0, v0}, Lcom/google/android/gms/tasks/Task;->addOnCompleteListener(Landroid/app/Activity;Lcom/google/android/gms/tasks/OnCompleteListener;)Lcom/google/android/gms/tasks/Task;
.line 469
invoke-static {}, Lcom/google/firebase/installations/FirebaseInstallations;->getInstance()Lcom/google/firebase/installations/FirebaseInstallations;
move-result-object p1
invoke-virtual {p1, v3}, Lcom/google/firebase/installations/FirebaseInstallations;->getToken(Z)Lcom/google/android/gms/tasks/Task;
move-result-object p1
new-instance v0, Lcom/firemint/realracing/MainActivity$8;
invoke-direct {v0, p0}, Lcom/firemint/realracing/MainActivity$8;-><init>(Lcom/firemint/realracing/MainActivity;)V
.line 470
invoke-virtual {p1, v0}, Lcom/google/android/gms/tasks/Task;->addOnCompleteListener(Lcom/google/android/gms/tasks/OnCompleteListener;)Lcom/google/android/gms/tasks/Task;
const-string p1, "onCreate(): finish"
.line 481
invoke-static {p1}, Lcom/firemint/realracing/MainActivity;->logi(Ljava/lang/String;)V
return-void
.end method
.method public native onCreateJNI()V
.end method
.method public onDelayedResume()V
.locals 2
iget-boolean v0, p0, Lcom/firemint/realracing/MainActivity;->m_delayedResumeJNI:Z
if-eqz v0, :cond_0
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/firemint/realracing/MainActivity;->m_delayedResumeJNI:Z
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_glView:Lcom/firemint/realracing/GLView;
.line 1110
new-instance v1, Lcom/firemint/realracing/MainActivity$22;
invoke-direct {v1, p0}, Lcom/firemint/realracing/MainActivity$22;-><init>(Lcom/firemint/realracing/MainActivity;)V
invoke-virtual {v0, v1}, Landroid/opengl/GLSurfaceView;->queueEvent(Ljava/lang/Runnable;)V
:cond_0
return-void
.end method
.method public onDestroy()V
.locals 2
const-string v0, "onDestroy(): start"
.line 1224
invoke-static {v0}, Lcom/firemint/realracing/MainActivity;->logi(Ljava/lang/String;)V
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_controllerManager:Lcom/firemint/realracing/ControllerManager;
if-eqz v0, :cond_0
.line 1228
invoke-virtual {v0}, Lcom/firemint/realracing/ControllerManager;->onDestroy()V
:cond_0
iget v0, p0, Lcom/firemint/realracing/MainActivity;->m_gameState:I
const/4 v1, 0x6
if-ge v0, v1, :cond_1
.line 1233
invoke-static {v1}, Lcom/firemint/realracing/MainActivity;->setGameState(I)Z
iget-boolean v0, p0, Lcom/firemint/realracing/MainActivity;->m_skipOnDestroyJNI:Z
if-nez v0, :cond_1
.line 1237
invoke-virtual {p0}, Lcom/firemint/realracing/MainActivity;->onDestroyJNI()V
.line 1241
:cond_1
invoke-super {p0}, Lcom/firemonkeys/cloudcellapi/CC_Activity;->onDestroy()V
.line 1242
invoke-super {p0}, Lcom/firemonkeys/cloudcellapi/CC_Activity;->clearInstances()V
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_nimbleManager:Lcom/firemint/realracing/NimbleManager;
.line 1243
invoke-virtual {v0}, Lcom/firemint/realracing/NimbleManager;->onDestroy()V
const/4 v0, 0x0
iput-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_glView:Lcom/firemint/realracing/GLView;
iput-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_splashView:Landroid/view/View;
iput-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_cheatView:Lcom/firemint/realracing/CheatView;
iput-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_frameLayout:Landroid/widget/FrameLayout;
sput-object v0, Lcom/firemint/realracing/MainActivity;->instance:Lcom/firemint/realracing/MainActivity;
.line 1252
invoke-static {v0}, Lcom/firemint/realracing/AppProxy;->SetActivity(Landroid/app/Activity;)V
const-string v0, "onDestroy(): exit"
.line 1254
invoke-static {v0}, Lcom/firemint/realracing/MainActivity;->logi(Ljava/lang/String;)V
const/4 v0, 0x0
.line 1256
invoke-static {v0}, Ljava/lang/System;->exit(I)V
const-string v0, "onDestroy(): finish"
.line 1258
invoke-static {v0}, Lcom/firemint/realracing/MainActivity;->logi(Ljava/lang/String;)V
return-void
.end method
.method public native onDestroyJNI()V
.end method
.method public native onFirebaseAuthTokenFetched(Ljava/lang/String;)V
.end method
.method public native onFirebaseRemoteConfigFetched(Z)V
.end method
.method public onGenericMotionEvent(Landroid/view/MotionEvent;)Z
.locals 2
.line 1554
invoke-virtual {p0}, Lcom/firemint/realracing/MainActivity;->isCheatInputShown()Z
move-result v0
if-nez v0, :cond_1
invoke-virtual {p0}, Lcom/firemint/realracing/MainActivity;->isKeyboardInputShown()Z
move-result v0
if-nez v0, :cond_1
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_controllerManager:Lcom/firemint/realracing/ControllerManager;
if-eqz v0, :cond_1
.line 1559
invoke-virtual {v0, p1}, Lcom/firemint/realracing/ControllerManager;->HandleMotionEvents(Landroid/view/MotionEvent;)Z
move-result v0
if-eqz v0, :cond_0
const/4 p1, 0x1
return p1
:cond_0
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_controllerManager:Lcom/firemint/realracing/ControllerManager;
const-string v1, "Not controller motion event"
.line 1564
invoke-virtual {v0, v1}, Lcom/firemint/realracing/ControllerManager;->Log(Ljava/lang/String;)V
.line 1568
:cond_1
invoke-super {p0, p1}, Landroid/app/Activity;->onGenericMotionEvent(Landroid/view/MotionEvent;)Z
move-result p1
return p1
.end method
.method public onKeyDown(ILandroid/view/KeyEvent;)Z
.locals 1
.line 1518
invoke-virtual {p0, p1, p2}, Lcom/firemint/realracing/MainActivity;->handleKeyEvent(ILandroid/view/KeyEvent;)Z
move-result v0
if-eqz v0, :cond_0
const/4 p1, 0x1
return p1
.line 1521
:cond_0
invoke-super {p0, p1, p2}, Landroid/app/Activity;->onKeyDown(ILandroid/view/KeyEvent;)Z
move-result p1
return p1
.end method
.method public native onKeyPressed(I)V
.end method
.method public native onKeyReleased(I)V
.end method
.method public onKeyUp(ILandroid/view/KeyEvent;)Z
.locals 1
.line 1527
invoke-virtual {p0, p1, p2}, Lcom/firemint/realracing/MainActivity;->handleKeyEvent(ILandroid/view/KeyEvent;)Z
move-result v0
if-eqz v0, :cond_0
const/4 p1, 0x1
return p1
.line 1530
:cond_0
invoke-super {p0, p1, p2}, Landroid/app/Activity;->onKeyUp(ILandroid/view/KeyEvent;)Z
move-result p1
return p1
.end method
.method public native onKeyboardInputDone(Ljava/lang/String;J)V
.end method
.method public native onKeyboardInputUpdate(Ljava/lang/String;J)V
.end method
.method public onNewIntent(Landroid/content/Intent;)V
.locals 1
const-string v0, "onNewIntent"
.line 1047
invoke-static {v0}, Lcom/firemint/realracing/MainActivity;->logi(Ljava/lang/String;)V
.line 1048
invoke-super {p0, p1}, Landroid/app/Activity;->onNewIntent(Landroid/content/Intent;)V
.line 1049
invoke-virtual {p0, p1}, Lcom/firemint/realracing/MainActivity;->HandleLaunchURL(Landroid/content/Intent;)V
.line 1050
invoke-virtual {p0, p1}, Lcom/firemint/realracing/MainActivity;->HandleIntent(Landroid/content/Intent;)V
return-void
.end method
.method public onPause()V
.locals 2
const-string v0, "onPause(): start"
.line 1151
invoke-static {v0}, Lcom/firemint/realracing/MainActivity;->logi(Ljava/lang/String;)V
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/firemint/realracing/MainActivity;->m_delayedResumeJNI:Z
.line 1155
invoke-super {p0}, Lcom/firemonkeys/cloudcellapi/CC_Activity;->onPause()V
.line 1157
invoke-virtual {p0}, Lcom/firemint/realracing/MainActivity;->showSplash()V
const-string v0, "onPause(): glPause"
.line 1159
invoke-static {v0}, Lcom/firemint/realracing/MainActivity;->logi(Ljava/lang/String;)V
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_glView:Lcom/firemint/realracing/GLView;
.line 1160
invoke-virtual {v0}, Landroid/opengl/GLSurfaceView;->onPause()V
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_nimbleManager:Lcom/firemint/realracing/NimbleManager;
.line 1162
invoke-virtual {v0}, Lcom/firemint/realracing/NimbleManager;->onPause()V
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_headphoneBroadcastReceiver:Lcom/firemint/realracing/HeadphoneBroadcastReceiver;
.line 1163
invoke-virtual {v0}, Lcom/firemint/realracing/HeadphoneBroadcastReceiver;->onPause()V
.line 1164
invoke-static {}, Lcom/firemint/realracing/MoviePlayer;->pause()V
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_controllerManager:Lcom/firemint/realracing/ControllerManager;
if-eqz v0, :cond_0
.line 1168
invoke-virtual {v0}, Lcom/firemint/realracing/ControllerManager;->onPause()V
:cond_0
iget v0, p0, Lcom/firemint/realracing/MainActivity;->m_gameState:I
const/4 v1, 0x3
if-ne v0, v1, :cond_1
const-string v0, "onPause(): pauseJNI"
.line 1173
invoke-static {v0}, Lcom/firemint/realracing/MainActivity;->logi(Ljava/lang/String;)V
const/4 v0, 0x2
.line 1174
invoke-static {v0}, Lcom/firemint/realracing/MainActivity;->setGameState(I)Z
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/firemint/realracing/MainActivity;->m_paused:Z
.line 1177
new-instance v0, Lcom/firemint/realracing/PauseRunnable;
invoke-direct {v0, p0}, Lcom/firemint/realracing/PauseRunnable;-><init>(Lcom/firemint/realracing/MainActivity;)V
iput-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_pauseRunnable:Lcom/firemint/realracing/PauseRunnable;
iget-object v1, p0, Lcom/firemint/realracing/MainActivity;->m_glView:Lcom/firemint/realracing/GLView;
.line 1178
invoke-virtual {v1, v0}, Landroid/opengl/GLSurfaceView;->queueEvent(Ljava/lang/Runnable;)V
.line 1185
:cond_1
invoke-virtual {p0}, Lcom/firemint/realracing/MainActivity;->isKeyboardInputShown()Z
move-result v0
if-eqz v0, :cond_2
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_keyboardView:Lcom/firemint/realracing/CheatView;
.line 1187
invoke-virtual {v0}, Lcom/firemint/realracing/CheatView;->onPause()V
.line 1190
:cond_2
invoke-virtual {p0}, Lcom/firemint/realracing/MainActivity;->isCheatInputShown()Z
move-result v0
if-eqz v0, :cond_3
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_cheatView:Lcom/firemint/realracing/CheatView;
.line 1192
invoke-virtual {v0}, Lcom/firemint/realracing/CheatView;->onPause()V
:cond_3
const-string v0, "onPause(): finish"
.line 1195
invoke-static {v0}, Lcom/firemint/realracing/MainActivity;->logi(Ljava/lang/String;)V
return-void
.end method
.method public native onPauseJNI()V
.end method
.method public native onRecievedMemoryWarningJNI()V
.end method
.method public onRequestPermissionsResult(I[Ljava/lang/String;[I)V
.locals 3
const/4 v0, 0x0
if-nez p1, :cond_1
if-eqz p3, :cond_0
.line 569
array-length v1, p3
if-lez v1, :cond_0
.line 571
aget v1, p3, v0
goto :goto_0
:cond_0
const/4 v1, -0x1
:goto_0
const/4 v2, 0x0
.line 574
invoke-static {v1, v2}, Lcom/firemint/realracing/Platform;->StoragePermissionUpdated(ILandroid/content/Intent;)V
goto :goto_1
:cond_1
const/4 v1, 0x3
if-ne p1, v1, :cond_2
if-eqz p3, :cond_2
.line 578
array-length v1, p3
if-lez v1, :cond_2
.line 580
aget v1, p3, v0
:goto_1
if-nez v1, :cond_2
const/4 v0, 0x1
.line 585
:cond_2
new-instance v1, Lcom/firemint/realracing/MainActivity$10;
invoke-direct {v1, p0, v0}, Lcom/firemint/realracing/MainActivity$10;-><init>(Lcom/firemint/realracing/MainActivity;Z)V
invoke-virtual {p0, v1}, Lcom/firemint/realracing/MainActivity;->RunOnGlThread(Ljava/lang/Runnable;)V
.line 593
invoke-super {p0, p1, p2, p3}, Landroid/app/Activity;->onRequestPermissionsResult(I[Ljava/lang/String;[I)V
return-void
.end method
.method public onRestart()V
.locals 1
const-string v0, "onRestart(): start"
.line 1012
invoke-static {v0}, Lcom/firemint/realracing/MainActivity;->logi(Ljava/lang/String;)V
.line 1013
invoke-super {p0}, Landroid/app/Activity;->onRestart()V
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_nimbleManager:Lcom/firemint/realracing/NimbleManager;
.line 1014
invoke-virtual {v0}, Lcom/firemint/realracing/NimbleManager;->onRestart()V
const-string v0, "onRestart(): finish"
.line 1015
invoke-static {v0}, Lcom/firemint/realracing/MainActivity;->logi(Ljava/lang/String;)V
return-void
.end method
.method public onRestoreInstanceState(Landroid/os/Bundle;)V
.locals 1
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_nimbleManager:Lcom/firemint/realracing/NimbleManager;
.line 1264
invoke-virtual {v0, p1}, Lcom/firemint/realracing/NimbleManager;->onRestoreInstanceState(Landroid/os/Bundle;)V
return-void
.end method
.method public onResume()V
.locals 3
const-string v0, "IANU>> onResume(): start"
.line 1056
invoke-static {v0}, Lcom/firemint/realracing/MainActivity;->logi(Ljava/lang/String;)V
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/firemint/realracing/MainActivity;->m_delayedResumeJNI:Z
.line 1060
invoke-super {p0}, Lcom/firemonkeys/cloudcellapi/CC_Activity;->onResume()V
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_glView:Lcom/firemint/realracing/GLView;
.line 1062
invoke-virtual {v0}, Landroid/opengl/GLSurfaceView;->onResume()V
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_nimbleManager:Lcom/firemint/realracing/NimbleManager;
.line 1064
invoke-virtual {v0}, Lcom/firemint/realracing/NimbleManager;->onResume()V
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_headphoneBroadcastReceiver:Lcom/firemint/realracing/HeadphoneBroadcastReceiver;
.line 1065
invoke-virtual {v0}, Lcom/firemint/realracing/HeadphoneBroadcastReceiver;->onResume()V
iget v0, p0, Lcom/firemint/realracing/MainActivity;->m_gameState:I
const/4 v1, 0x5
if-eq v0, v1, :cond_0
const/4 v1, 0x3
if-eq v0, v1, :cond_0
.line 1071
invoke-static {v1}, Lcom/firemint/realracing/MainActivity;->setGameState(I)Z
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/firemint/realracing/MainActivity;->m_delayedResumeJNI:Z
iget-object v1, p0, Lcom/firemint/realracing/MainActivity;->m_glView:Lcom/firemint/realracing/GLView;
.line 1075
new-instance v2, Lcom/firemint/realracing/MainActivity$21;
invoke-direct {v2, p0}, Lcom/firemint/realracing/MainActivity$21;-><init>(Lcom/firemint/realracing/MainActivity;)V
invoke-virtual {v1, v2}, Landroid/opengl/GLSurfaceView;->queueEvent(Ljava/lang/Runnable;)V
iput-boolean v0, p0, Lcom/firemint/realracing/MainActivity;->m_paused:Z
.line 1085
:cond_0
invoke-virtual {p0}, Lcom/firemint/realracing/MainActivity;->isKeyboardInputShown()Z
move-result v0
if-eqz v0, :cond_1
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_keyboardView:Lcom/firemint/realracing/CheatView;
.line 1087
invoke-virtual {v0}, Lcom/firemint/realracing/CheatView;->onResume()V
.line 1090
:cond_1
invoke-virtual {p0}, Lcom/firemint/realracing/MainActivity;->isCheatInputShown()Z
move-result v0
if-eqz v0, :cond_2
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_cheatView:Lcom/firemint/realracing/CheatView;
.line 1092
invoke-virtual {v0}, Lcom/firemint/realracing/CheatView;->onResume()V
.line 1095
:cond_2
invoke-static {}, Lcom/firemint/realracing/MoviePlayer;->resume()V
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_controllerManager:Lcom/firemint/realracing/ControllerManager;
if-eqz v0, :cond_3
.line 1098
invoke-virtual {v0}, Lcom/firemint/realracing/ControllerManager;->onResume()V
:cond_3
const-string v0, "IANU>> onResume(): finish"
.line 1101
invoke-static {v0}, Lcom/firemint/realracing/MainActivity;->logi(Ljava/lang/String;)V
return-void
.end method
.method public native onResumeJNI()V
.end method
.method public onSaveInstanceState(Landroid/os/Bundle;)V
.locals 1
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_nimbleManager:Lcom/firemint/realracing/NimbleManager;
.line 1270
invoke-virtual {v0, p1}, Lcom/firemint/realracing/NimbleManager;->onSaveInstanceState(Landroid/os/Bundle;)V
return-void
.end method
.method public onStart()V
.locals 3
const-string v0, "IANU>> onStart(): start"
.line 1021
invoke-static {v0}, Lcom/firemint/realracing/MainActivity;->logi(Ljava/lang/String;)V
.line 1023
invoke-super {p0}, Lcom/firemonkeys/cloudcellapi/CC_Activity;->onStart()V
const/4 v0, 0x0
.line 1025
invoke-virtual {p0, v0}, Lcom/firemint/realracing/MainActivity;->checkStorage(Z)Z
move-result v0
if-nez v0, :cond_0
return-void
:cond_0
iget v0, p0, Lcom/firemint/realracing/MainActivity;->m_gameState:I
const/4 v1, 0x2
if-lt v0, v1, :cond_1
const/4 v2, 0x4
if-ge v0, v2, :cond_1
return-void
.line 1035
:cond_1
invoke-static {v1}, Lcom/firemint/realracing/MainActivity;->setGameState(I)Z
.line 1037
invoke-virtual {p0}, Lcom/firemint/realracing/MainActivity;->onStartJNI()V
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_nimbleManager:Lcom/firemint/realracing/NimbleManager;
.line 1039
invoke-virtual {v0}, Lcom/firemint/realracing/NimbleManager;->onStart()V
const-string v0, "IANU>> onStart(): finish"
.line 1040
invoke-static {v0}, Lcom/firemint/realracing/MainActivity;->logi(Ljava/lang/String;)V
return-void
.end method
.method public native onStartJNI()V
.end method
.method public onStop()V
.locals 2
const-string v0, "onStop(): start"
.line 1201
invoke-static {v0}, Lcom/firemint/realracing/MainActivity;->logi(Ljava/lang/String;)V
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_pauseRunnable:Lcom/firemint/realracing/PauseRunnable;
.line 1203
invoke-static {v0}, Lcom/firemint/realracing/PauseRunnable;->waitUntilFinished(Lcom/firemint/realracing/PauseRunnable;)V
.line 1205
invoke-super {p0}, Lcom/firemonkeys/cloudcellapi/CC_Activity;->onStop()V
iget v0, p0, Lcom/firemint/realracing/MainActivity;->m_gameState:I
const/4 v1, 0x5
if-eq v0, v1, :cond_0
const/4 v1, 0x4
if-ge v0, v1, :cond_0
.line 1211
invoke-static {v1}, Lcom/firemint/realracing/MainActivity;->setGameState(I)Z
.line 1213
invoke-virtual {p0}, Lcom/firemint/realracing/MainActivity;->onStopJNI()V
:cond_0
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_nimbleManager:Lcom/firemint/realracing/NimbleManager;
.line 1217
invoke-virtual {v0}, Lcom/firemint/realracing/NimbleManager;->onStop()V
const-string v0, "onStop(): finish"
.line 1218
invoke-static {v0}, Lcom/firemint/realracing/MainActivity;->logi(Ljava/lang/String;)V
return-void
.end method
.method public native onStopJNI()V
.end method
.method public native onTouchBeginJNI(IFF)V
.end method
.method public native onTouchCancelJNI()V
.end method
.method public native onTouchEndJNI(IFFZ)V
.end method
.method public native onTouchMoveJNI(IFF)V
.end method
.method public onTrimMemory(I)V
.locals 2
.line 680
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "OnTrimMemory("
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v1, ")"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/16 v0, 0xf
if-ne p1, v0, :cond_0
const-string p1, "RealRacing3"
const-string v0, "Received memory warning: TRIM_MEMORY_RUNNING_CRITICAL)"
.line 683
invoke-static {p1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
:cond_0
iget-object p1, p0, Lcom/firemint/realracing/MainActivity;->m_glView:Lcom/firemint/realracing/GLView;
.line 687
new-instance v0, Lcom/firemint/realracing/MainActivity$13;
invoke-direct {v0, p0}, Lcom/firemint/realracing/MainActivity$13;-><init>(Lcom/firemint/realracing/MainActivity;)V
invoke-virtual {p1, v0}, Landroid/opengl/GLSurfaceView;->queueEvent(Ljava/lang/Runnable;)V
return-void
.end method
.method public native onViewChangedJNI(IIII)V
.end method
.method public native onViewCreatedJNI()V
.end method
.method public native onViewRenderJNI(II)V
.end method
.method public onWindowFocusChanged(Z)V
.locals 3
.line 1121
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "onWindowFocusChanged("
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
const-string v2, "): start"
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/firemint/realracing/MainActivity;->logi(Ljava/lang/String;)V
iput-boolean p1, p0, Lcom/firemint/realracing/MainActivity;->m_hasFocus:Z
.line 1125
invoke-super {p0, p1}, Landroid/app/Activity;->onWindowFocusChanged(Z)V
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_glView:Lcom/firemint/realracing/GLView;
.line 1127
new-instance v2, Lcom/firemint/realracing/MainActivity$23;
invoke-direct {v2, p0}, Lcom/firemint/realracing/MainActivity$23;-><init>(Lcom/firemint/realracing/MainActivity;)V
invoke-virtual {v0, v2}, Landroid/opengl/GLSurfaceView;->queueEvent(Ljava/lang/Runnable;)V
iget-boolean v0, p0, Lcom/firemint/realracing/MainActivity;->m_hasFocus:Z
if-eqz v0, :cond_1
iget-boolean v0, p0, Lcom/firemint/realracing/MainActivity;->m_paused:Z
if-nez v0, :cond_0
.line 1137
invoke-virtual {p0}, Lcom/firemint/realracing/MainActivity;->onDelayedResume()V
.line 1139
:cond_0
invoke-direct {p0}, Lcom/firemint/realracing/MainActivity;->OnSystemUiVisibilityChanged()V
:cond_1
iget-object v0, p0, Lcom/firemint/realracing/MainActivity;->m_nimbleManager:Lcom/firemint/realracing/NimbleManager;
.line 1143
invoke-virtual {v0, p1}, Lcom/firemint/realracing/NimbleManager;->onWindowFocusChanged(Z)V
.line 1145
new-instance p1, Ljava/lang/StringBuilder;
invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-boolean v0, p0, Lcom/firemint/realracing/MainActivity;->m_hasFocus:Z
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
const-string v0, "): finish"
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {p1}, Lcom/firemint/realracing/MainActivity;->logi(Ljava/lang/String;)V
return-void
.end method
.method public native onWindowFocusChangedJNI(Z)V
.end method
.method public native permissionRequestCompleted(Z)V
.end method
.method public removeTextField(Lcom/firemint/realracing/TextField;)V
.locals 1
.line 935
new-instance v0, Lcom/firemint/realracing/MainActivity$19;
invoke-direct {v0, p0, p1}, Lcom/firemint/realracing/MainActivity$19;-><init>(Lcom/firemint/realracing/MainActivity;Lcom/firemint/realracing/TextField;)V
invoke-virtual {p0, v0}, Landroid/app/Activity;->runOnUiThread(Ljava/lang/Runnable;)V
return-void
.end method
.method public native setBackgroundLaunchURL(Ljava/lang/String;Ljava/lang/String;Z)V
.end method
.method public native setLaunchURL(Ljava/lang/String;)V
.end method
.method public native setMusicEnabled(Z)V
.end method
.method public native setSafeArea(II)V
.end method
.method public setSkipOnDestroyJNI(Z)V
.locals 2
.line 1338
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Setting skipOnDestroyJNI: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
if-eqz p1, :cond_0
const-string v1, "true"
goto :goto_0
:cond_0
const-string v1, "false"
:goto_0
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/firemint/realracing/MainActivity;->logi(Ljava/lang/String;)V
iput-boolean p1, p0, Lcom/firemint/realracing/MainActivity;->m_skipOnDestroyJNI:Z
return-void
.end method
.method public showCheatInput(J)V
.locals 0
iput-wide p1, p0, Lcom/firemint/realracing/MainActivity;->m_cheatPtr:J
const-string p1, ""
iput-object p1, p0, Lcom/firemint/realracing/MainActivity;->m_cheatText:Ljava/lang/String;
.line 707
new-instance p1, Lcom/firemint/realracing/MainActivity$14;
invoke-direct {p1, p0}, Lcom/firemint/realracing/MainActivity$14;-><init>(Lcom/firemint/realracing/MainActivity;)V
invoke-virtual {p0, p1}, Landroid/app/Activity;->runOnUiThread(Ljava/lang/Runnable;)V
return-void
.end method
.method public showKeyboardInput(JIZZZLjava/lang/String;)V
.locals 0
iput-wide p1, p0, Lcom/firemint/realracing/MainActivity;->m_keyboardPtr:J
iput-object p7, p0, Lcom/firemint/realracing/MainActivity;->m_keyboardText:Ljava/lang/String;
iput p3, p0, Lcom/firemint/realracing/MainActivity;->m_keyboardInputMaxLength:I
iput-boolean p4, p0, Lcom/firemint/realracing/MainActivity;->m_keyboardInputUppercaseOnly:Z
iput-boolean p5, p0, Lcom/firemint/realracing/MainActivity;->m_keyboardInputAlphaNumericOnly:Z
.line 784
new-instance p1, Lcom/firemint/realracing/MainActivity$16;
invoke-direct {p1, p0, p6, p7}, Lcom/firemint/realracing/MainActivity$16;-><init>(Lcom/firemint/realracing/MainActivity;ZLjava/lang/String;)V
invoke-virtual {p0, p1}, Landroid/app/Activity;->runOnUiThread(Ljava/lang/Runnable;)V
return-void
.end method
.method public showLoadingSplash(Ljava/lang/String;)V
.locals 0
iput-object p1, p0, Lcom/firemint/realracing/MainActivity;->m_sLoadingString:Ljava/lang/String;
.line 153
new-instance p1, Lcom/firemint/realracing/MainActivity$1;
invoke-direct {p1, p0}, Lcom/firemint/realracing/MainActivity$1;-><init>(Lcom/firemint/realracing/MainActivity;)V
invoke-virtual {p0, p1}, Landroid/app/Activity;->runOnUiThread(Ljava/lang/Runnable;)V
return-void
.end method
.method public showMessage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;JJJ)V
.locals 9
.line 1747
new-instance v8, Lcom/firemint/realracing/MainActivity$26;
move-object v0, v8
move-object v1, p0
move-wide v2, p6
move-wide/from16 v4, p8
move-wide/from16 v6, p10
invoke-direct/range {v0 .. v7}, Lcom/firemint/realracing/MainActivity$26;-><init>(Lcom/firemint/realracing/MainActivity;JJJ)V
move-object v0, p0
move-object v1, p1
move-object v2, p2
move-object v3, p3
move-object v4, p4
move-object v5, p5
move-object v6, v8
invoke-virtual/range {v0 .. v6}, Lcom/firemint/realracing/MainActivity;->showMessage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/firemint/realracing/MessageCallback;)V
return-void
.end method
.method public showMessage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/firemint/realracing/MessageCallback;)V
.locals 9
.line 1770
new-instance v8, Lcom/firemint/realracing/MainActivity$Message;
move-object v0, v8
move-object v1, p0
move-object v2, p1
move-object v3, p2
move-object v4, p3
move-object v5, p4
move-object v6, p5
move-object v7, p6
invoke-direct/range {v0 .. v7}, Lcom/firemint/realracing/MainActivity$Message;-><init>(Lcom/firemint/realracing/MainActivity;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/firemint/realracing/MessageCallback;)V
iput-object v8, p0, Lcom/firemint/realracing/MainActivity;->m_message:Lcom/firemint/realracing/MainActivity$Message;
return-void
.end method
.method public showSplash()V
.locals 1
.line 185
new-instance v0, Lcom/firemint/realracing/MainActivity$3;
invoke-direct {v0, p0}, Lcom/firemint/realracing/MainActivity$3;-><init>(Lcom/firemint/realracing/MainActivity;)V
invoke-virtual {p0, v0}, Landroid/app/Activity;->runOnUiThread(Ljava/lang/Runnable;)V
return-void
.end method
.method public updateScreenOrientationConfiguration()V
.locals 3
.line 1350
invoke-virtual {p0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v0
const-string v1, "accelerometer_rotation"
const/4 v2, 0x1
invoke-static {v0, v1, v2}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v0
if-nez v0, :cond_0
const-string v0, "setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE)"
.line 1353
invoke-static {v0}, Lcom/firemint/realracing/MainActivity;->logi(Ljava/lang/String;)V
const/4 v0, 0x0
.line 1354
invoke-virtual {p0, v0}, Landroid/app/Activity;->setRequestedOrientation(I)V
goto :goto_0
:cond_0
const-string v0, "setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE)"
.line 1358
invoke-static {v0}, Lcom/firemint/realracing/MainActivity;->logi(Ljava/lang/String;)V
const/4 v0, 0x6
.line 1359
invoke-virtual {p0, v0}, Landroid/app/Activity;->setRequestedOrientation(I)V
:goto_0
return-void
.end method