i.smali
.class public abstract Lcom/garena/reactpush/v0/i;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/garena/reactpush/v0/l;
# static fields
.field public static final g:Ljava/util/concurrent/atomic/AtomicBoolean;
.field public static final h:Ljava/util/concurrent/ConcurrentLinkedQueue;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/ConcurrentLinkedQueue<",
"Lcom/garena/reactpush/v0/j;",
">;"
}
.end annotation
.end field
# instance fields
.field public final a:Z
.field public final b:Lcom/garena/reactpush/store/b;
.field public final c:Ljava/lang/String;
.field public final d:Z
.field public final e:Lcom/garena/reactpush/v0/j;
.field public f:Ljava/nio/channels/FileChannel;
# direct methods
.method public static constructor <clinit>()V
.registers 2
.line 1
new-instance v0, Ljava/util/concurrent/atomic/AtomicBoolean;
const/4 v1, 0x0
invoke-direct {v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;-><init>(Z)V
sput-object v0, Lcom/garena/reactpush/v0/i;->g:Ljava/util/concurrent/atomic/AtomicBoolean;
.line 2
new-instance v0, Ljava/util/concurrent/ConcurrentLinkedQueue;
invoke-direct {v0}, Ljava/util/concurrent/ConcurrentLinkedQueue;-><init>()V
sput-object v0, Lcom/garena/reactpush/v0/i;->h:Ljava/util/concurrent/ConcurrentLinkedQueue;
return-void
.end method
.method public constructor <init>(Lcom/garena/reactpush/store/b;ZLjava/lang/String;Z)V
.registers 6
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, 0x0
.line 2
iput-object v0, p0, Lcom/garena/reactpush/v0/i;->f:Ljava/nio/channels/FileChannel;
.line 3
iput-object p1, p0, Lcom/garena/reactpush/v0/i;->b:Lcom/garena/reactpush/store/b;
.line 4
iput-boolean p2, p0, Lcom/garena/reactpush/v0/i;->a:Z
.line 5
iput-object p3, p0, Lcom/garena/reactpush/v0/i;->c:Ljava/lang/String;
.line 6
iput-boolean p4, p0, Lcom/garena/reactpush/v0/i;->d:Z
.line 7
iput-object v0, p0, Lcom/garena/reactpush/v0/i;->e:Lcom/garena/reactpush/v0/j;
return-void
.end method
.method public static e(Lcom/garena/reactpush/v0/i;)V
.registers 6
.line 1
invoke-static {p0}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
sget-object v0, Lcom/garena/reactpush/a;->e:Lcom/garena/reactpush/util/i;
const-string v1, "RN_Container,ReactSyncPipelineBase-closeChannel syncInNewProcess:"
.line 3
invoke-static {v1}, Landroid/support/v4/media/c;->c(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
.line 4
iget-boolean v2, p0, Lcom/garena/reactpush/v0/i;->d:Z
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-interface {v0, v1}, Lcom/garena/reactpush/util/i;->info(Ljava/lang/String;)V
.line 5
iget-boolean v0, p0, Lcom/garena/reactpush/v0/i;->d:Z
if-eqz v0, :cond_3f
.line 6
:try_start_1b
iget-object p0, p0, Lcom/garena/reactpush/v0/i;->f:Ljava/nio/channels/FileChannel;
if-eqz p0, :cond_3f
.line 7
invoke-virtual {p0}, Ljava/nio/channels/spi/AbstractInterruptibleChannel;->close()V
:try_end_22
.catch Ljava/lang/Exception; {:try_start_1b .. :try_end_22} :catch_23
goto :goto_3f
:catch_23
move-exception p0
.line 8
invoke-virtual {p0}, Ljava/lang/Throwable;->getStackTrace()[Ljava/lang/StackTraceElement;
move-result-object v0
.line 9
array-length v1, v0
const/4 v2, 0x0
:goto_2a
if-ge v2, v1, :cond_3a
aget-object v3, v0, v2
.line 10
sget-object v4, Lcom/garena/reactpush/a;->e:Lcom/garena/reactpush/util/i;
invoke-virtual {v3}, Ljava/lang/StackTraceElement;->toString()Ljava/lang/String;
move-result-object v3
invoke-interface {v4, v3}, Lcom/garena/reactpush/util/i;->info(Ljava/lang/String;)V
add-int/lit8 v2, v2, 0x1
goto :goto_2a
.line 11
:cond_3a
sget-object v0, Lcom/garena/reactpush/a;->e:Lcom/garena/reactpush/util/i;
invoke-interface {v0, p0}, Lcom/garena/reactpush/util/i;->b(Ljava/lang/Throwable;)V
:cond_3f
:goto_3f
return-void
.end method
# virtual methods
.method public final a(Lcom/garena/reactpush/v0/j;)V
.registers 5
.line 1
sget-object v0, Lcom/garena/reactpush/a;->e:Lcom/garena/reactpush/util/i;
const-string v1, "Bundle sync"
invoke-interface {v0, v1}, Lcom/garena/reactpush/util/i;->info(Ljava/lang/String;)V
.line 2
new-instance v0, Lcom/garena/reactpush/v0/k;
invoke-direct {v0, p1}, Lcom/garena/reactpush/v0/k;-><init>(Lcom/garena/reactpush/v0/j;)V
.line 3
sget-object p1, Lcom/garena/reactpush/v0/i;->h:Ljava/util/concurrent/ConcurrentLinkedQueue;
invoke-virtual {p1, v0}, Ljava/util/concurrent/ConcurrentLinkedQueue;->add(Ljava/lang/Object;)Z
.line 4
sget-object p1, Lcom/garena/reactpush/a;->e:Lcom/garena/reactpush/util/i;
const-string v1, "RN_Container,ReactSyncPipelineBase-sync,separateExecutor:"
.line 5
invoke-static {v1}, Landroid/support/v4/media/c;->c(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
.line 6
iget-boolean v2, p0, Lcom/garena/reactpush/v0/i;->a:Z
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-interface {p1, v1}, Lcom/garena/reactpush/util/i;->info(Ljava/lang/String;)V
.line 7
iget-boolean p1, p0, Lcom/garena/reactpush/v0/i;->a:Z
if-eqz p1, :cond_33
.line 8
new-instance p1, Lcom/facebook/appevents/codeless/a;
const/4 v1, 0x1
invoke-direct {p1, p0, v0, v1}, Lcom/facebook/appevents/codeless/a;-><init>(Ljava/lang/Object;Ljava/lang/Object;I)V
invoke-static {p1}, Lcom/garena/reactpush/util/n;->a(Ljava/lang/Runnable;)V
goto :goto_3c
.line 9
:cond_33
new-instance p1, Lcom/garena/reactpush/v0/h;
const/4 v1, 0x0
invoke-direct {p1, p0, v0, v1}, Lcom/garena/reactpush/v0/h;-><init>(Ljava/lang/Object;Ljava/lang/Object;I)V
invoke-static {p1}, Lcom/garena/reactpush/util/a;->a(Ljava/lang/Runnable;)V
:goto_3c
return-void
.end method
.method public final b()Z
.registers 2
sget-object v0, Lcom/garena/reactpush/v0/i;->g:Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;->get()Z
move-result v0
return v0
.end method
.method public final c(Lcom/garena/reactpush/v0/j;)V
.registers 5
.line 1
sget-object v0, Lcom/garena/reactpush/a;->e:Lcom/garena/reactpush/util/i;
const-string v1, "Bundle force sync"
invoke-interface {v0, v1}, Lcom/garena/reactpush/util/i;->info(Ljava/lang/String;)V
.line 2
sget-object v0, Lcom/garena/reactpush/a;->e:Lcom/garena/reactpush/util/i;
const-string v1, "RN_Container,ReactSyncPipelineBase-forceSync,separateExecutor:"
.line 3
invoke-static {v1}, Landroid/support/v4/media/c;->c(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
.line 4
iget-boolean v2, p0, Lcom/garena/reactpush/v0/i;->a:Z
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-interface {v0, v1}, Lcom/garena/reactpush/util/i;->info(Ljava/lang/String;)V
.line 5
iget-boolean v0, p0, Lcom/garena/reactpush/v0/i;->a:Z
if-eqz v0, :cond_29
.line 6
new-instance v0, Lcom/garena/reactpush/v0/g;
const/4 v1, 0x0
invoke-direct {v0, p0, p1, v1}, Lcom/garena/reactpush/v0/g;-><init>(Ljava/lang/Object;Ljava/lang/Object;I)V
invoke-static {v0}, Lcom/garena/reactpush/util/n;->a(Ljava/lang/Runnable;)V
goto :goto_32
.line 7
:cond_29
new-instance v0, Lcom/facebook/bolts/i;
const/4 v1, 0x1
invoke-direct {v0, p0, p1, v1}, Lcom/facebook/bolts/i;-><init>(Ljava/lang/Object;Ljava/lang/Object;I)V
invoke-static {v0}, Lcom/garena/reactpush/util/a;->a(Ljava/lang/Runnable;)V
:goto_32
return-void
.end method
.method public abstract d(Lcom/garena/reactpush/v0/j;)V
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.end method
.method public final f(Lcom/garena/reactpush/v0/j;)V
.registers 8
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
sget-object v0, Lcom/garena/reactpush/a;->e:Lcom/garena/reactpush/util/i;
const-string v1, "Bundle sync execute"
invoke-interface {v0, v1}, Lcom/garena/reactpush/util/i;->info(Ljava/lang/String;)V
.line 2
sget-object v0, Lcom/garena/reactpush/a;->e:Lcom/garena/reactpush/util/i;
const-string v1, "RN_Container,ReactSyncPipelineBase-lockChannel syncInNewProcess:"
.line 3
invoke-static {v1}, Landroid/support/v4/media/c;->c(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
.line 4
iget-boolean v2, p0, Lcom/garena/reactpush/v0/i;->d:Z
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-interface {v0, v1}, Lcom/garena/reactpush/util/i;->info(Ljava/lang/String;)V
.line 5
iget-boolean v0, p0, Lcom/garena/reactpush/v0/i;->d:Z
if-eqz v0, :cond_63
.line 6
:try_start_1f
new-instance v0, Ljava/io/File;
iget-object v1, p0, Lcom/garena/reactpush/v0/i;->c:Ljava/lang/String;
const-string v2, "temp/"
invoke-direct {v0, v1, v2}, Ljava/io/File;-><init>(Ljava/lang/String;Ljava/lang/String;)V
.line 7
new-instance v1, Ljava/io/File;
const-string v2, "lock.lock"
invoke-direct {v1, v0, v2}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
.line 8
invoke-virtual {v1}, Ljava/io/File;->exists()Z
move-result v0
if-nez v0, :cond_38
.line 9
invoke-virtual {v1}, Ljava/io/File;->createNewFile()Z
.line 10
:cond_38
new-instance v0, Ljava/io/FileOutputStream;
invoke-direct {v0, v1}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
.line 11
invoke-virtual {v0}, Ljava/io/FileOutputStream;->getChannel()Ljava/nio/channels/FileChannel;
move-result-object v0
iput-object v0, p0, Lcom/garena/reactpush/v0/i;->f:Ljava/nio/channels/FileChannel;
.line 12
invoke-virtual {v0}, Ljava/nio/channels/FileChannel;->lock()Ljava/nio/channels/FileLock;
:try_end_46
.catch Ljava/lang/Exception; {:try_start_1f .. :try_end_46} :catch_47
goto :goto_63
:catch_47
move-exception v0
.line 13
invoke-virtual {v0}, Ljava/lang/Throwable;->getStackTrace()[Ljava/lang/StackTraceElement;
move-result-object v1
.line 14
array-length v2, v1
const/4 v3, 0x0
:goto_4e
if-ge v3, v2, :cond_5e
aget-object v4, v1, v3
.line 15
sget-object v5, Lcom/garena/reactpush/a;->e:Lcom/garena/reactpush/util/i;
invoke-virtual {v4}, Ljava/lang/StackTraceElement;->toString()Ljava/lang/String;
move-result-object v4
invoke-interface {v5, v4}, Lcom/garena/reactpush/util/i;->info(Ljava/lang/String;)V
add-int/lit8 v3, v3, 0x1
goto :goto_4e
.line 16
:cond_5e
sget-object v1, Lcom/garena/reactpush/a;->e:Lcom/garena/reactpush/util/i;
invoke-interface {v1, v0}, Lcom/garena/reactpush/util/i;->b(Ljava/lang/Throwable;)V
.line 17
:cond_63
:goto_63
invoke-interface {p1}, Lcom/garena/reactpush/v0/j;->onStart()V
.line 18
iget-object p1, p0, Lcom/garena/reactpush/v0/i;->e:Lcom/garena/reactpush/v0/j;
if-eqz p1, :cond_6d
.line 19
invoke-interface {p1}, Lcom/garena/reactpush/v0/j;->onStart()V
.line 20
:cond_6d
sget-object p1, Lcom/garena/reactpush/v0/i;->g:Ljava/util/concurrent/atomic/AtomicBoolean;
const/4 v0, 0x1
invoke-virtual {p1, v0}, Ljava/util/concurrent/atomic/AtomicBoolean;->set(Z)V
.line 21
iget-object p1, p0, Lcom/garena/reactpush/v0/i;->b:Lcom/garena/reactpush/store/b;
invoke-virtual {p1, v0}, Lcom/garena/reactpush/store/b;->p(Z)V
.line 22
new-instance p1, Lcom/garena/reactpush/v0/i$b;
invoke-direct {p1, p0}, Lcom/garena/reactpush/v0/i$b;-><init>(Lcom/garena/reactpush/v0/i;)V
invoke-virtual {p0, p1}, Lcom/garena/reactpush/v0/i;->d(Lcom/garena/reactpush/v0/j;)V
return-void
.end method
.method public final g(Lcom/garena/reactpush/v0/j;)V
.registers 4
.line 1
sget-object v0, Lcom/garena/reactpush/a;->e:Lcom/garena/reactpush/util/i;
const-string v1, "Bundle force sync requested"
invoke-interface {v0, v1}, Lcom/garena/reactpush/util/i;->info(Ljava/lang/String;)V
.line 2
:try_start_7
sget-object v0, Lcom/garena/reactpush/v0/i;->g:Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;->get()Z
move-result v0
if-nez v0, :cond_24
.line 3
sget-object v0, Lcom/garena/reactpush/a;->e:Lcom/garena/reactpush/util/i;
const-string v1, "Force sync: Sync is not running, starting now"
invoke-interface {v0, v1}, Lcom/garena/reactpush/util/i;->info(Ljava/lang/String;)V
.line 4
new-instance v0, Lcom/garena/reactpush/v0/k;
invoke-direct {v0, p1}, Lcom/garena/reactpush/v0/k;-><init>(Lcom/garena/reactpush/v0/j;)V
.line 5
sget-object p1, Lcom/garena/reactpush/v0/i;->h:Ljava/util/concurrent/ConcurrentLinkedQueue;
invoke-virtual {p1, v0}, Ljava/util/concurrent/ConcurrentLinkedQueue;->add(Ljava/lang/Object;)Z
.line 6
invoke-virtual {p0, v0}, Lcom/garena/reactpush/v0/i;->f(Lcom/garena/reactpush/v0/j;)V
goto :goto_3a
.line 7
:cond_24
sget-object v0, Lcom/garena/reactpush/a;->e:Lcom/garena/reactpush/util/i;
const-string v1, "Force sync: Waiting for previous sync to complete"
invoke-interface {v0, v1}, Lcom/garena/reactpush/util/i;->info(Ljava/lang/String;)V
.line 8
sget-object v0, Lcom/garena/reactpush/v0/i;->h:Ljava/util/concurrent/ConcurrentLinkedQueue;
new-instance v1, Lcom/garena/reactpush/v0/i$a;
invoke-direct {v1, p0, p1}, Lcom/garena/reactpush/v0/i$a;-><init>(Lcom/garena/reactpush/v0/i;Lcom/garena/reactpush/v0/j;)V
invoke-virtual {v0, v1}, Ljava/util/concurrent/ConcurrentLinkedQueue;->add(Ljava/lang/Object;)Z
:try_end_35
.catch Ljava/lang/Exception; {:try_start_7 .. :try_end_35} :catch_36
goto :goto_3a
:catch_36
move-exception p1
.line 9
invoke-virtual {p0, p1}, Lcom/garena/reactpush/v0/i;->h(Ljava/lang/Exception;)V
:goto_3a
return-void
.end method
.method public final h(Ljava/lang/Exception;)V
.registers 5
.line 1
sget-object v0, Lcom/garena/reactpush/a;->e:Lcom/garena/reactpush/util/i;
const-string v1, "Sync Failed"
invoke-interface {v0, v1}, Lcom/garena/reactpush/util/i;->info(Ljava/lang/String;)V
.line 2
sget-object v0, Lcom/garena/reactpush/v0/i;->g:Ljava/util/concurrent/atomic/AtomicBoolean;
const/4 v1, 0x0
invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;->set(Z)V
.line 3
iget-object v0, p0, Lcom/garena/reactpush/v0/i;->b:Lcom/garena/reactpush/store/b;
invoke-virtual {v0, v1}, Lcom/garena/reactpush/store/b;->p(Z)V
.line 4
sget-object v0, Lcom/garena/reactpush/a;->e:Lcom/garena/reactpush/util/i;
invoke-interface {v0, p1}, Lcom/garena/reactpush/util/i;->b(Ljava/lang/Throwable;)V
.line 5
sget-object v0, Lcom/garena/reactpush/a;->e:Lcom/garena/reactpush/util/i;
const-string v2, "Bundle sync Failed, callback all listeners"
invoke-interface {v0, v2}, Lcom/garena/reactpush/util/i;->info(Ljava/lang/String;)V
.line 6
sget-object v0, Lcom/garena/reactpush/v0/i;->h:Ljava/util/concurrent/ConcurrentLinkedQueue;
invoke-virtual {v0}, Ljava/util/concurrent/ConcurrentLinkedQueue;->size()I
move-result v0
:goto_24
if-ge v1, v0, :cond_36
.line 7
sget-object v2, Lcom/garena/reactpush/v0/i;->h:Ljava/util/concurrent/ConcurrentLinkedQueue;
invoke-virtual {v2}, Ljava/util/concurrent/ConcurrentLinkedQueue;->poll()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/garena/reactpush/v0/j;
if-eqz v2, :cond_33
.line 8
invoke-interface {v2, p1}, Lcom/garena/reactpush/v0/j;->b(Ljava/lang/Exception;)V
:cond_33
add-int/lit8 v1, v1, 0x1
goto :goto_24
:cond_36
return-void
.end method
.method public final i(Lcom/garena/reactpush/v0/j;)V
.registers 4
.line 1
sget-object v0, Lcom/garena/reactpush/a;->e:Lcom/garena/reactpush/util/i;
const-string v1, "Bundle sync internal"
invoke-interface {v0, v1}, Lcom/garena/reactpush/util/i;->info(Ljava/lang/String;)V
.line 2
:try_start_7
sget-object v0, Lcom/garena/reactpush/v0/i;->g:Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;->get()Z
move-result v0
if-nez v0, :cond_1e
.line 3
sget-object v0, Lcom/garena/reactpush/a;->e:Lcom/garena/reactpush/util/i;
const-string v1, "RN_Container,ReactSyncPipelineBase-syncInternal,executeSync(uiThreadListener)"
invoke-interface {v0, v1}, Lcom/garena/reactpush/util/i;->info(Ljava/lang/String;)V
.line 4
invoke-virtual {p0, p1}, Lcom/garena/reactpush/v0/i;->f(Lcom/garena/reactpush/v0/j;)V
:try_end_19
.catch Ljava/lang/Exception; {:try_start_7 .. :try_end_19} :catch_1a
goto :goto_1e
:catch_1a
move-exception p1
.line 5
invoke-virtual {p0, p1}, Lcom/garena/reactpush/v0/i;->h(Ljava/lang/Exception;)V
:cond_1e
:goto_1e
return-void
.end method