Files
ctf/2024/insomnihack/mobile/Notes/smali/androidx/concurrent/futures/AbstractResolvableFuture$SetFuture.smali
2025-06-06 03:13:31 +02:00

116 lines
3.7 KiB
Smali

.class final Landroidx/concurrent/futures/AbstractResolvableFuture$SetFuture;
.super Ljava/lang/Object;
.source "AbstractResolvableFuture.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/concurrent/futures/AbstractResolvableFuture;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1a
name = "SetFuture"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<V:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;",
"Ljava/lang/Runnable;"
}
.end annotation
# instance fields
.field final future:Lcom/google/common/util/concurrent/ListenableFuture;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/common/util/concurrent/ListenableFuture<",
"+TV;>;"
}
.end annotation
.end field
.field final owner:Landroidx/concurrent/futures/AbstractResolvableFuture;
.annotation system Ldalvik/annotation/Signature;
value = {
"Landroidx/concurrent/futures/AbstractResolvableFuture<",
"TV;>;"
}
.end annotation
.end field
# direct methods
.method constructor <init>(Landroidx/concurrent/futures/AbstractResolvableFuture;Lcom/google/common/util/concurrent/ListenableFuture;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroidx/concurrent/futures/AbstractResolvableFuture<",
"TV;>;",
"Lcom/google/common/util/concurrent/ListenableFuture<",
"+TV;>;)V"
}
.end annotation
.line 267
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 268
iput-object p1, p0, Landroidx/concurrent/futures/AbstractResolvableFuture$SetFuture;->owner:Landroidx/concurrent/futures/AbstractResolvableFuture;
.line 269
iput-object p2, p0, Landroidx/concurrent/futures/AbstractResolvableFuture$SetFuture;->future:Lcom/google/common/util/concurrent/ListenableFuture;
return-void
.end method
# virtual methods
.method public run()V
.locals 3
.line 274
iget-object v0, p0, Landroidx/concurrent/futures/AbstractResolvableFuture$SetFuture;->owner:Landroidx/concurrent/futures/AbstractResolvableFuture;
iget-object v0, v0, Landroidx/concurrent/futures/AbstractResolvableFuture;->value:Ljava/lang/Object;
if-eq v0, p0, :cond_0
return-void
.line 278
:cond_0
iget-object v0, p0, Landroidx/concurrent/futures/AbstractResolvableFuture$SetFuture;->future:Lcom/google/common/util/concurrent/ListenableFuture;
invoke-static {v0}, Landroidx/concurrent/futures/AbstractResolvableFuture;->getFutureValue(Lcom/google/common/util/concurrent/ListenableFuture;)Ljava/lang/Object;
move-result-object v0
.line 279
sget-object v1, Landroidx/concurrent/futures/AbstractResolvableFuture;->ATOMIC_HELPER:Landroidx/concurrent/futures/AbstractResolvableFuture$AtomicHelper;
iget-object v2, p0, Landroidx/concurrent/futures/AbstractResolvableFuture$SetFuture;->owner:Landroidx/concurrent/futures/AbstractResolvableFuture;
invoke-virtual {v1, v2, p0, v0}, Landroidx/concurrent/futures/AbstractResolvableFuture$AtomicHelper;->casValue(Landroidx/concurrent/futures/AbstractResolvableFuture;Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_1
.line 280
iget-object v0, p0, Landroidx/concurrent/futures/AbstractResolvableFuture$SetFuture;->owner:Landroidx/concurrent/futures/AbstractResolvableFuture;
invoke-static {v0}, Landroidx/concurrent/futures/AbstractResolvableFuture;->complete(Landroidx/concurrent/futures/AbstractResolvableFuture;)V
:cond_1
return-void
.end method