CaptureHandler.smali
.class public Lcom/king/zxing/CaptureHandler;
.super Landroid/os/Handler;
.source "SourceFile"
# interfaces
.implements Lcom/google/zxing/ResultPointCallback;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/king/zxing/CaptureHandler$State;
}
.end annotation
# instance fields
.field private final a:Lcom/king/zxing/q;
.field private final b:Lcom/king/zxing/n;
.field private c:Lcom/king/zxing/CaptureHandler$State;
.field private final d:Lcom/king/zxing/camera/d;
.field private final e:Lcom/king/zxing/ViewfinderView;
.field private f:Z
.field private g:Z
.field private h:Z
.field private i:Z
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 1
const-class v0, Lcom/king/zxing/CaptureHandler;
return-void
.end method
.method constructor <init>(Landroid/app/Activity;Lcom/king/zxing/ViewfinderView;Lcom/king/zxing/q;Ljava/util/Collection;Ljava/util/Map;Ljava/lang/String;Lcom/king/zxing/camera/d;)V
.registers 16
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/app/Activity;",
"Lcom/king/zxing/ViewfinderView;",
"Lcom/king/zxing/q;",
"Ljava/util/Collection<",
"Lcom/google/zxing/BarcodeFormat;",
">;",
"Ljava/util/Map<",
"Lcom/google/zxing/DecodeHintType;",
"Ljava/lang/Object;",
">;",
"Ljava/lang/String;",
"Lcom/king/zxing/camera/d;",
")V"
}
.end annotation
.line 1
invoke-direct {p0}, Landroid/os/Handler;-><init>()V
.line 2
iput-object p2, p0, Lcom/king/zxing/CaptureHandler;->e:Lcom/king/zxing/ViewfinderView;
.line 3
iput-object p3, p0, Lcom/king/zxing/CaptureHandler;->a:Lcom/king/zxing/q;
.line 4
new-instance p2, Lcom/king/zxing/n;
move-object v0, p2
move-object v1, p1
move-object v2, p7
move-object v3, p0
move-object v4, p4
move-object v5, p5
move-object v6, p6
move-object v7, p0
invoke-direct/range {v0 .. v7}, Lcom/king/zxing/n;-><init>(Landroid/content/Context;Lcom/king/zxing/camera/d;Lcom/king/zxing/CaptureHandler;Ljava/util/Collection;Ljava/util/Map;Ljava/lang/String;Lcom/google/zxing/ResultPointCallback;)V
iput-object p2, p0, Lcom/king/zxing/CaptureHandler;->b:Lcom/king/zxing/n;
.line 5
iget-object p1, p0, Lcom/king/zxing/CaptureHandler;->b:Lcom/king/zxing/n;
invoke-virtual {p1}, Ljava/lang/Thread;->start()V
.line 6
sget-object p1, Lcom/king/zxing/CaptureHandler$State;->SUCCESS:Lcom/king/zxing/CaptureHandler$State;
iput-object p1, p0, Lcom/king/zxing/CaptureHandler;->c:Lcom/king/zxing/CaptureHandler$State;
.line 7
iput-object p7, p0, Lcom/king/zxing/CaptureHandler;->d:Lcom/king/zxing/camera/d;
.line 8
invoke-virtual {p7}, Lcom/king/zxing/camera/d;->h()V
.line 9
invoke-virtual {p0}, Lcom/king/zxing/CaptureHandler;->f()V
return-void
.end method
.method private a(Lcom/google/zxing/ResultPoint;)Lcom/google/zxing/ResultPoint;
.registers 8
.line 1
iget-object v0, p0, Lcom/king/zxing/CaptureHandler;->d:Lcom/king/zxing/camera/d;
invoke-virtual {v0}, Lcom/king/zxing/camera/d;->f()Landroid/graphics/Point;
move-result-object v0
.line 2
iget-object v1, p0, Lcom/king/zxing/CaptureHandler;->d:Lcom/king/zxing/camera/d;
invoke-virtual {v1}, Lcom/king/zxing/camera/d;->b()Landroid/graphics/Point;
move-result-object v1
.line 3
iget v2, v0, Landroid/graphics/Point;->x:I
iget v3, v0, Landroid/graphics/Point;->y:I
const/high16 v4, 0x3f800000 # 1.0f
if-ge v2, v3, :cond_45
int-to-float v2, v2
mul-float v2, v2, v4
.line 4
iget v5, v1, Landroid/graphics/Point;->y:I
int-to-float v5, v5
div-float/2addr v2, v5
int-to-float v3, v3
mul-float v3, v3, v4
.line 5
iget v4, v1, Landroid/graphics/Point;->x:I
int-to-float v4, v4
div-float/2addr v3, v4
.line 6
invoke-virtual {p1}, Lcom/google/zxing/ResultPoint;->getX()F
move-result v4
mul-float v4, v4, v2
iget v2, v0, Landroid/graphics/Point;->x:I
iget v5, v1, Landroid/graphics/Point;->y:I
invoke-static {v2, v5}, Ljava/lang/Math;->max(II)I
move-result v2
div-int/lit8 v2, v2, 0x2
int-to-float v2, v2
sub-float/2addr v4, v2
.line 7
invoke-virtual {p1}, Lcom/google/zxing/ResultPoint;->getY()F
move-result p1
mul-float p1, p1, v3
iget v0, v0, Landroid/graphics/Point;->y:I
iget v1, v1, Landroid/graphics/Point;->x:I
invoke-static {v0, v1}, Ljava/lang/Math;->min(II)I
move-result v0
div-int/lit8 v0, v0, 0x2
goto :goto_75
:cond_45
int-to-float v2, v2
mul-float v2, v2, v4
.line 8
iget v5, v1, Landroid/graphics/Point;->x:I
int-to-float v5, v5
div-float/2addr v2, v5
int-to-float v3, v3
mul-float v3, v3, v4
.line 9
iget v4, v1, Landroid/graphics/Point;->y:I
int-to-float v4, v4
div-float/2addr v3, v4
.line 10
invoke-virtual {p1}, Lcom/google/zxing/ResultPoint;->getX()F
move-result v4
mul-float v4, v4, v2
iget v2, v0, Landroid/graphics/Point;->y:I
iget v5, v1, Landroid/graphics/Point;->y:I
invoke-static {v2, v5}, Ljava/lang/Math;->min(II)I
move-result v2
div-int/lit8 v2, v2, 0x2
int-to-float v2, v2
sub-float/2addr v4, v2
.line 11
invoke-virtual {p1}, Lcom/google/zxing/ResultPoint;->getY()F
move-result p1
mul-float p1, p1, v3
iget v0, v0, Landroid/graphics/Point;->x:I
iget v1, v1, Landroid/graphics/Point;->x:I
invoke-static {v0, v1}, Ljava/lang/Math;->max(II)I
move-result v0
div-int/lit8 v0, v0, 0x2
:goto_75
int-to-float v0, v0
sub-float/2addr p1, v0
.line 12
new-instance v0, Lcom/google/zxing/ResultPoint;
invoke-direct {v0, v4, p1}, Lcom/google/zxing/ResultPoint;-><init>(FF)V
return-object v0
.end method
# virtual methods
.method public a(Z)V
.registers 2
.line 14
iput-boolean p1, p0, Lcom/king/zxing/CaptureHandler;->g:Z
return-void
.end method
.method public a()Z
.registers 2
.line 13
iget-boolean v0, p0, Lcom/king/zxing/CaptureHandler;->g:Z
return v0
.end method
.method public b(Z)V
.registers 2
.line 2
iput-boolean p1, p0, Lcom/king/zxing/CaptureHandler;->h:Z
return-void
.end method
.method public b()Z
.registers 2
.line 1
iget-boolean v0, p0, Lcom/king/zxing/CaptureHandler;->h:Z
return v0
.end method
.method public c(Z)V
.registers 2
.line 2
iput-boolean p1, p0, Lcom/king/zxing/CaptureHandler;->i:Z
return-void
.end method
.method public c()Z
.registers 2
.line 1
iget-boolean v0, p0, Lcom/king/zxing/CaptureHandler;->i:Z
return v0
.end method
.method public d(Z)V
.registers 2
.line 2
iput-boolean p1, p0, Lcom/king/zxing/CaptureHandler;->f:Z
return-void
.end method
.method public d()Z
.registers 2
.line 1
iget-boolean v0, p0, Lcom/king/zxing/CaptureHandler;->f:Z
return v0
.end method
.method public e()V
.registers 4
.line 1
sget-object v0, Lcom/king/zxing/CaptureHandler$State;->DONE:Lcom/king/zxing/CaptureHandler$State;
iput-object v0, p0, Lcom/king/zxing/CaptureHandler;->c:Lcom/king/zxing/CaptureHandler$State;
.line 2
iget-object v0, p0, Lcom/king/zxing/CaptureHandler;->d:Lcom/king/zxing/camera/d;
invoke-virtual {v0}, Lcom/king/zxing/camera/d;->i()V
.line 3
iget-object v0, p0, Lcom/king/zxing/CaptureHandler;->b:Lcom/king/zxing/n;
invoke-virtual {v0}, Lcom/king/zxing/n;->a()Landroid/os/Handler;
move-result-object v0
sget v1, Lcom/king/zxing/R$id;->quit:I
invoke-static {v0, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;I)Landroid/os/Message;
move-result-object v0
.line 4
invoke-virtual {v0}, Landroid/os/Message;->sendToTarget()V
.line 5
:try_start_18
iget-object v0, p0, Lcom/king/zxing/CaptureHandler;->b:Lcom/king/zxing/n;
const-wide/16 v1, 0x64
invoke-virtual {v0, v1, v2}, Ljava/lang/Thread;->join(J)V
:try_end_1f
.catch Ljava/lang/InterruptedException; {:try_start_18 .. :try_end_1f} :catch_1f
.line 6
:catch_1f
sget v0, Lcom/king/zxing/R$id;->decode_succeeded:I
invoke-virtual {p0, v0}, Landroid/os/Handler;->removeMessages(I)V
.line 7
sget v0, Lcom/king/zxing/R$id;->decode_failed:I
invoke-virtual {p0, v0}, Landroid/os/Handler;->removeMessages(I)V
return-void
.end method
.method public f()V
.registers 4
.line 1
iget-object v0, p0, Lcom/king/zxing/CaptureHandler;->c:Lcom/king/zxing/CaptureHandler$State;
sget-object v1, Lcom/king/zxing/CaptureHandler$State;->SUCCESS:Lcom/king/zxing/CaptureHandler$State;
if-ne v0, v1, :cond_1e
.line 2
sget-object v0, Lcom/king/zxing/CaptureHandler$State;->PREVIEW:Lcom/king/zxing/CaptureHandler$State;
iput-object v0, p0, Lcom/king/zxing/CaptureHandler;->c:Lcom/king/zxing/CaptureHandler$State;
.line 3
iget-object v0, p0, Lcom/king/zxing/CaptureHandler;->d:Lcom/king/zxing/camera/d;
iget-object v1, p0, Lcom/king/zxing/CaptureHandler;->b:Lcom/king/zxing/n;
invoke-virtual {v1}, Lcom/king/zxing/n;->a()Landroid/os/Handler;
move-result-object v1
sget v2, Lcom/king/zxing/R$id;->decode:I
invoke-virtual {v0, v1, v2}, Lcom/king/zxing/camera/d;->a(Landroid/os/Handler;I)V
.line 4
iget-object v0, p0, Lcom/king/zxing/CaptureHandler;->e:Lcom/king/zxing/ViewfinderView;
if-eqz v0, :cond_1e
.line 5
invoke-virtual {v0}, Lcom/king/zxing/ViewfinderView;->a()V
:cond_1e
return-void
.end method
.method public foundPossibleResultPoint(Lcom/google/zxing/ResultPoint;)V
.registers 3
.line 1
iget-object v0, p0, Lcom/king/zxing/CaptureHandler;->e:Lcom/king/zxing/ViewfinderView;
if-eqz v0, :cond_d
.line 2
invoke-direct {p0, p1}, Lcom/king/zxing/CaptureHandler;->a(Lcom/google/zxing/ResultPoint;)Lcom/google/zxing/ResultPoint;
move-result-object p1
.line 3
iget-object v0, p0, Lcom/king/zxing/CaptureHandler;->e:Lcom/king/zxing/ViewfinderView;
invoke-virtual {v0, p1}, Lcom/king/zxing/ViewfinderView;->a(Lcom/google/zxing/ResultPoint;)V
:cond_d
return-void
.end method
.method public handleMessage(Landroid/os/Message;)V
.registers 7
.line 1
iget v0, p1, Landroid/os/Message;->what:I
sget v1, Lcom/king/zxing/R$id;->restart_preview:I
if-ne v0, v1, :cond_a
.line 2
invoke-virtual {p0}, Lcom/king/zxing/CaptureHandler;->f()V
goto :goto_56
.line 3
:cond_a
sget v1, Lcom/king/zxing/R$id;->decode_succeeded:I
if-ne v0, v1, :cond_41
.line 4
sget-object v0, Lcom/king/zxing/CaptureHandler$State;->SUCCESS:Lcom/king/zxing/CaptureHandler$State;
iput-object v0, p0, Lcom/king/zxing/CaptureHandler;->c:Lcom/king/zxing/CaptureHandler$State;
.line 5
invoke-virtual {p1}, Landroid/os/Message;->getData()Landroid/os/Bundle;
move-result-object v0
const/high16 v1, 0x3f800000 # 1.0f
const/4 v2, 0x0
if-eqz v0, :cond_37
const-string v1, "barcode_bitmap"
.line 6
invoke-virtual {v0, v1}, Landroid/os/Bundle;->getByteArray(Ljava/lang/String;)[B
move-result-object v1
if-eqz v1, :cond_31
const/4 v3, 0x0
.line 7
array-length v4, v1
invoke-static {v1, v3, v4, v2}, Landroid/graphics/BitmapFactory;->decodeByteArray([BIILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
move-result-object v1
.line 8
sget-object v2, Landroid/graphics/Bitmap$Config;->ARGB_8888:Landroid/graphics/Bitmap$Config;
const/4 v3, 0x1
invoke-virtual {v1, v2, v3}, Landroid/graphics/Bitmap;->copy(Landroid/graphics/Bitmap$Config;Z)Landroid/graphics/Bitmap;
move-result-object v1
move-object v2, v1
:cond_31
const-string v1, "barcode_scaled_factor"
.line 9
invoke-virtual {v0, v1}, Landroid/os/Bundle;->getFloat(Ljava/lang/String;)F
move-result v1
.line 10
:cond_37
iget-object v0, p0, Lcom/king/zxing/CaptureHandler;->a:Lcom/king/zxing/q;
iget-object p1, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
check-cast p1, Lcom/google/zxing/Result;
invoke-interface {v0, p1, v2, v1}, Lcom/king/zxing/q;->onHandleDecode(Lcom/google/zxing/Result;Landroid/graphics/Bitmap;F)V
goto :goto_56
.line 11
:cond_41
sget p1, Lcom/king/zxing/R$id;->decode_failed:I
if-ne v0, p1, :cond_56
.line 12
sget-object p1, Lcom/king/zxing/CaptureHandler$State;->PREVIEW:Lcom/king/zxing/CaptureHandler$State;
iput-object p1, p0, Lcom/king/zxing/CaptureHandler;->c:Lcom/king/zxing/CaptureHandler$State;
.line 13
iget-object p1, p0, Lcom/king/zxing/CaptureHandler;->d:Lcom/king/zxing/camera/d;
iget-object v0, p0, Lcom/king/zxing/CaptureHandler;->b:Lcom/king/zxing/n;
invoke-virtual {v0}, Lcom/king/zxing/n;->a()Landroid/os/Handler;
move-result-object v0
sget v1, Lcom/king/zxing/R$id;->decode:I
invoke-virtual {p1, v0, v1}, Lcom/king/zxing/camera/d;->a(Landroid/os/Handler;I)V
:cond_56
:goto_56
return-void
.end method