OperatorSampleWithTime$SamplerSubscriber.smali
.class final Lrx/internal/operators/OperatorSampleWithTime$SamplerSubscriber;
.super Lrx/Subscriber;
.source "OperatorSampleWithTime.java"
# interfaces
.implements Lrx/functions/Action0;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lrx/internal/operators/OperatorSampleWithTime;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x18
name = "SamplerSubscriber"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Lrx/Subscriber<",
"TT;>;",
"Lrx/functions/Action0;"
}
.end annotation
# static fields
.field private static final EMPTY_TOKEN:Ljava/lang/Object;
# instance fields
.field private final subscriber:Lrx/Subscriber;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lrx/Subscriber<",
"-TT;>;"
}
.end annotation
.end field
.field final value:Ljava/util/concurrent/atomic/AtomicReference;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/atomic/AtomicReference<",
"Ljava/lang/Object;",
">;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 1
new-instance v0, Ljava/lang/Object;
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
sput-object v0, Lrx/internal/operators/OperatorSampleWithTime$SamplerSubscriber;->EMPTY_TOKEN:Ljava/lang/Object;
return-void
.end method
.method public constructor <init>(Lrx/Subscriber;)V
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lrx/Subscriber<",
"-TT;>;)V"
}
.end annotation
.line 1
invoke-direct {p0}, Lrx/Subscriber;-><init>()V
.line 2
new-instance v0, Ljava/util/concurrent/atomic/AtomicReference;
sget-object v1, Lrx/internal/operators/OperatorSampleWithTime$SamplerSubscriber;->EMPTY_TOKEN:Ljava/lang/Object;
invoke-direct {v0, v1}, Ljava/util/concurrent/atomic/AtomicReference;-><init>(Ljava/lang/Object;)V
iput-object v0, p0, Lrx/internal/operators/OperatorSampleWithTime$SamplerSubscriber;->value:Ljava/util/concurrent/atomic/AtomicReference;
.line 3
iput-object p1, p0, Lrx/internal/operators/OperatorSampleWithTime$SamplerSubscriber;->subscriber:Lrx/Subscriber;
return-void
.end method
.method private emitIfNonEmpty()V
.registers 3
.line 1
iget-object v0, p0, Lrx/internal/operators/OperatorSampleWithTime$SamplerSubscriber;->value:Ljava/util/concurrent/atomic/AtomicReference;
sget-object v1, Lrx/internal/operators/OperatorSampleWithTime$SamplerSubscriber;->EMPTY_TOKEN:Ljava/lang/Object;
invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicReference;->getAndSet(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
.line 2
sget-object v1, Lrx/internal/operators/OperatorSampleWithTime$SamplerSubscriber;->EMPTY_TOKEN:Ljava/lang/Object;
if-eq v0, v1, :cond_16
.line 3
:try_start_c
iget-object v1, p0, Lrx/internal/operators/OperatorSampleWithTime$SamplerSubscriber;->subscriber:Lrx/Subscriber;
invoke-interface {v1, v0}, Lrx/Observer;->onNext(Ljava/lang/Object;)V
:try_end_11
.catch Ljava/lang/Throwable; {:try_start_c .. :try_end_11} :catch_12
goto :goto_16
:catch_12
move-exception v0
.line 4
invoke-static {v0, p0}, Lrx/exceptions/Exceptions;->throwOrReport(Ljava/lang/Throwable;Lrx/Observer;)V
:cond_16
:goto_16
return-void
.end method
# virtual methods
.method public call()V
.registers 1
.line 1
invoke-direct {p0}, Lrx/internal/operators/OperatorSampleWithTime$SamplerSubscriber;->emitIfNonEmpty()V
return-void
.end method
.method public onCompleted()V
.registers 2
.line 1
invoke-direct {p0}, Lrx/internal/operators/OperatorSampleWithTime$SamplerSubscriber;->emitIfNonEmpty()V
.line 2
iget-object v0, p0, Lrx/internal/operators/OperatorSampleWithTime$SamplerSubscriber;->subscriber:Lrx/Subscriber;
invoke-interface {v0}, Lrx/Observer;->onCompleted()V
.line 3
invoke-virtual {p0}, Lrx/Subscriber;->unsubscribe()V
return-void
.end method
.method public onError(Ljava/lang/Throwable;)V
.registers 3
.line 1
iget-object v0, p0, Lrx/internal/operators/OperatorSampleWithTime$SamplerSubscriber;->subscriber:Lrx/Subscriber;
invoke-interface {v0, p1}, Lrx/Observer;->onError(Ljava/lang/Throwable;)V
.line 2
invoke-virtual {p0}, Lrx/Subscriber;->unsubscribe()V
return-void
.end method
.method public onNext(Ljava/lang/Object;)V
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)V"
}
.end annotation
.line 1
iget-object v0, p0, Lrx/internal/operators/OperatorSampleWithTime$SamplerSubscriber;->value:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v0, p1}, Ljava/util/concurrent/atomic/AtomicReference;->set(Ljava/lang/Object;)V
return-void
.end method
.method public onStart()V
.registers 3
const-wide v0, 0x7fffffffffffffffL
.line 1
invoke-virtual {p0, v0, v1}, Lrx/Subscriber;->request(J)V
return-void
.end method