be.smali
.class public final Lcom/loc/be;
.super Ljava/lang/Object;
# interfaces
.implements Landroid/hardware/SensorEventListener;
# instance fields
.field a:Landroid/hardware/SensorManager;
.field b:Landroid/hardware/Sensor;
.field c:Landroid/hardware/Sensor;
.field d:Landroid/hardware/Sensor;
.field public e:Z
.field public f:D
.field public g:F
.field public h:D
.field i:Landroid/os/Handler;
.field j:D
.field k:D
.field l:D
.field m:D
.field n:[D
.field volatile o:D
.field p:J
.field q:J
.field private r:Landroid/content/Context;
.field private s:F
.field private t:F
# direct methods
.method public constructor <init>(Landroid/content/Context;)V
.registers 8
const-wide/16 v4, 0x0
const/4 v1, 0x0
const/4 v0, 0x0
const-wide/16 v2, 0x0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object v0, p0, Lcom/loc/be;->r:Landroid/content/Context;
iput-object v0, p0, Lcom/loc/be;->a:Landroid/hardware/SensorManager;
iput-object v0, p0, Lcom/loc/be;->b:Landroid/hardware/Sensor;
iput-object v0, p0, Lcom/loc/be;->c:Landroid/hardware/Sensor;
iput-object v0, p0, Lcom/loc/be;->d:Landroid/hardware/Sensor;
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/loc/be;->e:Z
iput-wide v2, p0, Lcom/loc/be;->f:D
iput v1, p0, Lcom/loc/be;->g:F
const v0, 0x447d5000 # 1013.25f
iput v0, p0, Lcom/loc/be;->s:F
iput v1, p0, Lcom/loc/be;->t:F
iput-wide v2, p0, Lcom/loc/be;->h:D
new-instance v0, Lcom/loc/be$1;
invoke-direct {v0, p0}, Lcom/loc/be$1;-><init>(Lcom/loc/be;)V
iput-object v0, p0, Lcom/loc/be;->i:Landroid/os/Handler;
iput-wide v2, p0, Lcom/loc/be;->j:D
iput-wide v2, p0, Lcom/loc/be;->k:D
iput-wide v2, p0, Lcom/loc/be;->l:D
iput-wide v2, p0, Lcom/loc/be;->m:D
const/4 v0, 0x3
new-array v0, v0, [D
iput-object v0, p0, Lcom/loc/be;->n:[D
iput-wide v2, p0, Lcom/loc/be;->o:D
iput-wide v4, p0, Lcom/loc/be;->p:J
iput-wide v4, p0, Lcom/loc/be;->q:J
:try_start_3d
iput-object p1, p0, Lcom/loc/be;->r:Landroid/content/Context;
iget-object v0, p0, Lcom/loc/be;->a:Landroid/hardware/SensorManager;
if-nez v0, :cond_50
iget-object v0, p0, Lcom/loc/be;->r:Landroid/content/Context;
const-string/jumbo v1, "sensor"
invoke-virtual {v0, v1}, 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/loc/be;->a:Landroid/hardware/SensorManager;
:try_end_50
.catch Ljava/lang/Throwable; {:try_start_3d .. :try_end_50} :catch_6d
:cond_50
:try_start_50
iget-object v0, p0, Lcom/loc/be;->a:Landroid/hardware/SensorManager;
const/4 v1, 0x6
invoke-virtual {v0, v1}, Landroid/hardware/SensorManager;->getDefaultSensor(I)Landroid/hardware/Sensor;
move-result-object v0
iput-object v0, p0, Lcom/loc/be;->b:Landroid/hardware/Sensor;
:try_end_59
.catch Ljava/lang/Throwable; {:try_start_50 .. :try_end_59} :catch_7c
:goto_59
:try_start_59
iget-object v0, p0, Lcom/loc/be;->a:Landroid/hardware/SensorManager;
const/16 v1, 0xb
invoke-virtual {v0, v1}, Landroid/hardware/SensorManager;->getDefaultSensor(I)Landroid/hardware/Sensor;
move-result-object v0
iput-object v0, p0, Lcom/loc/be;->c:Landroid/hardware/Sensor;
:try_end_63
.catch Ljava/lang/Throwable; {:try_start_59 .. :try_end_63} :catch_7a
:goto_63
:try_start_63
iget-object v0, p0, Lcom/loc/be;->a:Landroid/hardware/SensorManager;
const/4 v1, 0x1
invoke-virtual {v0, v1}, Landroid/hardware/SensorManager;->getDefaultSensor(I)Landroid/hardware/Sensor;
move-result-object v0
iput-object v0, p0, Lcom/loc/be;->d:Landroid/hardware/Sensor;
:try_end_6c
.catch Ljava/lang/Throwable; {:try_start_63 .. :try_end_6c} :catch_78
:goto_6c
return-void
:catch_6d
move-exception v0
const-string/jumbo v1, "AMapSensorManager"
const-string/jumbo v2, "<init>"
invoke-static {v0, v1, v2}, Lcom/loc/ca;->a(Ljava/lang/Throwable;Ljava/lang/String;Ljava/lang/String;)V
goto :goto_6c
:catch_78
move-exception v0
goto :goto_6c
:catch_7a
move-exception v0
goto :goto_63
:catch_7c
move-exception v0
goto :goto_59
.end method
# virtual methods
.method public final a()V
.registers 5
iget-object v0, p0, Lcom/loc/be;->a:Landroid/hardware/SensorManager;
if-eqz v0, :cond_35
iget-boolean v0, p0, Lcom/loc/be;->e:Z
if-nez v0, :cond_35
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/loc/be;->e:Z
:try_start_b
iget-object v0, p0, Lcom/loc/be;->b:Landroid/hardware/Sensor;
if-eqz v0, :cond_19
iget-object v0, p0, Lcom/loc/be;->a:Landroid/hardware/SensorManager;
iget-object v1, p0, Lcom/loc/be;->b:Landroid/hardware/Sensor;
const/4 v2, 0x3
iget-object v3, p0, Lcom/loc/be;->i:Landroid/os/Handler;
invoke-virtual {v0, p0, v1, v2, v3}, Landroid/hardware/SensorManager;->registerListener(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;ILandroid/os/Handler;)Z
:try_end_19
.catch Ljava/lang/Throwable; {:try_start_b .. :try_end_19} :catch_36
:cond_19
:goto_19
:try_start_19
iget-object v0, p0, Lcom/loc/be;->c:Landroid/hardware/Sensor;
if-eqz v0, :cond_27
iget-object v0, p0, Lcom/loc/be;->a:Landroid/hardware/SensorManager;
iget-object v1, p0, Lcom/loc/be;->c:Landroid/hardware/Sensor;
const/4 v2, 0x3
iget-object v3, p0, Lcom/loc/be;->i:Landroid/os/Handler;
invoke-virtual {v0, p0, v1, v2, v3}, Landroid/hardware/SensorManager;->registerListener(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;ILandroid/os/Handler;)Z
:try_end_27
.catch Ljava/lang/Throwable; {:try_start_19 .. :try_end_27} :catch_41
:cond_27
:goto_27
:try_start_27
iget-object v0, p0, Lcom/loc/be;->d:Landroid/hardware/Sensor;
if-eqz v0, :cond_35
iget-object v0, p0, Lcom/loc/be;->a:Landroid/hardware/SensorManager;
iget-object v1, p0, Lcom/loc/be;->d:Landroid/hardware/Sensor;
const/4 v2, 0x3
iget-object v3, p0, Lcom/loc/be;->i:Landroid/os/Handler;
invoke-virtual {v0, p0, v1, v2, v3}, Landroid/hardware/SensorManager;->registerListener(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;ILandroid/os/Handler;)Z
:try_end_35
.catch Ljava/lang/Throwable; {:try_start_27 .. :try_end_35} :catch_4c
:cond_35
:goto_35
return-void
:catch_36
move-exception v0
const-string/jumbo v1, "AMapSensorManager"
const-string/jumbo v2, "registerListener mPressure"
invoke-static {v0, v1, v2}, Lcom/loc/ca;->a(Ljava/lang/Throwable;Ljava/lang/String;Ljava/lang/String;)V
goto :goto_19
:catch_41
move-exception v0
const-string/jumbo v1, "AMapSensorManager"
const-string/jumbo v2, "registerListener mRotationVector"
invoke-static {v0, v1, v2}, Lcom/loc/ca;->a(Ljava/lang/Throwable;Ljava/lang/String;Ljava/lang/String;)V
goto :goto_27
:catch_4c
move-exception v0
const-string/jumbo v1, "AMapSensorManager"
const-string/jumbo v2, "registerListener mAcceleroMeterVector"
invoke-static {v0, v1, v2}, Lcom/loc/ca;->a(Ljava/lang/Throwable;Ljava/lang/String;Ljava/lang/String;)V
goto :goto_35
.end method
.method public final b()V
.registers 3
iget-object v0, p0, Lcom/loc/be;->a:Landroid/hardware/SensorManager;
if-eqz v0, :cond_2c
iget-boolean v0, p0, Lcom/loc/be;->e:Z
if-eqz v0, :cond_2c
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/loc/be;->e:Z
:try_start_b
iget-object v0, p0, Lcom/loc/be;->b:Landroid/hardware/Sensor;
if-eqz v0, :cond_16
iget-object v0, p0, Lcom/loc/be;->a:Landroid/hardware/SensorManager;
iget-object v1, p0, Lcom/loc/be;->b:Landroid/hardware/Sensor;
invoke-virtual {v0, p0, v1}, Landroid/hardware/SensorManager;->unregisterListener(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;)V
:try_end_16
.catch Ljava/lang/Throwable; {:try_start_b .. :try_end_16} :catch_31
:cond_16
:goto_16
:try_start_16
iget-object v0, p0, Lcom/loc/be;->c:Landroid/hardware/Sensor;
if-eqz v0, :cond_21
iget-object v0, p0, Lcom/loc/be;->a:Landroid/hardware/SensorManager;
iget-object v1, p0, Lcom/loc/be;->c:Landroid/hardware/Sensor;
invoke-virtual {v0, p0, v1}, Landroid/hardware/SensorManager;->unregisterListener(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;)V
:try_end_21
.catch Ljava/lang/Throwable; {:try_start_16 .. :try_end_21} :catch_2f
:cond_21
:goto_21
:try_start_21
iget-object v0, p0, Lcom/loc/be;->d:Landroid/hardware/Sensor;
if-eqz v0, :cond_2c
iget-object v0, p0, Lcom/loc/be;->a:Landroid/hardware/SensorManager;
iget-object v1, p0, Lcom/loc/be;->d:Landroid/hardware/Sensor;
invoke-virtual {v0, p0, v1}, Landroid/hardware/SensorManager;->unregisterListener(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;)V
:try_end_2c
.catch Ljava/lang/Throwable; {:try_start_21 .. :try_end_2c} :catch_2d
:cond_2c
:goto_2c
return-void
:catch_2d
move-exception v0
goto :goto_2c
:catch_2f
move-exception v0
goto :goto_21
:catch_31
move-exception v0
goto :goto_16
.end method
.method public final c()D
.registers 3
iget-wide v0, p0, Lcom/loc/be;->f:D
return-wide v0
.end method
.method public final d()F
.registers 2
iget v0, p0, Lcom/loc/be;->t:F
return v0
.end method
.method public final e()D
.registers 3
iget-wide v0, p0, Lcom/loc/be;->m:D
return-wide v0
.end method
.method public final f()V
.registers 4
:try_start_0
invoke-virtual {p0}, Lcom/loc/be;->b()V
const/4 v0, 0x0
iput-object v0, p0, Lcom/loc/be;->b:Landroid/hardware/Sensor;
const/4 v0, 0x0
iput-object v0, p0, Lcom/loc/be;->c:Landroid/hardware/Sensor;
const/4 v0, 0x0
iput-object v0, p0, Lcom/loc/be;->a:Landroid/hardware/SensorManager;
const/4 v0, 0x0
iput-object v0, p0, Lcom/loc/be;->d:Landroid/hardware/Sensor;
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/loc/be;->e:Z
:try_end_12
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_12} :catch_13
:goto_12
return-void
:catch_13
move-exception v0
const-string/jumbo v1, "AMapSensorManager"
const-string/jumbo v2, "destroy"
invoke-static {v0, v1, v2}, Lcom/loc/ca;->a(Ljava/lang/Throwable;Ljava/lang/String;Ljava/lang/String;)V
goto :goto_12
.end method
.method public final onAccuracyChanged(Landroid/hardware/Sensor;I)V
.registers 3
return-void
.end method
.method public final onSensorChanged(Landroid/hardware/SensorEvent;)V
.registers 13
const v10, 0x3e4ccccc # 0.19999999f
const-wide v8, 0x3fe99999a0000000L # 0.800000011920929
if-nez p1, :cond_b
:cond_a
:goto_a
return-void
:cond_b
:try_start_b
iget-object v0, p1, Landroid/hardware/SensorEvent;->sensor:Landroid/hardware/Sensor;
invoke-virtual {v0}, Landroid/hardware/Sensor;->getType()I
:try_end_10
.catch Ljava/lang/Throwable; {:try_start_b .. :try_end_10} :catch_133
move-result v0
sparse-switch v0, :sswitch_data_136
goto :goto_a
:sswitch_15
:try_start_15
iget-object v0, p0, Lcom/loc/be;->d:Landroid/hardware/Sensor;
if-eqz v0, :cond_a
iget-object v0, p1, Landroid/hardware/SensorEvent;->values:[F
invoke-virtual {v0}, [F->clone()Ljava/lang/Object;
move-result-object v0
check-cast v0, [F
iget-object v1, p0, Lcom/loc/be;->n:[D
const/4 v2, 0x0
iget-object v3, p0, Lcom/loc/be;->n:[D
const/4 v4, 0x0
aget-wide v4, v3, v4
mul-double/2addr v4, v8
const/4 v3, 0x0
aget v3, v0, v3
mul-float/2addr v3, v10
float-to-double v6, v3
add-double/2addr v4, v6
aput-wide v4, v1, v2
iget-object v1, p0, Lcom/loc/be;->n:[D
const/4 v2, 0x1
iget-object v3, p0, Lcom/loc/be;->n:[D
const/4 v4, 0x1
aget-wide v4, v3, v4
mul-double/2addr v4, v8
const/4 v3, 0x1
aget v3, v0, v3
mul-float/2addr v3, v10
float-to-double v6, v3
add-double/2addr v4, v6
aput-wide v4, v1, v2
iget-object v1, p0, Lcom/loc/be;->n:[D
const/4 v2, 0x2
iget-object v3, p0, Lcom/loc/be;->n:[D
const/4 v4, 0x2
aget-wide v4, v3, v4
mul-double/2addr v4, v8
const/4 v3, 0x2
aget v3, v0, v3
mul-float/2addr v3, v10
float-to-double v6, v3
add-double/2addr v4, v6
aput-wide v4, v1, v2
const/4 v1, 0x0
aget v1, v0, v1
float-to-double v2, v1
iget-object v1, p0, Lcom/loc/be;->n:[D
const/4 v4, 0x0
aget-wide v4, v1, v4
sub-double/2addr v2, v4
iput-wide v2, p0, Lcom/loc/be;->j:D
const/4 v1, 0x1
aget v1, v0, v1
float-to-double v2, v1
iget-object v1, p0, Lcom/loc/be;->n:[D
const/4 v4, 0x1
aget-wide v4, v1, v4
sub-double/2addr v2, v4
iput-wide v2, p0, Lcom/loc/be;->k:D
const/4 v1, 0x2
aget v0, v0, v1
float-to-double v0, v0
iget-object v2, p0, Lcom/loc/be;->n:[D
const/4 v3, 0x2
aget-wide v2, v2, v3
sub-double/2addr v0, v2
iput-wide v0, p0, Lcom/loc/be;->l:D
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
iget-wide v2, p0, Lcom/loc/be;->p:J
sub-long v2, v0, v2
const-wide/16 v4, 0x64
cmp-long v2, v2, v4
if-ltz v2, :cond_a
iget-wide v2, p0, Lcom/loc/be;->j:D
iget-wide v4, p0, Lcom/loc/be;->j:D
mul-double/2addr v2, v4
iget-wide v4, p0, Lcom/loc/be;->k:D
iget-wide v6, p0, Lcom/loc/be;->k:D
mul-double/2addr v4, v6
add-double/2addr v2, v4
iget-wide v4, p0, Lcom/loc/be;->l:D
iget-wide v6, p0, Lcom/loc/be;->l:D
mul-double/2addr v4, v6
add-double/2addr v2, v4
invoke-static {v2, v3}, Ljava/lang/Math;->sqrt(D)D
move-result-wide v2
iget-wide v4, p0, Lcom/loc/be;->q:J
const-wide/16 v6, 0x1
add-long/2addr v4, v6
iput-wide v4, p0, Lcom/loc/be;->q:J
iput-wide v0, p0, Lcom/loc/be;->p:J
iget-wide v0, p0, Lcom/loc/be;->o:D
add-double/2addr v0, v2
iput-wide v0, p0, Lcom/loc/be;->o:D
iget-wide v0, p0, Lcom/loc/be;->q:J
const-wide/16 v2, 0x1e
cmp-long v0, v0, v2
if-ltz v0, :cond_a
iget-wide v0, p0, Lcom/loc/be;->o:D
iget-wide v2, p0, Lcom/loc/be;->q:J
long-to-double v2, v2
div-double/2addr v0, v2
iput-wide v0, p0, Lcom/loc/be;->m:D
const-wide/16 v0, 0x0
iput-wide v0, p0, Lcom/loc/be;->o:D
const-wide/16 v0, 0x0
iput-wide v0, p0, Lcom/loc/be;->q:J
:try_end_c1
.catch Ljava/lang/Throwable; {:try_start_15 .. :try_end_c1} :catch_c3
goto/16 :goto_a
:catch_c3
move-exception v0
goto/16 :goto_a
:sswitch_c6
:try_start_c6
iget-object v0, p0, Lcom/loc/be;->b:Landroid/hardware/Sensor;
if-eqz v0, :cond_a
iget-object v0, p1, Landroid/hardware/SensorEvent;->values:[F
invoke-virtual {v0}, [F->clone()Ljava/lang/Object;
move-result-object v0
check-cast v0, [F
if-eqz v0, :cond_d9
const/4 v1, 0x0
aget v1, v0, v1
iput v1, p0, Lcom/loc/be;->g:F
:cond_d9
if-eqz v0, :cond_a
iget v1, p0, Lcom/loc/be;->s:F
const/4 v2, 0x0
aget v0, v0, v2
invoke-static {v1, v0}, Landroid/hardware/SensorManager;->getAltitude(FF)F
move-result v0
invoke-static {v0}, Lcom/loc/cj;->a(F)F
move-result v0
float-to-double v0, v0
iput-wide v0, p0, Lcom/loc/be;->f:D
:try_end_eb
.catch Ljava/lang/Throwable; {:try_start_c6 .. :try_end_eb} :catch_ed
goto/16 :goto_a
:catch_ed
move-exception v0
goto/16 :goto_a
:sswitch_f0
:try_start_f0
iget-object v0, p0, Lcom/loc/be;->c:Landroid/hardware/Sensor;
if-eqz v0, :cond_a
iget-object v0, p1, Landroid/hardware/SensorEvent;->values:[F
invoke-virtual {v0}, [F->clone()Ljava/lang/Object;
move-result-object v0
check-cast v0, [F
if-eqz v0, :cond_a
const/16 v1, 0x9
new-array v1, v1, [F
invoke-static {v1, v0}, Landroid/hardware/SensorManager;->getRotationMatrixFromVector([F[F)V
const/4 v0, 0x3
new-array v0, v0, [F
invoke-static {v1, v0}, Landroid/hardware/SensorManager;->getOrientation([F[F)[F
const/4 v1, 0x0
aget v0, v0, v1
float-to-double v0, v0
invoke-static {v0, v1}, Ljava/lang/Math;->toDegrees(D)D
move-result-wide v0
double-to-float v0, v0
iput v0, p0, Lcom/loc/be;->t:F
iget v0, p0, Lcom/loc/be;->t:F
const/4 v1, 0x0
cmpl-float v0, v0, v1
if-lez v0, :cond_12c
iget v0, p0, Lcom/loc/be;->t:F
float-to-double v0, v0
:goto_120
invoke-static {v0, v1}, Ljava/lang/Math;->floor(D)D
move-result-wide v0
double-to-float v0, v0
iput v0, p0, Lcom/loc/be;->t:F
goto/16 :goto_a
:catch_129
move-exception v0
goto/16 :goto_a
:cond_12c
iget v0, p0, Lcom/loc/be;->t:F
:try_end_12e
.catch Ljava/lang/Throwable; {:try_start_f0 .. :try_end_12e} :catch_129
const/high16 v1, 0x43b40000 # 360.0f
add-float/2addr v0, v1
float-to-double v0, v0
goto :goto_120
:catch_133
move-exception v0
goto/16 :goto_a
:sswitch_data_136
.sparse-switch
0x1 -> :sswitch_15
0x6 -> :sswitch_c6
0xb -> :sswitch_f0
.end sparse-switch
.end method