Files
rr3-apk/smali/androidx/webkit/internal/MimeUtil.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

1149 lines
18 KiB
Smali

.class Landroidx/webkit/internal/MimeUtil;
.super Ljava/lang/Object;
.source "SourceFile"
# direct methods
.method public constructor <init>()V
.locals 0
.line 21
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static getMimeFromFileName(Ljava/lang/String;)Ljava/lang/String;
.locals 1
if-nez p0, :cond_0
const/4 p0, 0x0
return-object p0
.line 33
:cond_0
invoke-static {p0}, Ljava/net/URLConnection;->guessContentTypeFromName(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
if-eqz v0, :cond_1
return-object v0
.line 39
:cond_1
invoke-static {p0}, Landroidx/webkit/internal/MimeUtil;->guessHardcodedMime(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method private static guessHardcodedMime(Ljava/lang/String;)Ljava/lang/String;
.locals 5
const/16 v0, 0x2e
.line 47
invoke-virtual {p0, v0}, Ljava/lang/String;->lastIndexOf(I)I
move-result v1
const/4 v2, 0x0
const/4 v3, -0x1
if-ne v1, v3, :cond_0
return-object v2
:cond_0
const/4 v4, 0x1
add-int/2addr v1, v4
.line 52
invoke-virtual {p0, v1}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object p0
invoke-virtual {p0}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;
move-result-object p0
.line 54
invoke-virtual {p0}, Ljava/lang/String;->hashCode()I
invoke-virtual {p0}, Ljava/lang/String;->hashCode()I
move-result v1
sparse-switch v1, :sswitch_data_0
:goto_0
move v0, v3
goto/16 :goto_1
:sswitch_0
const-string v0, "xhtml"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_1
goto :goto_0
:cond_1
const/16 v0, 0x31
goto/16 :goto_1
:sswitch_1
const-string v0, "shtml"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_2
goto :goto_0
:cond_2
const/16 v0, 0x30
goto/16 :goto_1
:sswitch_2
const-string v0, "pjpeg"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_3
goto :goto_0
:cond_3
const/16 v0, 0x2f
goto/16 :goto_1
:sswitch_3
const-string v1, "mhtml"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_32
goto :goto_0
:sswitch_4
const-string v0, "ehtml"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_4
goto :goto_0
:cond_4
const/16 v0, 0x2d
goto/16 :goto_1
:sswitch_5
const-string v0, "xhtm"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_5
goto :goto_0
:cond_5
const/16 v0, 0x2c
goto/16 :goto_1
:sswitch_6
const-string v0, "woff"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_6
goto :goto_0
:cond_6
const/16 v0, 0x2b
goto/16 :goto_1
:sswitch_7
const-string v0, "webp"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_7
goto :goto_0
:cond_7
const/16 v0, 0x2a
goto/16 :goto_1
:sswitch_8
const-string v0, "webm"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_8
goto :goto_0
:cond_8
const/16 v0, 0x29
goto/16 :goto_1
:sswitch_9
const-string v0, "wasm"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_9
goto :goto_0
:cond_9
const/16 v0, 0x28
goto/16 :goto_1
:sswitch_a
const-string v0, "tiff"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_a
goto/16 :goto_0
:cond_a
const/16 v0, 0x27
goto/16 :goto_1
:sswitch_b
const-string v0, "svgz"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_b
goto/16 :goto_0
:cond_b
const/16 v0, 0x26
goto/16 :goto_1
:sswitch_c
const-string v0, "shtm"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_c
goto/16 :goto_0
:cond_c
const/16 v0, 0x25
goto/16 :goto_1
:sswitch_d
const-string v0, "opus"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_d
goto/16 :goto_0
:cond_d
const/16 v0, 0x24
goto/16 :goto_1
:sswitch_e
const-string v0, "mpeg"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_e
goto/16 :goto_0
:cond_e
const/16 v0, 0x23
goto/16 :goto_1
:sswitch_f
const-string v0, "json"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_f
goto/16 :goto_0
:cond_f
const/16 v0, 0x22
goto/16 :goto_1
:sswitch_10
const-string v0, "jpeg"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_10
goto/16 :goto_0
:cond_10
const/16 v0, 0x21
goto/16 :goto_1
:sswitch_11
const-string v0, "jfif"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_11
goto/16 :goto_0
:cond_11
const/16 v0, 0x20
goto/16 :goto_1
:sswitch_12
const-string v0, "html"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_12
goto/16 :goto_0
:cond_12
const/16 v0, 0x1f
goto/16 :goto_1
:sswitch_13
const-string v0, "flac"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_13
goto/16 :goto_0
:cond_13
const/16 v0, 0x1e
goto/16 :goto_1
:sswitch_14
const-string v0, "apng"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_14
goto/16 :goto_0
:cond_14
const/16 v0, 0x1d
goto/16 :goto_1
:sswitch_15
const-string v0, "zip"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_15
goto/16 :goto_0
:cond_15
const/16 v0, 0x1c
goto/16 :goto_1
:sswitch_16
const-string v0, "xml"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_16
goto/16 :goto_0
:cond_16
const/16 v0, 0x1b
goto/16 :goto_1
:sswitch_17
const-string v0, "xht"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_17
goto/16 :goto_0
:cond_17
const/16 v0, 0x1a
goto/16 :goto_1
:sswitch_18
const-string v0, "wav"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_18
goto/16 :goto_0
:cond_18
const/16 v0, 0x19
goto/16 :goto_1
:sswitch_19
const-string v0, "tif"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_19
goto/16 :goto_0
:cond_19
const/16 v0, 0x18
goto/16 :goto_1
:sswitch_1a
const-string v0, "tgz"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_1a
goto/16 :goto_0
:cond_1a
const/16 v0, 0x17
goto/16 :goto_1
:sswitch_1b
const-string v0, "svg"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_1b
goto/16 :goto_0
:cond_1b
const/16 v0, 0x16
goto/16 :goto_1
:sswitch_1c
const-string v0, "png"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_1c
goto/16 :goto_0
:cond_1c
const/16 v0, 0x15
goto/16 :goto_1
:sswitch_1d
const-string v0, "pjp"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_1d
goto/16 :goto_0
:cond_1d
const/16 v0, 0x14
goto/16 :goto_1
:sswitch_1e
const-string v0, "pdf"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_1e
goto/16 :goto_0
:cond_1e
const/16 v0, 0x13
goto/16 :goto_1
:sswitch_1f
const-string v0, "ogv"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_1f
goto/16 :goto_0
:cond_1f
const/16 v0, 0x12
goto/16 :goto_1
:sswitch_20
const-string v0, "ogm"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_20
goto/16 :goto_0
:cond_20
const/16 v0, 0x11
goto/16 :goto_1
:sswitch_21
const-string v0, "ogg"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_21
goto/16 :goto_0
:cond_21
const/16 v0, 0x10
goto/16 :goto_1
:sswitch_22
const-string v0, "oga"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_22
goto/16 :goto_0
:cond_22
const/16 v0, 0xf
goto/16 :goto_1
:sswitch_23
const-string v0, "mpg"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_23
goto/16 :goto_0
:cond_23
const/16 v0, 0xe
goto/16 :goto_1
:sswitch_24
const-string v0, "mp4"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_24
goto/16 :goto_0
:cond_24
const/16 v0, 0xd
goto/16 :goto_1
:sswitch_25
const-string v0, "mp3"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_25
goto/16 :goto_0
:cond_25
const/16 v0, 0xc
goto/16 :goto_1
:sswitch_26
const-string v0, "mjs"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_26
goto/16 :goto_0
:cond_26
const/16 v0, 0xb
goto/16 :goto_1
:sswitch_27
const-string v0, "mht"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_27
goto/16 :goto_0
:cond_27
const/16 v0, 0xa
goto/16 :goto_1
:sswitch_28
const-string v0, "m4v"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_28
goto/16 :goto_0
:cond_28
const/16 v0, 0x9
goto/16 :goto_1
:sswitch_29
const-string v0, "m4a"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_29
goto/16 :goto_0
:cond_29
const/16 v0, 0x8
goto/16 :goto_1
:sswitch_2a
const-string v0, "jpg"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_2a
goto/16 :goto_0
:cond_2a
const/4 v0, 0x7
goto :goto_1
:sswitch_2b
const-string v0, "ico"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_2b
goto/16 :goto_0
:cond_2b
const/4 v0, 0x6
goto :goto_1
:sswitch_2c
const-string v0, "htm"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_2c
goto/16 :goto_0
:cond_2c
const/4 v0, 0x5
goto :goto_1
:sswitch_2d
const-string v0, "gif"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_2d
goto/16 :goto_0
:cond_2d
const/4 v0, 0x4
goto :goto_1
:sswitch_2e
const-string v0, "css"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_2e
goto/16 :goto_0
:cond_2e
const/4 v0, 0x3
goto :goto_1
:sswitch_2f
const-string v0, "bmp"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_2f
goto/16 :goto_0
:cond_2f
const/4 v0, 0x2
goto :goto_1
:sswitch_30
const-string v0, "js"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_30
goto/16 :goto_0
:cond_30
move v0, v4
goto :goto_1
:sswitch_31
const-string v0, "gz"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-nez p0, :cond_31
goto/16 :goto_0
:cond_31
const/4 v0, 0x0
:cond_32
:goto_1
packed-switch v0, :pswitch_data_0
return-object v2
:pswitch_0
const-string p0, "application/font-woff"
return-object p0
:pswitch_1
const-string p0, "image/webp"
return-object p0
:pswitch_2
const-string p0, "video/webm"
return-object p0
:pswitch_3
const-string p0, "application/wasm"
return-object p0
:pswitch_4
const-string p0, "application/json"
return-object p0
:pswitch_5
const-string p0, "audio/flac"
return-object p0
:pswitch_6
const-string p0, "image/apng"
return-object p0
:pswitch_7
const-string p0, "application/zip"
return-object p0
:pswitch_8
const-string p0, "text/xml"
return-object p0
:pswitch_9
const-string p0, "application/xhtml+xml"
return-object p0
:pswitch_a
const-string p0, "audio/wav"
return-object p0
:pswitch_b
const-string p0, "image/tiff"
return-object p0
:pswitch_c
const-string p0, "image/svg+xml"
return-object p0
:pswitch_d
const-string p0, "image/png"
return-object p0
:pswitch_e
const-string p0, "application/pdf"
return-object p0
:pswitch_f
const-string p0, "video/ogg"
return-object p0
:pswitch_10
const-string p0, "audio/ogg"
return-object p0
:pswitch_11
const-string p0, "video/mpeg"
return-object p0
:pswitch_12
const-string p0, "audio/mpeg"
return-object p0
:pswitch_13
const-string p0, "multipart/related"
return-object p0
:pswitch_14
const-string p0, "video/mp4"
return-object p0
:pswitch_15
const-string p0, "audio/x-m4a"
return-object p0
:pswitch_16
const-string p0, "image/jpeg"
return-object p0
:pswitch_17
const-string p0, "image/x-icon"
return-object p0
:pswitch_18
const-string p0, "text/html"
return-object p0
:pswitch_19
const-string p0, "image/gif"
return-object p0
:pswitch_1a
const-string p0, "text/css"
return-object p0
:pswitch_1b
const-string p0, "image/bmp"
return-object p0
:pswitch_1c
const-string p0, "application/javascript"
return-object p0
:pswitch_1d
const-string p0, "application/gzip"
return-object p0
nop
:sswitch_data_0
.sparse-switch
0xcf3 -> :sswitch_31
0xd49 -> :sswitch_30
0x17d85 -> :sswitch_2f
0x18203 -> :sswitch_2e
0x18fc4 -> :sswitch_2d
0x194e1 -> :sswitch_2c
0x19695 -> :sswitch_2b
0x19be1 -> :sswitch_2a
0x19fda -> :sswitch_29
0x19fef -> :sswitch_28
0x1a639 -> :sswitch_27
0x1a676 -> :sswitch_26
0x1a6f0 -> :sswitch_25
0x1a6f1 -> :sswitch_24
0x1a724 -> :sswitch_23
0x1ad89 -> :sswitch_22
0x1ad8f -> :sswitch_21
0x1ad95 -> :sswitch_20
0x1ad9e -> :sswitch_1f
0x1b0f2 -> :sswitch_1e
0x1b1b6 -> :sswitch_1d
0x1b229 -> :sswitch_1c
0x1be64 -> :sswitch_1b
0x1c067 -> :sswitch_1a
0x1c091 -> :sswitch_19
0x1caec -> :sswitch_18
0x1cf84 -> :sswitch_17
0x1d017 -> :sswitch_16
0x1d721 -> :sswitch_15
0x2dca28 -> :sswitch_14
0x2fff68 -> :sswitch_13
0x3107ab -> :sswitch_12
0x31bb59 -> :sswitch_11
0x31e068 -> :sswitch_10
0x31ece8 -> :sswitch_f
0x333d85 -> :sswitch_e
0x34283f -> :sswitch_d
0x35db8e -> :sswitch_c
0x360e96 -> :sswitch_b
0x3651f5 -> :sswitch_a
0x3792a4 -> :sswitch_9
0x379f99 -> :sswitch_8
0x379f9c -> :sswitch_7
0x37c598 -> :sswitch_6
0x382169 -> :sswitch_5
0x5c04d90 -> :sswitch_4
0x6310998 -> :sswitch_3
0x65c28d8 -> :sswitch_2
0x685969e -> :sswitch_1
0x6cc0c23 -> :sswitch_0
.end sparse-switch
:pswitch_data_0
.packed-switch 0x0
:pswitch_1d
:pswitch_1c
:pswitch_1b
:pswitch_1a
:pswitch_19
:pswitch_18
:pswitch_17
:pswitch_16
:pswitch_15
:pswitch_14
:pswitch_13
:pswitch_1c
:pswitch_12
:pswitch_14
:pswitch_11
:pswitch_10
:pswitch_10
:pswitch_f
:pswitch_f
:pswitch_e
:pswitch_16
:pswitch_d
:pswitch_c
:pswitch_1d
:pswitch_b
:pswitch_a
:pswitch_9
:pswitch_8
:pswitch_7
:pswitch_6
:pswitch_5
:pswitch_18
:pswitch_16
:pswitch_16
:pswitch_4
:pswitch_11
:pswitch_10
:pswitch_18
:pswitch_c
:pswitch_b
:pswitch_3
:pswitch_2
:pswitch_1
:pswitch_0
:pswitch_9
:pswitch_18
:pswitch_13
:pswitch_16
:pswitch_18
:pswitch_9
.end packed-switch
.end method