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

201 lines
5.0 KiB
Smali

.class final Landroidx/concurrent/futures/AbstractResolvableFuture$SynchronizedHelper;
.super Landroidx/concurrent/futures/AbstractResolvableFuture$AtomicHelper;
.source "AbstractResolvableFuture.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/concurrent/futures/AbstractResolvableFuture;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1a
name = "SynchronizedHelper"
.end annotation
# direct methods
.method constructor <init>()V
.locals 1
const/4 v0, 0x0
.line 1146
invoke-direct {p0, v0}, Landroidx/concurrent/futures/AbstractResolvableFuture$AtomicHelper;-><init>(Landroidx/concurrent/futures/AbstractResolvableFuture$1;)V
return-void
.end method
# virtual methods
.method casListeners(Landroidx/concurrent/futures/AbstractResolvableFuture;Landroidx/concurrent/futures/AbstractResolvableFuture$Listener;Landroidx/concurrent/futures/AbstractResolvableFuture$Listener;)Z
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroidx/concurrent/futures/AbstractResolvableFuture<",
"*>;",
"Landroidx/concurrent/futures/AbstractResolvableFuture$Listener;",
"Landroidx/concurrent/futures/AbstractResolvableFuture$Listener;",
")Z"
}
.end annotation
.line 1172
monitor-enter p1
.line 1173
:try_start_0
iget-object v0, p1, Landroidx/concurrent/futures/AbstractResolvableFuture;->listeners:Landroidx/concurrent/futures/AbstractResolvableFuture$Listener;
if-ne v0, p2, :cond_0
.line 1174
iput-object p3, p1, Landroidx/concurrent/futures/AbstractResolvableFuture;->listeners:Landroidx/concurrent/futures/AbstractResolvableFuture$Listener;
.line 1175
monitor-exit p1
const/4 p1, 0x1
return p1
.line 1177
:cond_0
monitor-exit p1
const/4 p1, 0x0
return p1
:catchall_0
move-exception p2
.line 1178
monitor-exit p1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw p2
.end method
.method casValue(Landroidx/concurrent/futures/AbstractResolvableFuture;Ljava/lang/Object;Ljava/lang/Object;)Z
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroidx/concurrent/futures/AbstractResolvableFuture<",
"*>;",
"Ljava/lang/Object;",
"Ljava/lang/Object;",
")Z"
}
.end annotation
.line 1183
monitor-enter p1
.line 1184
:try_start_0
iget-object v0, p1, Landroidx/concurrent/futures/AbstractResolvableFuture;->value:Ljava/lang/Object;
if-ne v0, p2, :cond_0
.line 1185
iput-object p3, p1, Landroidx/concurrent/futures/AbstractResolvableFuture;->value:Ljava/lang/Object;
.line 1186
monitor-exit p1
const/4 p1, 0x1
return p1
.line 1188
:cond_0
monitor-exit p1
const/4 p1, 0x0
return p1
:catchall_0
move-exception p2
.line 1189
monitor-exit p1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw p2
.end method
.method casWaiters(Landroidx/concurrent/futures/AbstractResolvableFuture;Landroidx/concurrent/futures/AbstractResolvableFuture$Waiter;Landroidx/concurrent/futures/AbstractResolvableFuture$Waiter;)Z
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroidx/concurrent/futures/AbstractResolvableFuture<",
"*>;",
"Landroidx/concurrent/futures/AbstractResolvableFuture$Waiter;",
"Landroidx/concurrent/futures/AbstractResolvableFuture$Waiter;",
")Z"
}
.end annotation
.line 1161
monitor-enter p1
.line 1162
:try_start_0
iget-object v0, p1, Landroidx/concurrent/futures/AbstractResolvableFuture;->waiters:Landroidx/concurrent/futures/AbstractResolvableFuture$Waiter;
if-ne v0, p2, :cond_0
.line 1163
iput-object p3, p1, Landroidx/concurrent/futures/AbstractResolvableFuture;->waiters:Landroidx/concurrent/futures/AbstractResolvableFuture$Waiter;
.line 1164
monitor-exit p1
const/4 p1, 0x1
return p1
.line 1166
:cond_0
monitor-exit p1
const/4 p1, 0x0
return p1
:catchall_0
move-exception p2
.line 1167
monitor-exit p1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw p2
.end method
.method putNext(Landroidx/concurrent/futures/AbstractResolvableFuture$Waiter;Landroidx/concurrent/futures/AbstractResolvableFuture$Waiter;)V
.locals 0
.line 1156
iput-object p2, p1, Landroidx/concurrent/futures/AbstractResolvableFuture$Waiter;->next:Landroidx/concurrent/futures/AbstractResolvableFuture$Waiter;
return-void
.end method
.method putThread(Landroidx/concurrent/futures/AbstractResolvableFuture$Waiter;Ljava/lang/Thread;)V
.locals 0
.line 1151
iput-object p2, p1, Landroidx/concurrent/futures/AbstractResolvableFuture$Waiter;->thread:Ljava/lang/Thread;
return-void
.end method