PlatformDecoderFactory.smali
.class public Lcom/facebook/imagepipeline/platform/PlatformDecoderFactory;
.super Ljava/lang/Object;
.source "SourceFile"
# direct methods
.method public constructor <init>()V
.registers 1
.line 16
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static buildPlatformDecoder(Lcom/facebook/imagepipeline/memory/PoolFactory;Z)Lcom/facebook/imagepipeline/platform/PlatformDecoder;
.registers 4
.line 27
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x1a
if-lt v0, v1, :cond_19
.line 28
invoke-virtual {p0}, Lcom/facebook/imagepipeline/memory/PoolFactory;->getFlexByteArrayPoolMaxNumThreads()I
move-result p1
.line 29
new-instance v0, Lcom/facebook/imagepipeline/platform/OreoDecoder;
.line 30
invoke-virtual {p0}, Lcom/facebook/imagepipeline/memory/PoolFactory;->getBitmapPool()Lcom/facebook/imagepipeline/memory/BitmapPool;
move-result-object p0
new-instance v1, Landroidx/core/util/Pools$SynchronizedPool;
invoke-direct {v1, p1}, Landroidx/core/util/Pools$SynchronizedPool;-><init>(I)V
invoke-direct {v0, p0, p1, v1}, Lcom/facebook/imagepipeline/platform/OreoDecoder;-><init>(Lcom/facebook/imagepipeline/memory/BitmapPool;ILandroidx/core/util/Pools$SynchronizedPool;)V
return-object v0
.line 31
:cond_19
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x15
if-lt v0, v1, :cond_32
.line 32
invoke-virtual {p0}, Lcom/facebook/imagepipeline/memory/PoolFactory;->getFlexByteArrayPoolMaxNumThreads()I
move-result p1
.line 33
new-instance v0, Lcom/facebook/imagepipeline/platform/ArtDecoder;
.line 34
invoke-virtual {p0}, Lcom/facebook/imagepipeline/memory/PoolFactory;->getBitmapPool()Lcom/facebook/imagepipeline/memory/BitmapPool;
move-result-object p0
new-instance v1, Landroidx/core/util/Pools$SynchronizedPool;
invoke-direct {v1, p1}, Landroidx/core/util/Pools$SynchronizedPool;-><init>(I)V
invoke-direct {v0, p0, p1, v1}, Lcom/facebook/imagepipeline/platform/ArtDecoder;-><init>(Lcom/facebook/imagepipeline/memory/BitmapPool;ILandroidx/core/util/Pools$SynchronizedPool;)V
return-object v0
:cond_32
if-eqz p1, :cond_40
.line 36
sget p1, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v0, 0x13
if-ge p1, v0, :cond_40
.line 37
new-instance p0, Lcom/facebook/imagepipeline/platform/GingerbreadPurgeableDecoder;
invoke-direct {p0}, Lcom/facebook/imagepipeline/platform/GingerbreadPurgeableDecoder;-><init>()V
return-object p0
.line 39
:cond_40
new-instance p1, Lcom/facebook/imagepipeline/platform/KitKatPurgeableDecoder;
invoke-virtual {p0}, Lcom/facebook/imagepipeline/memory/PoolFactory;->getFlexByteArrayPool()Lcom/facebook/imagepipeline/memory/FlexByteArrayPool;
move-result-object p0
invoke-direct {p1, p0}, Lcom/facebook/imagepipeline/platform/KitKatPurgeableDecoder;-><init>(Lcom/facebook/imagepipeline/memory/FlexByteArrayPool;)V
return-object p1
.end method