e.smali

.class public final Lcom/imo/android/imoim/fresco/e;
.super Ljava/lang/Object;
.source "SourceFile"


# static fields
.field public static final a:Lcom/imo/android/imoim/fresco/e;

.field private static b:J

.field private static final c:Landroid/os/Handler;

.field private static final d:Ljava/lang/Runnable;

.field private static e:Lcom/imo/android/imoim/fresco/i;


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

    .line 16
    new-instance v0, Lcom/imo/android/imoim/fresco/e;

    invoke-direct {v0}, Lcom/imo/android/imoim/fresco/e;-><init>()V

    sput-object v0, Lcom/imo/android/imoim/fresco/e;->a:Lcom/imo/android/imoim/fresco/e;

    .line 25
    new-instance v0, Landroid/os/Handler;

    invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;

    move-result-object v1

    invoke-direct {v0, v1}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V

    sput-object v0, Lcom/imo/android/imoim/fresco/e;->c:Landroid/os/Handler;

    .line 26
    sget-object v0, Lcom/imo/android/imoim/fresco/e$a;->a:Lcom/imo/android/imoim/fresco/e$a;

    check-cast v0, Ljava/lang/Runnable;

    sput-object v0, Lcom/imo/android/imoim/fresco/e;->d:Ljava/lang/Runnable;

    return-void
.end method

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

    .line 16
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    return-void
.end method

.method public static final a()Lcom/facebook/common/memory/MemoryTrimmableRegistry;
    .registers 1

    .line 34
    sget-object v0, Lcom/imo/android/imoim/fresco/e;->e:Lcom/imo/android/imoim/fresco/i;

    if-nez v0, :cond_b

    .line 35
    new-instance v0, Lcom/imo/android/imoim/fresco/i;

    invoke-direct {v0}, Lcom/imo/android/imoim/fresco/i;-><init>()V

    sput-object v0, Lcom/imo/android/imoim/fresco/e;->e:Lcom/imo/android/imoim/fresco/i;

    .line 37
    :cond_b
    sget-object v0, Lcom/imo/android/imoim/fresco/e;->e:Lcom/imo/android/imoim/fresco/i;

    check-cast v0, Lcom/facebook/common/memory/MemoryTrimmableRegistry;

    return-object v0
.end method

