a.smali
.class public final Lba/a;
.super Landroid/os/FileObserver;
.source "CacheFileObserver.kt"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lba/a$a;
}
.end annotation
.annotation runtime Lkotlin/Metadata;
bv = {
0x1,
0x0,
0x3
}
d1 = {
"\u0000H\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0008\n\u0002\u0008\u0002\n\u0002\u0010\t\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0010\u000e\n\u0000\n\u0002\u0010\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u000c\u0018\u0000 2\u00020\u0001:\u0001 B)\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u0012\u0006\u0010\u0004\u001a\u00020\u0005\u0012\u0008\u0008\u0002\u0010\u0006\u001a\u00020\u0005\u0012\u0008\u0008\u0002\u0010\u0007\u001a\u00020\u0008\u00a2\u0006\u0002\u0010\tJ\u0008\u0010\u0016\u001a\u00020\u0012H\u0002J\u0011\u0010\u0017\u001a\u00020\u0000H\u0086@\u00f8\u0001\u0000\u00a2\u0006\u0002\u0010\u0018J\u001a\u0010\u0019\u001a\u00020\u00122\u0006\u0010\u000f\u001a\u00020\u00052\u0008\u0010\u0011\u001a\u0004\u0018\u00010\u0010H\u0002J\u001a\u0010\u001a\u001a\u00020\u00122\u0006\u0010\u000f\u001a\u00020\u00052\u0008\u0010\u0011\u001a\u0004\u0018\u00010\u0010H\u0002J\u001a\u0010\u001b\u001a\u00020\u00122\u0006\u0010\u000f\u001a\u00020\u00052\u0008\u0010\u0011\u001a\u0004\u0018\u00010\u0010H\u0016JK\u0010\u001c\u001a\u00020\u000028\u0010\u001d\u001a4\u0012\u0013\u0012\u00110\u0005\u00a2\u0006\u000c\u0008\r\u0012\u0008\u0008\u000e\u0012\u0004\u0008\u0008(\u000f\u0012\u0015\u0012\u0013\u0018\u00010\u0010\u00a2\u0006\u000c\u0008\r\u0012\u0008\u0008\u000e\u0012\u0004\u0008\u0008(\u0011\u0012\u0004\u0012\u00020\u00120\u000cH\u0086@\u00f8\u0001\u0000\u00a2\u0006\u0002\u0010\u001eJK\u0010\u001f\u001a\u00020\u000028\u0010\u001d\u001a4\u0012\u0013\u0012\u00110\u0005\u00a2\u0006\u000c\u0008\r\u0012\u0008\u0008\u000e\u0012\u0004\u0008\u0008(\u000f\u0012\u0015\u0012\u0013\u0018\u00010\u0010\u00a2\u0006\u000c\u0008\r\u0012\u0008\u0008\u000e\u0012\u0004\u0008\u0008(\u0011\u0012\u0004\u0012\u00020\u00120\u000cH\u0086@\u00f8\u0001\u0000\u00a2\u0006\u0002\u0010\u001eR\u0082\u0001\u0010\n\u001av\u00126\u00124\u0012\u0013\u0012\u00110\u0005\u00a2\u0006\u000c\u0008\r\u0012\u0008\u0008\u000e\u0012\u0004\u0008\u0008(\u000f\u0012\u0015\u0012\u0013\u0018\u00010\u0010\u00a2\u0006\u000c\u0008\r\u0012\u0008\u0008\u000e\u0012\u0004\u0008\u0008(\u0011\u0012\u0004\u0012\u00020\u00120\u000c0\u000bj:\u00126\u00124\u0012\u0013\u0012\u00110\u0005\u00a2\u0006\u000c\u0008\r\u0012\u0008\u0008\u000e\u0012\u0004\u0008\u0008(\u000f\u0012\u0015\u0012\u0013\u0018\u00010\u0010\u00a2\u0006\u000c\u0008\r\u0012\u0008\u0008\u000e\u0012\u0004\u0008\u0008(\u0011\u0012\u0004\u0012\u00020\u00120\u000c`\u0013X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u0014\u0010\u0014\u001a\u0008\u0012\u0004\u0012\u00020\u00080\u0015X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0002\u001a\u00020\u0003X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0004\u001a\u00020\u0005X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0006\u001a\u00020\u0005X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0007\u001a\u00020\u0008X\u0082\u0004\u00a2\u0006\u0002\n\u0000\u0082\u0002\u0004\n\u0002\u0008\u0019\u00a8\u0006!"
}
d2 = {
"Lcom/shopee/android/filecache/service/common/CacheFileObserver;",
"Landroid/os/FileObserver;",
"file",
"Ljava/io/File;",
"mask",
"",
"warningCount",
"warningInterval",
"",
"(Ljava/io/File;IIJ)V",
"eventListeners",
"Ljava/util/ArrayList;",
"Lkotlin/Function2;",
"Lkotlin/ParameterName;",
"name",
"event",
"",
"path",
"",
"Lkotlin/collections/ArrayList;",
"eventTimes",
"Ljava/util/LinkedList;",
"checkEventFrequently",
"clearRegister",
"(Lkotlin/coroutines/Continuation;)Ljava/lang/Object;",
"handleEvent",
"invokeListeners",
"onEvent",
"register",
"listener",
"(Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;",
"unRegister",
"Companion",
"file-cache_release"
}
k = 0x1
mv = {
0x1,
0x4,
0x2
}
.end annotation
# instance fields
.field public final a:Ljava/util/ArrayList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/ArrayList<",
"Lkotlin/jvm/functions/Function2<",
"Ljava/lang/Integer;",
"Ljava/lang/String;",
"Lkotlin/Unit;",
">;>;"
}
.end annotation
.end field
.field public final b:Ljava/util/LinkedList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/LinkedList<",
"Ljava/lang/Long;",
">;"
}
.end annotation
.end field
.field public final c:I
.field public final d:J
# direct methods
.method public static constructor <clinit>()V
.registers 2
new-instance v0, Lba/a$a;
const/4 v1, 0x0
invoke-direct {v0, v1}, Lba/a$a;-><init>(Lkotlin/jvm/internal/DefaultConstructorMarker;)V
return-void
.end method
.method public constructor <init>(Ljava/io/File;IIJ)V
.registers 7
const-string v0, "file"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
invoke-direct {p0, p1, p2}, Landroid/os/FileObserver;-><init>(Ljava/io/File;I)V
iput p3, p0, Lba/a;->c:I
iput-wide p4, p0, Lba/a;->d:J
new-instance p1, Ljava/util/ArrayList;
invoke-direct {p1}, Ljava/util/ArrayList;-><init>()V
iput-object p1, p0, Lba/a;->a:Ljava/util/ArrayList;
new-instance p1, Ljava/util/LinkedList;
invoke-direct {p1}, Ljava/util/LinkedList;-><init>()V
iput-object p1, p0, Lba/a;->b:Ljava/util/LinkedList;
return-void
.end method
.method public synthetic constructor <init>(Ljava/io/File;IIJILkotlin/jvm/internal/DefaultConstructorMarker;)V
.registers 14
and-int/lit8 p7, p6, 0x4
if-eqz p7, :cond_9
const/16 p3, 0xa
const/16 v3, 0xa
goto :goto_a
:cond_9
move v3, p3
:goto_a
and-int/lit8 p3, p6, 0x8
if-eqz p3, :cond_10
const-wide/16 p4, 0x3e8
:cond_10
move-wide v4, p4
move-object v0, p0
move-object v1, p1
move v2, p2
invoke-direct/range {v0 .. v5}, Lba/a;-><init>(Ljava/io/File;IIJ)V
return-void
.end method
# virtual methods
.method public final a(Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lkotlin/coroutines/Continuation<",
"-",
"Lba/a;",
">;)",
"Ljava/lang/Object;"
}
.end annotation
iget-object p1, p0, Lba/a;->a:Ljava/util/ArrayList;
monitor-enter p1
:try_start_3
iget-object v0, p0, Lba/a;->a:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->clear()V
invoke-virtual {p0}, Landroid/os/FileObserver;->stopWatching()V
sget-object v0, Lkotlin/Unit;->INSTANCE:Lkotlin/Unit;
:try_end_d
.catchall {:try_start_3 .. :try_end_d} :catchall_f
monitor-exit p1
return-object p0
:catchall_f
move-exception v0
monitor-exit p1
throw v0
.end method
.method public final a(Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lkotlin/jvm/functions/Function2<",
"-",
"Ljava/lang/Integer;",
"-",
"Ljava/lang/String;",
"Lkotlin/Unit;",
">;",
"Lkotlin/coroutines/Continuation<",
"-",
"Lba/a;",
">;)",
"Ljava/lang/Object;"
}
.end annotation
iget-object p2, p0, Lba/a;->a:Ljava/util/ArrayList;
monitor-enter p2
:try_start_3
iget-object v0, p0, Lba/a;->a:Ljava/util/ArrayList;
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
iget-object p1, p0, Lba/a;->a:Ljava/util/ArrayList;
invoke-virtual {p1}, Ljava/util/ArrayList;->size()I
move-result p1
const/4 v0, 0x1
if-ne p1, v0, :cond_14
invoke-virtual {p0}, Landroid/os/FileObserver;->startWatching()V
:cond_14
sget-object p1, Lkotlin/Unit;->INSTANCE:Lkotlin/Unit;
:try_end_16
.catchall {:try_start_3 .. :try_end_16} :catchall_18
monitor-exit p2
return-object p0
:catchall_18
move-exception p1
monitor-exit p2
throw p1
.end method
.method public final a()V
.registers 7
iget-object v0, p0, Lba/a;->b:Ljava/util/LinkedList;
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v1
invoke-static {v1, v2}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/util/LinkedList;->add(Ljava/lang/Object;)Z
invoke-virtual {v0}, Ljava/util/LinkedList;->size()I
move-result v1
iget v2, p0, Lba/a;->c:I
if-ne v1, v2, :cond_50
invoke-virtual {v0}, Ljava/util/LinkedList;->getLast()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/Number;
invoke-virtual {v1}, Ljava/lang/Number;->longValue()J
move-result-wide v1
invoke-virtual {v0}, Ljava/util/LinkedList;->getFirst()Ljava/lang/Object;
move-result-object v3
const-string v4, "first"
invoke-static {v3, v4}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
check-cast v3, Ljava/lang/Number;
invoke-virtual {v3}, Ljava/lang/Number;->longValue()J
move-result-wide v3
sub-long/2addr v1, v3
iget-wide v3, p0, Lba/a;->d:J
cmp-long v5, v1, v3
if-gez v5, :cond_4d
sget-object v3, Lda/a;->b:Lda/a;
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
const-string v5, "[checkEventFrequently] "
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, v1, v2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
const-string v2, "CacheFileObserver"
invoke-virtual {v3, v2, v1}, Lda/a;->b(Ljava/lang/String;Ljava/lang/String;)V
:cond_4d
invoke-virtual {v0}, Ljava/util/LinkedList;->removeFirst()Ljava/lang/Object;
:cond_50
return-void
.end method
.method public final a(ILjava/lang/String;)V
.registers 7
iget-object v0, p0, Lba/a;->a:Ljava/util/ArrayList;
monitor-enter v0
:try_start_3
iget-object v1, p0, Lba/a;->a:Ljava/util/ArrayList;
invoke-interface {v1}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_9
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_1d
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lkotlin/jvm/functions/Function2;
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v3
invoke-interface {v2, v3, p2}, Lkotlin/jvm/functions/Function2;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_9
:cond_1d
sget-object p1, Lkotlin/Unit;->INSTANCE:Lkotlin/Unit;
:try_end_1f
.catchall {:try_start_3 .. :try_end_1f} :catchall_21
monitor-exit v0
return-void
:catchall_21
move-exception p1
monitor-exit v0
goto :goto_25
:goto_24
throw p1
:goto_25
goto :goto_24
.end method
.method public onEvent(ILjava/lang/String;)V
.registers 3
invoke-virtual {p0}, Lba/a;->a()V
invoke-virtual {p0, p1, p2}, Lba/a;->a(ILjava/lang/String;)V
return-void
.end method