SpectrumPluginJpeg.smali

.class public Lcom/facebook/spectrum/plugins/SpectrumPluginJpeg;
.super Lcom/facebook/spectrum/plugins/SpectrumPlugin;
.source "SpectrumPluginJpeg.java"


# static fields
.field public static sInstance:Lcom/facebook/spectrum/plugins/SpectrumPluginJpeg;


# instance fields
.field public mHybridData:Lcom/facebook/jni/HybridData;
    .annotation build Lcom/facebook/jni/annotations/DoNotStrip;
    .end annotation

    .annotation runtime Ljavax/annotation/Nullable;
    .end annotation
.end field


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

    return-void
.end method

.method public constructor <init>()V
    .registers 1

    invoke-direct {p0}, Lcom/facebook/spectrum/plugins/SpectrumPlugin;-><init>()V

    return-void
.end method

.method public static get()Lcom/facebook/spectrum/plugins/SpectrumPluginJpeg;
    .registers 2

    const-class v0, Lcom/facebook/spectrum/plugins/SpectrumPluginJpeg;

    monitor-enter v0

    :try_start_3
    sget-object v1, Lcom/facebook/spectrum/plugins/SpectrumPluginJpeg;->sInstance:Lcom/facebook/spectrum/plugins/SpectrumPluginJpeg;

    if-eqz v1, :cond_b

    sget-object v1, Lcom/facebook/spectrum/plugins/SpectrumPluginJpeg;->sInstance:Lcom/facebook/spectrum/plugins/SpectrumPluginJpeg;

    monitor-exit v0

    return-object v1

    :cond_b
    new-instance v1, Lcom/facebook/spectrum/plugins/SpectrumPluginJpeg;

    invoke-direct {v1}, Lcom/facebook/spectrum/plugins/SpectrumPluginJpeg;-><init>()V

    sput-object v1, Lcom/facebook/spectrum/plugins/SpectrumPluginJpeg;->sInstance:Lcom/facebook/spectrum/plugins/SpectrumPluginJpeg;

    invoke-virtual {v1}, Lcom/facebook/spectrum/plugins/SpectrumPluginJpeg;->ensureLoadedAndInitialized()V

    sget-object v1, Lcom/facebook/spectrum/plugins/SpectrumPluginJpeg;->sInstance:Lcom/facebook/spectrum/plugins/SpectrumPluginJpeg;

    monitor-exit v0

    return-object v1

    :catchall_19
    move-exception v1

    monitor-exit v0
    :try_end_1b
    .catchall {:try_start_3 .. :try_end_1b} :catchall_19

    throw v1
.end method

.method private native initHybrid()Lcom/facebook/jni/HybridData;
    .annotation build Lcom/facebook/jni/annotations/DoNotStrip;
    .end annotation
.end method

.method private native nativeCreatePlugin()J
    .annotation build Lcom/facebook/jni/annotations/DoNotStrip;
    .end annotation
.end method


# virtual methods
.method public createPlugin()J
    .registers 3

    invoke-direct {p0}, Lcom/facebook/spectrum/plugins/SpectrumPluginJpeg;->nativeCreatePlugin()J

    move-result-wide v0

    return-wide v0
.end method

.method public declared-synchronized ensureLoadedAndInitialized()V
    .registers 2

    monitor-enter p0

    :try_start_1
    iget-object v0, p0, Lcom/facebook/spectrum/plugins/SpectrumPluginJpeg;->mHybridData:Lcom/facebook/jni/HybridData;

    if-eqz v0, :cond_f

    iget-object v0, p0, Lcom/facebook/spectrum/plugins/SpectrumPluginJpeg;->mHybridData:Lcom/facebook/jni/HybridData;

    invoke-virtual {v0}, Lcom/facebook/jni/HybridData;->isValid()Z

    move-result v0
    :try_end_b
    .catchall {:try_start_1 .. :try_end_b} :catchall_1c

    if-eqz v0, :cond_f

    monitor-exit p0

    return-void

    :cond_f
    :try_start_f
    const-string v0, "spectrumpluginjpeg"

    invoke-static {v0}, Lcom/facebook/spectrum/SpectrumSoLoader;->loadLibrary(Ljava/lang/String;)V

    invoke-direct {p0}, Lcom/facebook/spectrum/plugins/SpectrumPluginJpeg;->initHybrid()Lcom/facebook/jni/HybridData;

    move-result-object v0

    iput-object v0, p0, Lcom/facebook/spectrum/plugins/SpectrumPluginJpeg;->mHybridData:Lcom/facebook/jni/HybridData;
    :try_end_1a
    .catchall {:try_start_f .. :try_end_1a} :catchall_1c

    monitor-exit p0

    return-void

    :catchall_1c
    move-exception v0

    monitor-exit p0

    throw v0
.end method