Files
rr3-apk/smali/androidx/core/provider/FontRequestWorker.smali
Daniel Elliott f3960ee359 Add Discord APKTool decompilation (Smali source for modding)
- Imported from https://github.com/supermegamestre/Project-Real-Resurrection-3
- APKTool decompilation (Smali bytecode) for modding and rebuilding APK
- Supports both 32-bit (armeabi-v7a) and 64-bit (arm64-v8a) architectures
- Includes full Smali source, resources, and native libraries
- Ready to rebuild APK after modifications with apktool b command
- Added comprehensive README-apktool.md with modding guide

This branch complements the JADX branches:
- Use JADX (main/discord-community) to UNDERSTAND code (readable Java)
- Use APKTool (this branch) to MODIFY and REBUILD APK (editable Smali)

Total: 44,417 files, 538.51 MB Smali source code
2026-02-18 16:13:44 -08:00

718 lines
20 KiB
Smali

.class Landroidx/core/provider/FontRequestWorker;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroidx/core/provider/FontRequestWorker$TypefaceResult;
}
.end annotation
# static fields
.field private static final DEFAULT_EXECUTOR_SERVICE:Ljava/util/concurrent/ExecutorService;
.field static final LOCK:Ljava/lang/Object;
.field static final PENDING_REPLIES:Landroidx/collection/SimpleArrayMap;
.annotation build Landroidx/annotation/GuardedBy;
value = "LOCK"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Landroidx/collection/SimpleArrayMap<",
"Ljava/lang/String;",
"Ljava/util/ArrayList<",
"Landroidx/core/util/Consumer<",
"Landroidx/core/provider/FontRequestWorker$TypefaceResult;",
">;>;>;"
}
.end annotation
.end field
.field static final sTypefaceCache:Landroidx/collection/LruCache;
.annotation system Ldalvik/annotation/Signature;
value = {
"Landroidx/collection/LruCache<",
"Ljava/lang/String;",
"Landroid/graphics/Typeface;",
">;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.locals 3
.line 64
new-instance v0, Landroidx/collection/LruCache;
const/16 v1, 0x10
invoke-direct {v0, v1}, Landroidx/collection/LruCache;-><init>(I)V
sput-object v0, Landroidx/core/provider/FontRequestWorker;->sTypefaceCache:Landroidx/collection/LruCache;
const/16 v0, 0xa
const/16 v1, 0x2710
const-string v2, "fonts-androidx"
.line 67
invoke-static {v2, v0, v1}, Landroidx/core/provider/RequestExecutor;->createDefaultExecutor(Ljava/lang/String;II)Ljava/util/concurrent/ThreadPoolExecutor;
move-result-object v0
sput-object v0, Landroidx/core/provider/FontRequestWorker;->DEFAULT_EXECUTOR_SERVICE:Ljava/util/concurrent/ExecutorService;
.line 74
new-instance v0, Ljava/lang/Object;
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
sput-object v0, Landroidx/core/provider/FontRequestWorker;->LOCK:Ljava/lang/Object;
.line 78
new-instance v0, Landroidx/collection/SimpleArrayMap;
invoke-direct {v0}, Landroidx/collection/SimpleArrayMap;-><init>()V
sput-object v0, Landroidx/core/provider/FontRequestWorker;->PENDING_REPLIES:Landroidx/collection/SimpleArrayMap;
return-void
.end method
.method private constructor <init>()V
.locals 0
.line 59
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method private static createCacheId(Ljava/util/List;I)Ljava/lang/String;
.locals 3
.param p0 # Ljava/util/List;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Landroidx/core/provider/FontRequest;",
">;I)",
"Ljava/lang/String;"
}
.end annotation
.line 233
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const/4 v1, 0x0
.line 234
:goto_0
invoke-interface {p0}, Ljava/util/List;->size()I
move-result v2
if-ge v1, v2, :cond_1
.line 235
invoke-interface {p0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Landroidx/core/provider/FontRequest;
invoke-virtual {v2}, Landroidx/core/provider/FontRequest;->getId()Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, "-"
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
.line 236
invoke-interface {p0}, Ljava/util/List;->size()I
move-result v2
add-int/lit8 v2, v2, -0x1
if-ge v1, v2, :cond_0
const-string v2, ";"
.line 237
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
:cond_0
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 241
:cond_1
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method private static getFontFamilyResultStatus(Landroidx/core/provider/FontsContractCompat$FontFamilyResult;)I
.locals 5
.param p0 # Landroidx/core/provider/FontsContractCompat$FontFamilyResult;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroid/annotation/SuppressLint;
value = {
"WrongConstant"
}
.end annotation
.line 301
invoke-virtual {p0}, Landroidx/core/provider/FontsContractCompat$FontFamilyResult;->getStatusCode()I
move-result v0
const/4 v1, -0x3
const/4 v2, 0x1
if-eqz v0, :cond_1
.line 302
invoke-virtual {p0}, Landroidx/core/provider/FontsContractCompat$FontFamilyResult;->getStatusCode()I
move-result p0
if-eq p0, v2, :cond_0
return v1
:cond_0
const/4 p0, -0x2
return p0
.line 309
:cond_1
invoke-virtual {p0}, Landroidx/core/provider/FontsContractCompat$FontFamilyResult;->getFonts()[Landroidx/core/provider/FontsContractCompat$FontInfo;
move-result-object p0
if-eqz p0, :cond_5
.line 310
array-length v0, p0
if-nez v0, :cond_2
goto :goto_2
.line 314
:cond_2
array-length v0, p0
const/4 v2, 0x0
move v3, v2
:goto_0
if-ge v3, v0, :cond_5
aget-object v4, p0, v3
.line 317
invoke-virtual {v4}, Landroidx/core/provider/FontsContractCompat$FontInfo;->getResultCode()I
move-result v4
if-eqz v4, :cond_4
if-gez v4, :cond_3
goto :goto_1
:cond_3
move v1, v4
:goto_1
return v1
:cond_4
add-int/lit8 v3, v3, 0x1
goto :goto_0
:cond_5
:goto_2
return v2
.end method
.method public static getFontSync(Ljava/lang/String;Landroid/content/Context;Ljava/util/List;I)Landroidx/core/provider/FontRequestWorker$TypefaceResult;
.locals 4
.param p0 # Ljava/lang/String;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p1 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Ljava/util/List;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Landroid/content/Context;",
"Ljava/util/List<",
"Landroidx/core/provider/FontRequest;",
">;I)",
"Landroidx/core/provider/FontRequestWorker$TypefaceResult;"
}
.end annotation
const-string v0, "getFontSync"
.line 253
invoke-static {v0}, Landroidx/tracing/Trace;->beginSection(Ljava/lang/String;)V
:try_start_0
sget-object v0, Landroidx/core/provider/FontRequestWorker;->sTypefaceCache:Landroidx/collection/LruCache;
.line 256
invoke-virtual {v0, p0}, Landroidx/collection/LruCache;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroid/graphics/Typeface;
if-eqz v1, :cond_0
.line 258
new-instance p0, Landroidx/core/provider/FontRequestWorker$TypefaceResult;
invoke-direct {p0, v1}, Landroidx/core/provider/FontRequestWorker$TypefaceResult;-><init>(Landroid/graphics/Typeface;)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 293
invoke-static {}, Landroidx/tracing/Trace;->endSection()V
return-object p0
:catchall_0
move-exception p0
goto :goto_1
:cond_0
const/4 v1, 0x0
.line 263
:try_start_1
invoke-static {p1, p2, v1}, Landroidx/core/provider/FontProvider;->getFontFamilyResult(Landroid/content/Context;Ljava/util/List;Landroid/os/CancellationSignal;)Landroidx/core/provider/FontsContractCompat$FontFamilyResult;
move-result-object p2
:try_end_1
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_1 .. :try_end_1} :catch_0
.catchall {:try_start_1 .. :try_end_1} :catchall_0
.line 268
:try_start_2
invoke-static {p2}, Landroidx/core/provider/FontRequestWorker;->getFontFamilyResultStatus(Landroidx/core/provider/FontsContractCompat$FontFamilyResult;)I
move-result v2
if-eqz v2, :cond_1
.line 270
new-instance p0, Landroidx/core/provider/FontRequestWorker$TypefaceResult;
invoke-direct {p0, v2}, Landroidx/core/provider/FontRequestWorker$TypefaceResult;-><init>(I)V
:try_end_2
.catchall {:try_start_2 .. :try_end_2} :catchall_0
.line 293
invoke-static {}, Landroidx/tracing/Trace;->endSection()V
return-object p0
.line 274
:cond_1
:try_start_3
invoke-virtual {p2}, Landroidx/core/provider/FontsContractCompat$FontFamilyResult;->hasFallback()Z
move-result v2
if-eqz v2, :cond_2
sget v2, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v3, 0x1d
if-lt v2, v3, :cond_2
.line 276
invoke-virtual {p2}, Landroidx/core/provider/FontsContractCompat$FontFamilyResult;->getFontsWithFallbacks()Ljava/util/List;
move-result-object p2
.line 275
invoke-static {p1, v1, p2, p3}, Landroidx/core/graphics/TypefaceCompat;->createFromFontInfoWithFallback(Landroid/content/Context;Landroid/os/CancellationSignal;Ljava/util/List;I)Landroid/graphics/Typeface;
move-result-object p1
goto :goto_0
.line 280
:cond_2
invoke-virtual {p2}, Landroidx/core/provider/FontsContractCompat$FontFamilyResult;->getFonts()[Landroidx/core/provider/FontsContractCompat$FontInfo;
move-result-object p2
.line 279
invoke-static {p1, v1, p2, p3}, Landroidx/core/graphics/TypefaceCompat;->createFromFontInfo(Landroid/content/Context;Landroid/os/CancellationSignal;[Landroidx/core/provider/FontsContractCompat$FontInfo;I)Landroid/graphics/Typeface;
move-result-object p1
:goto_0
if-eqz p1, :cond_3
.line 286
invoke-virtual {v0, p0, p1}, Landroidx/collection/LruCache;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 287
new-instance p0, Landroidx/core/provider/FontRequestWorker$TypefaceResult;
invoke-direct {p0, p1}, Landroidx/core/provider/FontRequestWorker$TypefaceResult;-><init>(Landroid/graphics/Typeface;)V
:try_end_3
.catchall {:try_start_3 .. :try_end_3} :catchall_0
.line 293
invoke-static {}, Landroidx/tracing/Trace;->endSection()V
return-object p0
.line 289
:cond_3
:try_start_4
new-instance p0, Landroidx/core/provider/FontRequestWorker$TypefaceResult;
const/4 p1, -0x3
invoke-direct {p0, p1}, Landroidx/core/provider/FontRequestWorker$TypefaceResult;-><init>(I)V
:try_end_4
.catchall {:try_start_4 .. :try_end_4} :catchall_0
.line 293
invoke-static {}, Landroidx/tracing/Trace;->endSection()V
return-object p0
.line 265
:catch_0
:try_start_5
new-instance p0, Landroidx/core/provider/FontRequestWorker$TypefaceResult;
const/4 p1, -0x1
invoke-direct {p0, p1}, Landroidx/core/provider/FontRequestWorker$TypefaceResult;-><init>(I)V
:try_end_5
.catchall {:try_start_5 .. :try_end_5} :catchall_0
.line 293
invoke-static {}, Landroidx/tracing/Trace;->endSection()V
return-object p0
:goto_1
invoke-static {}, Landroidx/tracing/Trace;->endSection()V
.line 295
throw p0
.end method
.method public static requestFontAsync(Landroid/content/Context;Ljava/util/List;ILjava/util/concurrent/Executor;Landroidx/core/provider/CallbackWrapper;)Landroid/graphics/Typeface;
.locals 5
.param p0 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p1 # Ljava/util/List;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p3 # Ljava/util/concurrent/Executor;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.param p4 # Landroidx/core/provider/CallbackWrapper;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/content/Context;",
"Ljava/util/List<",
"Landroidx/core/provider/FontRequest;",
">;I",
"Ljava/util/concurrent/Executor;",
"Landroidx/core/provider/CallbackWrapper;",
")",
"Landroid/graphics/Typeface;"
}
.end annotation
.line 170
invoke-static {p1, p2}, Landroidx/core/provider/FontRequestWorker;->createCacheId(Ljava/util/List;I)Ljava/lang/String;
move-result-object v0
sget-object v1, Landroidx/core/provider/FontRequestWorker;->sTypefaceCache:Landroidx/collection/LruCache;
.line 171
invoke-virtual {v1, v0}, Landroidx/collection/LruCache;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroid/graphics/Typeface;
if-eqz v1, :cond_0
.line 173
new-instance p0, Landroidx/core/provider/FontRequestWorker$TypefaceResult;
invoke-direct {p0, v1}, Landroidx/core/provider/FontRequestWorker$TypefaceResult;-><init>(Landroid/graphics/Typeface;)V
invoke-virtual {p4, p0}, Landroidx/core/provider/CallbackWrapper;->onTypefaceResult(Landroidx/core/provider/FontRequestWorker$TypefaceResult;)V
return-object v1
.line 177
:cond_0
new-instance v1, Landroidx/core/provider/FontRequestWorker$2;
invoke-direct {v1, p4}, Landroidx/core/provider/FontRequestWorker$2;-><init>(Landroidx/core/provider/CallbackWrapper;)V
sget-object p4, Landroidx/core/provider/FontRequestWorker;->LOCK:Ljava/lang/Object;
.line 187
monitor-enter p4
:try_start_0
sget-object v2, Landroidx/core/provider/FontRequestWorker;->PENDING_REPLIES:Landroidx/collection/SimpleArrayMap;
.line 188
invoke-virtual {v2, v0}, Landroidx/collection/SimpleArrayMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/util/ArrayList;
const/4 v4, 0x0
if-eqz v3, :cond_1
.line 192
invoke-virtual {v3, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 193
monitor-exit p4
return-object v4
:catchall_0
move-exception p0
goto :goto_0
.line 195
:cond_1
new-instance v3, Ljava/util/ArrayList;
invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V
.line 196
invoke-virtual {v3, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 197
invoke-virtual {v2, v0, v3}, Landroidx/collection/SimpleArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 198
monitor-exit p4
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 200
new-instance p4, Landroidx/core/provider/FontRequestWorker$3;
invoke-direct {p4, v0, p0, p1, p2}, Landroidx/core/provider/FontRequestWorker$3;-><init>(Ljava/lang/String;Landroid/content/Context;Ljava/util/List;I)V
if-nez p3, :cond_2
sget-object p3, Landroidx/core/provider/FontRequestWorker;->DEFAULT_EXECUTOR_SERVICE:Ljava/util/concurrent/ExecutorService;
.line 212
:cond_2
new-instance p0, Landroidx/core/provider/FontRequestWorker$4;
invoke-direct {p0, v0}, Landroidx/core/provider/FontRequestWorker$4;-><init>(Ljava/lang/String;)V
invoke-static {p3, p4, p0}, Landroidx/core/provider/RequestExecutor;->execute(Ljava/util/concurrent/Executor;Ljava/util/concurrent/Callable;Landroidx/core/util/Consumer;)V
return-object v4
.line 198
:goto_0
:try_start_1
monitor-exit p4
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
throw p0
.end method
.method public static requestFontSync(Landroid/content/Context;Landroidx/core/provider/FontRequest;Landroidx/core/provider/CallbackWrapper;II)Landroid/graphics/Typeface;
.locals 2
.param p0 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p1 # Landroidx/core/provider/FontRequest;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroidx/core/provider/CallbackWrapper;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 108
invoke-static {p1}, Landroidx/core/provider/FontRequestWorker$$ExternalSyntheticBackport0;->m(Ljava/lang/Object;)Ljava/util/List;
move-result-object v0
invoke-static {v0, p3}, Landroidx/core/provider/FontRequestWorker;->createCacheId(Ljava/util/List;I)Ljava/lang/String;
move-result-object v0
sget-object v1, Landroidx/core/provider/FontRequestWorker;->sTypefaceCache:Landroidx/collection/LruCache;
.line 109
invoke-virtual {v1, v0}, Landroidx/collection/LruCache;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroid/graphics/Typeface;
if-eqz v1, :cond_0
.line 111
new-instance p0, Landroidx/core/provider/FontRequestWorker$TypefaceResult;
invoke-direct {p0, v1}, Landroidx/core/provider/FontRequestWorker$TypefaceResult;-><init>(Landroid/graphics/Typeface;)V
invoke-virtual {p2, p0}, Landroidx/core/provider/CallbackWrapper;->onTypefaceResult(Landroidx/core/provider/FontRequestWorker$TypefaceResult;)V
return-object v1
:cond_0
const/4 v1, -0x1
if-ne p4, v1, :cond_1
.line 118
invoke-static {p1}, Landroidx/core/provider/FontRequestWorker$$ExternalSyntheticBackport1;->m(Ljava/lang/Object;)Ljava/util/List;
move-result-object p1
invoke-static {v0, p0, p1, p3}, Landroidx/core/provider/FontRequestWorker;->getFontSync(Ljava/lang/String;Landroid/content/Context;Ljava/util/List;I)Landroidx/core/provider/FontRequestWorker$TypefaceResult;
move-result-object p0
.line 120
invoke-virtual {p2, p0}, Landroidx/core/provider/CallbackWrapper;->onTypefaceResult(Landroidx/core/provider/FontRequestWorker$TypefaceResult;)V
.line 121
iget-object p0, p0, Landroidx/core/provider/FontRequestWorker$TypefaceResult;->mTypeface:Landroid/graphics/Typeface;
return-object p0
.line 124
:cond_1
new-instance v1, Landroidx/core/provider/FontRequestWorker$1;
invoke-direct {v1, v0, p0, p1, p3}, Landroidx/core/provider/FontRequestWorker$1;-><init>(Ljava/lang/String;Landroid/content/Context;Landroidx/core/provider/FontRequest;I)V
:try_start_0
sget-object p0, Landroidx/core/provider/FontRequestWorker;->DEFAULT_EXECUTOR_SERVICE:Ljava/util/concurrent/ExecutorService;
.line 132
invoke-static {p0, v1, p4}, Landroidx/core/provider/RequestExecutor;->submit(Ljava/util/concurrent/ExecutorService;Ljava/util/concurrent/Callable;I)Ljava/lang/Object;
move-result-object p0
check-cast p0, Landroidx/core/provider/FontRequestWorker$TypefaceResult;
.line 137
invoke-virtual {p2, p0}, Landroidx/core/provider/CallbackWrapper;->onTypefaceResult(Landroidx/core/provider/FontRequestWorker$TypefaceResult;)V
.line 138
iget-object p0, p0, Landroidx/core/provider/FontRequestWorker$TypefaceResult;->mTypeface:Landroid/graphics/Typeface;
:try_end_0
.catch Ljava/lang/InterruptedException; {:try_start_0 .. :try_end_0} :catch_0
return-object p0
.line 140
:catch_0
new-instance p0, Landroidx/core/provider/FontRequestWorker$TypefaceResult;
const/4 p1, -0x3
invoke-direct {p0, p1}, Landroidx/core/provider/FontRequestWorker$TypefaceResult;-><init>(I)V
invoke-virtual {p2, p0}, Landroidx/core/provider/CallbackWrapper;->onTypefaceResult(Landroidx/core/provider/FontRequestWorker$TypefaceResult;)V
const/4 p0, 0x0
return-object p0
.end method
.method public static resetTypefaceCache()V
.locals 1
sget-object v0, Landroidx/core/provider/FontRequestWorker;->sTypefaceCache:Landroidx/collection/LruCache;
.line 82
invoke-virtual {v0}, Landroidx/collection/LruCache;->evictAll()V
return-void
.end method