_Patrons$AutoCheckerTask.smali
.class public Lcom/alibaba/android/patronus/_Patrons$AutoCheckerTask;
.super Ljava/util/TimerTask;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/alibaba/android/patronus/_Patrons;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "AutoCheckerTask"
.end annotation
# direct methods
.method public constructor <init>()V
.registers 1
invoke-direct {p0}, Ljava/util/TimerTask;-><init>()V
return-void
.end method
# virtual methods
.method public run()V
.registers 14
invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
move-result-object v0
invoke-static {}, Landroid/os/Looper;->myLooper()Landroid/os/Looper;
move-result-object v1
const/4 v2, 0x0
const/4 v3, 0x1
if-ne v0, v1, :cond_e
const/4 v0, 0x1
goto :goto_f
:cond_e
const/4 v0, 0x0
:goto_f
const-string v1, "runnable"
const-string v4, "com/alibaba/android/patronus/_Patrons$AutoCheckerTask"
const-string v5, "run"
if-eqz v0, :cond_1a
invoke-static {v5, v4, v1}, Lcom/shopee/monitor/trace/c;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
.line 1
:cond_1a
# getter for: Lcom/alibaba/android/patronus/_Patrons;->strictCount:Ljava/util/concurrent/atomic/AtomicInteger;
invoke-static {}, Lcom/alibaba/android/patronus/_Patrons;->access$000()Ljava/util/concurrent/atomic/AtomicInteger;
move-result-object v6
invoke-virtual {v6}, Ljava/util/concurrent/atomic/AtomicInteger;->get()I
move-result v6
if-eqz v6, :cond_3f
# getter for: Lcom/alibaba/android/patronus/_Patrons;->strictCount:Ljava/util/concurrent/atomic/AtomicInteger;
invoke-static {}, Lcom/alibaba/android/patronus/_Patrons;->access$000()Ljava/util/concurrent/atomic/AtomicInteger;
move-result-object v6
invoke-virtual {v6, v3}, Ljava/util/concurrent/atomic/AtomicInteger;->addAndGet(I)I
move-result v6
const/4 v7, 0x5
if-le v6, v7, :cond_3f
.line 2
# getter for: Lcom/alibaba/android/patronus/_Patrons;->strictCount:Ljava/util/concurrent/atomic/AtomicInteger;
invoke-static {}, Lcom/alibaba/android/patronus/_Patrons;->access$000()Ljava/util/concurrent/atomic/AtomicInteger;
move-result-object v6
invoke-virtual {v6, v2}, Ljava/util/concurrent/atomic/AtomicInteger;->set(I)V
.line 3
# getter for: Lcom/alibaba/android/patronus/_Patrons;->config:Lcom/alibaba/android/patronus/Patrons$PatronsConfig;
invoke-static {}, Lcom/alibaba/android/patronus/_Patrons;->access$100()Lcom/alibaba/android/patronus/Patrons$PatronsConfig;
move-result-object v2
iget v2, v2, Lcom/alibaba/android/patronus/Patrons$PatronsConfig;->periodOfCheck:I
# invokes: Lcom/alibaba/android/patronus/_Patrons;->_start(I)V
invoke-static {v2}, Lcom/alibaba/android/patronus/_Patrons;->access$200(I)V
.line 4
:cond_3f
invoke-static {}, Lcom/alibaba/android/patronus/_Patrons;->readVssSize()J
move-result-wide v6
long-to-float v2, v6
const/high16 v8, 0x4f800000
div-float/2addr v2, v8
.line 5
# getter for: Lcom/alibaba/android/patronus/_Patrons;->currentRegionSpaces:J
invoke-static {}, Lcom/alibaba/android/patronus/_Patrons;->access$300()J
move-result-wide v8
# getter for: Lcom/alibaba/android/patronus/_Patrons;->config:Lcom/alibaba/android/patronus/Patrons$PatronsConfig;
invoke-static {}, Lcom/alibaba/android/patronus/_Patrons;->access$100()Lcom/alibaba/android/patronus/Patrons$PatronsConfig;
move-result-object v10
iget v10, v10, Lcom/alibaba/android/patronus/Patrons$PatronsConfig;->shrinkStep:I
int-to-long v10, v10
sub-long/2addr v8, v10
# getter for: Lcom/alibaba/android/patronus/_Patrons;->config:Lcom/alibaba/android/patronus/Patrons$PatronsConfig;
invoke-static {}, Lcom/alibaba/android/patronus/_Patrons;->access$100()Lcom/alibaba/android/patronus/Patrons$PatronsConfig;
move-result-object v10
iget v10, v10, Lcom/alibaba/android/patronus/Patrons$PatronsConfig;->lowerLimit:I
int-to-long v10, v10
cmp-long v12, v8, v10
if-gez v12, :cond_6a
.line 6
# getter for: Lcom/alibaba/android/patronus/_Patrons;->currentRegionSpaces:J
invoke-static {}, Lcom/alibaba/android/patronus/_Patrons;->access$300()J
.line 7
# invokes: Lcom/alibaba/android/patronus/_Patrons;->stop()V
invoke-static {}, Lcom/alibaba/android/patronus/_Patrons;->access$400()V
if-eqz v0, :cond_69
.line 8
invoke-static {v5, v4, v1}, Lcom/shopee/monitor/trace/c;->b(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
:cond_69
return-void
.line 9
:cond_6a
# getter for: Lcom/alibaba/android/patronus/_Patrons;->config:Lcom/alibaba/android/patronus/Patrons$PatronsConfig;
invoke-static {}, Lcom/alibaba/android/patronus/_Patrons;->access$100()Lcom/alibaba/android/patronus/Patrons$PatronsConfig;
move-result-object v8
iget v8, v8, Lcom/alibaba/android/patronus/Patrons$PatronsConfig;->periodOfShrink:F
const-wide/32 v9, 0x100000
cmpl-float v2, v2, v8
if-lez v2, :cond_b6
.line 10
div-long/2addr v6, v9
.line 11
# getter for: Lcom/alibaba/android/patronus/_Patrons;->currentRegionSpaces:J
invoke-static {}, Lcom/alibaba/android/patronus/_Patrons;->access$300()J
move-result-wide v6
# getter for: Lcom/alibaba/android/patronus/_Patrons;->config:Lcom/alibaba/android/patronus/Patrons$PatronsConfig;
invoke-static {}, Lcom/alibaba/android/patronus/_Patrons;->access$100()Lcom/alibaba/android/patronus/Patrons$PatronsConfig;
move-result-object v2
iget v2, v2, Lcom/alibaba/android/patronus/Patrons$PatronsConfig;->shrinkStep:I
int-to-long v11, v2
sub-long/2addr v6, v11
# setter for: Lcom/alibaba/android/patronus/_Patrons;->currentRegionSpaces:J
invoke-static {v6, v7}, Lcom/alibaba/android/patronus/_Patrons;->access$302(J)J
move-result-wide v6
long-to-int v2, v6
invoke-static {v2}, Lcom/alibaba/android/patronus/_Patrons;->shrinkRegionSpace(I)Z
move-result v2
if-nez v2, :cond_98
.line 12
# invokes: Lcom/alibaba/android/patronus/_Patrons;->stop()V
invoke-static {}, Lcom/alibaba/android/patronus/_Patrons;->access$400()V
if-eqz v0, :cond_97
.line 13
invoke-static {v5, v4, v1}, Lcom/shopee/monitor/trace/c;->b(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
:cond_97
return-void
.line 14
:cond_98
invoke-static {}, Lcom/alibaba/android/patronus/_Patrons;->readVssSize()J
move-result-wide v6
.line 15
# getter for: Lcom/alibaba/android/patronus/_Patrons;->config:Lcom/alibaba/android/patronus/Patrons$PatronsConfig;
invoke-static {}, Lcom/alibaba/android/patronus/_Patrons;->access$100()Lcom/alibaba/android/patronus/Patrons$PatronsConfig;
move-result-object v2
iget v2, v2, Lcom/alibaba/android/patronus/Patrons$PatronsConfig;->shrinkStep:I
div-long/2addr v6, v9
.line 16
# getter for: Lcom/alibaba/android/patronus/_Patrons;->strictCount:Ljava/util/concurrent/atomic/AtomicInteger;
invoke-static {}, Lcom/alibaba/android/patronus/_Patrons;->access$000()Ljava/util/concurrent/atomic/AtomicInteger;
move-result-object v2
invoke-virtual {v2, v3}, Ljava/util/concurrent/atomic/AtomicInteger;->set(I)V
.line 17
# getter for: Lcom/alibaba/android/patronus/_Patrons;->config:Lcom/alibaba/android/patronus/Patrons$PatronsConfig;
invoke-static {}, Lcom/alibaba/android/patronus/_Patrons;->access$100()Lcom/alibaba/android/patronus/Patrons$PatronsConfig;
move-result-object v2
iget v2, v2, Lcom/alibaba/android/patronus/Patrons$PatronsConfig;->periodOfCheck:I
div-int/lit8 v2, v2, 0x2
# invokes: Lcom/alibaba/android/patronus/_Patrons;->_start(I)V
invoke-static {v2}, Lcom/alibaba/android/patronus/_Patrons;->access$200(I)V
goto :goto_ea
.line 18
:cond_b6
invoke-static {}, Lcom/alibaba/android/patronus/_Patrons;->getCurrentRegionSpaceSize()J
move-result-wide v2
div-long/2addr v2, v9
# getter for: Lcom/alibaba/android/patronus/_Patrons;->config:Lcom/alibaba/android/patronus/Patrons$PatronsConfig;
invoke-static {}, Lcom/alibaba/android/patronus/_Patrons;->access$100()Lcom/alibaba/android/patronus/Patrons$PatronsConfig;
move-result-object v8
iget v8, v8, Lcom/alibaba/android/patronus/Patrons$PatronsConfig;->lowerLimit:I
int-to-long v11, v8
cmp-long v8, v2, v11
if-gez v8, :cond_d5
.line 19
invoke-static {}, Lcom/alibaba/android/patronus/_Patrons;->getCurrentRegionSpaceSize()J
move-result-wide v2
div-long/2addr v2, v9
# getter for: Lcom/alibaba/android/patronus/_Patrons;->config:Lcom/alibaba/android/patronus/Patrons$PatronsConfig;
invoke-static {}, Lcom/alibaba/android/patronus/_Patrons;->access$100()Lcom/alibaba/android/patronus/Patrons$PatronsConfig;
move-result-object v2
iget v2, v2, Lcom/alibaba/android/patronus/Patrons$PatronsConfig;->lowerLimit:I
.line 20
# invokes: Lcom/alibaba/android/patronus/_Patrons;->stop()V
invoke-static {}, Lcom/alibaba/android/patronus/_Patrons;->access$400()V
goto :goto_ea
.line 21
:cond_d5
# getter for: Lcom/alibaba/android/patronus/_Patrons;->config:Lcom/alibaba/android/patronus/Patrons$PatronsConfig;
invoke-static {}, Lcom/alibaba/android/patronus/_Patrons;->access$100()Lcom/alibaba/android/patronus/Patrons$PatronsConfig;
move-result-object v2
iget-boolean v2, v2, Lcom/alibaba/android/patronus/Patrons$PatronsConfig;->debuggable:Z
if-eqz v2, :cond_ea
.line 22
# getter for: Lcom/alibaba/android/patronus/_Patrons;->strictCount:Ljava/util/concurrent/atomic/AtomicInteger;
invoke-static {}, Lcom/alibaba/android/patronus/_Patrons;->access$000()Ljava/util/concurrent/atomic/AtomicInteger;
move-result-object v2
invoke-virtual {v2}, Ljava/util/concurrent/atomic/AtomicInteger;->get()I
div-long/2addr v6, v9
invoke-static {}, Lcom/alibaba/android/patronus/_Patrons;->getCurrentRegionSpaceSize()J
move-result-wide v2
div-long/2addr v2, v9
:cond_ea
:goto_ea
if-eqz v0, :cond_ef
.line 23
invoke-static {v5, v4, v1}, Lcom/shopee/monitor/trace/c;->b(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
:cond_ef
return-void
.end method