Weather/smali/android/support/v4/os/LocaleHelper.smali
2021-05-10 10:13:34 +02:00

247 lines
5.1 KiB
Smali

.class final Landroid/support/v4/os/LocaleHelper;
.super Ljava/lang/Object;
.source "LocaleHelper.java"
# annotations
.annotation build Landroid/support/annotation/RestrictTo;
.end annotation
# direct methods
.method constructor <init>()V
.locals 0
.line 31
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method static forLanguageTag(Ljava/lang/String;)Ljava/util/Locale;
.locals 5
const-string v0, "-"
.line 35
invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
const/4 v1, 0x2
const/4 v2, 0x0
const/4 v3, 0x1
if-eqz v0, :cond_2
const-string v0, "-"
.line 36
invoke-virtual {p0, v0}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v0
.line 37
array-length v4, v0
if-le v4, v1, :cond_0
.line 38
new-instance p0, Ljava/util/Locale;
aget-object v2, v0, v2
aget-object v3, v0, v3
aget-object v0, v0, v1
invoke-direct {p0, v2, v3, v0}, Ljava/util/Locale;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
return-object p0
.line 39
:cond_0
array-length v1, v0
if-le v1, v3, :cond_1
.line 40
new-instance p0, Ljava/util/Locale;
aget-object v1, v0, v2
aget-object v0, v0, v3
invoke-direct {p0, v1, v0}, Ljava/util/Locale;-><init>(Ljava/lang/String;Ljava/lang/String;)V
return-object p0
.line 41
:cond_1
array-length v1, v0
if-ne v1, v3, :cond_5
.line 42
new-instance p0, Ljava/util/Locale;
aget-object v0, v0, v2
invoke-direct {p0, v0}, Ljava/util/Locale;-><init>(Ljava/lang/String;)V
return-object p0
:cond_2
const-string v0, "_"
.line 44
invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_6
const-string v0, "_"
.line 45
invoke-virtual {p0, v0}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v0
.line 46
array-length v4, v0
if-le v4, v1, :cond_3
.line 47
new-instance p0, Ljava/util/Locale;
aget-object v2, v0, v2
aget-object v3, v0, v3
aget-object v0, v0, v1
invoke-direct {p0, v2, v3, v0}, Ljava/util/Locale;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
return-object p0
.line 48
:cond_3
array-length v1, v0
if-le v1, v3, :cond_4
.line 49
new-instance p0, Ljava/util/Locale;
aget-object v1, v0, v2
aget-object v0, v0, v3
invoke-direct {p0, v1, v0}, Ljava/util/Locale;-><init>(Ljava/lang/String;Ljava/lang/String;)V
return-object p0
.line 50
:cond_4
array-length v1, v0
if-ne v1, v3, :cond_5
.line 51
new-instance p0, Ljava/util/Locale;
aget-object v0, v0, v2
invoke-direct {p0, v0}, Ljava/util/Locale;-><init>(Ljava/lang/String;)V
return-object p0
.line 57
:cond_5
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Can not parse language tag: ["
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p0, "]"
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {v0, p0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.line 54
:cond_6
new-instance v0, Ljava/util/Locale;
invoke-direct {v0, p0}, Ljava/util/Locale;-><init>(Ljava/lang/String;)V
return-object v0
.end method
.method static toLanguageTag(Ljava/util/Locale;)Ljava/lang/String;
.locals 2
.line 62
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
.line 63
invoke-virtual {p0}, Ljava/util/Locale;->getLanguage()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 64
invoke-virtual {p0}, Ljava/util/Locale;->getCountry()Ljava/lang/String;
move-result-object v1
if-eqz v1, :cond_0
.line 65
invoke-virtual {v1}, Ljava/lang/String;->isEmpty()Z
move-result v1
if-nez v1, :cond_0
const-string v1, "-"
.line 66
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 67
invoke-virtual {p0}, Ljava/util/Locale;->getCountry()Ljava/lang/String;
move-result-object p0
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 70
:cond_0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method