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
This commit is contained in:
2026-02-18 16:13:44 -08:00
parent c080f0d97f
commit f3960ee359
44288 changed files with 10998761 additions and 0 deletions

View File

@@ -0,0 +1,617 @@
.class public final Landroidx/work/impl/utils/EnqueueUtilsKt;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation build Lkotlin/jvm/internal/SourceDebugExtension;
value = {
"SMAP\nEnqueueUtils.kt\nKotlin\n*S Kotlin\n*F\n+ 1 EnqueueUtils.kt\nandroidx/work/impl/utils/EnqueueUtilsKt\n+ 2 _Collections.kt\nkotlin/collections/CollectionsKt___CollectionsKt\n+ 3 fake.kt\nkotlin/jvm/internal/FakeKt\n+ 4 Data_.kt\nandroidx/work/Data\n*L\n1#1,168:1\n1774#2,4:169\n1747#2,3:177\n1#3:173\n229#4:174\n229#4:175\n229#4:176\n*S KotlinDebug\n*F\n+ 1 EnqueueUtils.kt\nandroidx/work/impl/utils/EnqueueUtilsKt\n*L\n45#1:169,4\n140#1:177,3\n71#1:174\n72#1:175\n73#1:176\n*E\n"
}
.end annotation
# static fields
.field public static final ARGUMENT_REMOTE_LISTENABLE_WORKER_NAME:Ljava/lang/String; = "androidx.work.multiprocess.RemoteListenableDelegatingWorker.ARGUMENT_REMOTE_LISTENABLE_WORKER_NAME"
.field public static final ARGUMENT_SERVICE_CLASS_NAME:Ljava/lang/String; = "androidx.work.impl.workers.RemoteListenableWorker.ARGUMENT_CLASS_NAME"
.field public static final ARGUMENT_SERVICE_PACKAGE_NAME:Ljava/lang/String; = "androidx.work.impl.workers.RemoteListenableWorker.ARGUMENT_PACKAGE_NAME"
.field public static final REMOTE_DELEGATING_LISTENABLE_WORKER_CLASS_NAME:Ljava/lang/String; = "androidx.work.multiprocess.RemoteListenableDelegatingWorker"
# direct methods
.method public static final checkContentUriTriggerWorkerLimits(Landroidx/work/impl/WorkDatabase;Landroidx/work/Configuration;Landroidx/work/impl/WorkContinuationImpl;)V
.locals 7
const-string v0, "workDatabase"
invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "configuration"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "continuation"
invoke-static {p2, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
const/4 v0, 0x1
new-array v1, v0, [Landroidx/work/impl/WorkContinuationImpl;
const/4 v2, 0x0
aput-object p2, v1, v2
.line 41
invoke-static {v1}, Lkotlin/collections/CollectionsKt;->mutableListOf([Ljava/lang/Object;)Ljava/util/List;
move-result-object p2
move v1, v2
.line 43
:cond_0
:goto_0
move-object v3, p2
check-cast v3, Ljava/util/Collection;
invoke-interface {v3}, Ljava/util/Collection;->isEmpty()Z
move-result v3
xor-int/2addr v3, v0
if-eqz v3, :cond_4
.line 44
invoke-static {p2}, Lkotlin/collections/CollectionsKt;->removeLast(Ljava/util/List;)Ljava/lang/Object;
move-result-object v3
check-cast v3, Landroidx/work/impl/WorkContinuationImpl;
.line 45
invoke-virtual {v3}, Landroidx/work/impl/WorkContinuationImpl;->getWork()Ljava/util/List;
move-result-object v4
const-string v5, "current.work"
invoke-static {v4, v5}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
check-cast v4, Ljava/lang/Iterable;
.line 1774
instance-of v5, v4, Ljava/util/Collection;
if-eqz v5, :cond_1
move-object v5, v4
check-cast v5, Ljava/util/Collection;
invoke-interface {v5}, Ljava/util/Collection;->isEmpty()Z
move-result v5
if-eqz v5, :cond_1
move v5, v2
goto :goto_2
.line 1776
:cond_1
invoke-interface {v4}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
move-result-object v4
move v5, v2
:cond_2
:goto_1
invoke-interface {v4}, Ljava/util/Iterator;->hasNext()Z
move-result v6
if-eqz v6, :cond_3
invoke-interface {v4}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v6
check-cast v6, Landroidx/work/WorkRequest;
.line 45
invoke-virtual {v6}, Landroidx/work/WorkRequest;->getWorkSpec()Landroidx/work/impl/model/WorkSpec;
move-result-object v6
iget-object v6, v6, Landroidx/work/impl/model/WorkSpec;->constraints:Landroidx/work/Constraints;
invoke-virtual {v6}, Landroidx/work/Constraints;->hasContentUriTriggers()Z
move-result v6
if-eqz v6, :cond_2
add-int/lit8 v5, v5, 0x1
if-gez v5, :cond_2
.line 1776
invoke-static {}, Lkotlin/collections/CollectionsKt;->throwCountOverflow()V
goto :goto_1
:cond_3
:goto_2
add-int/2addr v1, v5
.line 46
invoke-virtual {v3}, Landroidx/work/impl/WorkContinuationImpl;->getParents()Ljava/util/List;
move-result-object v3
if-eqz v3, :cond_0
check-cast v3, Ljava/util/Collection;
invoke-interface {p2, v3}, Ljava/util/List;->addAll(Ljava/util/Collection;)Z
goto :goto_0
:cond_4
if-nez v1, :cond_5
return-void
.line 49
:cond_5
invoke-virtual {p0}, Landroidx/work/impl/WorkDatabase;->workSpecDao()Landroidx/work/impl/model/WorkSpecDao;
move-result-object p0
invoke-interface {p0}, Landroidx/work/impl/model/WorkSpecDao;->countNonFinishedContentUriTriggerWorkers()I
move-result p0
.line 50
invoke-virtual {p1}, Landroidx/work/Configuration;->getContentUriTriggerWorkersLimit()I
move-result p1
add-int p2, p0, v1
if-gt p2, p1, :cond_6
return-void
.line 52
:cond_6
new-instance p2, Ljava/lang/IllegalArgumentException;
.line 53
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Too many workers with contentUriTriggers are enqueued:\ncontentUriTrigger workers limit: "
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;
const-string p1, ";\nalready enqueued count: "
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string p0, ";\ncurrent enqueue operation count: "
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string p0, ".\nTo address this issue you can: \n1. enqueue less workers or batch some of workers with content uri triggers together;\n2. increase limit via Configuration.Builder.setContentUriTriggerWorkersLimit;\nPlease beware that workers with content uri triggers immediately occupy slots in JobScheduler so no updates to content uris are missed."
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
.line 52
invoke-direct {p2, p0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p2
.end method
.method public static final tryDelegateConstrainedWorkSpec(Landroidx/work/impl/model/WorkSpec;)Landroidx/work/impl/model/WorkSpec;
.locals 35
move-object/from16 v0, p0
const-string v1, "workSpec"
invoke-static {v0, v1}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
.line 93
iget-object v1, v0, Landroidx/work/impl/model/WorkSpec;->constraints:Landroidx/work/Constraints;
.line 94
iget-object v2, v0, Landroidx/work/impl/model/WorkSpec;->workerClassName:Ljava/lang/String;
const-class v3, Landroidx/work/impl/workers/ConstraintTrackingWorker;
.line 102
invoke-virtual {v3}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v4
invoke-static {v2, v4}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v4
if-nez v4, :cond_1
.line 105
invoke-virtual {v1}, Landroidx/work/Constraints;->requiresBatteryNotLow()Z
move-result v4
if-nez v4, :cond_0
invoke-virtual {v1}, Landroidx/work/Constraints;->requiresStorageNotLow()Z
move-result v1
if-eqz v1, :cond_1
.line 108
:cond_0
new-instance v1, Landroidx/work/Data$Builder;
invoke-direct {v1}, Landroidx/work/Data$Builder;-><init>()V
.line 109
iget-object v4, v0, Landroidx/work/impl/model/WorkSpec;->input:Landroidx/work/Data;
invoke-virtual {v1, v4}, Landroidx/work/Data$Builder;->putAll(Landroidx/work/Data;)Landroidx/work/Data$Builder;
move-result-object v1
const-string v4, "androidx.work.impl.workers.ConstraintTrackingWorker.ARGUMENT_CLASS_NAME"
.line 110
invoke-virtual {v1, v4, v2}, Landroidx/work/Data$Builder;->putString(Ljava/lang/String;Ljava/lang/String;)Landroidx/work/Data$Builder;
move-result-object v1
.line 111
invoke-virtual {v1}, Landroidx/work/Data$Builder;->build()Landroidx/work/Data;
move-result-object v5
.line 114
invoke-virtual {v3}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v4
move-object v3, v4
const/4 v1, 0x0
const/4 v2, 0x0
const-string v6, "name"
invoke-static {v4, v6}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
const/4 v4, 0x0
const/4 v6, 0x0
const-wide/16 v7, 0x0
const-wide/16 v9, 0x0
const-wide/16 v11, 0x0
const/4 v13, 0x0
const/4 v14, 0x0
const/4 v15, 0x0
const-wide/16 v16, 0x0
const-wide/16 v18, 0x0
const-wide/16 v20, 0x0
const-wide/16 v22, 0x0
const/16 v24, 0x0
const/16 v25, 0x0
const/16 v26, 0x0
const/16 v27, 0x0
const-wide/16 v28, 0x0
const/16 v30, 0x0
const/16 v31, 0x0
const/16 v32, 0x0
const v33, 0xffffeb
const/16 v34, 0x0
move-object/from16 v0, p0
.line 112
invoke-static/range {v0 .. v34}, Landroidx/work/impl/model/WorkSpec;->copy$default(Landroidx/work/impl/model/WorkSpec;Ljava/lang/String;Landroidx/work/WorkInfo$State;Ljava/lang/String;Ljava/lang/String;Landroidx/work/Data;Landroidx/work/Data;JJJLandroidx/work/Constraints;ILandroidx/work/BackoffPolicy;JJJJZLandroidx/work/OutOfQuotaPolicy;IIJIILjava/lang/String;ILjava/lang/Object;)Landroidx/work/impl/model/WorkSpec;
move-result-object v0
:cond_1
return-object v0
.end method
.method public static final tryDelegateRemoteListenableWorker(Landroidx/work/impl/model/WorkSpec;)Landroidx/work/impl/model/WorkSpec;
.locals 35
.annotation build Landroidx/annotation/VisibleForTesting;
.end annotation
move-object/from16 v0, p0
const-string v1, "workSpec"
invoke-static {v0, v1}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
.line 71
iget-object v1, v0, Landroidx/work/impl/model/WorkSpec;->input:Landroidx/work/Data;
const-string v2, "androidx.work.multiprocess.RemoteListenableDelegatingWorker.ARGUMENT_REMOTE_LISTENABLE_WORKER_NAME"
const-class v3, Ljava/lang/String;
.line 229
invoke-virtual {v1, v2, v3}, Landroidx/work/Data;->hasKeyWithValueOfType(Ljava/lang/String;Ljava/lang/Class;)Z
move-result v1
.line 72
iget-object v4, v0, Landroidx/work/impl/model/WorkSpec;->input:Landroidx/work/Data;
const-string v5, "androidx.work.impl.workers.RemoteListenableWorker.ARGUMENT_PACKAGE_NAME"
.line 229
invoke-virtual {v4, v5, v3}, Landroidx/work/Data;->hasKeyWithValueOfType(Ljava/lang/String;Ljava/lang/Class;)Z
move-result v4
.line 73
iget-object v5, v0, Landroidx/work/impl/model/WorkSpec;->input:Landroidx/work/Data;
const-string v6, "androidx.work.impl.workers.RemoteListenableWorker.ARGUMENT_CLASS_NAME"
.line 229
invoke-virtual {v5, v6, v3}, Landroidx/work/Data;->hasKeyWithValueOfType(Ljava/lang/String;Ljava/lang/Class;)Z
move-result v3
if-nez v1, :cond_0
if-eqz v4, :cond_0
if-eqz v3, :cond_0
.line 75
iget-object v1, v0, Landroidx/work/impl/model/WorkSpec;->workerClassName:Ljava/lang/String;
.line 77
new-instance v3, Landroidx/work/Data$Builder;
invoke-direct {v3}, Landroidx/work/Data$Builder;-><init>()V
.line 78
iget-object v4, v0, Landroidx/work/impl/model/WorkSpec;->input:Landroidx/work/Data;
invoke-virtual {v3, v4}, Landroidx/work/Data$Builder;->putAll(Landroidx/work/Data;)Landroidx/work/Data$Builder;
move-result-object v3
.line 79
invoke-virtual {v3, v2, v1}, Landroidx/work/Data$Builder;->putString(Ljava/lang/String;Ljava/lang/String;)Landroidx/work/Data$Builder;
move-result-object v1
.line 80
invoke-virtual {v1}, Landroidx/work/Data$Builder;->build()Landroidx/work/Data;
move-result-object v5
const/4 v1, 0x0
const/4 v2, 0x0
const-string v3, "androidx.work.multiprocess.RemoteListenableDelegatingWorker"
const/4 v4, 0x0
const/4 v6, 0x0
const-wide/16 v7, 0x0
const-wide/16 v9, 0x0
const-wide/16 v11, 0x0
const/4 v13, 0x0
const/4 v14, 0x0
const/4 v15, 0x0
const-wide/16 v16, 0x0
const-wide/16 v18, 0x0
const-wide/16 v20, 0x0
const-wide/16 v22, 0x0
const/16 v24, 0x0
const/16 v25, 0x0
const/16 v26, 0x0
const/16 v27, 0x0
const-wide/16 v28, 0x0
const/16 v30, 0x0
const/16 v31, 0x0
const/16 v32, 0x0
const v33, 0xffffeb
const/16 v34, 0x0
move-object/from16 v0, p0
.line 82
invoke-static/range {v0 .. v34}, Landroidx/work/impl/model/WorkSpec;->copy$default(Landroidx/work/impl/model/WorkSpec;Ljava/lang/String;Landroidx/work/WorkInfo$State;Ljava/lang/String;Ljava/lang/String;Landroidx/work/Data;Landroidx/work/Data;JJJLandroidx/work/Constraints;ILandroidx/work/BackoffPolicy;JJJJZLandroidx/work/OutOfQuotaPolicy;IIJIILjava/lang/String;ILjava/lang/Object;)Landroidx/work/impl/model/WorkSpec;
move-result-object v0
:cond_0
return-object v0
.end method
.method private static final usesScheduler(Ljava/util/List;Ljava/lang/String;)Z
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"+",
"Landroidx/work/impl/Scheduler;",
">;",
"Ljava/lang/String;",
")Z"
}
.end annotation
const/4 v0, 0x0
.line 139
:try_start_0
invoke-static {p1}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object p1
.line 140
check-cast p0, Ljava/lang/Iterable;
.line 1747
instance-of v1, p0, Ljava/util/Collection;
if-eqz v1, :cond_0
move-object v1, p0
check-cast v1, Ljava/util/Collection;
invoke-interface {v1}, Ljava/util/Collection;->isEmpty()Z
move-result v1
if-eqz v1, :cond_0
goto :goto_0
.line 1748
:cond_0
invoke-interface {p0}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
move-result-object p0
:cond_1
invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_2
invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroidx/work/impl/Scheduler;
.line 140
invoke-virtual {v1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v1
invoke-virtual {p1, v1}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v1
:try_end_0
.catch Ljava/lang/ClassNotFoundException; {:try_start_0 .. :try_end_0} :catch_0
if-eqz v1, :cond_1
const/4 v0, 0x1
:catch_0
:cond_2
:goto_0
return v0
.end method
.method public static final wrapWorkSpecIfNeeded(Ljava/util/List;Landroidx/work/impl/model/WorkSpec;)Landroidx/work/impl/model/WorkSpec;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"+",
"Landroidx/work/impl/Scheduler;",
">;",
"Landroidx/work/impl/model/WorkSpec;",
")",
"Landroidx/work/impl/model/WorkSpec;"
}
.end annotation
const-string v0, "schedulers"
invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
const-string p0, "workSpec"
invoke-static {p1, p0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
.line 125
invoke-static {p1}, Landroidx/work/impl/utils/EnqueueUtilsKt;->tryDelegateRemoteListenableWorker(Landroidx/work/impl/model/WorkSpec;)Landroidx/work/impl/model/WorkSpec;
move-result-object p0
return-object p0
.end method