217 lines
5.3 KiB
Smali
217 lines
5.3 KiB
Smali
|
.class public final Lg0/m/c/a$b;
|
||
|
.super Lrx/Scheduler$Worker;
|
||
|
.source "CachedThreadScheduler.java"
|
||
|
|
||
|
# interfaces
|
||
|
.implements Lrx/functions/Action0;
|
||
|
|
||
|
|
||
|
# annotations
|
||
|
.annotation system Ldalvik/annotation/EnclosingClass;
|
||
|
value = Lg0/m/c/a;
|
||
|
.end annotation
|
||
|
|
||
|
.annotation system Ldalvik/annotation/InnerClass;
|
||
|
accessFlags = 0x19
|
||
|
name = "b"
|
||
|
.end annotation
|
||
|
|
||
|
|
||
|
# instance fields
|
||
|
.field public final d:Lrx/subscriptions/CompositeSubscription;
|
||
|
|
||
|
.field public final e:Lg0/m/c/a$a;
|
||
|
|
||
|
.field public final f:Lg0/m/c/a$c;
|
||
|
|
||
|
.field public final g:Ljava/util/concurrent/atomic/AtomicBoolean;
|
||
|
|
||
|
|
||
|
# direct methods
|
||
|
.method public constructor <init>(Lg0/m/c/a$a;)V
|
||
|
.locals 2
|
||
|
|
||
|
invoke-direct {p0}, Lrx/Scheduler$Worker;-><init>()V
|
||
|
|
||
|
new-instance v0, Lrx/subscriptions/CompositeSubscription;
|
||
|
|
||
|
invoke-direct {v0}, Lrx/subscriptions/CompositeSubscription;-><init>()V
|
||
|
|
||
|
iput-object v0, p0, Lg0/m/c/a$b;->d:Lrx/subscriptions/CompositeSubscription;
|
||
|
|
||
|
iput-object p1, p0, Lg0/m/c/a$b;->e:Lg0/m/c/a$a;
|
||
|
|
||
|
new-instance v0, Ljava/util/concurrent/atomic/AtomicBoolean;
|
||
|
|
||
|
invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;-><init>()V
|
||
|
|
||
|
iput-object v0, p0, Lg0/m/c/a$b;->g:Ljava/util/concurrent/atomic/AtomicBoolean;
|
||
|
|
||
|
iget-object v0, p1, Lg0/m/c/a$a;->d:Lrx/subscriptions/CompositeSubscription;
|
||
|
|
||
|
invoke-virtual {v0}, Lrx/subscriptions/CompositeSubscription;->isUnsubscribed()Z
|
||
|
|
||
|
move-result v0
|
||
|
|
||
|
if-eqz v0, :cond_0
|
||
|
|
||
|
sget-object p1, Lg0/m/c/a;->e:Lg0/m/c/a$c;
|
||
|
|
||
|
move-object v0, p1
|
||
|
|
||
|
goto :goto_0
|
||
|
|
||
|
:cond_0
|
||
|
iget-object v0, p1, Lg0/m/c/a$a;->c:Ljava/util/concurrent/ConcurrentLinkedQueue;
|
||
|
|
||
|
invoke-virtual {v0}, Ljava/util/concurrent/ConcurrentLinkedQueue;->isEmpty()Z
|
||
|
|
||
|
move-result v0
|
||
|
|
||
|
if-nez v0, :cond_1
|
||
|
|
||
|
iget-object v0, p1, Lg0/m/c/a$a;->c:Ljava/util/concurrent/ConcurrentLinkedQueue;
|
||
|
|
||
|
invoke-virtual {v0}, Ljava/util/concurrent/ConcurrentLinkedQueue;->poll()Ljava/lang/Object;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
check-cast v0, Lg0/m/c/a$c;
|
||
|
|
||
|
if-eqz v0, :cond_0
|
||
|
|
||
|
goto :goto_0
|
||
|
|
||
|
:cond_1
|
||
|
new-instance v0, Lg0/m/c/a$c;
|
||
|
|
||
|
iget-object v1, p1, Lg0/m/c/a$a;->a:Ljava/util/concurrent/ThreadFactory;
|
||
|
|
||
|
invoke-direct {v0, v1}, Lg0/m/c/a$c;-><init>(Ljava/util/concurrent/ThreadFactory;)V
|
||
|
|
||
|
iget-object p1, p1, Lg0/m/c/a$a;->d:Lrx/subscriptions/CompositeSubscription;
|
||
|
|
||
|
invoke-virtual {p1, v0}, Lrx/subscriptions/CompositeSubscription;->a(Lrx/Subscription;)V
|
||
|
|
||
|
:goto_0
|
||
|
iput-object v0, p0, Lg0/m/c/a$b;->f:Lg0/m/c/a$c;
|
||
|
|
||
|
return-void
|
||
|
.end method
|
||
|
|
||
|
|
||
|
# virtual methods
|
||
|
.method public a(Lrx/functions/Action0;)Lrx/Subscription;
|
||
|
.locals 3
|
||
|
|
||
|
const-wide/16 v0, 0x0
|
||
|
|
||
|
const/4 v2, 0x0
|
||
|
|
||
|
invoke-virtual {p0, p1, v0, v1, v2}, Lg0/m/c/a$b;->a(Lrx/functions/Action0;JLjava/util/concurrent/TimeUnit;)Lrx/Subscription;
|
||
|
|
||
|
move-result-object p1
|
||
|
|
||
|
return-object p1
|
||
|
.end method
|
||
|
|
||
|
.method public a(Lrx/functions/Action0;JLjava/util/concurrent/TimeUnit;)Lrx/Subscription;
|
||
|
.locals 2
|
||
|
|
||
|
iget-object v0, p0, Lg0/m/c/a$b;->d:Lrx/subscriptions/CompositeSubscription;
|
||
|
|
||
|
invoke-virtual {v0}, Lrx/subscriptions/CompositeSubscription;->isUnsubscribed()Z
|
||
|
|
||
|
move-result v0
|
||
|
|
||
|
if-eqz v0, :cond_0
|
||
|
|
||
|
sget-object p1, Lg0/s/c;->a:Lg0/s/c$a;
|
||
|
|
||
|
return-object p1
|
||
|
|
||
|
:cond_0
|
||
|
iget-object v0, p0, Lg0/m/c/a$b;->f:Lg0/m/c/a$c;
|
||
|
|
||
|
new-instance v1, Lg0/m/c/a$b$a;
|
||
|
|
||
|
invoke-direct {v1, p0, p1}, Lg0/m/c/a$b$a;-><init>(Lg0/m/c/a$b;Lrx/functions/Action0;)V
|
||
|
|
||
|
invoke-virtual {v0, v1, p2, p3, p4}, Lg0/m/c/h;->b(Lrx/functions/Action0;JLjava/util/concurrent/TimeUnit;)Lg0/m/c/k;
|
||
|
|
||
|
move-result-object p1
|
||
|
|
||
|
iget-object p2, p0, Lg0/m/c/a$b;->d:Lrx/subscriptions/CompositeSubscription;
|
||
|
|
||
|
invoke-virtual {p2, p1}, Lrx/subscriptions/CompositeSubscription;->a(Lrx/Subscription;)V
|
||
|
|
||
|
iget-object p2, p0, Lg0/m/c/a$b;->d:Lrx/subscriptions/CompositeSubscription;
|
||
|
|
||
|
invoke-virtual {p1, p2}, Lg0/m/c/k;->a(Lrx/subscriptions/CompositeSubscription;)V
|
||
|
|
||
|
return-object p1
|
||
|
.end method
|
||
|
|
||
|
.method public call()V
|
||
|
.locals 6
|
||
|
|
||
|
iget-object v0, p0, Lg0/m/c/a$b;->e:Lg0/m/c/a$a;
|
||
|
|
||
|
iget-object v1, p0, Lg0/m/c/a$b;->f:Lg0/m/c/a$c;
|
||
|
|
||
|
invoke-virtual {v0}, Lg0/m/c/a$a;->a()J
|
||
|
|
||
|
move-result-wide v2
|
||
|
|
||
|
iget-wide v4, v0, Lg0/m/c/a$a;->b:J
|
||
|
|
||
|
add-long/2addr v2, v4
|
||
|
|
||
|
iput-wide v2, v1, Lg0/m/c/a$c;->l:J
|
||
|
|
||
|
iget-object v0, v0, Lg0/m/c/a$a;->c:Ljava/util/concurrent/ConcurrentLinkedQueue;
|
||
|
|
||
|
invoke-virtual {v0, v1}, Ljava/util/concurrent/ConcurrentLinkedQueue;->offer(Ljava/lang/Object;)Z
|
||
|
|
||
|
return-void
|
||
|
.end method
|
||
|
|
||
|
.method public isUnsubscribed()Z
|
||
|
.locals 1
|
||
|
|
||
|
iget-object v0, p0, Lg0/m/c/a$b;->d:Lrx/subscriptions/CompositeSubscription;
|
||
|
|
||
|
invoke-virtual {v0}, Lrx/subscriptions/CompositeSubscription;->isUnsubscribed()Z
|
||
|
|
||
|
move-result v0
|
||
|
|
||
|
return v0
|
||
|
.end method
|
||
|
|
||
|
.method public unsubscribe()V
|
||
|
.locals 3
|
||
|
|
||
|
iget-object v0, p0, Lg0/m/c/a$b;->g:Ljava/util/concurrent/atomic/AtomicBoolean;
|
||
|
|
||
|
const/4 v1, 0x0
|
||
|
|
||
|
const/4 v2, 0x1
|
||
|
|
||
|
invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicBoolean;->compareAndSet(ZZ)Z
|
||
|
|
||
|
move-result v0
|
||
|
|
||
|
if-eqz v0, :cond_0
|
||
|
|
||
|
iget-object v0, p0, Lg0/m/c/a$b;->f:Lg0/m/c/a$c;
|
||
|
|
||
|
invoke-virtual {v0, p0}, Lg0/m/c/h;->a(Lrx/functions/Action0;)Lrx/Subscription;
|
||
|
|
||
|
:cond_0
|
||
|
iget-object v0, p0, Lg0/m/c/a$b;->d:Lrx/subscriptions/CompositeSubscription;
|
||
|
|
||
|
invoke-virtual {v0}, Lrx/subscriptions/CompositeSubscription;->unsubscribe()V
|
||
|
|
||
|
return-void
|
||
|
.end method
|