Files
rr3-apk/smali/androidx/appcompat/app/AppCompatDelegate$SerialExecutor.smali
supermegamestre 4bbd74a497 First Upload
Just the APK
Force update disabled, will only work offline.
2026-01-26 00:26:29 -03:00

193 lines
4.8 KiB
Smali

.class Landroidx/appcompat/app/AppCompatDelegate$SerialExecutor;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/util/concurrent/Executor;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/appcompat/app/AppCompatDelegate;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "SerialExecutor"
.end annotation
# instance fields
.field mActive:Ljava/lang/Runnable;
.field final mExecutor:Ljava/util/concurrent/Executor;
.field private final mLock:Ljava/lang/Object;
.field final mTasks:Ljava/util/Queue;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Queue<",
"Ljava/lang/Runnable;",
">;"
}
.end annotation
.end field
# direct methods
.method public static synthetic $r8$lambda$GGgim4bwVFDkRzYHPRjyR-HW5jk(Landroidx/appcompat/app/AppCompatDelegate$SerialExecutor;Ljava/lang/Runnable;)V
.locals 0
.line 0
invoke-direct {p0, p1}, Landroidx/appcompat/app/AppCompatDelegate$SerialExecutor;->lambda$execute$0(Ljava/lang/Runnable;)V
return-void
.end method
.method public constructor <init>(Ljava/util/concurrent/Executor;)V
.locals 1
.line 135
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 130
new-instance v0, Ljava/lang/Object;
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
iput-object v0, p0, Landroidx/appcompat/app/AppCompatDelegate$SerialExecutor;->mLock:Ljava/lang/Object;
.line 131
new-instance v0, Ljava/util/ArrayDeque;
invoke-direct {v0}, Ljava/util/ArrayDeque;-><init>()V
iput-object v0, p0, Landroidx/appcompat/app/AppCompatDelegate$SerialExecutor;->mTasks:Ljava/util/Queue;
iput-object p1, p0, Landroidx/appcompat/app/AppCompatDelegate$SerialExecutor;->mExecutor:Ljava/util/concurrent/Executor;
return-void
.end method
.method private synthetic lambda$execute$0(Ljava/lang/Runnable;)V
.locals 0
.line 144
:try_start_0
invoke-interface {p1}, Ljava/lang/Runnable;->run()V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 146
invoke-virtual {p0}, Landroidx/appcompat/app/AppCompatDelegate$SerialExecutor;->scheduleNext()V
return-void
:catchall_0
move-exception p1
invoke-virtual {p0}, Landroidx/appcompat/app/AppCompatDelegate$SerialExecutor;->scheduleNext()V
.line 147
throw p1
.end method
# virtual methods
.method public execute(Ljava/lang/Runnable;)V
.locals 3
iget-object v0, p0, Landroidx/appcompat/app/AppCompatDelegate$SerialExecutor;->mLock:Ljava/lang/Object;
.line 141
monitor-enter v0
:try_start_0
iget-object v1, p0, Landroidx/appcompat/app/AppCompatDelegate$SerialExecutor;->mTasks:Ljava/util/Queue;
.line 142
new-instance v2, Landroidx/appcompat/app/AppCompatDelegate$SerialExecutor$$ExternalSyntheticLambda0;
invoke-direct {v2, p0, p1}, Landroidx/appcompat/app/AppCompatDelegate$SerialExecutor$$ExternalSyntheticLambda0;-><init>(Landroidx/appcompat/app/AppCompatDelegate$SerialExecutor;Ljava/lang/Runnable;)V
invoke-interface {v1, v2}, Ljava/util/Queue;->add(Ljava/lang/Object;)Z
iget-object p1, p0, Landroidx/appcompat/app/AppCompatDelegate$SerialExecutor;->mActive:Ljava/lang/Runnable;
if-nez p1, :cond_0
.line 150
invoke-virtual {p0}, Landroidx/appcompat/app/AppCompatDelegate$SerialExecutor;->scheduleNext()V
goto :goto_0
:catchall_0
move-exception p1
goto :goto_1
.line 152
:cond_0
:goto_0
monitor-exit v0
return-void
:goto_1
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw p1
.end method
.method public scheduleNext()V
.locals 3
iget-object v0, p0, Landroidx/appcompat/app/AppCompatDelegate$SerialExecutor;->mLock:Ljava/lang/Object;
.line 156
monitor-enter v0
:try_start_0
iget-object v1, p0, Landroidx/appcompat/app/AppCompatDelegate$SerialExecutor;->mTasks:Ljava/util/Queue;
.line 157
invoke-interface {v1}, Ljava/util/Queue;->poll()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/Runnable;
iput-object v1, p0, Landroidx/appcompat/app/AppCompatDelegate$SerialExecutor;->mActive:Ljava/lang/Runnable;
if-eqz v1, :cond_0
iget-object v2, p0, Landroidx/appcompat/app/AppCompatDelegate$SerialExecutor;->mExecutor:Ljava/util/concurrent/Executor;
.line 158
invoke-interface {v2, v1}, Ljava/util/concurrent/Executor;->execute(Ljava/lang/Runnable;)V
goto :goto_0
:catchall_0
move-exception v1
goto :goto_1
.line 160
:cond_0
:goto_0
monitor-exit v0
return-void
:goto_1
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw v1
.end method