1833 lines
45 KiB
Smali
1833 lines
45 KiB
Smali
.class public Lcom/badlogic/gdx/backends/android/AndroidInput;
|
|
.super Ljava/lang/Object;
|
|
.source "AndroidInput.java"
|
|
|
|
# interfaces
|
|
.implements Landroid/view/View$OnKeyListener;
|
|
.implements Landroid/view/View$OnTouchListener;
|
|
.implements Lcom/badlogic/gdx/Input;
|
|
|
|
|
|
# annotations
|
|
.annotation system Ldalvik/annotation/MemberClasses;
|
|
value = {
|
|
Lcom/badlogic/gdx/backends/android/AndroidInput$SensorListener;,
|
|
Lcom/badlogic/gdx/backends/android/AndroidInput$TouchEvent;,
|
|
Lcom/badlogic/gdx/backends/android/AndroidInput$KeyEvent;
|
|
}
|
|
.end annotation
|
|
|
|
|
|
# instance fields
|
|
.field private A:Landroid/hardware/SensorManager;
|
|
|
|
.field private final B:[F
|
|
|
|
.field private final C:[F
|
|
|
|
.field private D:Ljava/lang/String;
|
|
|
|
.field private E:Lcom/badlogic/gdx/Input$TextInputListener;
|
|
|
|
.field private F:Landroid/os/Handler;
|
|
|
|
.field private final G:Lcom/badlogic/gdx/backends/android/AndroidTouchHandler;
|
|
|
|
.field private H:I
|
|
|
|
.field private I:Z
|
|
|
|
.field private J:Z
|
|
|
|
.field private K:Z
|
|
|
|
.field private final L:[F
|
|
|
|
.field private M:F
|
|
|
|
.field private N:F
|
|
|
|
.field private O:F
|
|
|
|
.field private P:F
|
|
|
|
.field private Q:Z
|
|
|
|
.field private final R:Lcom/badlogic/gdx/backends/android/AndroidApplicationConfiguration;
|
|
|
|
.field private final S:Lcom/badlogic/gdx/Input$Orientation;
|
|
|
|
.field private T:J
|
|
|
|
.field private U:Landroid/hardware/SensorEventListener;
|
|
|
|
.field private V:Landroid/hardware/SensorEventListener;
|
|
|
|
.field private W:Landroid/hardware/SensorEventListener;
|
|
|
|
.field a:Lcom/badlogic/gdx/utils/Pool;
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"Lcom/badlogic/gdx/utils/Pool<",
|
|
"Lcom/badlogic/gdx/backends/android/AndroidInput$KeyEvent;",
|
|
">;"
|
|
}
|
|
.end annotation
|
|
.end field
|
|
|
|
.field b:Lcom/badlogic/gdx/utils/Pool;
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"Lcom/badlogic/gdx/utils/Pool<",
|
|
"Lcom/badlogic/gdx/backends/android/AndroidInput$TouchEvent;",
|
|
">;"
|
|
}
|
|
.end annotation
|
|
.end field
|
|
|
|
.field c:Ljava/util/ArrayList;
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"Ljava/util/ArrayList<",
|
|
"Landroid/view/View$OnKeyListener;",
|
|
">;"
|
|
}
|
|
.end annotation
|
|
.end field
|
|
|
|
.field d:Ljava/util/ArrayList;
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"Ljava/util/ArrayList<",
|
|
"Lcom/badlogic/gdx/backends/android/AndroidInput$KeyEvent;",
|
|
">;"
|
|
}
|
|
.end annotation
|
|
.end field
|
|
|
|
.field e:Ljava/util/ArrayList;
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"Ljava/util/ArrayList<",
|
|
"Lcom/badlogic/gdx/backends/android/AndroidInput$TouchEvent;",
|
|
">;"
|
|
}
|
|
.end annotation
|
|
.end field
|
|
|
|
.field f:[I
|
|
|
|
.field g:[I
|
|
|
|
.field h:[I
|
|
|
|
.field i:[I
|
|
|
|
.field j:[Z
|
|
|
|
.field k:[I
|
|
|
|
.field l:[I
|
|
|
|
.field final m:Z
|
|
|
|
.field public n:Z
|
|
|
|
.field public o:Z
|
|
|
|
.field final p:Lcom/badlogic/gdx/Application;
|
|
|
|
.field final q:Landroid/content/Context;
|
|
|
|
.field protected final r:Landroid/os/Vibrator;
|
|
|
|
.field s:Z
|
|
|
|
.field t:Z
|
|
|
|
.field final u:[F
|
|
|
|
.field final v:[F
|
|
|
|
.field private w:I
|
|
|
|
.field private x:[Z
|
|
|
|
.field private y:Z
|
|
|
|
.field private z:[Z
|
|
|
|
|
|
# direct methods
|
|
.method public constructor <init>(Lcom/badlogic/gdx/Application;Landroid/content/Context;Ljava/lang/Object;Lcom/badlogic/gdx/backends/android/AndroidApplicationConfiguration;)V
|
|
.locals 4
|
|
|
|
.line 144
|
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
|
|
|
.line 82
|
|
new-instance v0, Lcom/badlogic/gdx/backends/android/AndroidInput$1;
|
|
|
|
const/16 v1, 0x3e8
|
|
|
|
const/16 v2, 0x10
|
|
|
|
invoke-direct {v0, p0, v2, v1}, Lcom/badlogic/gdx/backends/android/AndroidInput$1;-><init>(Lcom/badlogic/gdx/backends/android/AndroidInput;II)V
|
|
|
|
iput-object v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->a:Lcom/badlogic/gdx/utils/Pool;
|
|
|
|
.line 88
|
|
new-instance v0, Lcom/badlogic/gdx/backends/android/AndroidInput$2;
|
|
|
|
invoke-direct {v0, p0, v2, v1}, Lcom/badlogic/gdx/backends/android/AndroidInput$2;-><init>(Lcom/badlogic/gdx/backends/android/AndroidInput;II)V
|
|
|
|
iput-object v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->b:Lcom/badlogic/gdx/utils/Pool;
|
|
|
|
.line 97
|
|
new-instance v0, Ljava/util/ArrayList;
|
|
|
|
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
|
|
|
|
iput-object v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->c:Ljava/util/ArrayList;
|
|
|
|
.line 98
|
|
new-instance v0, Ljava/util/ArrayList;
|
|
|
|
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
|
|
|
|
iput-object v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->d:Ljava/util/ArrayList;
|
|
|
|
.line 99
|
|
new-instance v0, Ljava/util/ArrayList;
|
|
|
|
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
|
|
|
|
iput-object v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->e:Ljava/util/ArrayList;
|
|
|
|
const/16 v0, 0x14
|
|
|
|
.line 100
|
|
new-array v1, v0, [I
|
|
|
|
iput-object v1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->f:[I
|
|
|
|
.line 101
|
|
new-array v1, v0, [I
|
|
|
|
iput-object v1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->g:[I
|
|
|
|
.line 102
|
|
new-array v1, v0, [I
|
|
|
|
iput-object v1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->h:[I
|
|
|
|
.line 103
|
|
new-array v1, v0, [I
|
|
|
|
iput-object v1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->i:[I
|
|
|
|
.line 104
|
|
new-array v1, v0, [Z
|
|
|
|
iput-object v1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->j:[Z
|
|
|
|
.line 105
|
|
new-array v1, v0, [I
|
|
|
|
iput-object v1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->k:[I
|
|
|
|
.line 106
|
|
new-array v0, v0, [I
|
|
|
|
iput-object v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->l:[I
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 108
|
|
iput v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->w:I
|
|
|
|
const/16 v1, 0x104
|
|
|
|
.line 109
|
|
new-array v2, v1, [Z
|
|
|
|
iput-object v2, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->x:[Z
|
|
|
|
.line 110
|
|
iput-boolean v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->y:Z
|
|
|
|
.line 111
|
|
new-array v1, v1, [Z
|
|
|
|
iput-object v1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->z:[Z
|
|
|
|
.line 113
|
|
iput-boolean v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->n:Z
|
|
|
|
const/4 v1, 0x3
|
|
|
|
.line 114
|
|
new-array v2, v1, [F
|
|
|
|
iput-object v2, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->B:[F
|
|
|
|
.line 115
|
|
iput-boolean v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->o:Z
|
|
|
|
.line 116
|
|
new-array v2, v1, [F
|
|
|
|
iput-object v2, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->C:[F
|
|
|
|
const/4 v2, 0x0
|
|
|
|
.line 117
|
|
iput-object v2, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->D:Ljava/lang/String;
|
|
|
|
.line 118
|
|
iput-object v2, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->E:Lcom/badlogic/gdx/Input$TextInputListener;
|
|
|
|
.line 123
|
|
iput v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->H:I
|
|
|
|
.line 124
|
|
iput-boolean v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->I:Z
|
|
|
|
.line 125
|
|
iput-boolean v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->J:Z
|
|
|
|
.line 127
|
|
iput-boolean v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->K:Z
|
|
|
|
.line 129
|
|
new-array v2, v1, [F
|
|
|
|
iput-object v2, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->L:[F
|
|
|
|
const/4 v2, 0x0
|
|
|
|
.line 130
|
|
iput v2, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->M:F
|
|
|
|
.line 131
|
|
iput v2, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->N:F
|
|
|
|
.line 132
|
|
iput v2, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->O:F
|
|
|
|
.line 133
|
|
iput v2, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->P:F
|
|
|
|
.line 134
|
|
iput-boolean v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->Q:Z
|
|
|
|
.line 138
|
|
invoke-static {}, Ljava/lang/System;->nanoTime()J
|
|
|
|
move-result-wide v2
|
|
|
|
iput-wide v2, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->T:J
|
|
|
|
const/4 v2, 0x1
|
|
|
|
.line 412
|
|
iput-boolean v2, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->t:Z
|
|
|
|
const/16 v3, 0x9
|
|
|
|
.line 625
|
|
new-array v3, v3, [F
|
|
|
|
iput-object v3, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->u:[F
|
|
|
|
.line 626
|
|
new-array v1, v1, [F
|
|
|
|
iput-object v1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->v:[F
|
|
|
|
.line 147
|
|
instance-of v1, p3, Landroid/view/View;
|
|
|
|
if-eqz v1, :cond_0
|
|
|
|
.line 148
|
|
check-cast p3, Landroid/view/View;
|
|
|
|
.line 149
|
|
invoke-virtual {p3, p0}, Landroid/view/View;->setOnKeyListener(Landroid/view/View$OnKeyListener;)V
|
|
|
|
.line 150
|
|
invoke-virtual {p3, p0}, Landroid/view/View;->setOnTouchListener(Landroid/view/View$OnTouchListener;)V
|
|
|
|
.line 151
|
|
invoke-virtual {p3, v2}, Landroid/view/View;->setFocusable(Z)V
|
|
|
|
.line 152
|
|
invoke-virtual {p3, v2}, Landroid/view/View;->setFocusableInTouchMode(Z)V
|
|
|
|
.line 153
|
|
invoke-virtual {p3}, Landroid/view/View;->requestFocus()Z
|
|
|
|
.line 155
|
|
:cond_0
|
|
iput-object p4, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->R:Lcom/badlogic/gdx/backends/android/AndroidApplicationConfiguration;
|
|
|
|
.line 157
|
|
:goto_0
|
|
iget-object p3, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->l:[I
|
|
|
|
array-length p3, p3
|
|
|
|
if-ge v0, p3, :cond_1
|
|
|
|
.line 158
|
|
iget-object p3, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->l:[I
|
|
|
|
const/4 v1, -0x1
|
|
|
|
aput v1, p3, v0
|
|
|
|
add-int/lit8 v0, v0, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
.line 159
|
|
:cond_1
|
|
new-instance p3, Landroid/os/Handler;
|
|
|
|
invoke-direct {p3}, Landroid/os/Handler;-><init>()V
|
|
|
|
iput-object p3, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->F:Landroid/os/Handler;
|
|
|
|
.line 160
|
|
iput-object p1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->p:Lcom/badlogic/gdx/Application;
|
|
|
|
.line 161
|
|
iput-object p2, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->q:Landroid/content/Context;
|
|
|
|
.line 162
|
|
iget p1, p4, Lcom/badlogic/gdx/backends/android/AndroidApplicationConfiguration;->k:I
|
|
|
|
iput p1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->H:I
|
|
|
|
.line 163
|
|
new-instance p1, Lcom/badlogic/gdx/backends/android/AndroidMultiTouchHandler;
|
|
|
|
invoke-direct {p1}, Lcom/badlogic/gdx/backends/android/AndroidMultiTouchHandler;-><init>()V
|
|
|
|
iput-object p1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->G:Lcom/badlogic/gdx/backends/android/AndroidTouchHandler;
|
|
|
|
.line 164
|
|
iget-object p1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->G:Lcom/badlogic/gdx/backends/android/AndroidTouchHandler;
|
|
|
|
invoke-interface {p1, p2}, Lcom/badlogic/gdx/backends/android/AndroidTouchHandler;->a(Landroid/content/Context;)Z
|
|
|
|
move-result p1
|
|
|
|
iput-boolean p1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->m:Z
|
|
|
|
const-string p1, "vibrator"
|
|
|
|
.line 166
|
|
invoke-virtual {p2, p1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
|
|
|
|
move-result-object p1
|
|
|
|
check-cast p1, Landroid/os/Vibrator;
|
|
|
|
iput-object p1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->r:Landroid/os/Vibrator;
|
|
|
|
.line 168
|
|
invoke-virtual {p0}, Lcom/badlogic/gdx/backends/android/AndroidInput;->e()I
|
|
|
|
move-result p1
|
|
|
|
.line 169
|
|
iget-object p2, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->p:Lcom/badlogic/gdx/Application;
|
|
|
|
invoke-interface {p2}, Lcom/badlogic/gdx/Application;->getGraphics()Lcom/badlogic/gdx/Graphics;
|
|
|
|
move-result-object p2
|
|
|
|
invoke-interface {p2}, Lcom/badlogic/gdx/Graphics;->g()Lcom/badlogic/gdx/Graphics$DisplayMode;
|
|
|
|
move-result-object p2
|
|
|
|
if-eqz p1, :cond_2
|
|
|
|
const/16 p3, 0xb4
|
|
|
|
if-ne p1, p3, :cond_3
|
|
|
|
.line 170
|
|
:cond_2
|
|
iget p3, p2, Lcom/badlogic/gdx/Graphics$DisplayMode;->a:I
|
|
|
|
iget p4, p2, Lcom/badlogic/gdx/Graphics$DisplayMode;->b:I
|
|
|
|
if-ge p3, p4, :cond_6
|
|
|
|
:cond_3
|
|
const/16 p3, 0x5a
|
|
|
|
if-eq p1, p3, :cond_4
|
|
|
|
const/16 p3, 0x10e
|
|
|
|
if-ne p1, p3, :cond_5
|
|
|
|
:cond_4
|
|
iget p1, p2, Lcom/badlogic/gdx/Graphics$DisplayMode;->a:I
|
|
|
|
iget p2, p2, Lcom/badlogic/gdx/Graphics$DisplayMode;->b:I
|
|
|
|
if-gt p1, p2, :cond_5
|
|
|
|
goto :goto_1
|
|
|
|
.line 174
|
|
:cond_5
|
|
sget-object p1, Lcom/badlogic/gdx/Input$Orientation;->Portrait:Lcom/badlogic/gdx/Input$Orientation;
|
|
|
|
iput-object p1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->S:Lcom/badlogic/gdx/Input$Orientation;
|
|
|
|
goto :goto_2
|
|
|
|
.line 172
|
|
:cond_6
|
|
:goto_1
|
|
sget-object p1, Lcom/badlogic/gdx/Input$Orientation;->Landscape:Lcom/badlogic/gdx/Input$Orientation;
|
|
|
|
iput-object p1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->S:Lcom/badlogic/gdx/Input$Orientation;
|
|
|
|
:goto_2
|
|
return-void
|
|
.end method
|
|
|
|
.method private a([I)[I
|
|
.locals 3
|
|
|
|
.line 769
|
|
array-length v0, p1
|
|
|
|
add-int/lit8 v0, v0, 0x2
|
|
|
|
new-array v0, v0, [I
|
|
|
|
.line 770
|
|
array-length v1, p1
|
|
|
|
const/4 v2, 0x0
|
|
|
|
invoke-static {p1, v2, v0, v2, v1}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
|
|
|
|
return-object v0
|
|
.end method
|
|
|
|
.method private a([Z)[Z
|
|
.locals 3
|
|
|
|
.line 775
|
|
array-length v0, p1
|
|
|
|
add-int/lit8 v0, v0, 0x2
|
|
|
|
new-array v0, v0, [Z
|
|
|
|
.line 776
|
|
array-length v1, p1
|
|
|
|
const/4 v2, 0x0
|
|
|
|
invoke-static {p1, v2, v0, v2, v1}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
|
|
|
|
return-object v0
|
|
.end method
|
|
|
|
|
|
# virtual methods
|
|
.method public a()J
|
|
.locals 2
|
|
|
|
.line 858
|
|
iget-wide v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->T:J
|
|
|
|
return-wide v0
|
|
.end method
|
|
|
|
.method public a(I)Z
|
|
.locals 1
|
|
|
|
.line 284
|
|
monitor-enter p0
|
|
|
|
.line 285
|
|
:try_start_0
|
|
iget-object v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->j:[Z
|
|
|
|
aget-boolean p1, v0, p1
|
|
|
|
monitor-exit p0
|
|
|
|
return p1
|
|
|
|
:catchall_0
|
|
move-exception p1
|
|
|
|
.line 286
|
|
monitor-exit p0
|
|
:try_end_0
|
|
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
|
|
|
throw p1
|
|
.end method
|
|
|
|
.method b()V
|
|
.locals 10
|
|
|
|
.line 671
|
|
iget-object v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->R:Lcom/badlogic/gdx/backends/android/AndroidApplicationConfiguration;
|
|
|
|
iget-boolean v0, v0, Lcom/badlogic/gdx/backends/android/AndroidApplicationConfiguration;->h:Z
|
|
|
|
const/4 v1, 0x1
|
|
|
|
const/4 v2, 0x0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
.line 672
|
|
iget-object v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->q:Landroid/content/Context;
|
|
|
|
const-string v3, "sensor"
|
|
|
|
invoke-virtual {v0, v3}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
|
|
|
|
move-result-object v0
|
|
|
|
check-cast v0, Landroid/hardware/SensorManager;
|
|
|
|
iput-object v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->A:Landroid/hardware/SensorManager;
|
|
|
|
.line 673
|
|
iget-object v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->A:Landroid/hardware/SensorManager;
|
|
|
|
invoke-virtual {v0, v1}, Landroid/hardware/SensorManager;->getSensorList(I)Ljava/util/List;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-interface {v0}, Ljava/util/List;->size()I
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
.line 674
|
|
iput-boolean v2, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->n:Z
|
|
|
|
goto :goto_0
|
|
|
|
.line 676
|
|
:cond_0
|
|
iget-object v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->A:Landroid/hardware/SensorManager;
|
|
|
|
invoke-virtual {v0, v1}, Landroid/hardware/SensorManager;->getSensorList(I)Ljava/util/List;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-interface {v0, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;
|
|
|
|
move-result-object v0
|
|
|
|
check-cast v0, Landroid/hardware/Sensor;
|
|
|
|
.line 677
|
|
new-instance v9, Lcom/badlogic/gdx/backends/android/AndroidInput$SensorListener;
|
|
|
|
iget-object v5, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->S:Lcom/badlogic/gdx/Input$Orientation;
|
|
|
|
iget-object v6, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->B:[F
|
|
|
|
iget-object v7, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->L:[F
|
|
|
|
iget-object v8, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->C:[F
|
|
|
|
move-object v3, v9
|
|
|
|
move-object v4, p0
|
|
|
|
invoke-direct/range {v3 .. v8}, Lcom/badlogic/gdx/backends/android/AndroidInput$SensorListener;-><init>(Lcom/badlogic/gdx/backends/android/AndroidInput;Lcom/badlogic/gdx/Input$Orientation;[F[F[F)V
|
|
|
|
iput-object v9, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->U:Landroid/hardware/SensorEventListener;
|
|
|
|
.line 678
|
|
iget-object v3, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->A:Landroid/hardware/SensorManager;
|
|
|
|
iget-object v4, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->U:Landroid/hardware/SensorEventListener;
|
|
|
|
invoke-virtual {v3, v4, v0, v1}, Landroid/hardware/SensorManager;->registerListener(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;I)Z
|
|
|
|
move-result v0
|
|
|
|
iput-boolean v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->n:Z
|
|
|
|
goto :goto_0
|
|
|
|
.line 682
|
|
:cond_1
|
|
iput-boolean v2, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->n:Z
|
|
|
|
.line 684
|
|
:goto_0
|
|
iget-object v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->R:Lcom/badlogic/gdx/backends/android/AndroidApplicationConfiguration;
|
|
|
|
iget-boolean v0, v0, Lcom/badlogic/gdx/backends/android/AndroidApplicationConfiguration;->i:Z
|
|
|
|
if-eqz v0, :cond_3
|
|
|
|
.line 685
|
|
iget-object v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->q:Landroid/content/Context;
|
|
|
|
const-string v3, "sensor"
|
|
|
|
invoke-virtual {v0, v3}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
|
|
|
|
move-result-object v0
|
|
|
|
check-cast v0, Landroid/hardware/SensorManager;
|
|
|
|
iput-object v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->A:Landroid/hardware/SensorManager;
|
|
|
|
.line 686
|
|
iget-object v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->A:Landroid/hardware/SensorManager;
|
|
|
|
const/4 v3, 0x4
|
|
|
|
invoke-virtual {v0, v3}, Landroid/hardware/SensorManager;->getSensorList(I)Ljava/util/List;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-interface {v0}, Ljava/util/List;->size()I
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_2
|
|
|
|
.line 687
|
|
iput-boolean v2, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->o:Z
|
|
|
|
goto :goto_1
|
|
|
|
.line 689
|
|
:cond_2
|
|
iget-object v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->A:Landroid/hardware/SensorManager;
|
|
|
|
invoke-virtual {v0, v3}, Landroid/hardware/SensorManager;->getSensorList(I)Ljava/util/List;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-interface {v0, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;
|
|
|
|
move-result-object v0
|
|
|
|
check-cast v0, Landroid/hardware/Sensor;
|
|
|
|
.line 690
|
|
new-instance v9, Lcom/badlogic/gdx/backends/android/AndroidInput$SensorListener;
|
|
|
|
iget-object v5, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->S:Lcom/badlogic/gdx/Input$Orientation;
|
|
|
|
iget-object v6, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->C:[F
|
|
|
|
iget-object v7, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->L:[F
|
|
|
|
iget-object v8, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->C:[F
|
|
|
|
move-object v3, v9
|
|
|
|
move-object v4, p0
|
|
|
|
invoke-direct/range {v3 .. v8}, Lcom/badlogic/gdx/backends/android/AndroidInput$SensorListener;-><init>(Lcom/badlogic/gdx/backends/android/AndroidInput;Lcom/badlogic/gdx/Input$Orientation;[F[F[F)V
|
|
|
|
iput-object v9, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->V:Landroid/hardware/SensorEventListener;
|
|
|
|
.line 691
|
|
iget-object v3, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->A:Landroid/hardware/SensorManager;
|
|
|
|
iget-object v4, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->V:Landroid/hardware/SensorEventListener;
|
|
|
|
invoke-virtual {v3, v4, v0, v1}, Landroid/hardware/SensorManager;->registerListener(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;I)Z
|
|
|
|
move-result v0
|
|
|
|
iput-boolean v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->o:Z
|
|
|
|
goto :goto_1
|
|
|
|
.line 695
|
|
:cond_3
|
|
iput-boolean v2, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->o:Z
|
|
|
|
.line 697
|
|
:goto_1
|
|
iget-object v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->R:Lcom/badlogic/gdx/backends/android/AndroidApplicationConfiguration;
|
|
|
|
iget-boolean v0, v0, Lcom/badlogic/gdx/backends/android/AndroidApplicationConfiguration;->j:Z
|
|
|
|
if-eqz v0, :cond_6
|
|
|
|
.line 698
|
|
iget-object v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->A:Landroid/hardware/SensorManager;
|
|
|
|
if-nez v0, :cond_4
|
|
|
|
iget-object v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->q:Landroid/content/Context;
|
|
|
|
const-string v3, "sensor"
|
|
|
|
invoke-virtual {v0, v3}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
|
|
|
|
move-result-object v0
|
|
|
|
check-cast v0, Landroid/hardware/SensorManager;
|
|
|
|
iput-object v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->A:Landroid/hardware/SensorManager;
|
|
|
|
.line 699
|
|
:cond_4
|
|
iget-object v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->A:Landroid/hardware/SensorManager;
|
|
|
|
const/4 v3, 0x2
|
|
|
|
invoke-virtual {v0, v3}, Landroid/hardware/SensorManager;->getDefaultSensor(I)Landroid/hardware/Sensor;
|
|
|
|
move-result-object v0
|
|
|
|
if-eqz v0, :cond_5
|
|
|
|
.line 701
|
|
iget-boolean v2, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->n:Z
|
|
|
|
iput-boolean v2, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->K:Z
|
|
|
|
.line 702
|
|
iget-boolean v2, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->K:Z
|
|
|
|
if-eqz v2, :cond_7
|
|
|
|
.line 703
|
|
new-instance v2, Lcom/badlogic/gdx/backends/android/AndroidInput$SensorListener;
|
|
|
|
iget-object v5, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->S:Lcom/badlogic/gdx/Input$Orientation;
|
|
|
|
iget-object v6, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->B:[F
|
|
|
|
iget-object v7, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->L:[F
|
|
|
|
iget-object v8, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->C:[F
|
|
|
|
move-object v3, v2
|
|
|
|
move-object v4, p0
|
|
|
|
invoke-direct/range {v3 .. v8}, Lcom/badlogic/gdx/backends/android/AndroidInput$SensorListener;-><init>(Lcom/badlogic/gdx/backends/android/AndroidInput;Lcom/badlogic/gdx/Input$Orientation;[F[F[F)V
|
|
|
|
iput-object v2, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->W:Landroid/hardware/SensorEventListener;
|
|
|
|
.line 704
|
|
iget-object v2, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->A:Landroid/hardware/SensorManager;
|
|
|
|
iget-object v3, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->W:Landroid/hardware/SensorEventListener;
|
|
|
|
invoke-virtual {v2, v3, v0, v1}, Landroid/hardware/SensorManager;->registerListener(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;I)Z
|
|
|
|
move-result v0
|
|
|
|
iput-boolean v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->K:Z
|
|
|
|
goto :goto_2
|
|
|
|
.line 707
|
|
:cond_5
|
|
iput-boolean v2, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->K:Z
|
|
|
|
goto :goto_2
|
|
|
|
.line 710
|
|
:cond_6
|
|
iput-boolean v2, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->K:Z
|
|
|
|
.line 711
|
|
:cond_7
|
|
:goto_2
|
|
sget-object v0, Lcom/badlogic/gdx/Gdx;->a:Lcom/badlogic/gdx/Application;
|
|
|
|
const-string v1, "AndroidInput"
|
|
|
|
const-string v2, "sensor listener setup"
|
|
|
|
invoke-interface {v0, v1, v2}, Lcom/badlogic/gdx/Application;->log(Ljava/lang/String;Ljava/lang/String;)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public b(I)Z
|
|
.locals 4
|
|
|
|
.line 613
|
|
monitor-enter p0
|
|
|
|
.line 614
|
|
:try_start_0
|
|
iget-boolean v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->m:Z
|
|
|
|
const/4 v1, 0x1
|
|
|
|
const/4 v2, 0x0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
const/4 v0, 0x0
|
|
|
|
:goto_0
|
|
const/16 v3, 0x14
|
|
|
|
if-ge v0, v3, :cond_1
|
|
|
|
.line 616
|
|
iget-object v3, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->j:[Z
|
|
|
|
aget-boolean v3, v3, v0
|
|
|
|
if-eqz v3, :cond_0
|
|
|
|
iget-object v3, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->k:[I
|
|
|
|
aget v3, v3, v0
|
|
|
|
if-ne v3, p1, :cond_0
|
|
|
|
.line 617
|
|
monitor-exit p0
|
|
|
|
return v1
|
|
|
|
:cond_0
|
|
add-int/lit8 v0, v0, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
.line 621
|
|
:cond_1
|
|
iget-object v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->j:[Z
|
|
|
|
aget-boolean v0, v0, v2
|
|
|
|
if-eqz v0, :cond_2
|
|
|
|
iget-object v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->k:[I
|
|
|
|
aget v0, v0, v2
|
|
|
|
if-ne v0, p1, :cond_2
|
|
|
|
goto :goto_1
|
|
|
|
:cond_2
|
|
const/4 v1, 0x0
|
|
|
|
:goto_1
|
|
monitor-exit p0
|
|
|
|
return v1
|
|
|
|
:catchall_0
|
|
move-exception p1
|
|
|
|
.line 622
|
|
monitor-exit p0
|
|
:try_end_0
|
|
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
|
|
|
throw p1
|
|
.end method
|
|
|
|
.method public c(I)I
|
|
.locals 5
|
|
|
|
.line 781
|
|
iget-object v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->l:[I
|
|
|
|
array-length v0, v0
|
|
|
|
const/4 v1, 0x0
|
|
|
|
const/4 v2, 0x0
|
|
|
|
:goto_0
|
|
if-ge v2, v0, :cond_1
|
|
|
|
.line 783
|
|
iget-object v3, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->l:[I
|
|
|
|
aget v3, v3, v2
|
|
|
|
if-ne v3, p1, :cond_0
|
|
|
|
return v2
|
|
|
|
:cond_0
|
|
add-int/lit8 v2, v2, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
.line 786
|
|
:cond_1
|
|
new-instance v2, Ljava/lang/StringBuffer;
|
|
|
|
invoke-direct {v2}, Ljava/lang/StringBuffer;-><init>()V
|
|
|
|
:goto_1
|
|
if-ge v1, v0, :cond_2
|
|
|
|
.line 788
|
|
new-instance v3, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
|
|
|
|
const-string v4, ":"
|
|
|
|
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
iget-object v4, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->l:[I
|
|
|
|
aget v4, v4, v1
|
|
|
|
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
|
|
|
|
const-string v4, " "
|
|
|
|
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object v3
|
|
|
|
invoke-virtual {v2, v3}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
|
|
|
|
add-int/lit8 v1, v1, 0x1
|
|
|
|
goto :goto_1
|
|
|
|
.line 790
|
|
:cond_2
|
|
sget-object v0, Lcom/badlogic/gdx/Gdx;->a:Lcom/badlogic/gdx/Application;
|
|
|
|
const-string v1, "AndroidInput"
|
|
|
|
new-instance v3, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
const-string v4, "Pointer ID lookup failed: "
|
|
|
|
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
|
|
|
|
const-string p1, ", "
|
|
|
|
invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v2}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
|
|
|
|
move-result-object p1
|
|
|
|
invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object p1
|
|
|
|
invoke-interface {v0, v1, p1}, Lcom/badlogic/gdx/Application;->log(Ljava/lang/String;Ljava/lang/String;)V
|
|
|
|
const/4 p1, -0x1
|
|
|
|
return p1
|
|
.end method
|
|
|
|
.method c()V
|
|
.locals 3
|
|
|
|
.line 715
|
|
iget-object v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->A:Landroid/hardware/SensorManager;
|
|
|
|
if-eqz v0, :cond_3
|
|
|
|
.line 716
|
|
iget-object v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->U:Landroid/hardware/SensorEventListener;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 717
|
|
iget-object v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->A:Landroid/hardware/SensorManager;
|
|
|
|
iget-object v2, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->U:Landroid/hardware/SensorEventListener;
|
|
|
|
invoke-virtual {v0, v2}, Landroid/hardware/SensorManager;->unregisterListener(Landroid/hardware/SensorEventListener;)V
|
|
|
|
.line 718
|
|
iput-object v1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->U:Landroid/hardware/SensorEventListener;
|
|
|
|
.line 720
|
|
:cond_0
|
|
iget-object v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->V:Landroid/hardware/SensorEventListener;
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
.line 721
|
|
iget-object v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->A:Landroid/hardware/SensorManager;
|
|
|
|
iget-object v2, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->V:Landroid/hardware/SensorEventListener;
|
|
|
|
invoke-virtual {v0, v2}, Landroid/hardware/SensorManager;->unregisterListener(Landroid/hardware/SensorEventListener;)V
|
|
|
|
.line 722
|
|
iput-object v1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->V:Landroid/hardware/SensorEventListener;
|
|
|
|
.line 724
|
|
:cond_1
|
|
iget-object v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->W:Landroid/hardware/SensorEventListener;
|
|
|
|
if-eqz v0, :cond_2
|
|
|
|
.line 725
|
|
iget-object v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->A:Landroid/hardware/SensorManager;
|
|
|
|
iget-object v2, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->W:Landroid/hardware/SensorEventListener;
|
|
|
|
invoke-virtual {v0, v2}, Landroid/hardware/SensorManager;->unregisterListener(Landroid/hardware/SensorEventListener;)V
|
|
|
|
.line 726
|
|
iput-object v1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->W:Landroid/hardware/SensorEventListener;
|
|
|
|
.line 728
|
|
:cond_2
|
|
iput-object v1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->A:Landroid/hardware/SensorManager;
|
|
|
|
.line 730
|
|
:cond_3
|
|
sget-object v0, Lcom/badlogic/gdx/Gdx;->a:Lcom/badlogic/gdx/Application;
|
|
|
|
const-string v1, "AndroidInput"
|
|
|
|
const-string v2, "sensor listener tear down"
|
|
|
|
invoke-interface {v0, v1, v2}, Lcom/badlogic/gdx/Application;->log(Ljava/lang/String;Ljava/lang/String;)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public d()I
|
|
.locals 4
|
|
|
|
.line 752
|
|
iget-object v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->l:[I
|
|
|
|
array-length v0, v0
|
|
|
|
const/4 v1, 0x0
|
|
|
|
:goto_0
|
|
if-ge v1, v0, :cond_1
|
|
|
|
.line 754
|
|
iget-object v2, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->l:[I
|
|
|
|
aget v2, v2, v1
|
|
|
|
const/4 v3, -0x1
|
|
|
|
if-ne v2, v3, :cond_0
|
|
|
|
return v1
|
|
|
|
:cond_0
|
|
add-int/lit8 v1, v1, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
.line 757
|
|
:cond_1
|
|
iget-object v1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->l:[I
|
|
|
|
invoke-direct {p0, v1}, Lcom/badlogic/gdx/backends/android/AndroidInput;->a([I)[I
|
|
|
|
move-result-object v1
|
|
|
|
iput-object v1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->l:[I
|
|
|
|
.line 758
|
|
iget-object v1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->f:[I
|
|
|
|
invoke-direct {p0, v1}, Lcom/badlogic/gdx/backends/android/AndroidInput;->a([I)[I
|
|
|
|
move-result-object v1
|
|
|
|
iput-object v1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->f:[I
|
|
|
|
.line 759
|
|
iget-object v1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->g:[I
|
|
|
|
invoke-direct {p0, v1}, Lcom/badlogic/gdx/backends/android/AndroidInput;->a([I)[I
|
|
|
|
move-result-object v1
|
|
|
|
iput-object v1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->g:[I
|
|
|
|
.line 760
|
|
iget-object v1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->h:[I
|
|
|
|
invoke-direct {p0, v1}, Lcom/badlogic/gdx/backends/android/AndroidInput;->a([I)[I
|
|
|
|
move-result-object v1
|
|
|
|
iput-object v1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->h:[I
|
|
|
|
.line 761
|
|
iget-object v1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->i:[I
|
|
|
|
invoke-direct {p0, v1}, Lcom/badlogic/gdx/backends/android/AndroidInput;->a([I)[I
|
|
|
|
move-result-object v1
|
|
|
|
iput-object v1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->i:[I
|
|
|
|
.line 762
|
|
iget-object v1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->j:[Z
|
|
|
|
invoke-direct {p0, v1}, Lcom/badlogic/gdx/backends/android/AndroidInput;->a([Z)[Z
|
|
|
|
move-result-object v1
|
|
|
|
iput-object v1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->j:[Z
|
|
|
|
.line 763
|
|
iget-object v1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->k:[I
|
|
|
|
invoke-direct {p0, v1}, Lcom/badlogic/gdx/backends/android/AndroidInput;->a([I)[I
|
|
|
|
move-result-object v1
|
|
|
|
iput-object v1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->k:[I
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method public e()I
|
|
.locals 2
|
|
|
|
.line 798
|
|
iget-object v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->q:Landroid/content/Context;
|
|
|
|
instance-of v0, v0, Landroid/app/Activity;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 799
|
|
iget-object v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->q:Landroid/content/Context;
|
|
|
|
check-cast v0, Landroid/app/Activity;
|
|
|
|
invoke-virtual {v0}, 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
|
|
|
|
goto :goto_0
|
|
|
|
.line 801
|
|
:cond_0
|
|
iget-object v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->q:Landroid/content/Context;
|
|
|
|
const-string v1, "window"
|
|
|
|
invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
|
|
|
|
move-result-object v0
|
|
|
|
check-cast v0, Landroid/view/WindowManager;
|
|
|
|
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
|
|
|
|
:goto_0
|
|
const/4 v1, 0x0
|
|
|
|
packed-switch v0, :pswitch_data_0
|
|
|
|
return v1
|
|
|
|
:pswitch_0
|
|
const/16 v0, 0x10e
|
|
|
|
return v0
|
|
|
|
:pswitch_1
|
|
const/16 v0, 0xb4
|
|
|
|
return v0
|
|
|
|
:pswitch_2
|
|
const/16 v0, 0x5a
|
|
|
|
return v0
|
|
|
|
:pswitch_3
|
|
return v1
|
|
|
|
:pswitch_data_0
|
|
.packed-switch 0x0
|
|
:pswitch_3
|
|
:pswitch_2
|
|
:pswitch_1
|
|
:pswitch_0
|
|
.end packed-switch
|
|
.end method
|
|
|
|
.method public f()V
|
|
.locals 2
|
|
|
|
.line 866
|
|
invoke-virtual {p0}, Lcom/badlogic/gdx/backends/android/AndroidInput;->c()V
|
|
|
|
.line 869
|
|
iget-object v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->l:[I
|
|
|
|
const/4 v1, -0x1
|
|
|
|
invoke-static {v0, v1}, Ljava/util/Arrays;->fill([II)V
|
|
|
|
.line 872
|
|
iget-object v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->j:[Z
|
|
|
|
const/4 v1, 0x0
|
|
|
|
invoke-static {v0, v1}, Ljava/util/Arrays;->fill([ZZ)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public g()V
|
|
.locals 0
|
|
|
|
.line 876
|
|
invoke-virtual {p0}, Lcom/badlogic/gdx/backends/android/AndroidInput;->b()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public onKey(Landroid/view/View;ILandroid/view/KeyEvent;)Z
|
|
.locals 9
|
|
|
|
.line 465
|
|
iget-object v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->c:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
|
|
|
|
move-result v0
|
|
|
|
const/4 v1, 0x0
|
|
|
|
const/4 v2, 0x0
|
|
|
|
:goto_0
|
|
const/4 v3, 0x1
|
|
|
|
if-ge v2, v0, :cond_1
|
|
|
|
.line 466
|
|
iget-object v4, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->c:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v4, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
|
|
|
|
move-result-object v4
|
|
|
|
check-cast v4, Landroid/view/View$OnKeyListener;
|
|
|
|
invoke-interface {v4, p1, p2, p3}, Landroid/view/View$OnKeyListener;->onKey(Landroid/view/View;ILandroid/view/KeyEvent;)Z
|
|
|
|
move-result v4
|
|
|
|
if-eqz v4, :cond_0
|
|
|
|
return v3
|
|
|
|
:cond_0
|
|
add-int/lit8 v2, v2, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
.line 468
|
|
:cond_1
|
|
monitor-enter p0
|
|
|
|
.line 471
|
|
:try_start_0
|
|
invoke-virtual {p3}, Landroid/view/KeyEvent;->getKeyCode()I
|
|
|
|
move-result p1
|
|
|
|
const/4 v0, 0x2
|
|
|
|
if-nez p1, :cond_3
|
|
|
|
invoke-virtual {p3}, Landroid/view/KeyEvent;->getAction()I
|
|
|
|
move-result p1
|
|
|
|
if-ne p1, v0, :cond_3
|
|
|
|
.line 472
|
|
invoke-virtual {p3}, Landroid/view/KeyEvent;->getCharacters()Ljava/lang/String;
|
|
|
|
move-result-object p1
|
|
|
|
const/4 p2, 0x0
|
|
|
|
.line 473
|
|
:goto_1
|
|
invoke-virtual {p1}, Ljava/lang/String;->length()I
|
|
|
|
move-result p3
|
|
|
|
if-ge p2, p3, :cond_2
|
|
|
|
.line 474
|
|
iget-object p3, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->a:Lcom/badlogic/gdx/utils/Pool;
|
|
|
|
invoke-virtual {p3}, Lcom/badlogic/gdx/utils/Pool;->d()Ljava/lang/Object;
|
|
|
|
move-result-object p3
|
|
|
|
check-cast p3, Lcom/badlogic/gdx/backends/android/AndroidInput$KeyEvent;
|
|
|
|
.line 475
|
|
invoke-static {}, Ljava/lang/System;->nanoTime()J
|
|
|
|
move-result-wide v2
|
|
|
|
iput-wide v2, p3, Lcom/badlogic/gdx/backends/android/AndroidInput$KeyEvent;->a:J
|
|
|
|
.line 476
|
|
iput v1, p3, Lcom/badlogic/gdx/backends/android/AndroidInput$KeyEvent;->c:I
|
|
|
|
.line 477
|
|
invoke-virtual {p1, p2}, Ljava/lang/String;->charAt(I)C
|
|
|
|
move-result v2
|
|
|
|
iput-char v2, p3, Lcom/badlogic/gdx/backends/android/AndroidInput$KeyEvent;->d:C
|
|
|
|
.line 478
|
|
iput v0, p3, Lcom/badlogic/gdx/backends/android/AndroidInput$KeyEvent;->b:I
|
|
|
|
.line 479
|
|
iget-object v2, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->d:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v2, p3}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
|
|
|
|
add-int/lit8 p2, p2, 0x1
|
|
|
|
goto :goto_1
|
|
|
|
.line 481
|
|
:cond_2
|
|
monitor-exit p0
|
|
|
|
return v1
|
|
|
|
.line 484
|
|
:cond_3
|
|
invoke-virtual {p3}, Landroid/view/KeyEvent;->getUnicodeChar()I
|
|
|
|
move-result p1
|
|
|
|
int-to-char p1, p1
|
|
|
|
const/16 v2, 0x43
|
|
|
|
if-ne p2, v2, :cond_4
|
|
|
|
const/16 p1, 0x8
|
|
|
|
.line 487
|
|
:cond_4
|
|
invoke-virtual {p3}, Landroid/view/KeyEvent;->getKeyCode()I
|
|
|
|
move-result v2
|
|
|
|
if-ltz v2, :cond_d
|
|
|
|
invoke-virtual {p3}, Landroid/view/KeyEvent;->getKeyCode()I
|
|
|
|
move-result v2
|
|
|
|
const/16 v4, 0x104
|
|
|
|
if-lt v2, v4, :cond_5
|
|
|
|
goto/16 :goto_3
|
|
|
|
.line 491
|
|
:cond_5
|
|
invoke-virtual {p3}, Landroid/view/KeyEvent;->getAction()I
|
|
|
|
move-result v2
|
|
|
|
const/4 v4, 0x4
|
|
|
|
const/16 v5, 0xff
|
|
|
|
packed-switch v2, :pswitch_data_0
|
|
|
|
goto/16 :goto_2
|
|
|
|
.line 512
|
|
:pswitch_0
|
|
invoke-static {}, Ljava/lang/System;->nanoTime()J
|
|
|
|
move-result-wide v6
|
|
|
|
.line 513
|
|
iget-object v2, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->a:Lcom/badlogic/gdx/utils/Pool;
|
|
|
|
invoke-virtual {v2}, Lcom/badlogic/gdx/utils/Pool;->d()Ljava/lang/Object;
|
|
|
|
move-result-object v2
|
|
|
|
check-cast v2, Lcom/badlogic/gdx/backends/android/AndroidInput$KeyEvent;
|
|
|
|
.line 514
|
|
iput-wide v6, v2, Lcom/badlogic/gdx/backends/android/AndroidInput$KeyEvent;->a:J
|
|
|
|
.line 515
|
|
iput-char v1, v2, Lcom/badlogic/gdx/backends/android/AndroidInput$KeyEvent;->d:C
|
|
|
|
.line 516
|
|
invoke-virtual {p3}, Landroid/view/KeyEvent;->getKeyCode()I
|
|
|
|
move-result v8
|
|
|
|
iput v8, v2, Lcom/badlogic/gdx/backends/android/AndroidInput$KeyEvent;->c:I
|
|
|
|
.line 517
|
|
iput v3, v2, Lcom/badlogic/gdx/backends/android/AndroidInput$KeyEvent;->b:I
|
|
|
|
if-ne p2, v4, :cond_6
|
|
|
|
.line 519
|
|
invoke-virtual {p3}, Landroid/view/KeyEvent;->isAltPressed()Z
|
|
|
|
move-result v8
|
|
|
|
if-eqz v8, :cond_6
|
|
|
|
.line 521
|
|
iput v5, v2, Lcom/badlogic/gdx/backends/android/AndroidInput$KeyEvent;->c:I
|
|
|
|
const/16 p2, 0xff
|
|
|
|
.line 523
|
|
:cond_6
|
|
iget-object v8, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->d:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v8, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
|
|
|
|
.line 525
|
|
iget-object v2, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->a:Lcom/badlogic/gdx/utils/Pool;
|
|
|
|
invoke-virtual {v2}, Lcom/badlogic/gdx/utils/Pool;->d()Ljava/lang/Object;
|
|
|
|
move-result-object v2
|
|
|
|
check-cast v2, Lcom/badlogic/gdx/backends/android/AndroidInput$KeyEvent;
|
|
|
|
.line 526
|
|
iput-wide v6, v2, Lcom/badlogic/gdx/backends/android/AndroidInput$KeyEvent;->a:J
|
|
|
|
.line 527
|
|
iput-char p1, v2, Lcom/badlogic/gdx/backends/android/AndroidInput$KeyEvent;->d:C
|
|
|
|
.line 528
|
|
iput v1, v2, Lcom/badlogic/gdx/backends/android/AndroidInput$KeyEvent;->c:I
|
|
|
|
.line 529
|
|
iput v0, v2, Lcom/badlogic/gdx/backends/android/AndroidInput$KeyEvent;->b:I
|
|
|
|
.line 530
|
|
iget-object p1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->d:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {p1, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
|
|
|
|
if-ne p2, v5, :cond_7
|
|
|
|
.line 533
|
|
iget-object p1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->x:[Z
|
|
|
|
aget-boolean p1, p1, v5
|
|
|
|
if-eqz p1, :cond_9
|
|
|
|
.line 534
|
|
iget p1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->w:I
|
|
|
|
sub-int/2addr p1, v3
|
|
|
|
iput p1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->w:I
|
|
|
|
.line 535
|
|
iget-object p1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->x:[Z
|
|
|
|
aput-boolean v1, p1, v5
|
|
|
|
goto :goto_2
|
|
|
|
.line 538
|
|
:cond_7
|
|
iget-object p1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->x:[Z
|
|
|
|
invoke-virtual {p3}, Landroid/view/KeyEvent;->getKeyCode()I
|
|
|
|
move-result v0
|
|
|
|
aget-boolean p1, p1, v0
|
|
|
|
if-eqz p1, :cond_9
|
|
|
|
.line 539
|
|
iget p1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->w:I
|
|
|
|
sub-int/2addr p1, v3
|
|
|
|
iput p1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->w:I
|
|
|
|
.line 540
|
|
iget-object p1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->x:[Z
|
|
|
|
invoke-virtual {p3}, Landroid/view/KeyEvent;->getKeyCode()I
|
|
|
|
move-result p3
|
|
|
|
aput-boolean v1, p1, p3
|
|
|
|
goto :goto_2
|
|
|
|
.line 493
|
|
:pswitch_1
|
|
iget-object p1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->a:Lcom/badlogic/gdx/utils/Pool;
|
|
|
|
invoke-virtual {p1}, Lcom/badlogic/gdx/utils/Pool;->d()Ljava/lang/Object;
|
|
|
|
move-result-object p1
|
|
|
|
check-cast p1, Lcom/badlogic/gdx/backends/android/AndroidInput$KeyEvent;
|
|
|
|
.line 494
|
|
invoke-static {}, Ljava/lang/System;->nanoTime()J
|
|
|
|
move-result-wide v6
|
|
|
|
iput-wide v6, p1, Lcom/badlogic/gdx/backends/android/AndroidInput$KeyEvent;->a:J
|
|
|
|
.line 495
|
|
iput-char v1, p1, Lcom/badlogic/gdx/backends/android/AndroidInput$KeyEvent;->d:C
|
|
|
|
.line 496
|
|
invoke-virtual {p3}, Landroid/view/KeyEvent;->getKeyCode()I
|
|
|
|
move-result v0
|
|
|
|
iput v0, p1, Lcom/badlogic/gdx/backends/android/AndroidInput$KeyEvent;->c:I
|
|
|
|
.line 497
|
|
iput v1, p1, Lcom/badlogic/gdx/backends/android/AndroidInput$KeyEvent;->b:I
|
|
|
|
if-ne p2, v4, :cond_8
|
|
|
|
.line 500
|
|
invoke-virtual {p3}, Landroid/view/KeyEvent;->isAltPressed()Z
|
|
|
|
move-result p3
|
|
|
|
if-eqz p3, :cond_8
|
|
|
|
.line 502
|
|
iput v5, p1, Lcom/badlogic/gdx/backends/android/AndroidInput$KeyEvent;->c:I
|
|
|
|
const/16 p2, 0xff
|
|
|
|
.line 505
|
|
:cond_8
|
|
iget-object p3, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->d:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {p3, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
|
|
|
|
.line 506
|
|
iget-object p3, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->x:[Z
|
|
|
|
iget v0, p1, Lcom/badlogic/gdx/backends/android/AndroidInput$KeyEvent;->c:I
|
|
|
|
aget-boolean p3, p3, v0
|
|
|
|
if-nez p3, :cond_9
|
|
|
|
.line 507
|
|
iget p3, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->w:I
|
|
|
|
add-int/2addr p3, v3
|
|
|
|
iput p3, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->w:I
|
|
|
|
.line 508
|
|
iget-object p3, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->x:[Z
|
|
|
|
iget p1, p1, Lcom/badlogic/gdx/backends/android/AndroidInput$KeyEvent;->c:I
|
|
|
|
aput-boolean v3, p3, p1
|
|
|
|
.line 544
|
|
:cond_9
|
|
:goto_2
|
|
iget-object p1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->p:Lcom/badlogic/gdx/Application;
|
|
|
|
invoke-interface {p1}, Lcom/badlogic/gdx/Application;->getGraphics()Lcom/badlogic/gdx/Graphics;
|
|
|
|
move-result-object p1
|
|
|
|
invoke-interface {p1}, Lcom/badlogic/gdx/Graphics;->i()V
|
|
|
|
.line 545
|
|
monitor-exit p0
|
|
:try_end_0
|
|
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
|
|
|
if-ne p2, v5, :cond_a
|
|
|
|
return v3
|
|
|
|
.line 549
|
|
:cond_a
|
|
iget-boolean p1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->I:Z
|
|
|
|
if-eqz p1, :cond_b
|
|
|
|
if-ne p2, v4, :cond_b
|
|
|
|
return v3
|
|
|
|
.line 550
|
|
:cond_b
|
|
iget-boolean p1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->J:Z
|
|
|
|
if-eqz p1, :cond_c
|
|
|
|
const/16 p1, 0x52
|
|
|
|
if-ne p2, p1, :cond_c
|
|
|
|
return v3
|
|
|
|
:cond_c
|
|
return v1
|
|
|
|
.line 488
|
|
:cond_d
|
|
:goto_3
|
|
:try_start_1
|
|
monitor-exit p0
|
|
|
|
return v1
|
|
|
|
:catchall_0
|
|
move-exception p1
|
|
|
|
.line 545
|
|
monitor-exit p0
|
|
:try_end_1
|
|
.catchall {:try_start_1 .. :try_end_1} :catchall_0
|
|
|
|
throw p1
|
|
|
|
:pswitch_data_0
|
|
.packed-switch 0x0
|
|
:pswitch_1
|
|
:pswitch_0
|
|
.end packed-switch
|
|
.end method
|
|
|
|
.method public onTouch(Landroid/view/View;Landroid/view/MotionEvent;)Z
|
|
.locals 2
|
|
|
|
.line 416
|
|
iget-boolean v0, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->t:Z
|
|
|
|
const/4 v1, 0x1
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
if-eqz p1, :cond_0
|
|
|
|
.line 417
|
|
invoke-virtual {p1, v1}, Landroid/view/View;->setFocusableInTouchMode(Z)V
|
|
|
|
.line 418
|
|
invoke-virtual {p1}, Landroid/view/View;->requestFocus()Z
|
|
|
|
const/4 p1, 0x0
|
|
|
|
.line 419
|
|
iput-boolean p1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->t:Z
|
|
|
|
.line 423
|
|
:cond_0
|
|
iget-object p1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->G:Lcom/badlogic/gdx/backends/android/AndroidTouchHandler;
|
|
|
|
invoke-interface {p1, p2, p0}, Lcom/badlogic/gdx/backends/android/AndroidTouchHandler;->a(Landroid/view/MotionEvent;Lcom/badlogic/gdx/backends/android/AndroidInput;)V
|
|
|
|
.line 425
|
|
iget p1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->H:I
|
|
|
|
if-eqz p1, :cond_1
|
|
|
|
.line 427
|
|
:try_start_0
|
|
iget p1, p0, Lcom/badlogic/gdx/backends/android/AndroidInput;->H:I
|
|
|
|
int-to-long p1, p1
|
|
|
|
invoke-static {p1, p2}, Ljava/lang/Thread;->sleep(J)V
|
|
:try_end_0
|
|
.catch Ljava/lang/InterruptedException; {:try_start_0 .. :try_end_0} :catch_0
|
|
|
|
:catch_0
|
|
:cond_1
|
|
return v1
|
|
.end method
|