Files
rr3-apk/smali_classes2/com/firemint/realracing/ControllerManager.smali
Daniel Elliott f3960ee359 Add Discord APKTool decompilation (Smali source for modding)
- Imported from https://github.com/supermegamestre/Project-Real-Resurrection-3
- APKTool decompilation (Smali bytecode) for modding and rebuilding APK
- Supports both 32-bit (armeabi-v7a) and 64-bit (arm64-v8a) architectures
- Includes full Smali source, resources, and native libraries
- Ready to rebuild APK after modifications with apktool b command
- Added comprehensive README-apktool.md with modding guide

This branch complements the JADX branches:
- Use JADX (main/discord-community) to UNDERSTAND code (readable Java)
- Use APKTool (this branch) to MODIFY and REBUILD APK (editable Smali)

Total: 44,417 files, 538.51 MB Smali source code
2026-02-18 16:13:44 -08:00

1693 lines
41 KiB
Smali

.class public Lcom/firemint/realracing/ControllerManager;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/firemint/realracing/ControllerManager$ControllerInputListener;,
Lcom/firemint/realracing/ControllerManager$ControllerButtons;,
Lcom/firemint/realracing/ControllerManager$ControllerAxis;
}
.end annotation
# static fields
.field public static final BUTTON_A:I = 0x40
.field public static final BUTTON_B:I = 0x80
.field public static final BUTTON_L1:I = 0x1
.field public static final BUTTON_L2:I = 0x2
.field public static final BUTTON_R1:I = 0x8
.field public static final BUTTON_R2:I = 0x10
.field public static final BUTTON_X:I = 0x100
.field public static final BUTTON_Y:I = 0x200
.field public static final LTRIGGER:I = 0x4
.field public static final RTRIGGER:I = 0x20
# instance fields
.field private m_bEnableLogging:Z
.field private m_controllerManager_Moga:Lcom/firemint/realracing/ControllerManager_Moga;
.field protected m_inputListener:Lcom/firemint/realracing/ControllerManager$ControllerInputListener;
.field protected m_mainActivity:Lcom/firemint/realracing/MainActivity;
# direct methods
.method public constructor <init>(Lcom/firemint/realracing/MainActivity;)V
.locals 3
.line 304
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, 0x0
iput-object v0, p0, Lcom/firemint/realracing/ControllerManager;->m_controllerManager_Moga:Lcom/firemint/realracing/ControllerManager_Moga;
iput-object v0, p0, Lcom/firemint/realracing/ControllerManager;->m_mainActivity:Lcom/firemint/realracing/MainActivity;
iput-object v0, p0, Lcom/firemint/realracing/ControllerManager;->m_inputListener:Lcom/firemint/realracing/ControllerManager$ControllerInputListener;
const/4 v1, 0x0
iput-boolean v1, p0, Lcom/firemint/realracing/ControllerManager;->m_bEnableLogging:Z
const-string v1, "onCreate"
.line 305
invoke-virtual {p0, v1}, Lcom/firemint/realracing/ControllerManager;->Log(Ljava/lang/String;)V
iput-object p1, p0, Lcom/firemint/realracing/ControllerManager;->m_mainActivity:Lcom/firemint/realracing/MainActivity;
.line 314
:try_start_0
new-instance v1, Lcom/firemint/realracing/ControllerManager_Moga;
invoke-direct {v1, p1, p0}, Lcom/firemint/realracing/ControllerManager_Moga;-><init>(Lcom/firemint/realracing/MainActivity;Lcom/firemint/realracing/ControllerManager;)V
iput-object v1, p0, Lcom/firemint/realracing/ControllerManager;->m_controllerManager_Moga:Lcom/firemint/realracing/ControllerManager_Moga;
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
:catch_0
move-exception p1
.line 318
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Failed to create MOGA controller manager: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object p1
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-virtual {p0, p1}, Lcom/firemint/realracing/ControllerManager;->LogError(Ljava/lang/String;)V
iput-object v0, p0, Lcom/firemint/realracing/ControllerManager;->m_controllerManager_Moga:Lcom/firemint/realracing/ControllerManager_Moga;
.line 324
:goto_0
invoke-virtual {p0}, Lcom/firemint/realracing/ControllerManager;->IsAtLeastJellyBean()Z
move-result p1
if-eqz p1, :cond_0
.line 326
new-instance p1, Lcom/firemint/realracing/ControllerManager$ControllerInputListener;
invoke-direct {p1, p0, p0}, Lcom/firemint/realracing/ControllerManager$ControllerInputListener;-><init>(Lcom/firemint/realracing/ControllerManager;Lcom/firemint/realracing/ControllerManager;)V
iput-object p1, p0, Lcom/firemint/realracing/ControllerManager;->m_inputListener:Lcom/firemint/realracing/ControllerManager$ControllerInputListener;
:cond_0
return-void
.end method
# virtual methods
.method public ControllerConnected(Ljava/lang/String;Ljava/lang/String;II)V
.locals 8
iget-object v0, p0, Lcom/firemint/realracing/ControllerManager;->m_mainActivity:Lcom/firemint/realracing/MainActivity;
.line 746
invoke-virtual {v0}, Lcom/firemint/realracing/MainActivity;->getGLView()Lcom/firemint/realracing/GLView;
move-result-object v0
new-instance v7, Lcom/firemint/realracing/ControllerManager$3;
move-object v1, v7
move-object v2, p0
move-object v3, p1
move-object v4, p2
move v5, p3
move v6, p4
invoke-direct/range {v1 .. v6}, Lcom/firemint/realracing/ControllerManager$3;-><init>(Lcom/firemint/realracing/ControllerManager;Ljava/lang/String;Ljava/lang/String;II)V
invoke-virtual {v0, v7}, Landroid/opengl/GLSurfaceView;->queueEvent(Ljava/lang/Runnable;)V
return-void
.end method
.method public native ControllerConnectedJNI(Ljava/lang/String;Ljava/lang/String;II)V
.end method
.method public ControllerDisconnected(I)V
.locals 2
iget-object v0, p0, Lcom/firemint/realracing/ControllerManager;->m_mainActivity:Lcom/firemint/realracing/MainActivity;
.line 751
invoke-virtual {v0}, Lcom/firemint/realracing/MainActivity;->getGLView()Lcom/firemint/realracing/GLView;
move-result-object v0
new-instance v1, Lcom/firemint/realracing/ControllerManager$4;
invoke-direct {v1, p0, p1}, Lcom/firemint/realracing/ControllerManager$4;-><init>(Lcom/firemint/realracing/ControllerManager;I)V
invoke-virtual {v0, v1}, Landroid/opengl/GLSurfaceView;->queueEvent(Ljava/lang/Runnable;)V
return-void
.end method
.method public native ControllerDisconnectedJNI(I)V
.end method
.method public GetJoystickAxisValue(ILandroid/view/MotionEvent;)F
.locals 3
.line 554
invoke-virtual {p2}, Landroid/view/InputEvent;->getDevice()Landroid/view/InputDevice;
move-result-object v0
const/4 v1, 0x0
if-eqz v0, :cond_1
.line 557
invoke-virtual {p2, p1}, Landroid/view/MotionEvent;->getAxisValue(I)F
move-result p2
.line 558
invoke-static {p2}, Ljava/lang/Math;->abs(F)F
move-result v2
.line 560
invoke-virtual {v0, p1}, Landroid/view/InputDevice;->getMotionRange(I)Landroid/view/InputDevice$MotionRange;
move-result-object p1
if-eqz p1, :cond_0
.line 563
invoke-virtual {p1}, Landroid/view/InputDevice$MotionRange;->getFlat()F
move-result p1
cmpg-float p1, v2, p1
if-gez p1, :cond_0
goto :goto_0
:cond_0
move v1, p2
goto :goto_0
:cond_1
const-string p1, "Input device was null!!!!!"
.line 579
invoke-virtual {p0, p1}, Lcom/firemint/realracing/ControllerManager;->Log(Ljava/lang/String;)V
:goto_0
return v1
.end method
.method public HandleDpad(Landroid/view/InputEvent;)Z
.locals 10
.annotation build Landroid/annotation/TargetApi;
value = 0x10
.end annotation
.line 671
instance-of v0, p1, Landroid/view/MotionEvent;
const/4 v1, 0x0
if-eqz v0, :cond_6
.line 673
move-object v0, p1
check-cast v0, Landroid/view/MotionEvent;
const/16 v2, 0xf
.line 674
invoke-virtual {v0, v2}, Landroid/view/MotionEvent;->getAxisValue(I)F
move-result v2
const/16 v3, 0x10
.line 675
invoke-virtual {v0, v3}, Landroid/view/MotionEvent;->getAxisValue(I)F
move-result v0
const/high16 v3, -0x40800000 # -1.0f
.line 677
invoke-static {v2, v3}, Ljava/lang/Float;->compare(FF)I
move-result v4
const/4 v5, 0x0
const/high16 v6, 0x3f800000 # 1.0f
const/16 v7, 0x16
const/16 v8, 0x15
const/4 v9, 0x1
if-nez v4, :cond_0
const-string v2, "Dpad left pressed (MotionEvent)"
.line 679
invoke-virtual {p0, v2}, Lcom/firemint/realracing/ControllerManager;->Log(Ljava/lang/String;)V
.line 680
invoke-virtual {p1}, Landroid/view/InputEvent;->getDevice()Landroid/view/InputDevice;
move-result-object v2
invoke-virtual {v2}, Landroid/view/InputDevice;->getId()I
move-result v2
invoke-virtual {p0, v2, v8, v1}, Lcom/firemint/realracing/ControllerManager;->HandleKeyEvents(III)Z
move-result v2
if-eqz v2, :cond_2
.line 681
invoke-virtual {p1}, Landroid/view/InputEvent;->getDevice()Landroid/view/InputDevice;
move-result-object v2
invoke-virtual {v2}, Landroid/view/InputDevice;->getId()I
move-result v2
invoke-virtual {p0, v2, v7, v9}, Lcom/firemint/realracing/ControllerManager;->HandleKeyEvents(III)Z
move-result v2
if-eqz v2, :cond_2
:goto_0
move v2, v9
goto :goto_1
.line 683
:cond_0
invoke-static {v2, v6}, Ljava/lang/Float;->compare(FF)I
move-result v4
if-nez v4, :cond_1
const-string v2, "Dpad right pressed (MotionEvent)"
.line 685
invoke-virtual {p0, v2}, Lcom/firemint/realracing/ControllerManager;->Log(Ljava/lang/String;)V
.line 686
invoke-virtual {p1}, Landroid/view/InputEvent;->getDevice()Landroid/view/InputDevice;
move-result-object v2
invoke-virtual {v2}, Landroid/view/InputDevice;->getId()I
move-result v2
invoke-virtual {p0, v2, v8, v9}, Lcom/firemint/realracing/ControllerManager;->HandleKeyEvents(III)Z
move-result v2
if-eqz v2, :cond_2
.line 687
invoke-virtual {p1}, Landroid/view/InputEvent;->getDevice()Landroid/view/InputDevice;
move-result-object v2
invoke-virtual {v2}, Landroid/view/InputDevice;->getId()I
move-result v2
invoke-virtual {p0, v2, v7, v1}, Lcom/firemint/realracing/ControllerManager;->HandleKeyEvents(III)Z
move-result v2
if-eqz v2, :cond_2
goto :goto_0
.line 689
:cond_1
invoke-static {v2, v5}, Ljava/lang/Float;->compare(FF)I
move-result v2
if-nez v2, :cond_2
const-string v2, "Dpad left/right released (MotionEvent)"
.line 691
invoke-virtual {p0, v2}, Lcom/firemint/realracing/ControllerManager;->Log(Ljava/lang/String;)V
.line 692
invoke-virtual {p1}, Landroid/view/InputEvent;->getDevice()Landroid/view/InputDevice;
move-result-object v2
invoke-virtual {v2}, Landroid/view/InputDevice;->getId()I
move-result v2
invoke-virtual {p0, v2, v8, v9}, Lcom/firemint/realracing/ControllerManager;->HandleKeyEvents(III)Z
move-result v2
if-eqz v2, :cond_2
.line 693
invoke-virtual {p1}, Landroid/view/InputEvent;->getDevice()Landroid/view/InputDevice;
move-result-object v2
invoke-virtual {v2}, Landroid/view/InputDevice;->getId()I
move-result v2
invoke-virtual {p0, v2, v7, v9}, Lcom/firemint/realracing/ControllerManager;->HandleKeyEvents(III)Z
move-result v2
if-eqz v2, :cond_2
goto :goto_0
:cond_2
move v2, v1
.line 696
:goto_1
invoke-static {v0, v3}, Ljava/lang/Float;->compare(FF)I
move-result v3
const/16 v4, 0x14
const/16 v7, 0x13
if-nez v3, :cond_3
const-string v0, "Dpad up pressed (MotionEvent)"
.line 698
invoke-virtual {p0, v0}, Lcom/firemint/realracing/ControllerManager;->Log(Ljava/lang/String;)V
.line 699
invoke-virtual {p1}, Landroid/view/InputEvent;->getDevice()Landroid/view/InputDevice;
move-result-object v0
invoke-virtual {v0}, Landroid/view/InputDevice;->getId()I
move-result v0
invoke-virtual {p0, v0, v7, v1}, Lcom/firemint/realracing/ControllerManager;->HandleKeyEvents(III)Z
move-result v0
if-eqz v0, :cond_7
.line 700
invoke-virtual {p1}, Landroid/view/InputEvent;->getDevice()Landroid/view/InputDevice;
move-result-object p1
invoke-virtual {p1}, Landroid/view/InputDevice;->getId()I
move-result p1
invoke-virtual {p0, p1, v4, v9}, Lcom/firemint/realracing/ControllerManager;->HandleKeyEvents(III)Z
move-result p1
if-eqz p1, :cond_7
:goto_2
move v1, v9
goto :goto_3
.line 702
:cond_3
invoke-static {v0, v6}, Ljava/lang/Float;->compare(FF)I
move-result v3
if-nez v3, :cond_4
const-string v0, "Dpad down pressed (MotionEvent)"
.line 704
invoke-virtual {p0, v0}, Lcom/firemint/realracing/ControllerManager;->Log(Ljava/lang/String;)V
.line 705
invoke-virtual {p1}, Landroid/view/InputEvent;->getDevice()Landroid/view/InputDevice;
move-result-object v0
invoke-virtual {v0}, Landroid/view/InputDevice;->getId()I
move-result v0
invoke-virtual {p0, v0, v7, v9}, Lcom/firemint/realracing/ControllerManager;->HandleKeyEvents(III)Z
move-result v0
if-eqz v0, :cond_7
.line 706
invoke-virtual {p1}, Landroid/view/InputEvent;->getDevice()Landroid/view/InputDevice;
move-result-object p1
invoke-virtual {p1}, Landroid/view/InputDevice;->getId()I
move-result p1
invoke-virtual {p0, p1, v4, v1}, Lcom/firemint/realracing/ControllerManager;->HandleKeyEvents(III)Z
move-result p1
if-eqz p1, :cond_7
goto :goto_2
.line 708
:cond_4
invoke-static {v0, v5}, Ljava/lang/Float;->compare(FF)I
move-result v0
if-nez v0, :cond_5
const-string v0, "Dpad up/down released (MotionEvent)"
.line 710
invoke-virtual {p0, v0}, Lcom/firemint/realracing/ControllerManager;->Log(Ljava/lang/String;)V
.line 711
invoke-virtual {p1}, Landroid/view/InputEvent;->getDevice()Landroid/view/InputDevice;
move-result-object v0
invoke-virtual {v0}, Landroid/view/InputDevice;->getId()I
move-result v0
invoke-virtual {p0, v0, v7, v9}, Lcom/firemint/realracing/ControllerManager;->HandleKeyEvents(III)Z
move-result v0
if-eqz v0, :cond_7
.line 712
invoke-virtual {p1}, Landroid/view/InputEvent;->getDevice()Landroid/view/InputDevice;
move-result-object p1
invoke-virtual {p1}, Landroid/view/InputDevice;->getId()I
move-result p1
invoke-virtual {p0, p1, v4, v9}, Lcom/firemint/realracing/ControllerManager;->HandleKeyEvents(III)Z
move-result p1
if-eqz p1, :cond_7
goto :goto_2
:cond_5
move v1, v2
goto :goto_3
.line 715
:cond_6
instance-of v0, p1, Landroid/view/KeyEvent;
if-eqz v0, :cond_7
.line 717
check-cast p1, Landroid/view/KeyEvent;
.line 718
invoke-virtual {p1}, Landroid/view/InputEvent;->getDevice()Landroid/view/InputDevice;
move-result-object v0
invoke-virtual {v0}, Landroid/view/InputDevice;->getId()I
move-result v0
invoke-virtual {p1}, Landroid/view/KeyEvent;->getKeyCode()I
move-result v1
invoke-virtual {p1}, Landroid/view/KeyEvent;->getAction()I
move-result p1
invoke-virtual {p0, v0, v1, p1}, Lcom/firemint/realracing/ControllerManager;->HandleKeyEvents(III)Z
move-result v1
:cond_7
:goto_3
if-nez v1, :cond_8
const-string p1, "HandleDpad - No event"
.line 723
invoke-virtual {p0, p1}, Lcom/firemint/realracing/ControllerManager;->LogError(Ljava/lang/String;)V
:cond_8
return v1
.end method
.method public HandleJoystick(Landroid/view/MotionEvent;)Z
.locals 10
.annotation build Landroid/annotation/TargetApi;
value = 0x10
.end annotation
.line 588
invoke-virtual {p0, p1}, Lcom/firemint/realracing/ControllerManager;->HandleDpad(Landroid/view/InputEvent;)Z
move-result v0
.line 589
invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I
move-result v1
const/4 v2, 0x2
if-ne v1, v2, :cond_5
const/4 v0, 0x0
.line 591
invoke-virtual {p0, v0, p1}, Lcom/firemint/realracing/ControllerManager;->GetJoystickAxisValue(ILandroid/view/MotionEvent;)F
move-result v0
const/4 v1, 0x1
.line 592
invoke-virtual {p0, v1, p1}, Lcom/firemint/realracing/ControllerManager;->GetJoystickAxisValue(ILandroid/view/MotionEvent;)F
move-result v2
const/16 v3, 0xb
.line 594
invoke-virtual {p0, v3, p1}, Lcom/firemint/realracing/ControllerManager;->GetJoystickAxisValue(ILandroid/view/MotionEvent;)F
move-result v3
const/16 v4, 0xe
.line 595
invoke-virtual {p0, v4, p1}, Lcom/firemint/realracing/ControllerManager;->GetJoystickAxisValue(ILandroid/view/MotionEvent;)F
move-result v4
const/16 v5, 0xc
.line 598
invoke-virtual {p0, v5, p1}, Lcom/firemint/realracing/ControllerManager;->GetJoystickAxisValue(ILandroid/view/MotionEvent;)F
move-result v5
add-float/2addr v3, v5
const/16 v5, 0xd
.line 599
invoke-virtual {p0, v5, p1}, Lcom/firemint/realracing/ControllerManager;->GetJoystickAxisValue(ILandroid/view/MotionEvent;)F
move-result v5
add-float/2addr v4, v5
.line 603
invoke-virtual {p1}, Landroid/view/InputEvent;->getDevice()Landroid/view/InputDevice;
move-result-object v5
const/16 v6, 0x11
.line 604
invoke-virtual {v5, v6}, Landroid/view/InputDevice;->getMotionRange(I)Landroid/view/InputDevice$MotionRange;
move-result-object v7
const/4 v8, 0x0
if-eqz v7, :cond_0
.line 606
invoke-virtual {p0, v6, p1}, Lcom/firemint/realracing/ControllerManager;->GetJoystickAxisValue(ILandroid/view/MotionEvent;)F
move-result v6
goto :goto_0
:cond_0
const/16 v6, 0x17
.line 608
invoke-virtual {v5, v6}, Landroid/view/InputDevice;->getMotionRange(I)Landroid/view/InputDevice$MotionRange;
move-result-object v7
if-eqz v7, :cond_1
.line 610
invoke-virtual {p0, v6, p1}, Lcom/firemint/realracing/ControllerManager;->GetJoystickAxisValue(ILandroid/view/MotionEvent;)F
move-result v6
goto :goto_0
:cond_1
move v6, v8
:goto_0
const/16 v7, 0x12
.line 613
invoke-virtual {v5, v7}, Landroid/view/InputDevice;->getMotionRange(I)Landroid/view/InputDevice$MotionRange;
move-result-object v9
if-eqz v9, :cond_2
.line 615
invoke-virtual {p0, v7, p1}, Lcom/firemint/realracing/ControllerManager;->GetJoystickAxisValue(ILandroid/view/MotionEvent;)F
move-result v8
goto :goto_1
:cond_2
const/16 v7, 0x16
.line 617
invoke-virtual {v5, v7}, Landroid/view/InputDevice;->getMotionRange(I)Landroid/view/InputDevice$MotionRange;
move-result-object v9
if-eqz v9, :cond_3
.line 619
invoke-virtual {p0, v7, p1}, Lcom/firemint/realracing/ControllerManager;->GetJoystickAxisValue(ILandroid/view/MotionEvent;)F
move-result v8
goto :goto_1
:cond_3
const/16 v7, 0x13
.line 621
invoke-virtual {v5, v7}, Landroid/view/InputDevice;->getMotionRange(I)Landroid/view/InputDevice$MotionRange;
move-result-object v5
if-eqz v5, :cond_4
.line 623
invoke-virtual {p0, v7, p1}, Lcom/firemint/realracing/ControllerManager;->GetJoystickAxisValue(ILandroid/view/MotionEvent;)F
move-result v8
.line 636
:cond_4
:goto_1
invoke-virtual {p1}, Landroid/view/InputEvent;->getDevice()Landroid/view/InputDevice;
move-result-object p1
invoke-virtual {p1}, Landroid/view/InputDevice;->getId()I
move-result p1
.line 637
sget-object v5, Lcom/firemint/realracing/ControllerManager$ControllerAxis;->AXIS_LTHUMB_X:Lcom/firemint/realracing/ControllerManager$ControllerAxis;
invoke-virtual {p0, p1, v0, v5}, Lcom/firemint/realracing/ControllerManager;->SetJoystickValues(IFLcom/firemint/realracing/ControllerManager$ControllerAxis;)V
.line 638
sget-object v0, Lcom/firemint/realracing/ControllerManager$ControllerAxis;->AXIS_LTHUMB_Y:Lcom/firemint/realracing/ControllerManager$ControllerAxis;
invoke-virtual {p0, p1, v2, v0}, Lcom/firemint/realracing/ControllerManager;->SetJoystickValues(IFLcom/firemint/realracing/ControllerManager$ControllerAxis;)V
.line 640
sget-object v0, Lcom/firemint/realracing/ControllerManager$ControllerAxis;->AXIS_RTHUMB_X:Lcom/firemint/realracing/ControllerManager$ControllerAxis;
invoke-virtual {p0, p1, v3, v0}, Lcom/firemint/realracing/ControllerManager;->SetJoystickValues(IFLcom/firemint/realracing/ControllerManager$ControllerAxis;)V
.line 641
sget-object v0, Lcom/firemint/realracing/ControllerManager$ControllerAxis;->AXIS_RTHUMB_Y:Lcom/firemint/realracing/ControllerManager$ControllerAxis;
invoke-virtual {p0, p1, v4, v0}, Lcom/firemint/realracing/ControllerManager;->SetJoystickValues(IFLcom/firemint/realracing/ControllerManager$ControllerAxis;)V
.line 643
sget-object v0, Lcom/firemint/realracing/ControllerManager$ControllerAxis;->AXIS_LTRIGGER:Lcom/firemint/realracing/ControllerManager$ControllerAxis;
invoke-virtual {p0, p1, v6, v0}, Lcom/firemint/realracing/ControllerManager;->SetJoystickValues(IFLcom/firemint/realracing/ControllerManager$ControllerAxis;)V
.line 644
sget-object v0, Lcom/firemint/realracing/ControllerManager$ControllerAxis;->AXIS_RTRIGGER:Lcom/firemint/realracing/ControllerManager$ControllerAxis;
invoke-virtual {p0, p1, v8, v0}, Lcom/firemint/realracing/ControllerManager;->SetJoystickValues(IFLcom/firemint/realracing/ControllerManager$ControllerAxis;)V
return v1
:cond_5
return v0
.end method
.method public HandleKeyEvents(III)Z
.locals 5
const/16 v0, 0x55
const/4 v1, 0x0
const/4 v2, 0x1
const/4 v3, -0x1
if-eq p2, v0, :cond_4
const/16 v0, 0x60
if-eq p2, v0, :cond_3
const/16 v0, 0x61
if-eq p2, v0, :cond_2
const/16 v0, 0x63
if-eq p2, v0, :cond_1
const/16 v0, 0x64
if-eq p2, v0, :cond_0
const-string v0, "DPAD_RIGHT"
packed-switch p2, :pswitch_data_0
packed-switch p2, :pswitch_data_1
.line 504
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "Unhandled key event: "
invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-virtual {p0, p2}, Lcom/firemint/realracing/ControllerManager;->Log(Ljava/lang/String;)V
move v0, v1
:goto_0
move p2, v3
goto/16 :goto_3
:pswitch_0
const-string p2, "BUTTON_SELECT"
.line 493
invoke-virtual {p0, p2, p3}, Lcom/firemint/realracing/ControllerManager;->PrintButtonString(Ljava/lang/String;I)V
.line 494
sget-object p2, Lcom/firemint/realracing/ControllerManager$ControllerButtons;->BTN_SELECT:Lcom/firemint/realracing/ControllerManager$ControllerButtons;
invoke-virtual {p2}, Ljava/lang/Enum;->ordinal()I
move-result p2
:goto_1
move v0, v2
goto/16 :goto_3
:pswitch_1
const-string p2, "BUTTON_START"
.line 489
invoke-virtual {p0, p2, p3}, Lcom/firemint/realracing/ControllerManager;->PrintButtonString(Ljava/lang/String;I)V
.line 490
sget-object p2, Lcom/firemint/realracing/ControllerManager$ControllerButtons;->BTN_START:Lcom/firemint/realracing/ControllerManager$ControllerButtons;
invoke-virtual {p2}, Ljava/lang/Enum;->ordinal()I
move-result p2
goto :goto_1
:pswitch_2
const-string p2, "BUTTON_THUMB_R"
.line 460
invoke-virtual {p0, p2, p3}, Lcom/firemint/realracing/ControllerManager;->PrintButtonString(Ljava/lang/String;I)V
goto :goto_2
:pswitch_3
const-string p2, "BUTTON_THUMB_L"
.line 456
invoke-virtual {p0, p2, p3}, Lcom/firemint/realracing/ControllerManager;->PrintButtonString(Ljava/lang/String;I)V
:goto_2
move v0, v2
goto :goto_0
:pswitch_4
const-string p2, "BUTTON_R2"
.line 449
invoke-virtual {p0, p2, p3}, Lcom/firemint/realracing/ControllerManager;->PrintButtonString(Ljava/lang/String;I)V
.line 450
sget-object p2, Lcom/firemint/realracing/ControllerManager$ControllerButtons;->BTN_R2:Lcom/firemint/realracing/ControllerManager$ControllerButtons;
invoke-virtual {p2}, Ljava/lang/Enum;->ordinal()I
move-result p2
goto :goto_1
:pswitch_5
const-string p2, "BUTTON_L2"
.line 445
invoke-virtual {p0, p2, p3}, Lcom/firemint/realracing/ControllerManager;->PrintButtonString(Ljava/lang/String;I)V
.line 446
sget-object p2, Lcom/firemint/realracing/ControllerManager$ControllerButtons;->BTN_L2:Lcom/firemint/realracing/ControllerManager$ControllerButtons;
invoke-virtual {p2}, Ljava/lang/Enum;->ordinal()I
move-result p2
goto :goto_1
:pswitch_6
const-string p2, "BUTTON_R1"
.line 441
invoke-virtual {p0, p2, p3}, Lcom/firemint/realracing/ControllerManager;->PrintButtonString(Ljava/lang/String;I)V
.line 442
sget-object p2, Lcom/firemint/realracing/ControllerManager$ControllerButtons;->BTN_R1:Lcom/firemint/realracing/ControllerManager$ControllerButtons;
invoke-virtual {p2}, Ljava/lang/Enum;->ordinal()I
move-result p2
goto :goto_1
:pswitch_7
const-string p2, "BUTTON_L1"
.line 437
invoke-virtual {p0, p2, p3}, Lcom/firemint/realracing/ControllerManager;->PrintButtonString(Ljava/lang/String;I)V
.line 438
sget-object p2, Lcom/firemint/realracing/ControllerManager$ControllerButtons;->BTN_L1:Lcom/firemint/realracing/ControllerManager$ControllerButtons;
invoke-virtual {p2}, Ljava/lang/Enum;->ordinal()I
move-result p2
goto :goto_1
:pswitch_8
const-string p2, "DPAD_CENTER"
.line 466
invoke-virtual {p0, p2, p3}, Lcom/firemint/realracing/ControllerManager;->PrintButtonString(Ljava/lang/String;I)V
.line 467
sget-object p2, Lcom/firemint/realracing/ControllerManager$ControllerButtons;->BTN_DPAD_CENTER:Lcom/firemint/realracing/ControllerManager$ControllerButtons;
invoke-virtual {p2}, Ljava/lang/Enum;->ordinal()I
move-result p2
goto :goto_1
.line 478
:pswitch_9
invoke-virtual {p0, v0, p3}, Lcom/firemint/realracing/ControllerManager;->PrintButtonString(Ljava/lang/String;I)V
.line 479
sget-object p2, Lcom/firemint/realracing/ControllerManager$ControllerButtons;->BTN_DPAD_RIGHT:Lcom/firemint/realracing/ControllerManager$ControllerButtons;
invoke-virtual {p2}, Ljava/lang/Enum;->ordinal()I
move-result p2
goto :goto_1
:pswitch_a
const-string p2, "DPAD_LEFT"
.line 470
invoke-virtual {p0, p2, p3}, Lcom/firemint/realracing/ControllerManager;->PrintButtonString(Ljava/lang/String;I)V
.line 471
sget-object p2, Lcom/firemint/realracing/ControllerManager$ControllerButtons;->BTN_DPAD_LEFT:Lcom/firemint/realracing/ControllerManager$ControllerButtons;
invoke-virtual {p2}, Ljava/lang/Enum;->ordinal()I
move-result p2
goto :goto_1
.line 482
:pswitch_b
invoke-virtual {p0, v0, p3}, Lcom/firemint/realracing/ControllerManager;->PrintButtonString(Ljava/lang/String;I)V
.line 483
sget-object p2, Lcom/firemint/realracing/ControllerManager$ControllerButtons;->BTN_DPAD_DOWN:Lcom/firemint/realracing/ControllerManager$ControllerButtons;
invoke-virtual {p2}, Ljava/lang/Enum;->ordinal()I
move-result p2
goto :goto_1
:pswitch_c
const-string p2, "DPAD_UP"
.line 474
invoke-virtual {p0, p2, p3}, Lcom/firemint/realracing/ControllerManager;->PrintButtonString(Ljava/lang/String;I)V
.line 475
sget-object p2, Lcom/firemint/realracing/ControllerManager$ControllerButtons;->BTN_DPAD_UP:Lcom/firemint/realracing/ControllerManager$ControllerButtons;
invoke-virtual {p2}, Ljava/lang/Enum;->ordinal()I
move-result p2
goto/16 :goto_1
:cond_0
const-string p2, "BUTTON_Y"
.line 430
invoke-virtual {p0, p2, p3}, Lcom/firemint/realracing/ControllerManager;->PrintButtonString(Ljava/lang/String;I)V
.line 431
sget-object p2, Lcom/firemint/realracing/ControllerManager$ControllerButtons;->BTN_Y:Lcom/firemint/realracing/ControllerManager$ControllerButtons;
invoke-virtual {p2}, Ljava/lang/Enum;->ordinal()I
move-result p2
goto/16 :goto_1
:cond_1
const-string p2, "BUTTON_X"
.line 426
invoke-virtual {p0, p2, p3}, Lcom/firemint/realracing/ControllerManager;->PrintButtonString(Ljava/lang/String;I)V
.line 427
sget-object p2, Lcom/firemint/realracing/ControllerManager$ControllerButtons;->BTN_X:Lcom/firemint/realracing/ControllerManager$ControllerButtons;
invoke-virtual {p2}, Ljava/lang/Enum;->ordinal()I
move-result p2
goto/16 :goto_1
:cond_2
const-string p2, "BUTTON_B"
.line 422
invoke-virtual {p0, p2, p3}, Lcom/firemint/realracing/ControllerManager;->PrintButtonString(Ljava/lang/String;I)V
.line 423
sget-object p2, Lcom/firemint/realracing/ControllerManager$ControllerButtons;->BTN_B:Lcom/firemint/realracing/ControllerManager$ControllerButtons;
invoke-virtual {p2}, Ljava/lang/Enum;->ordinal()I
move-result p2
goto/16 :goto_1
:cond_3
const-string p2, "BUTTON_A"
.line 418
invoke-virtual {p0, p2, p3}, Lcom/firemint/realracing/ControllerManager;->PrintButtonString(Ljava/lang/String;I)V
.line 419
sget-object p2, Lcom/firemint/realracing/ControllerManager$ControllerButtons;->BTN_A:Lcom/firemint/realracing/ControllerManager$ControllerButtons;
invoke-virtual {p2}, Ljava/lang/Enum;->ordinal()I
move-result p2
goto/16 :goto_1
:cond_4
const-string p2, "BUTTON_PLAY_PAUSE"
.line 497
invoke-virtual {p0, p2, p3}, Lcom/firemint/realracing/ControllerManager;->PrintButtonString(Ljava/lang/String;I)V
.line 498
sget-object p2, Lcom/firemint/realracing/ControllerManager$ControllerButtons;->BTN_MEIDA_PLAY_PAUSE:Lcom/firemint/realracing/ControllerManager$ControllerButtons;
invoke-virtual {p2}, Ljava/lang/Enum;->ordinal()I
move-result p2
goto/16 :goto_1
:goto_3
if-eqz v0, :cond_6
if-eq p2, v3, :cond_6
if-eq p3, v2, :cond_5
move v1, v2
:cond_5
iget-object p3, p0, Lcom/firemint/realracing/ControllerManager;->m_mainActivity:Lcom/firemint/realracing/MainActivity;
.line 514
invoke-virtual {p3}, Lcom/firemint/realracing/MainActivity;->getGLView()Lcom/firemint/realracing/GLView;
move-result-object p3
new-instance v2, Lcom/firemint/realracing/ControllerManager$1;
invoke-direct {v2, p0, p1, v1, p2}, Lcom/firemint/realracing/ControllerManager$1;-><init>(Lcom/firemint/realracing/ControllerManager;IZI)V
invoke-virtual {p3, v2}, Landroid/opengl/GLSurfaceView;->queueEvent(Ljava/lang/Runnable;)V
:cond_6
return v0
:pswitch_data_0
.packed-switch 0x13
:pswitch_c
:pswitch_b
:pswitch_a
:pswitch_9
:pswitch_8
.end packed-switch
:pswitch_data_1
.packed-switch 0x66
:pswitch_7
:pswitch_6
:pswitch_5
:pswitch_4
:pswitch_3
:pswitch_2
:pswitch_1
:pswitch_0
.end packed-switch
.end method
.method public HandleKeyEvents(Landroid/view/KeyEvent;)Z
.locals 3
.annotation build Landroid/annotation/TargetApi;
value = 0x10
.end annotation
const/4 v0, 0x0
if-eqz p1, :cond_4
.line 386
invoke-virtual {p1}, Landroid/view/InputEvent;->getDevice()Landroid/view/InputDevice;
move-result-object v1
if-eqz v1, :cond_4
.line 387
invoke-virtual {p0}, Lcom/firemint/realracing/ControllerManager;->IsAtLeastJellyBean()Z
move-result v1
if-eqz v1, :cond_4
.line 390
invoke-virtual {p1}, Landroid/view/KeyEvent;->getAction()I
move-result v1
const/4 v2, 0x2
if-ne v1, v2, :cond_0
return v0
.line 395
:cond_0
invoke-virtual {p1}, Landroid/view/KeyEvent;->getKeyCode()I
move-result v1
const/16 v2, 0x68
if-ne v1, v2, :cond_1
.line 397
invoke-virtual {p1}, Landroid/view/InputEvent;->getDevice()Landroid/view/InputDevice;
move-result-object v2
invoke-virtual {p0, v2}, Lcom/firemint/realracing/ControllerManager;->HasLTrigger(Landroid/view/InputDevice;)Z
move-result v2
if-nez v2, :cond_2
:cond_1
const/16 v2, 0x69
if-ne v1, v2, :cond_3
.line 398
invoke-virtual {p1}, Landroid/view/InputEvent;->getDevice()Landroid/view/InputDevice;
move-result-object v2
invoke-virtual {p0, v2}, Lcom/firemint/realracing/ControllerManager;->HasRTrigger(Landroid/view/InputDevice;)Z
move-result v2
if-eqz v2, :cond_3
:cond_2
return v0
.line 403
:cond_3
invoke-virtual {p1}, Landroid/view/InputEvent;->getDevice()Landroid/view/InputDevice;
move-result-object v0
invoke-virtual {v0}, Landroid/view/InputDevice;->getId()I
move-result v0
invoke-virtual {p1}, Landroid/view/KeyEvent;->getAction()I
move-result p1
invoke-virtual {p0, v0, v1, p1}, Lcom/firemint/realracing/ControllerManager;->HandleKeyEvents(III)Z
move-result p1
return p1
:cond_4
return v0
.end method
.method public HandleMotionEvents(Landroid/view/MotionEvent;)Z
.locals 1
if-eqz p1, :cond_2
.line 529
invoke-virtual {p1}, Landroid/view/InputEvent;->getDevice()Landroid/view/InputDevice;
move-result-object v0
if-eqz v0, :cond_2
.line 530
invoke-virtual {p0}, Lcom/firemint/realracing/ControllerManager;->IsAtLeastJellyBean()Z
move-result v0
if-eqz v0, :cond_2
.line 532
invoke-virtual {p1}, Landroid/view/MotionEvent;->getSource()I
move-result v0
invoke-virtual {p0, v0}, Lcom/firemint/realracing/ControllerManager;->IsControllerEvent(I)Z
move-result v0
if-eqz v0, :cond_0
const-string p1, "Got motion input from a gamepad??"
.line 534
invoke-virtual {p0, p1}, Lcom/firemint/realracing/ControllerManager;->Log(Ljava/lang/String;)V
goto :goto_0
.line 536
:cond_0
invoke-virtual {p1}, Landroid/view/MotionEvent;->getSource()I
move-result v0
invoke-virtual {p0, v0}, Lcom/firemint/realracing/ControllerManager;->IsJoystickEvent(I)Z
move-result v0
if-eqz v0, :cond_1
.line 538
invoke-virtual {p0, p1}, Lcom/firemint/realracing/ControllerManager;->HandleJoystick(Landroid/view/MotionEvent;)Z
move-result p1
return p1
.line 540
:cond_1
invoke-virtual {p1}, Landroid/view/MotionEvent;->getSource()I
move-result v0
invoke-virtual {p0, v0}, Lcom/firemint/realracing/ControllerManager;->IsDpadEvent(I)Z
move-result v0
if-eqz v0, :cond_2
.line 542
invoke-virtual {p0, p1}, Lcom/firemint/realracing/ControllerManager;->HandleDpad(Landroid/view/InputEvent;)Z
move-result p1
return p1
:cond_2
:goto_0
const/4 p1, 0x0
return p1
.end method
.method public HasLTrigger(Landroid/view/InputDevice;)Z
.locals 1
const/16 v0, 0x11
.line 216
invoke-virtual {p1, v0}, Landroid/view/InputDevice;->getMotionRange(I)Landroid/view/InputDevice$MotionRange;
move-result-object v0
if-nez v0, :cond_1
const/16 v0, 0x17
.line 217
invoke-virtual {p1, v0}, Landroid/view/InputDevice;->getMotionRange(I)Landroid/view/InputDevice$MotionRange;
move-result-object p1
if-eqz p1, :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 HasRTrigger(Landroid/view/InputDevice;)Z
.locals 1
const/16 v0, 0x12
.line 222
invoke-virtual {p1, v0}, Landroid/view/InputDevice;->getMotionRange(I)Landroid/view/InputDevice$MotionRange;
move-result-object v0
if-nez v0, :cond_1
const/16 v0, 0x16
.line 223
invoke-virtual {p1, v0}, Landroid/view/InputDevice;->getMotionRange(I)Landroid/view/InputDevice$MotionRange;
move-result-object v0
if-nez v0, :cond_1
const/16 v0, 0x13
.line 224
invoke-virtual {p1, v0}, Landroid/view/InputDevice;->getMotionRange(I)Landroid/view/InputDevice$MotionRange;
move-result-object p1
if-eqz p1, :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 IsAtLeastJellyBean()Z
.locals 1
const/16 v0, 0x10
.line 369
invoke-static {v0}, Lcom/firemint/realracing/MainActivity;->IsAtLeastAPI(I)Z
move-result v0
return v0
.end method
.method public IsAtLeastKitKat()Z
.locals 1
const/16 v0, 0x13
.line 374
invoke-static {v0}, Lcom/firemint/realracing/MainActivity;->IsAtLeastAPI(I)Z
move-result v0
return v0
.end method
.method public IsControllerEvent(I)Z
.locals 1
const/16 v0, 0x401
and-int/2addr p1, v0
if-ne p1, v0, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
return p1
.end method
.method public IsDpadEvent(I)Z
.locals 1
const/16 v0, 0x201
and-int/2addr p1, v0
if-ne p1, v0, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
return p1
.end method
.method public IsJoystickEvent(I)Z
.locals 1
const v0, 0x1000010
and-int/2addr p1, v0
if-ne p1, v0, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
return p1
.end method
.method public Log(Ljava/lang/String;)V
.locals 1
iget-boolean v0, p0, Lcom/firemint/realracing/ControllerManager;->m_bEnableLogging:Z
if-eqz v0, :cond_0
.line 292
invoke-virtual {p1}, Ljava/lang/String;->length()I
:cond_0
return-void
.end method
.method public LogError(Ljava/lang/String;)V
.locals 1
const-string v0, "RR3ControllerManager"
.line 300
invoke-static {v0, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
return-void
.end method
.method public PrintButtonString(Ljava/lang/String;I)V
.locals 1
.line 379
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p1, " "
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
if-nez p2, :cond_0
const-string p1, "pressed"
goto :goto_0
:cond_0
const-string p1, "released"
:goto_0
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-virtual {p0, p1}, Lcom/firemint/realracing/ControllerManager;->Log(Ljava/lang/String;)V
return-void
.end method
.method public native SetButtonValueJNI(IZI)V
.end method
.method public native SetJoystickValueJNI(IFI)V
.end method
.method public SetJoystickValues(IFLcom/firemint/realracing/ControllerManager$ControllerAxis;)V
.locals 2
iget-object v0, p0, Lcom/firemint/realracing/ControllerManager;->m_mainActivity:Lcom/firemint/realracing/MainActivity;
.line 656
invoke-virtual {v0}, Lcom/firemint/realracing/MainActivity;->getGLView()Lcom/firemint/realracing/GLView;
move-result-object v0
new-instance v1, Lcom/firemint/realracing/ControllerManager$2;
invoke-direct {v1, p0, p1, p2, p3}, Lcom/firemint/realracing/ControllerManager$2;-><init>(Lcom/firemint/realracing/ControllerManager;IFLcom/firemint/realracing/ControllerManager$ControllerAxis;)V
invoke-virtual {v0, v1}, Landroid/opengl/GLSurfaceView;->queueEvent(Ljava/lang/Runnable;)V
return-void
.end method
.method public onDestroy()V
.locals 1
const-string v0, "onDestroy"
.line 332
invoke-virtual {p0, v0}, Lcom/firemint/realracing/ControllerManager;->Log(Ljava/lang/String;)V
iget-object v0, p0, Lcom/firemint/realracing/ControllerManager;->m_controllerManager_Moga:Lcom/firemint/realracing/ControllerManager_Moga;
if-eqz v0, :cond_0
.line 335
invoke-virtual {v0}, Lcom/firemint/realracing/ControllerManager_Moga;->onDestroy()V
:cond_0
iget-object v0, p0, Lcom/firemint/realracing/ControllerManager;->m_inputListener:Lcom/firemint/realracing/ControllerManager$ControllerInputListener;
if-eqz v0, :cond_1
.line 340
invoke-virtual {v0}, Lcom/firemint/realracing/ControllerManager$ControllerInputListener;->onDestroy()V
:cond_1
return-void
.end method
.method public onPause()V
.locals 1
const-string v0, "onPause"
.line 346
invoke-virtual {p0, v0}, Lcom/firemint/realracing/ControllerManager;->Log(Ljava/lang/String;)V
iget-object v0, p0, Lcom/firemint/realracing/ControllerManager;->m_controllerManager_Moga:Lcom/firemint/realracing/ControllerManager_Moga;
if-eqz v0, :cond_0
.line 349
invoke-virtual {v0}, Lcom/firemint/realracing/ControllerManager_Moga;->onPause()V
:cond_0
return-void
.end method
.method public onResume()V
.locals 1
const-string v0, "onResume"
.line 355
invoke-virtual {p0, v0}, Lcom/firemint/realracing/ControllerManager;->Log(Ljava/lang/String;)V
iget-object v0, p0, Lcom/firemint/realracing/ControllerManager;->m_controllerManager_Moga:Lcom/firemint/realracing/ControllerManager_Moga;
if-eqz v0, :cond_0
.line 358
invoke-virtual {v0}, Lcom/firemint/realracing/ControllerManager_Moga;->onResume()V
:cond_0
iget-object v0, p0, Lcom/firemint/realracing/ControllerManager;->m_inputListener:Lcom/firemint/realracing/ControllerManager$ControllerInputListener;
if-eqz v0, :cond_1
.line 363
invoke-virtual {v0}, Lcom/firemint/realracing/ControllerManager$ControllerInputListener;->CheckExistingControllers()V
:cond_1
return-void
.end method