Spectrum.smali
.class public Lcom/facebook/spectrum/Spectrum;
.super Ljava/lang/Object;
.source "Spectrum.java"
# interfaces
.implements Lcom/facebook/spectrum/ISpectrum;
# instance fields
.field public final mSpectrumHybrid:Lcom/facebook/spectrum/SpectrumHybrid;
.field public final mSpectrumLogger:Lcom/facebook/spectrum/logging/SpectrumLogger;
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>(Lcom/facebook/spectrum/logging/SpectrumLogger;Lcom/facebook/spectrum/Configuration;[Lcom/facebook/spectrum/plugins/SpectrumPlugin;)V
.registers 5
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
new-instance v0, Lcom/facebook/spectrum/SpectrumHybrid;
invoke-direct {v0, p2, p3}, Lcom/facebook/spectrum/SpectrumHybrid;-><init>(Lcom/facebook/spectrum/Configuration;[Lcom/facebook/spectrum/plugins/SpectrumPlugin;)V
iput-object v0, p0, Lcom/facebook/spectrum/Spectrum;->mSpectrumHybrid:Lcom/facebook/spectrum/SpectrumHybrid;
invoke-static {p1}, Lcom/facebook/spectrum/utils/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/facebook/spectrum/logging/SpectrumLogger;
iput-object p1, p0, Lcom/facebook/spectrum/Spectrum;->mSpectrumLogger:Lcom/facebook/spectrum/logging/SpectrumLogger;
return-void
.end method
.method private internalExecute(Lcom/facebook/spectrum/SpectrumTask;Lcom/facebook/spectrum/options/Options;Ljava/lang/Object;)Lcom/facebook/spectrum/SpectrumResult;
.registers 5
.annotation build Landroid/annotation/SuppressLint;
value = {
"CatchGeneralException"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/facebook/spectrum/SpectrumException;
}
.end annotation
invoke-static {p1}, Lcom/facebook/spectrum/utils/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
iget-object v0, p0, Lcom/facebook/spectrum/Spectrum;->mSpectrumLogger:Lcom/facebook/spectrum/logging/SpectrumLogger;
invoke-interface {v0, p2, p3}, Lcom/facebook/spectrum/logging/SpectrumLogger;->onStart(Lcom/facebook/spectrum/options/Options;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
:try_start_9
iget-object p3, p0, Lcom/facebook/spectrum/Spectrum;->mSpectrumHybrid:Lcom/facebook/spectrum/SpectrumHybrid;
invoke-interface {p1, p3}, Lcom/facebook/spectrum/SpectrumTask;->execute(Lcom/facebook/spectrum/SpectrumHybrid;)Lcom/facebook/spectrum/SpectrumResult;
move-result-object p1
:try_end_f
.catch Lcom/facebook/spectrum/SpectrumException; {:try_start_9 .. :try_end_f} :catch_23
.catch Ljava/lang/Exception; {:try_start_9 .. :try_end_f} :catch_17
.catchall {:try_start_9 .. :try_end_f} :catchall_15
iget-object p3, p0, Lcom/facebook/spectrum/Spectrum;->mSpectrumLogger:Lcom/facebook/spectrum/logging/SpectrumLogger;
invoke-interface {p3, p2, p1}, Lcom/facebook/spectrum/logging/SpectrumLogger;->onFinish(Ljava/lang/Object;Lcom/facebook/spectrum/SpectrumResult;)V
return-object p1
:catchall_15
move-exception p1
goto :goto_2a
:catch_17
move-exception p1
:try_start_18
iget-object p3, p0, Lcom/facebook/spectrum/Spectrum;->mSpectrumLogger:Lcom/facebook/spectrum/logging/SpectrumLogger;
invoke-interface {p3, p2, p1}, Lcom/facebook/spectrum/logging/SpectrumLogger;->onError(Ljava/lang/Object;Ljava/lang/Exception;)V
new-instance p3, Lcom/facebook/spectrum/SpectrumException;
invoke-direct {p3, p1}, Lcom/facebook/spectrum/SpectrumException;-><init>(Ljava/lang/Exception;)V
throw p3
:catch_23
move-exception p1
iget-object p3, p0, Lcom/facebook/spectrum/Spectrum;->mSpectrumLogger:Lcom/facebook/spectrum/logging/SpectrumLogger;
invoke-interface {p3, p2, p1}, Lcom/facebook/spectrum/logging/SpectrumLogger;->onError(Ljava/lang/Object;Ljava/lang/Exception;)V
throw p1
:try_end_2a
.catchall {:try_start_18 .. :try_end_2a} :catchall_15
:goto_2a
iget-object p3, p0, Lcom/facebook/spectrum/Spectrum;->mSpectrumLogger:Lcom/facebook/spectrum/logging/SpectrumLogger;
const/4 v0, 0x0
invoke-interface {p3, p2, v0}, Lcom/facebook/spectrum/logging/SpectrumLogger;->onFinish(Ljava/lang/Object;Lcom/facebook/spectrum/SpectrumResult;)V
throw p1
.end method
.method public static varargs make(Lcom/facebook/spectrum/logging/SpectrumLogger;Lcom/facebook/spectrum/Configuration;[Lcom/facebook/spectrum/plugins/SpectrumPlugin;)Lcom/facebook/spectrum/Spectrum;
.registers 4
new-instance v0, Lcom/facebook/spectrum/Spectrum;
invoke-direct {v0, p0, p1, p2}, Lcom/facebook/spectrum/Spectrum;-><init>(Lcom/facebook/spectrum/logging/SpectrumLogger;Lcom/facebook/spectrum/Configuration;[Lcom/facebook/spectrum/plugins/SpectrumPlugin;)V
return-object v0
.end method
.method public static make(Lcom/facebook/spectrum/logging/SpectrumLogger;[Lcom/facebook/spectrum/plugins/SpectrumPlugin;)Lcom/facebook/spectrum/Spectrum;
.registers 4
new-instance v0, Lcom/facebook/spectrum/Spectrum;
invoke-static {}, Lcom/facebook/spectrum/Configuration;->makeEmpty()Lcom/facebook/spectrum/Configuration;
move-result-object v1
invoke-direct {v0, p0, v1, p1}, Lcom/facebook/spectrum/Spectrum;-><init>(Lcom/facebook/spectrum/logging/SpectrumLogger;Lcom/facebook/spectrum/Configuration;[Lcom/facebook/spectrum/plugins/SpectrumPlugin;)V
return-object v0
.end method
# virtual methods
.method public decode(Lcom/facebook/spectrum/EncodedImageSource;Lcom/facebook/spectrum/BitmapTarget;Lcom/facebook/spectrum/options/DecodeOptions;Ljava/lang/Object;)Lcom/facebook/spectrum/SpectrumResult;
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/facebook/spectrum/SpectrumException;
}
.end annotation
new-instance v0, Lcom/facebook/spectrum/SpectrumTask$Decode;
invoke-direct {v0, p1, p2, p3}, Lcom/facebook/spectrum/SpectrumTask$Decode;-><init>(Lcom/facebook/spectrum/EncodedImageSource;Lcom/facebook/spectrum/BitmapTarget;Lcom/facebook/spectrum/options/DecodeOptions;)V
invoke-direct {p0, v0, p3, p4}, Lcom/facebook/spectrum/Spectrum;->internalExecute(Lcom/facebook/spectrum/SpectrumTask;Lcom/facebook/spectrum/options/Options;Ljava/lang/Object;)Lcom/facebook/spectrum/SpectrumResult;
move-result-object p1
return-object p1
.end method
.method public encode(Landroid/graphics/Bitmap;Lcom/facebook/spectrum/EncodedImageSink;Lcom/facebook/spectrum/options/EncodeOptions;Ljava/lang/Object;)Lcom/facebook/spectrum/SpectrumResult;
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/facebook/spectrum/SpectrumException;
}
.end annotation
new-instance v0, Lcom/facebook/spectrum/SpectrumTask$Encode;
invoke-direct {v0, p1, p2, p3}, Lcom/facebook/spectrum/SpectrumTask$Encode;-><init>(Landroid/graphics/Bitmap;Lcom/facebook/spectrum/EncodedImageSink;Lcom/facebook/spectrum/options/EncodeOptions;)V
invoke-direct {p0, v0, p3, p4}, Lcom/facebook/spectrum/Spectrum;->internalExecute(Lcom/facebook/spectrum/SpectrumTask;Lcom/facebook/spectrum/options/Options;Ljava/lang/Object;)Lcom/facebook/spectrum/SpectrumResult;
move-result-object p1
return-object p1
.end method
.method public isAvailable()Z
.registers 2
iget-object v0, p0, Lcom/facebook/spectrum/Spectrum;->mSpectrumHybrid:Lcom/facebook/spectrum/SpectrumHybrid;
invoke-virtual {v0}, Lcom/facebook/spectrum/SpectrumHybrid;->isAvailable()Z
move-result v0
return v0
.end method
.method public isImageFormatSupported(Lcom/facebook/spectrum/image/ImageFormat;)Z
.registers 3
sget-object v0, Lcom/facebook/spectrum/image/ImageFormat;->BITMAP:Lcom/facebook/spectrum/image/ImageFormat;
invoke-virtual {v0, p1}, Lcom/facebook/spectrum/image/ImageFormat;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_23
sget-object v0, Lcom/facebook/spectrum/image/EncodedImageFormat;->JPEG:Lcom/facebook/spectrum/image/EncodedImageFormat;
invoke-virtual {v0, p1}, Lcom/facebook/spectrum/image/ImageFormat;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_23
sget-object v0, Lcom/facebook/spectrum/image/EncodedImageFormat;->PNG:Lcom/facebook/spectrum/image/EncodedImageFormat;
invoke-virtual {v0, p1}, Lcom/facebook/spectrum/image/ImageFormat;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_23
sget-object v0, Lcom/facebook/spectrum/image/EncodedImageFormat;->WEBP:Lcom/facebook/spectrum/image/EncodedImageFormat;
invoke-virtual {v0, p1}, Lcom/facebook/spectrum/image/ImageFormat;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_21
goto :goto_23
:cond_21
const/4 p1, 0x0
return p1
:cond_23
:goto_23
const/4 p1, 0x1
return p1
.end method
.method public transcode(Lcom/facebook/spectrum/EncodedImageSource;Lcom/facebook/spectrum/EncodedImageSink;Lcom/facebook/spectrum/options/TranscodeOptions;Ljava/lang/Object;)Lcom/facebook/spectrum/SpectrumResult;
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/facebook/spectrum/SpectrumException;
}
.end annotation
new-instance v0, Lcom/facebook/spectrum/SpectrumTask$Transcode;
invoke-direct {v0, p1, p2, p3}, Lcom/facebook/spectrum/SpectrumTask$Transcode;-><init>(Lcom/facebook/spectrum/EncodedImageSource;Lcom/facebook/spectrum/EncodedImageSink;Lcom/facebook/spectrum/options/TranscodeOptions;)V
invoke-direct {p0, v0, p3, p4}, Lcom/facebook/spectrum/Spectrum;->internalExecute(Lcom/facebook/spectrum/SpectrumTask;Lcom/facebook/spectrum/options/Options;Ljava/lang/Object;)Lcom/facebook/spectrum/SpectrumResult;
move-result-object p1
return-object p1
.end method
.method public transform(Landroid/graphics/Bitmap;Lcom/facebook/spectrum/BitmapTarget;Lcom/facebook/spectrum/options/TransformOptions;Ljava/lang/Object;)Lcom/facebook/spectrum/SpectrumResult;
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/facebook/spectrum/SpectrumException;
}
.end annotation
new-instance v0, Lcom/facebook/spectrum/SpectrumTask$Transform;
invoke-direct {v0, p1, p2, p3}, Lcom/facebook/spectrum/SpectrumTask$Transform;-><init>(Landroid/graphics/Bitmap;Lcom/facebook/spectrum/BitmapTarget;Lcom/facebook/spectrum/options/TransformOptions;)V
invoke-direct {p0, v0, p3, p4}, Lcom/facebook/spectrum/Spectrum;->internalExecute(Lcom/facebook/spectrum/SpectrumTask;Lcom/facebook/spectrum/options/Options;Ljava/lang/Object;)Lcom/facebook/spectrum/SpectrumResult;
move-result-object p1
return-object p1
.end method