.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 ()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;->(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;->(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;->(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;->(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;->(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