.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 (Lcom/firemint/realracing/MainActivity;)V .locals 3 .line 304 invoke-direct {p0}, Ljava/lang/Object;->()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;->(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;->()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;->(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;->(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;->(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;->()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;->(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;->()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;->(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