SymbolSet.smali

.class public Lcom/yanzhenjie/zbar/SymbolSet;
.super Ljava/util/AbstractCollection;
.source "SymbolSet.java"


# annotations
.annotation system Ldalvik/annotation/Signature;
    value = {
        "Ljava/util/AbstractCollection<",
        "Lcom/yanzhenjie/zbar/Symbol;",
        ">;"
    }
.end annotation


# instance fields
.field public a:J


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

    const-string v0, "zbar"

    invoke-static {v0}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V

    invoke-static {}, Lcom/yanzhenjie/zbar/SymbolSet;->init()V

    return-void
.end method

.method public constructor <init>(J)V
    .registers 3

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

    iput-wide p1, p0, Lcom/yanzhenjie/zbar/SymbolSet;->a:J

    return-void
.end method

.method private native destroy(J)V
.end method

.method private native firstSymbol(J)J
.end method

.method public static native init()V
.end method


# virtual methods
.method public declared-synchronized c()V
    .registers 6

    monitor-enter p0

    :try_start_1
    iget-wide v0, p0, Lcom/yanzhenjie/zbar/SymbolSet;->a:J

    const-wide/16 v2, 0x0

    cmp-long v4, v0, v2

    if-eqz v4, :cond_10

    iget-wide v0, p0, Lcom/yanzhenjie/zbar/SymbolSet;->a:J

    invoke-direct {p0, v0, v1}, Lcom/yanzhenjie/zbar/SymbolSet;->destroy(J)V

    iput-wide v2, p0, Lcom/yanzhenjie/zbar/SymbolSet;->a:J
    :try_end_10
    .catchall {:try_start_1 .. :try_end_10} :catchall_12

    :cond_10
    monitor-exit p0

    return-void

    :catchall_12
    move-exception v0

    monitor-exit p0

    throw v0
.end method

.method public finalize()V
    .registers 1

    invoke-virtual {p0}, Lcom/yanzhenjie/zbar/SymbolSet;->c()V

    return-void
.end method

.method public iterator()Ljava/util/Iterator;
    .registers 6
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "()",
            "Ljava/util/Iterator<",
            "Lcom/yanzhenjie/zbar/Symbol;",
            ">;"
        }
    .end annotation

    iget-wide v0, p0, Lcom/yanzhenjie/zbar/SymbolSet;->a:J

    invoke-direct {p0, v0, v1}, Lcom/yanzhenjie/zbar/SymbolSet;->firstSymbol(J)J

    move-result-wide v0

    const-wide/16 v2, 0x0

    cmp-long v4, v0, v2

    if-nez v4, :cond_13

    new-instance v0, Lgp/a;

    const/4 v1, 0x0

    invoke-direct {v0, v1}, Lgp/a;-><init>(Lcom/yanzhenjie/zbar/Symbol;)V

    return-object v0

    :cond_13
    new-instance v2, Lgp/a;

    new-instance v3, Lcom/yanzhenjie/zbar/Symbol;

    invoke-direct {v3, v0, v1}, Lcom/yanzhenjie/zbar/Symbol;-><init>(J)V

    invoke-direct {v2, v3}, Lgp/a;-><init>(Lcom/yanzhenjie/zbar/Symbol;)V

    return-object v2
.end method

.method public native size()I
.end method