.method public static final a(I)V
    .registers 3

    .line 42
    invoke-static {p0}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object v0

    const-string v1, "onTrimMemory, level:"

    invoke-virtual {v1, v0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    const-string v1, "FrescoMemoryTrim"

    .line 1071
    invoke-static {v1, v0}, Lcom/imo/android/imoim/util/bt;->d(Ljava/lang/String;Ljava/lang/String;)V

    .line 43
    sget-object v0, Lcom/imo/android/imoim/fresco/e;->e:Lcom/imo/android/imoim/fresco/i;

    if-eqz v0, :cond_3c

    const/16 v1, 0x28

    if-lt p0, v1, :cond_1a

    .line 2018
    sget-object p0, Lcom/facebook/common/memory/MemoryTrimType;->OnAppBackgrounded:Lcom/facebook/common/memory/MemoryTrimType;

    goto :goto_22

    :cond_1a
    const/16 v1, 0xa

    if-lt p0, v1, :cond_21

    .line 2019
    sget-object p0, Lcom/facebook/common/memory/MemoryTrimType;->OnSystemLowMemoryWhileAppInForeground:Lcom/facebook/common/memory/MemoryTrimType;

    goto :goto_22

    :cond_21
    const/4 p0, 0x0

    :goto_22
    if-eqz p0, :cond_3c

    .line 2024
    iget-object v0, v0, Lcom/imo/android/imoim/fresco/i;->a:Ljava/util/concurrent/CopyOnWriteArrayList;

    check-cast v0, Ljava/lang/Iterable;

    .line 2040
    invoke-interface {v0}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;

    move-result-object v0

    :goto_2c
    invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z

    move-result v1

    if-eqz v1, :cond_3c

    invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Lcom/facebook/common/memory/MemoryTrimmable;

    .line 2025
    invoke-interface {v1, p0}, Lcom/facebook/common/memory/MemoryTrimmable;->trim(Lcom/facebook/common/memory/MemoryTrimType;)V

    goto :goto_2c

    :cond_3c
    return-void
.end method

.method public static final b()V
    .registers 2

    .line 48
    sget-object v0, Lcom/imo/android/imoim/fresco/e;->c:Landroid/os/Handler;

    sget-object v1, Lcom/imo/android/imoim/fresco/e;->d:Ljava/lang/Runnable;

    invoke-virtual {v0, v1}, Landroid/os/Handler;->removeCallbacks(Ljava/lang/Runnable;)V

    return-void
.end method

.method public static final c()V
    .registers 4

    .line 53
    invoke-static {}, Lcom/imo/android/imoim/util/ei;->ba()Z

    move-result v0

    if-eqz v0, :cond_1f

    sget-object v0, Lsg/bigo/apm/plugins/memoryinfo/c/e;->b:Lsg/bigo/apm/plugins/memoryinfo/c/e;

    invoke-static {}, Lsg/bigo/apm/plugins/memoryinfo/c/e;->a()Z

    move-result v0

    if-nez v0, :cond_1f

    .line 54
    sget-object v0, Lcom/imo/android/imoim/fresco/e;->c:Landroid/os/Handler;

    sget-object v1, Lcom/imo/android/imoim/fresco/e;->d:Ljava/lang/Runnable;

    invoke-virtual {v0, v1}, Landroid/os/Handler;->removeCallbacks(Ljava/lang/Runnable;)V

    .line 55
    sget-object v0, Lcom/imo/android/imoim/fresco/e;->c:Landroid/os/Handler;

    sget-object v1, Lcom/imo/android/imoim/fresco/e;->d:Ljava/lang/Runnable;

    const-wide/32 v2, 0x9c40

    invoke-virtual {v0, v1, v2, v3}, Landroid/os/Handler;->postDelayed(Ljava/lang/Runnable;J)Z

    :cond_1f
    return-void
.end method

.method public static final synthetic d()V
    .registers 8

    .line 2063
    invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J

    move-result-wide v0

    .line 2064
    sget-wide v2, Lcom/imo/android/imoim/fresco/e;->b:J

    sub-long v2, v0, v2

    const-wide/32 v4, 0x1d4c0

    cmp-long v6, v2, v4

    if-lez v6, :cond_4e

    .line 2073
    invoke-static {}, Ljava/lang/Runtime;->getRuntime()Ljava/lang/Runtime;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/Runtime;->maxMemory()J

    move-result-wide v2

    .line 2074
    invoke-static {}, Ljava/lang/Runtime;->getRuntime()Ljava/lang/Runtime;

    move-result-object v4

    invoke-virtual {v4}, Ljava/lang/Runtime;->totalMemory()J

    move-result-wide v4

    .line 2075
    invoke-static {}, Ljava/lang/Runtime;->getRuntime()Ljava/lang/Runtime;

    move-result-object v6

    invoke-virtual {v6}, Ljava/lang/Runtime;->freeMemory()J

    move-result-wide v6

    sub-long/2addr v4, v6

    long-to-float v4, v4

    long-to-float v2, v2

    div-float/2addr v4, v2

    const v2, 0x3f333333    # 0.7f

    cmpl-float v2, v4, v2

    if-lez v2, :cond_34

    const/4 v2, 0x1

    goto :goto_35

    :cond_34
    const/4 v2, 0x0

    :goto_35
    if-eqz v2, :cond_4e

    .line 2065
    sput-wide v0, Lcom/imo/android/imoim/fresco/e;->b:J

    .line 2066
    invoke-static {}, Lcom/facebook/imagepipeline/core/ImagePipelineFactory;->hasBeenInitialized()Z

    move-result v0

    if-eqz v0, :cond_4e

    .line 2067
    invoke-static {}, Lcom/facebook/imagepipeline/core/ImagePipelineFactory;->getInstance()Lcom/facebook/imagepipeline/core/ImagePipelineFactory;

    move-result-object v0

    if-eqz v0, :cond_4e

    invoke-virtual {v0}, Lcom/facebook/imagepipeline/core/ImagePipelineFactory;->getImagePipeline()Lcom/facebook/imagepipeline/core/ImagePipeline;

    move-result-object v0

    if-eqz v0, :cond_4e

    invoke-virtual {v0}, Lcom/facebook/imagepipeline/core/ImagePipeline;->clearMemoryCaches()V

    :cond_4e
    return-void
.end method