- Decompiled RealRacing3 v14.0.1 (versionCode 14001) - Patched EnvironmentDataContainer.getLatestAppVersionCheckResult() to always return 0 (APP_VERSION_OK) - Copied all offline managers from v13: LocalSaveManager, OfflineModeManager, OfflineCurrencyManager, OfflineEventsManager - Applied delayed initialization fix to MainActivity (500ms Handler.postDelayed) - Added MainActivity\ inner class with try-catch wrapper - Server killswitch completely bypassed - game will work after March 2026 shutdown - Compatible with v13 APKs (same signing key: rr3-release.keystore) This is the ULTIMATE EDITION: Latest game version + no killswitch + offline mode + crash fixed Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1522 lines
29 KiB
Smali
1522 lines
29 KiB
Smali
.class public abstract Lcom/google/android/exoplayer2/util/Util;
|
|
.super Ljava/lang/Object;
|
|
.source "SourceFile"
|
|
|
|
|
|
# static fields
|
|
.field public static final CRC32_BYTES_MSBF:[I
|
|
|
|
.field public static final CRC8_BYTES_MSBF:[I
|
|
|
|
.field public static final DEVICE:Ljava/lang/String;
|
|
|
|
.field public static final DEVICE_DEBUG_INFO:Ljava/lang/String;
|
|
|
|
.field public static final EMPTY_BYTE_ARRAY:[B
|
|
|
|
.field public static final ESCAPED_CHARACTER_PATTERN:Ljava/util/regex/Pattern;
|
|
|
|
.field public static final ISM_URL_PATTERN:Ljava/util/regex/Pattern;
|
|
|
|
.field public static final MANUFACTURER:Ljava/lang/String;
|
|
|
|
.field public static final MODEL:Ljava/lang/String;
|
|
|
|
.field public static final SDK_INT:I
|
|
|
|
.field public static final XS_DATE_TIME_PATTERN:Ljava/util/regex/Pattern;
|
|
|
|
.field public static final XS_DURATION_PATTERN:Ljava/util/regex/Pattern;
|
|
|
|
.field public static final additionalIsoLanguageReplacements:[Ljava/lang/String;
|
|
|
|
.field public static final isoLegacyTagReplacements:[Ljava/lang/String;
|
|
|
|
.field public static languageTagReplacementMap:Ljava/util/HashMap;
|
|
|
|
|
|
# direct methods
|
|
.method static constructor <clinit>()V
|
|
.locals 87
|
|
|
|
.line 108
|
|
sget-object v0, Landroid/os/Build$VERSION;->CODENAME:Ljava/lang/String;
|
|
|
|
const-string v1, "S"
|
|
|
|
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
|
|
|
|
move-result v1
|
|
|
|
if-eqz v1, :cond_0
|
|
|
|
const/16 v0, 0x1f
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const-string v1, "R"
|
|
|
|
.line 110
|
|
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
const/16 v0, 0x1e
|
|
|
|
goto :goto_0
|
|
|
|
:cond_1
|
|
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
|
|
|
|
:goto_0
|
|
sput v0, Lcom/google/android/exoplayer2/util/Util;->SDK_INT:I
|
|
|
|
.line 116
|
|
sget-object v1, Landroid/os/Build;->DEVICE:Ljava/lang/String;
|
|
|
|
sput-object v1, Lcom/google/android/exoplayer2/util/Util;->DEVICE:Ljava/lang/String;
|
|
|
|
.line 122
|
|
sget-object v2, Landroid/os/Build;->MANUFACTURER:Ljava/lang/String;
|
|
|
|
sput-object v2, Lcom/google/android/exoplayer2/util/Util;->MANUFACTURER:Ljava/lang/String;
|
|
|
|
.line 128
|
|
sget-object v3, Landroid/os/Build;->MODEL:Ljava/lang/String;
|
|
|
|
sput-object v3, Lcom/google/android/exoplayer2/util/Util;->MODEL:Ljava/lang/String;
|
|
|
|
.line 131
|
|
invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
|
|
|
|
move-result-object v4
|
|
|
|
invoke-virtual {v4}, Ljava/lang/String;->length()I
|
|
|
|
move-result v4
|
|
|
|
add-int/lit8 v4, v4, 0x11
|
|
|
|
invoke-static {v3}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
|
|
|
|
move-result-object v5
|
|
|
|
invoke-virtual {v5}, Ljava/lang/String;->length()I
|
|
|
|
move-result v5
|
|
|
|
add-int/2addr v4, v5
|
|
|
|
invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
|
|
|
|
move-result-object v5
|
|
|
|
invoke-virtual {v5}, Ljava/lang/String;->length()I
|
|
|
|
move-result v5
|
|
|
|
add-int/2addr v4, v5
|
|
|
|
new-instance v5, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {v5, v4}, Ljava/lang/StringBuilder;-><init>(I)V
|
|
|
|
invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
const-string v1, ", "
|
|
|
|
invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
sput-object v0, Lcom/google/android/exoplayer2/util/Util;->DEVICE_DEBUG_INFO:Ljava/lang/String;
|
|
|
|
const/4 v0, 0x0
|
|
|
|
new-array v0, v0, [B
|
|
|
|
sput-object v0, Lcom/google/android/exoplayer2/util/Util;->EMPTY_BYTE_ARRAY:[B
|
|
|
|
const-string v0, "(\\d\\d\\d\\d)\\-(\\d\\d)\\-(\\d\\d)[Tt](\\d\\d):(\\d\\d):(\\d\\d)([\\.,](\\d+))?([Zz]|((\\+|\\-)(\\d?\\d):?(\\d\\d)))?"
|
|
|
|
.line 139
|
|
invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
|
|
|
|
move-result-object v0
|
|
|
|
sput-object v0, Lcom/google/android/exoplayer2/util/Util;->XS_DATE_TIME_PATTERN:Ljava/util/regex/Pattern;
|
|
|
|
const-string v0, "^(-)?P(([0-9]*)Y)?(([0-9]*)M)?(([0-9]*)D)?(T(([0-9]*)H)?(([0-9]*)M)?(([0-9.]*)S)?)?$"
|
|
|
|
.line 144
|
|
invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
|
|
|
|
move-result-object v0
|
|
|
|
sput-object v0, Lcom/google/android/exoplayer2/util/Util;->XS_DURATION_PATTERN:Ljava/util/regex/Pattern;
|
|
|
|
const-string v0, "%([A-Fa-f0-9]{2})"
|
|
|
|
.line 147
|
|
invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
|
|
|
|
move-result-object v0
|
|
|
|
sput-object v0, Lcom/google/android/exoplayer2/util/Util;->ESCAPED_CHARACTER_PATTERN:Ljava/util/regex/Pattern;
|
|
|
|
const-string v0, ".*\\.isml?(?:/(manifest(.*))?)?"
|
|
|
|
.line 150
|
|
invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
|
|
|
|
move-result-object v0
|
|
|
|
sput-object v0, Lcom/google/android/exoplayer2/util/Util;->ISM_URL_PATTERN:Ljava/util/regex/Pattern;
|
|
|
|
const-string v1, "alb"
|
|
|
|
const-string v2, "sq"
|
|
|
|
const-string v3, "arm"
|
|
|
|
const-string v4, "hy"
|
|
|
|
const-string v5, "baq"
|
|
|
|
const-string v6, "eu"
|
|
|
|
const-string v7, "bur"
|
|
|
|
const-string v8, "my"
|
|
|
|
const-string v9, "tib"
|
|
|
|
const-string v10, "bo"
|
|
|
|
const-string v11, "chi"
|
|
|
|
const-string v12, "zh"
|
|
|
|
const-string v13, "cze"
|
|
|
|
const-string v14, "cs"
|
|
|
|
const-string v15, "dut"
|
|
|
|
const-string v16, "nl"
|
|
|
|
const-string v17, "ger"
|
|
|
|
const-string v18, "de"
|
|
|
|
const-string v19, "gre"
|
|
|
|
const-string v20, "el"
|
|
|
|
const-string v21, "fre"
|
|
|
|
const-string v22, "fr"
|
|
|
|
const-string v23, "geo"
|
|
|
|
const-string v24, "ka"
|
|
|
|
const-string v25, "ice"
|
|
|
|
const-string v26, "is"
|
|
|
|
const-string v27, "mac"
|
|
|
|
const-string v28, "mk"
|
|
|
|
const-string v29, "mao"
|
|
|
|
const-string v30, "mi"
|
|
|
|
const-string v31, "may"
|
|
|
|
const-string v32, "ms"
|
|
|
|
const-string v33, "per"
|
|
|
|
const-string v34, "fa"
|
|
|
|
const-string v35, "rum"
|
|
|
|
const-string v36, "ro"
|
|
|
|
const-string v37, "scc"
|
|
|
|
const-string v38, "hbs-srp"
|
|
|
|
const-string v39, "slo"
|
|
|
|
const-string v40, "sk"
|
|
|
|
const-string v41, "wel"
|
|
|
|
const-string v42, "cy"
|
|
|
|
const-string v43, "id"
|
|
|
|
const-string v44, "ms-ind"
|
|
|
|
const-string v45, "iw"
|
|
|
|
const-string v46, "he"
|
|
|
|
const-string v47, "heb"
|
|
|
|
const-string v48, "he"
|
|
|
|
const-string v49, "ji"
|
|
|
|
const-string v50, "yi"
|
|
|
|
const-string v51, "in"
|
|
|
|
const-string v52, "ms-ind"
|
|
|
|
const-string v53, "ind"
|
|
|
|
const-string v54, "ms-ind"
|
|
|
|
const-string v55, "nb"
|
|
|
|
const-string v56, "no-nob"
|
|
|
|
const-string v57, "nob"
|
|
|
|
const-string v58, "no-nob"
|
|
|
|
const-string v59, "nn"
|
|
|
|
const-string v60, "no-nno"
|
|
|
|
const-string v61, "nno"
|
|
|
|
const-string v62, "no-nno"
|
|
|
|
const-string v63, "tw"
|
|
|
|
const-string v64, "ak-twi"
|
|
|
|
const-string v65, "twi"
|
|
|
|
const-string v66, "ak-twi"
|
|
|
|
const-string v67, "bs"
|
|
|
|
const-string v68, "hbs-bos"
|
|
|
|
const-string v69, "bos"
|
|
|
|
const-string v70, "hbs-bos"
|
|
|
|
const-string v71, "hr"
|
|
|
|
const-string v72, "hbs-hrv"
|
|
|
|
const-string v73, "hrv"
|
|
|
|
const-string v74, "hbs-hrv"
|
|
|
|
const-string v75, "sr"
|
|
|
|
const-string v76, "hbs-srp"
|
|
|
|
const-string v77, "srp"
|
|
|
|
const-string v78, "hbs-srp"
|
|
|
|
const-string v79, "cmn"
|
|
|
|
const-string v80, "zh-cmn"
|
|
|
|
const-string v81, "hak"
|
|
|
|
const-string v82, "zh-hak"
|
|
|
|
const-string v83, "nan"
|
|
|
|
const-string v84, "zh-nan"
|
|
|
|
const-string v85, "hsn"
|
|
|
|
const-string v86, "zh-hsn"
|
|
|
|
filled-new-array/range {v1 .. v86}, [Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
sput-object v0, Lcom/google/android/exoplayer2/util/Util;->additionalIsoLanguageReplacements:[Ljava/lang/String;
|
|
|
|
const-string v1, "i-lux"
|
|
|
|
const-string v2, "lb"
|
|
|
|
const-string v3, "i-hak"
|
|
|
|
const-string v4, "zh-hak"
|
|
|
|
const-string v5, "i-navajo"
|
|
|
|
const-string v6, "nv"
|
|
|
|
const-string v7, "no-bok"
|
|
|
|
const-string v8, "no-nob"
|
|
|
|
const-string v9, "no-nyn"
|
|
|
|
const-string v10, "no-nno"
|
|
|
|
const-string v11, "zh-guoyu"
|
|
|
|
const-string v12, "zh-cmn"
|
|
|
|
const-string v13, "zh-hakka"
|
|
|
|
const-string v14, "zh-hak"
|
|
|
|
const-string v15, "zh-min-nan"
|
|
|
|
const-string v16, "zh-nan"
|
|
|
|
const-string v17, "zh-xiang"
|
|
|
|
const-string v18, "zh-hsn"
|
|
|
|
filled-new-array/range {v1 .. v18}, [Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
sput-object v0, Lcom/google/android/exoplayer2/util/Util;->isoLegacyTagReplacements:[Ljava/lang/String;
|
|
|
|
const/16 v0, 0x100
|
|
|
|
new-array v1, v0, [I
|
|
|
|
fill-array-data v1, :array_0
|
|
|
|
sput-object v1, Lcom/google/android/exoplayer2/util/Util;->CRC32_BYTES_MSBF:[I
|
|
|
|
new-array v0, v0, [I
|
|
|
|
fill-array-data v0, :array_1
|
|
|
|
sput-object v0, Lcom/google/android/exoplayer2/util/Util;->CRC8_BYTES_MSBF:[I
|
|
|
|
return-void
|
|
|
|
:array_0
|
|
.array-data 4
|
|
0x0
|
|
0x4c11db7
|
|
0x9823b6e
|
|
0xd4326d9
|
|
0x130476dc
|
|
0x17c56b6b
|
|
0x1a864db2
|
|
0x1e475005
|
|
0x2608edb8
|
|
0x22c9f00f
|
|
0x2f8ad6d6
|
|
0x2b4bcb61
|
|
0x350c9b64
|
|
0x31cd86d3
|
|
0x3c8ea00a
|
|
0x384fbdbd
|
|
0x4c11db70 # 3.8235584E7f
|
|
0x48d0c6c7
|
|
0x4593e01e
|
|
0x4152fda9
|
|
0x5f15adac
|
|
0x5bd4b01b
|
|
0x569796c2
|
|
0x52568b75
|
|
0x6a1936c8
|
|
0x6ed82b7f
|
|
0x639b0da6
|
|
0x675a1011
|
|
0x791d4014
|
|
0x7ddc5da3
|
|
0x709f7b7a
|
|
0x745e66cd
|
|
-0x67dc4920
|
|
-0x631d54a9 # -1.4999716E-21f
|
|
-0x6e5e7272
|
|
-0x6a9f6fc7
|
|
-0x74d83fc4
|
|
-0x70192275
|
|
-0x7d5a04ae
|
|
-0x799b191b
|
|
-0x41d4a4a8
|
|
-0x4515b911
|
|
-0x48569fca
|
|
-0x4c97827f
|
|
-0x52d0d27c
|
|
-0x5611cfcd
|
|
-0x5b52e916
|
|
-0x5f93f4a3 # -1.9993737E-19f
|
|
-0x2bcd9270
|
|
-0x2f0c8fd9
|
|
-0x224fa902
|
|
-0x268eb4b7
|
|
-0x38c9e4b4
|
|
-0x3c08f905
|
|
-0x314bdfde
|
|
-0x358ac26b
|
|
-0xdc57fd8
|
|
-0x9046261
|
|
-0x44744ba
|
|
-0x86590f
|
|
-0x1ec1090c
|
|
-0x1a0014bd
|
|
-0x17433266
|
|
-0x13822fd3
|
|
0x34867077
|
|
0x30476dc0
|
|
0x3d044b19
|
|
0x39c556ae
|
|
0x278206ab
|
|
0x23431b1c
|
|
0x2e003dc5
|
|
0x2ac12072
|
|
0x128e9dcf # 9.000363E-28f
|
|
0x164f8078
|
|
0x1b0ca6a1
|
|
0x1fcdbb16
|
|
0x18aeb13
|
|
0x54bf6a4
|
|
0x808d07d
|
|
0xcc9cdca
|
|
0x7897ab07
|
|
0x7c56b6b0
|
|
0x71159069
|
|
0x75d48dde
|
|
0x6b93dddb
|
|
0x6f52c06c
|
|
0x6211e6b5
|
|
0x66d0fb02
|
|
0x5e9f46bf
|
|
0x5a5e5b08
|
|
0x571d7dd1
|
|
0x53dc6066
|
|
0x4d9b3063 # 3.2545494E8f
|
|
0x495a2dd4 # 893661.25f
|
|
0x44190b0d
|
|
0x40d816ba
|
|
-0x535a3969
|
|
-0x579b24e0
|
|
-0x5ad80207
|
|
-0x5e191fb2
|
|
-0x405e4fb5
|
|
-0x449f5204
|
|
-0x49dc74db
|
|
-0x4d1d696e
|
|
-0x7552d4d1
|
|
-0x7193c968
|
|
-0x7cd0efbf
|
|
-0x7811f20a
|
|
-0x6656a20d
|
|
-0x6297bfbc
|
|
-0x6fd49963
|
|
-0x6b1584d6
|
|
-0x1f4be219
|
|
-0x1b8affb0
|
|
-0x16c9d977
|
|
-0x1208c4c2
|
|
-0xc4f94c5
|
|
-0x88e8974
|
|
-0x5cdafab
|
|
-0x10cb21e
|
|
-0x39430fa1
|
|
-0x3d821218
|
|
-0x30c134cf
|
|
-0x3400297a
|
|
-0x2a47797d
|
|
-0x2e8664cc
|
|
-0x23c54213
|
|
-0x27045fa6
|
|
0x690ce0ee
|
|
0x6dcdfd59
|
|
0x608edb80
|
|
0x644fc637
|
|
0x7a089632
|
|
0x7ec98b85
|
|
0x738aad5c
|
|
0x774bb0eb
|
|
0x4f040d56
|
|
0x4bc510e1 # 2.5829826E7f
|
|
0x46863638
|
|
0x42472b8f
|
|
0x5c007b8a
|
|
0x58c1663d
|
|
0x558240e4
|
|
0x51435d53
|
|
0x251d3b9e
|
|
0x21dc2629
|
|
0x2c9f00f0
|
|
0x285e1d47
|
|
0x36194d42
|
|
0x32d850f5
|
|
0x3f9b762c
|
|
0x3b5a6b9b
|
|
0x315d626
|
|
0x7d4cb91
|
|
0xa97ed48
|
|
0xe56f0ff
|
|
0x1011a0fa
|
|
0x14d0bd4d
|
|
0x19939b94
|
|
0x1d528623
|
|
-0xed0a9f2
|
|
-0xa11b447
|
|
-0x75292a0
|
|
-0x3938f29
|
|
-0x1dd4df2e
|
|
-0x1915c29b
|
|
-0x1456e444
|
|
-0x1097f9f5
|
|
-0x28d8444a
|
|
-0x2c1959ff
|
|
-0x215a7f28
|
|
-0x259b6291
|
|
-0x3bdc3296
|
|
-0x3f1d2f23
|
|
-0x325e09fc
|
|
-0x369f144d
|
|
-0x42c17282
|
|
-0x46006f37
|
|
-0x4b4349f0
|
|
-0x4f825459
|
|
-0x51c5045e
|
|
-0x550419eb
|
|
-0x58473f34
|
|
-0x5c862285
|
|
-0x64c99f3a
|
|
-0x6008828f
|
|
-0x6d4ba458
|
|
-0x698ab9e1
|
|
-0x77cde9e6
|
|
-0x730cf453
|
|
-0x7e4fd28c
|
|
-0x7a8ecf3d
|
|
0x5d8a9099
|
|
0x594b8d2e
|
|
0x5408abf7
|
|
0x50c9b640
|
|
0x4e8ee645
|
|
0x4a4ffbf2 # 3407612.5f
|
|
0x470cdd2b
|
|
0x43cdc09c
|
|
0x7b827d21
|
|
0x7f436096
|
|
0x7200464f
|
|
0x76c15bf8
|
|
0x68860bfd
|
|
0x6c47164a
|
|
0x61043093
|
|
0x65c52d24
|
|
0x119b4be9
|
|
0x155a565e
|
|
0x18197087
|
|
0x1cd86d30
|
|
0x29f3d35
|
|
0x65e2082
|
|
0xb1d065b
|
|
0xfdc1bec
|
|
0x3793a651
|
|
0x3352bbe6
|
|
0x3e119d3f
|
|
0x3ad08088
|
|
0x2497d08d
|
|
0x2056cd3a
|
|
0x2d15ebe3
|
|
0x29d4f654
|
|
-0x3a56d987
|
|
-0x3e97c432
|
|
-0x33d4e2e9 # -4.4856412E7f
|
|
-0x3715ff60 # -479237.0f
|
|
-0x2952af5b
|
|
-0x2d93b2ee
|
|
-0x20d09435
|
|
-0x24118984
|
|
-0x1c5e343f
|
|
-0x189f298a
|
|
-0x15dc0f51
|
|
-0x111d12e8
|
|
-0xf5a42e3
|
|
-0xb9b5f56
|
|
-0x6d8798d
|
|
-0x219643c
|
|
-0x764702f7
|
|
-0x72861f42 # -7.6999573E-31f
|
|
-0x7fc53999
|
|
-0x7b042430
|
|
-0x6543742b
|
|
-0x6182699e
|
|
-0x6cc14f45
|
|
-0x680052f4
|
|
-0x504fef4f
|
|
-0x548ef2fa
|
|
-0x59cdd421
|
|
-0x5d0cc998
|
|
-0x434b9993
|
|
-0x478a8426
|
|
-0x4ac9a2fd
|
|
-0x4e08bf4c
|
|
.end array-data
|
|
|
|
:array_1
|
|
.array-data 4
|
|
0x0
|
|
0x7
|
|
0xe
|
|
0x9
|
|
0x1c
|
|
0x1b
|
|
0x12
|
|
0x15
|
|
0x38
|
|
0x3f
|
|
0x36
|
|
0x31
|
|
0x24
|
|
0x23
|
|
0x2a
|
|
0x2d
|
|
0x70
|
|
0x77
|
|
0x7e
|
|
0x79
|
|
0x6c
|
|
0x6b
|
|
0x62
|
|
0x65
|
|
0x48
|
|
0x4f
|
|
0x46
|
|
0x41
|
|
0x54
|
|
0x53
|
|
0x5a
|
|
0x5d
|
|
0xe0
|
|
0xe7
|
|
0xee
|
|
0xe9
|
|
0xfc
|
|
0xfb
|
|
0xf2
|
|
0xf5
|
|
0xd8
|
|
0xdf
|
|
0xd6
|
|
0xd1
|
|
0xc4
|
|
0xc3
|
|
0xca
|
|
0xcd
|
|
0x90
|
|
0x97
|
|
0x9e
|
|
0x99
|
|
0x8c
|
|
0x8b
|
|
0x82
|
|
0x85
|
|
0xa8
|
|
0xaf
|
|
0xa6
|
|
0xa1
|
|
0xb4
|
|
0xb3
|
|
0xba
|
|
0xbd
|
|
0xc7
|
|
0xc0
|
|
0xc9
|
|
0xce
|
|
0xdb
|
|
0xdc
|
|
0xd5
|
|
0xd2
|
|
0xff
|
|
0xf8
|
|
0xf1
|
|
0xf6
|
|
0xe3
|
|
0xe4
|
|
0xed
|
|
0xea
|
|
0xb7
|
|
0xb0
|
|
0xb9
|
|
0xbe
|
|
0xab
|
|
0xac
|
|
0xa5
|
|
0xa2
|
|
0x8f
|
|
0x88
|
|
0x81
|
|
0x86
|
|
0x93
|
|
0x94
|
|
0x9d
|
|
0x9a
|
|
0x27
|
|
0x20
|
|
0x29
|
|
0x2e
|
|
0x3b
|
|
0x3c
|
|
0x35
|
|
0x32
|
|
0x1f
|
|
0x18
|
|
0x11
|
|
0x16
|
|
0x3
|
|
0x4
|
|
0xd
|
|
0xa
|
|
0x57
|
|
0x50
|
|
0x59
|
|
0x5e
|
|
0x4b
|
|
0x4c
|
|
0x45
|
|
0x42
|
|
0x6f
|
|
0x68
|
|
0x61
|
|
0x66
|
|
0x73
|
|
0x74
|
|
0x7d
|
|
0x7a
|
|
0x89
|
|
0x8e
|
|
0x87
|
|
0x80
|
|
0x95
|
|
0x92
|
|
0x9b
|
|
0x9c
|
|
0xb1
|
|
0xb6
|
|
0xbf
|
|
0xb8
|
|
0xad
|
|
0xaa
|
|
0xa3
|
|
0xa4
|
|
0xf9
|
|
0xfe
|
|
0xf7
|
|
0xf0
|
|
0xe5
|
|
0xe2
|
|
0xeb
|
|
0xec
|
|
0xc1
|
|
0xc6
|
|
0xcf
|
|
0xc8
|
|
0xdd
|
|
0xda
|
|
0xd3
|
|
0xd4
|
|
0x69
|
|
0x6e
|
|
0x67
|
|
0x60
|
|
0x75
|
|
0x72
|
|
0x7b
|
|
0x7c
|
|
0x51
|
|
0x56
|
|
0x5f
|
|
0x58
|
|
0x4d
|
|
0x4a
|
|
0x43
|
|
0x44
|
|
0x19
|
|
0x1e
|
|
0x17
|
|
0x10
|
|
0x5
|
|
0x2
|
|
0xb
|
|
0xc
|
|
0x21
|
|
0x26
|
|
0x2f
|
|
0x28
|
|
0x3d
|
|
0x3a
|
|
0x33
|
|
0x34
|
|
0x4e
|
|
0x49
|
|
0x40
|
|
0x47
|
|
0x52
|
|
0x55
|
|
0x5c
|
|
0x5b
|
|
0x76
|
|
0x71
|
|
0x78
|
|
0x7f
|
|
0x6a
|
|
0x6d
|
|
0x64
|
|
0x63
|
|
0x3e
|
|
0x39
|
|
0x30
|
|
0x37
|
|
0x22
|
|
0x25
|
|
0x2c
|
|
0x2b
|
|
0x6
|
|
0x1
|
|
0x8
|
|
0xf
|
|
0x1a
|
|
0x1d
|
|
0x14
|
|
0x13
|
|
0xae
|
|
0xa9
|
|
0xa0
|
|
0xa7
|
|
0xb2
|
|
0xb5
|
|
0xbc
|
|
0xbb
|
|
0x96
|
|
0x91
|
|
0x98
|
|
0x9f
|
|
0x8a
|
|
0x8d
|
|
0x84
|
|
0x83
|
|
0xde
|
|
0xd9
|
|
0xd0
|
|
0xd7
|
|
0xc2
|
|
0xc5
|
|
0xcc
|
|
0xcb
|
|
0xe6
|
|
0xe1
|
|
0xe8
|
|
0xef
|
|
0xfa
|
|
0xfd
|
|
0xf4
|
|
0xf3
|
|
.end array-data
|
|
.end method
|
|
|
|
.method public static areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z
|
|
.locals 0
|
|
|
|
if-nez p0, :cond_1
|
|
|
|
if-nez p1, :cond_0
|
|
|
|
const/4 p0, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const/4 p0, 0x0
|
|
|
|
goto :goto_0
|
|
|
|
.line 292
|
|
:cond_1
|
|
invoke-virtual {p0, p1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
|
|
|
|
move-result p0
|
|
|
|
:goto_0
|
|
return p0
|
|
.end method
|
|
|
|
.method public static castNonNull(Ljava/lang/Object;)Ljava/lang/Object;
|
|
.locals 0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static constrainValue(III)I
|
|
.locals 0
|
|
|
|
.line 802
|
|
invoke-static {p0, p2}, Ljava/lang/Math;->min(II)I
|
|
|
|
move-result p0
|
|
|
|
invoke-static {p1, p0}, Ljava/lang/Math;->max(II)I
|
|
|
|
move-result p0
|
|
|
|
return p0
|
|
.end method
|
|
|
|
.method public static constrainValue(JJJ)J
|
|
.locals 0
|
|
|
|
.line 814
|
|
invoke-static {p0, p1, p4, p5}, Ljava/lang/Math;->min(JJ)J
|
|
|
|
move-result-wide p0
|
|
|
|
invoke-static {p2, p3, p0, p1}, Ljava/lang/Math;->max(JJ)J
|
|
|
|
move-result-wide p0
|
|
|
|
return-wide p0
|
|
.end method
|
|
|
|
.method public static createIsoLanguageReplacementMap()Ljava/util/HashMap;
|
|
.locals 8
|
|
|
|
.line 2479
|
|
invoke-static {}, Ljava/util/Locale;->getISOLanguages()[Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
.line 2480
|
|
new-instance v1, Ljava/util/HashMap;
|
|
|
|
array-length v2, v0
|
|
|
|
sget-object v3, Lcom/google/android/exoplayer2/util/Util;->additionalIsoLanguageReplacements:[Ljava/lang/String;
|
|
|
|
array-length v3, v3
|
|
|
|
add-int/2addr v2, v3
|
|
|
|
invoke-direct {v1, v2}, Ljava/util/HashMap;-><init>(I)V
|
|
|
|
.line 2483
|
|
array-length v2, v0
|
|
|
|
const/4 v3, 0x0
|
|
|
|
move v4, v3
|
|
|
|
:goto_0
|
|
if-ge v4, v2, :cond_1
|
|
|
|
aget-object v5, v0, v4
|
|
|
|
.line 2486
|
|
:try_start_0
|
|
new-instance v6, Ljava/util/Locale;
|
|
|
|
invoke-direct {v6, v5}, Ljava/util/Locale;-><init>(Ljava/lang/String;)V
|
|
|
|
invoke-virtual {v6}, Ljava/util/Locale;->getISO3Language()Ljava/lang/String;
|
|
|
|
move-result-object v6
|
|
|
|
.line 2487
|
|
invoke-static {v6}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
|
|
|
|
move-result v7
|
|
|
|
if-nez v7, :cond_0
|
|
|
|
.line 2488
|
|
invoke-virtual {v1, v6, v5}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
|
|
:try_end_0
|
|
.catch Ljava/util/MissingResourceException; {:try_start_0 .. :try_end_0} :catch_0
|
|
|
|
:catch_0
|
|
:cond_0
|
|
add-int/lit8 v4, v4, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_1
|
|
:goto_1
|
|
sget-object v0, Lcom/google/android/exoplayer2/util/Util;->additionalIsoLanguageReplacements:[Ljava/lang/String;
|
|
|
|
.line 2495
|
|
array-length v2, v0
|
|
|
|
if-ge v3, v2, :cond_2
|
|
|
|
.line 2496
|
|
aget-object v2, v0, v3
|
|
|
|
add-int/lit8 v4, v3, 0x1
|
|
|
|
aget-object v0, v0, v4
|
|
|
|
invoke-virtual {v1, v2, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
|
|
|
|
add-int/lit8 v3, v3, 0x2
|
|
|
|
goto :goto_1
|
|
|
|
:cond_2
|
|
return-object v1
|
|
.end method
|
|
|
|
.method public static varargs formatInvariant(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
|
|
.locals 1
|
|
|
|
.line 768
|
|
sget-object v0, Ljava/util/Locale;->US:Ljava/util/Locale;
|
|
|
|
invoke-static {v0, p0, p1}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static getStringForTime(Ljava/lang/StringBuilder;Ljava/util/Formatter;J)Ljava/lang/String;
|
|
.locals 9
|
|
|
|
const-wide v0, -0x7fffffffffffffffL # -4.9E-324
|
|
|
|
cmp-long v0, p2, v0
|
|
|
|
const-wide/16 v1, 0x0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
move-wide p2, v1
|
|
|
|
:cond_0
|
|
cmp-long v0, p2, v1
|
|
|
|
if-gez v0, :cond_1
|
|
|
|
const-string v0, "-"
|
|
|
|
goto :goto_0
|
|
|
|
:cond_1
|
|
const-string v0, ""
|
|
|
|
.line 1924
|
|
:goto_0
|
|
invoke-static {p2, p3}, Ljava/lang/Math;->abs(J)J
|
|
|
|
move-result-wide p2
|
|
|
|
const-wide/16 v3, 0x1f4
|
|
|
|
add-long/2addr p2, v3
|
|
|
|
const-wide/16 v3, 0x3e8
|
|
|
|
.line 1925
|
|
div-long/2addr p2, v3
|
|
|
|
const-wide/16 v3, 0x3c
|
|
|
|
.line 1926
|
|
rem-long v5, p2, v3
|
|
|
|
.line 1927
|
|
div-long v7, p2, v3
|
|
|
|
rem-long/2addr v7, v3
|
|
|
|
const-wide/16 v3, 0xe10
|
|
|
|
.line 1928
|
|
div-long/2addr p2, v3
|
|
|
|
const/4 v3, 0x0
|
|
|
|
.line 1929
|
|
invoke-virtual {p0, v3}, Ljava/lang/StringBuilder;->setLength(I)V
|
|
|
|
cmp-long p0, p2, v1
|
|
|
|
if-lez p0, :cond_2
|
|
|
|
.line 1931
|
|
invoke-static {p2, p3}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {v7, v8}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
|
|
|
|
move-result-object p2
|
|
|
|
invoke-static {v5, v6}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
|
|
|
|
move-result-object p3
|
|
|
|
filled-new-array {v0, p0, p2, p3}, [Ljava/lang/Object;
|
|
|
|
move-result-object p0
|
|
|
|
const-string p2, "%s%d:%02d:%02d"
|
|
|
|
invoke-virtual {p1, p2, p0}, Ljava/util/Formatter;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
|
|
|
|
move-result-object p0
|
|
|
|
invoke-virtual {p0}, Ljava/util/Formatter;->toString()Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
goto :goto_1
|
|
|
|
.line 1932
|
|
:cond_2
|
|
invoke-static {v7, v8}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {v5, v6}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
|
|
|
|
move-result-object p2
|
|
|
|
filled-new-array {v0, p0, p2}, [Ljava/lang/Object;
|
|
|
|
move-result-object p0
|
|
|
|
const-string p2, "%s%02d:%02d"
|
|
|
|
invoke-virtual {p1, p2, p0}, Ljava/util/Formatter;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
|
|
|
|
move-result-object p0
|
|
|
|
invoke-virtual {p0}, Ljava/util/Formatter;->toString()Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
:goto_1
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static maybeReplaceLegacyLanguageTags(Ljava/lang/String;)Ljava/lang/String;
|
|
.locals 3
|
|
|
|
const/4 v0, 0x0
|
|
|
|
:goto_0
|
|
sget-object v1, Lcom/google/android/exoplayer2/util/Util;->isoLegacyTagReplacements:[Ljava/lang/String;
|
|
|
|
.line 2521
|
|
array-length v2, v1
|
|
|
|
if-ge v0, v2, :cond_2
|
|
|
|
.line 2522
|
|
aget-object v2, v1, v0
|
|
|
|
invoke-virtual {p0, v2}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
|
|
|
|
move-result v2
|
|
|
|
if-eqz v2, :cond_1
|
|
|
|
add-int/lit8 v2, v0, 0x1
|
|
|
|
.line 2523
|
|
aget-object v2, v1, v2
|
|
|
|
invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
|
|
|
|
move-result-object v2
|
|
|
|
aget-object v0, v1, v0
|
|
|
|
.line 2524
|
|
invoke-virtual {v0}, Ljava/lang/String;->length()I
|
|
|
|
move-result v0
|
|
|
|
invoke-virtual {p0, v0}, Ljava/lang/String;->substring(I)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
invoke-virtual {p0}, Ljava/lang/String;->length()I
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
invoke-virtual {v2, p0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
goto :goto_1
|
|
|
|
:cond_0
|
|
new-instance p0, Ljava/lang/String;
|
|
|
|
invoke-direct {p0, v2}, Ljava/lang/String;-><init>(Ljava/lang/String;)V
|
|
|
|
:goto_1
|
|
return-object p0
|
|
|
|
:cond_1
|
|
add-int/lit8 v0, v0, 0x2
|
|
|
|
goto :goto_0
|
|
|
|
:cond_2
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static normalizeLanguageCode(Ljava/lang/String;)Ljava/lang/String;
|
|
.locals 2
|
|
|
|
if-nez p0, :cond_0
|
|
|
|
const/4 p0, 0x0
|
|
|
|
return-object p0
|
|
|
|
:cond_0
|
|
const/16 v0, 0x5f
|
|
|
|
const/16 v1, 0x2d
|
|
|
|
.line 671
|
|
invoke-virtual {p0, v0, v1}, Ljava/lang/String;->replace(CC)Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
.line 672
|
|
invoke-virtual {v0}, Ljava/lang/String;->isEmpty()Z
|
|
|
|
move-result v1
|
|
|
|
if-nez v1, :cond_2
|
|
|
|
const-string v1, "und"
|
|
|
|
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
|
|
|
|
move-result v1
|
|
|
|
if-eqz v1, :cond_1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_1
|
|
move-object p0, v0
|
|
|
|
.line 676
|
|
:cond_2
|
|
:goto_0
|
|
invoke-static {p0}, Lcom/google/common/base/Ascii;->toLowerCase(Ljava/lang/String;)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
const-string v0, "-"
|
|
|
|
.line 677
|
|
invoke-static {p0, v0}, Lcom/google/android/exoplayer2/util/Util;->splitAtFirst(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
const/4 v1, 0x0
|
|
|
|
aget-object v0, v0, v1
|
|
|
|
sget-object v1, Lcom/google/android/exoplayer2/util/Util;->languageTagReplacementMap:Ljava/util/HashMap;
|
|
|
|
if-nez v1, :cond_3
|
|
|
|
.line 679
|
|
invoke-static {}, Lcom/google/android/exoplayer2/util/Util;->createIsoLanguageReplacementMap()Ljava/util/HashMap;
|
|
|
|
move-result-object v1
|
|
|
|
sput-object v1, Lcom/google/android/exoplayer2/util/Util;->languageTagReplacementMap:Ljava/util/HashMap;
|
|
|
|
:cond_3
|
|
sget-object v1, Lcom/google/android/exoplayer2/util/Util;->languageTagReplacementMap:Ljava/util/HashMap;
|
|
|
|
.line 681
|
|
invoke-virtual {v1, v0}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
|
|
|
|
move-result-object v1
|
|
|
|
check-cast v1, Ljava/lang/String;
|
|
|
|
if-eqz v1, :cond_5
|
|
|
|
.line 684
|
|
invoke-virtual {v0}, Ljava/lang/String;->length()I
|
|
|
|
move-result v0
|
|
|
|
invoke-virtual {p0, v0}, Ljava/lang/String;->substring(I)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
invoke-virtual {p0}, Ljava/lang/String;->length()I
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_4
|
|
|
|
invoke-virtual {v1, p0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
goto :goto_1
|
|
|
|
:cond_4
|
|
new-instance p0, Ljava/lang/String;
|
|
|
|
invoke-direct {p0, v1}, Ljava/lang/String;-><init>(Ljava/lang/String;)V
|
|
|
|
:goto_1
|
|
move-object v0, v1
|
|
|
|
:cond_5
|
|
const-string v1, "no"
|
|
|
|
.line 687
|
|
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
|
|
|
|
move-result v1
|
|
|
|
if-nez v1, :cond_6
|
|
|
|
const-string v1, "i"
|
|
|
|
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
|
|
|
|
move-result v1
|
|
|
|
if-nez v1, :cond_6
|
|
|
|
const-string v1, "zh"
|
|
|
|
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_7
|
|
|
|
.line 688
|
|
:cond_6
|
|
invoke-static {p0}, Lcom/google/android/exoplayer2/util/Util;->maybeReplaceLegacyLanguageTags(Ljava/lang/String;)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
:cond_7
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static readBoolean(Landroid/os/Parcel;)Z
|
|
.locals 0
|
|
|
|
.line 629
|
|
invoke-virtual {p0}, Landroid/os/Parcel;->readInt()I
|
|
|
|
move-result p0
|
|
|
|
if-eqz p0, :cond_0
|
|
|
|
const/4 p0, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const/4 p0, 0x0
|
|
|
|
:goto_0
|
|
return p0
|
|
.end method
|
|
|
|
.method public static splitAtFirst(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
|
|
.locals 1
|
|
|
|
const/4 v0, 0x2
|
|
|
|
.line 749
|
|
invoke-virtual {p0, p1, v0}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static startForegroundService(Landroid/content/Context;Landroid/content/Intent;)Landroid/content/ComponentName;
|
|
.locals 2
|
|
|
|
sget v0, Lcom/google/android/exoplayer2/util/Util;->SDK_INT:I
|
|
|
|
const/16 v1, 0x1a
|
|
|
|
if-lt v0, v1, :cond_0
|
|
|
|
.line 188
|
|
invoke-virtual {p0, p1}, Landroid/content/Context;->startForegroundService(Landroid/content/Intent;)Landroid/content/ComponentName;
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
|
|
.line 190
|
|
:cond_0
|
|
invoke-virtual {p0, p1}, Landroid/content/Context;->startService(Landroid/content/Intent;)Landroid/content/ComponentName;
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static writeBoolean(Landroid/os/Parcel;Z)V
|
|
.locals 0
|
|
|
|
.line 640
|
|
invoke-virtual {p0, p1}, Landroid/os/Parcel;->writeInt(I)V
|
|
|
|
return-void
|
|
.end method
|