b.smali

.class public Lcom/google/a/a/a/b;
.super Ljava/lang/Object;

# interfaces
.implements Lcom/google/a/a/a/f;


# static fields
.field private static final a:Ljava/lang/String;


# instance fields
.field private b:Z

.field private c:Landroid/hardware/SensorManager;

.field private d:Landroid/os/Looper;

.field private e:Landroid/hardware/SensorEventListener;

.field private final f:Ljava/util/ArrayList;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/ArrayList",
            "<",
            "Landroid/hardware/SensorEventListener;",
            ">;"
        }
    .end annotation
.end field

.field private g:I


# direct methods
.method static constructor <clinit>()V
    .registers 1

    const-class v0, Lcom/google/a/a/a/b;

    invoke-virtual {v0}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;

    move-result-object v0

    sput-object v0, Lcom/google/a/a/a/b;->a:Ljava/lang/String;

    return-void
.end method

.method public constructor <init>(Landroid/hardware/SensorManager;I)V
    .registers 4

    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    new-instance v0, Ljava/util/ArrayList;

    invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V

    iput-object v0, p0, Lcom/google/a/a/a/b;->f:Ljava/util/ArrayList;

    iput-object p1, p0, Lcom/google/a/a/a/b;->c:Landroid/hardware/SensorManager;

    iput p2, p0, Lcom/google/a/a/a/b;->g:I

    return-void
.end method

.method static synthetic a(Lcom/google/a/a/a/b;)Ljava/util/ArrayList;
    .registers 2

    iget-object v0, p0, Lcom/google/a/a/a/b;->f:Ljava/util/ArrayList;

    return-object v0
.end method

.method static synthetic b(Lcom/google/a/a/a/b;)Landroid/hardware/SensorManager;
    .registers 2

    iget-object v0, p0, Lcom/google/a/a/a/b;->c:Landroid/hardware/SensorManager;

    return-object v0
.end method

.method static synthetic c(Lcom/google/a/a/a/b;)Landroid/hardware/SensorEventListener;
    .registers 2

    iget-object v0, p0, Lcom/google/a/a/a/b;->e:Landroid/hardware/SensorEventListener;

    return-object v0
.end method

.method static synthetic c()Ljava/lang/String;
    .registers 1

    sget-object v0, Lcom/google/a/a/a/b;->a:Ljava/lang/String;

    return-object v0
.end method

.method static synthetic d(Lcom/google/a/a/a/b;)I
    .registers 2

    iget v0, p0, Lcom/google/a/a/a/b;->g:I

    return v0
.end method

.method private d()Landroid/hardware/Sensor;
    .registers 3

    sget-object v0, Landroid/os/Build;->MANUFACTURER:Ljava/lang/String;

    const-string v1, "HTC"

    invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_c

    const/4 v0, 0x0

    :goto_b
    return-object v0

    :cond_c
    iget-object v0, p0, Lcom/google/a/a/a/b;->c:Landroid/hardware/SensorManager;

    const/16 v1, 0x10

    invoke-virtual {v0, v1}, Landroid/hardware/SensorManager;->getDefaultSensor(I)Landroid/hardware/Sensor;

    move-result-object v0

    goto :goto_b
.end method

.method static synthetic e(Lcom/google/a/a/a/b;)Landroid/hardware/Sensor;
    .registers 2

    invoke-direct {p0}, Lcom/google/a/a/a/b;->d()Landroid/hardware/Sensor;

    move-result-object v0

    return-object v0
.end method


# virtual methods
.method public a()V
    .registers 3

    iget-boolean v0, p0, Lcom/google/a/a/a/b;->b:Z

    if-nez v0, :cond_1e

    new-instance v0, Lcom/google/a/a/a/c;

    invoke-direct {v0, p0}, Lcom/google/a/a/a/c;-><init>(Lcom/google/a/a/a/b;)V

    iput-object v0, p0, Lcom/google/a/a/a/b;->e:Landroid/hardware/SensorEventListener;

    new-instance v0, Lcom/google/a/a/a/d;

    const-string v1, "sensor"

    invoke-direct {v0, p0, v1}, Lcom/google/a/a/a/d;-><init>(Lcom/google/a/a/a/b;Ljava/lang/String;)V

    invoke-virtual {v0}, Landroid/os/HandlerThread;->start()V

    invoke-virtual {v0}, Landroid/os/HandlerThread;->getLooper()Landroid/os/Looper;

    move-result-object v0

    iput-object v0, p0, Lcom/google/a/a/a/b;->d:Landroid/os/Looper;

    const/4 v0, 0x1

    iput-boolean v0, p0, Lcom/google/a/a/a/b;->b:Z

    :cond_1e
    return-void
.end method

.method public a(Landroid/hardware/SensorEventListener;)V
    .registers 4

    iget-object v0, p0, Lcom/google/a/a/a/b;->f:Ljava/util/ArrayList;

    iget-object v1, p0, Lcom/google/a/a/a/b;->f:Ljava/util/ArrayList;

    monitor-enter v1

    :try_start_5
    iget-object v0, p0, Lcom/google/a/a/a/b;->f:Ljava/util/ArrayList;

    invoke-virtual {v0, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z

    monitor-exit v1

    return-void

    :catchall_c
    move-exception v0

    monitor-exit v1
    :try_end_e
    .catchall {:try_start_5 .. :try_end_e} :catchall_c

    throw v0
.end method

.method public b()V
    .registers 4

    const/4 v2, 0x0

    iget-boolean v0, p0, Lcom/google/a/a/a/b;->b:Z

    if-eqz v0, :cond_18

    iget-object v0, p0, Lcom/google/a/a/a/b;->c:Landroid/hardware/SensorManager;

    iget-object v1, p0, Lcom/google/a/a/a/b;->e:Landroid/hardware/SensorEventListener;

    invoke-virtual {v0, v1}, Landroid/hardware/SensorManager;->unregisterListener(Landroid/hardware/SensorEventListener;)V

    iput-object v2, p0, Lcom/google/a/a/a/b;->e:Landroid/hardware/SensorEventListener;

    iget-object v0, p0, Lcom/google/a/a/a/b;->d:Landroid/os/Looper;

    invoke-virtual {v0}, Landroid/os/Looper;->quit()V

    iput-object v2, p0, Lcom/google/a/a/a/b;->d:Landroid/os/Looper;

    const/4 v0, 0x0

    iput-boolean v0, p0, Lcom/google/a/a/a/b;->b:Z

    :cond_18
    return-void
.end method

.method public b(Landroid/hardware/SensorEventListener;)V
    .registers 4

    iget-object v0, p0, Lcom/google/a/a/a/b;->f:Ljava/util/ArrayList;

    iget-object v1, p0, Lcom/google/a/a/a/b;->f:Ljava/util/ArrayList;

    monitor-enter v1

    :try_start_5
    iget-object v0, p0, Lcom/google/a/a/a/b;->f:Ljava/util/ArrayList;

    invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z

    monitor-exit v1

    return-void

    :catchall_c
    move-exception v0

    monitor-exit v1
    :try_end_e
    .catchall {:try_start_5 .. :try_end_e} :catchall_c

    throw v0
.end method