AbstractFuture$SynchronizedHelper.smali
.class public final Landroidx/work/impl/utils/futures/AbstractFuture$SynchronizedHelper;
.super Landroidx/work/impl/utils/futures/AbstractFuture$AtomicHelper;
.source "AbstractFuture.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/work/impl/utils/futures/AbstractFuture;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "SynchronizedHelper"
.end annotation
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>()V
.registers 2
const/4 v0, 0x0
invoke-direct {p0, v0}, Landroidx/work/impl/utils/futures/AbstractFuture$AtomicHelper;-><init>(Landroidx/work/impl/utils/futures/AbstractFuture$1;)V
return-void
.end method
# virtual methods
.method public casListeners(Landroidx/work/impl/utils/futures/AbstractFuture;Landroidx/work/impl/utils/futures/AbstractFuture$Listener;Landroidx/work/impl/utils/futures/AbstractFuture$Listener;)Z
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroidx/work/impl/utils/futures/AbstractFuture<",
"*>;",
"Landroidx/work/impl/utils/futures/AbstractFuture$Listener;",
"Landroidx/work/impl/utils/futures/AbstractFuture$Listener;",
")Z"
}
.end annotation
monitor-enter p1
:try_start_1
iget-object v0, p1, Landroidx/work/impl/utils/futures/AbstractFuture;->listeners:Landroidx/work/impl/utils/futures/AbstractFuture$Listener;
if-ne v0, p2, :cond_a
iput-object p3, p1, Landroidx/work/impl/utils/futures/AbstractFuture;->listeners:Landroidx/work/impl/utils/futures/AbstractFuture$Listener;
const/4 p2, 0x1
monitor-exit p1
return p2
:cond_a
const/4 p2, 0x0
monitor-exit p1
return p2
:catchall_d
move-exception p2
monitor-exit p1
:try_end_f
.catchall {:try_start_1 .. :try_end_f} :catchall_d
throw p2
.end method
.method public casValue(Landroidx/work/impl/utils/futures/AbstractFuture;Ljava/lang/Object;Ljava/lang/Object;)Z
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroidx/work/impl/utils/futures/AbstractFuture<",
"*>;",
"Ljava/lang/Object;",
"Ljava/lang/Object;",
")Z"
}
.end annotation
monitor-enter p1
:try_start_1
iget-object v0, p1, Landroidx/work/impl/utils/futures/AbstractFuture;->value:Ljava/lang/Object;
if-ne v0, p2, :cond_a
iput-object p3, p1, Landroidx/work/impl/utils/futures/AbstractFuture;->value:Ljava/lang/Object;
const/4 p2, 0x1
monitor-exit p1
return p2
:cond_a
const/4 p2, 0x0
monitor-exit p1
return p2
:catchall_d
move-exception p2
monitor-exit p1
:try_end_f
.catchall {:try_start_1 .. :try_end_f} :catchall_d
throw p2
.end method
.method public casWaiters(Landroidx/work/impl/utils/futures/AbstractFuture;Landroidx/work/impl/utils/futures/AbstractFuture$Waiter;Landroidx/work/impl/utils/futures/AbstractFuture$Waiter;)Z
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroidx/work/impl/utils/futures/AbstractFuture<",
"*>;",
"Landroidx/work/impl/utils/futures/AbstractFuture$Waiter;",
"Landroidx/work/impl/utils/futures/AbstractFuture$Waiter;",
")Z"
}
.end annotation
monitor-enter p1
:try_start_1
iget-object v0, p1, Landroidx/work/impl/utils/futures/AbstractFuture;->waiters:Landroidx/work/impl/utils/futures/AbstractFuture$Waiter;
if-ne v0, p2, :cond_a
iput-object p3, p1, Landroidx/work/impl/utils/futures/AbstractFuture;->waiters:Landroidx/work/impl/utils/futures/AbstractFuture$Waiter;
const/4 p2, 0x1
monitor-exit p1
return p2
:cond_a
const/4 p2, 0x0
monitor-exit p1
return p2
:catchall_d
move-exception p2
monitor-exit p1
:try_end_f
.catchall {:try_start_1 .. :try_end_f} :catchall_d
throw p2
.end method
.method public putNext(Landroidx/work/impl/utils/futures/AbstractFuture$Waiter;Landroidx/work/impl/utils/futures/AbstractFuture$Waiter;)V
.registers 3
iput-object p2, p1, Landroidx/work/impl/utils/futures/AbstractFuture$Waiter;->next:Landroidx/work/impl/utils/futures/AbstractFuture$Waiter;
return-void
.end method
.method public putThread(Landroidx/work/impl/utils/futures/AbstractFuture$Waiter;Ljava/lang/Thread;)V
.registers 3
iput-object p2, p1, Landroidx/work/impl/utils/futures/AbstractFuture$Waiter;->thread:Ljava/lang/Thread;
return-void
.end method