WXLocaleModule.smali
.class public Lcom/taobao/weex/ui/module/WXLocaleModule;
.super Lcom/taobao/weex/common/WXModule;
.source "WXLocaleModule.java"
# direct methods
.method public constructor <init>()V
.registers 1
.line 43
invoke-direct {p0}, Lcom/taobao/weex/common/WXModule;-><init>()V
return-void
.end method
.method private getLanguageImpl()Ljava/lang/String;
.registers 4
.line 57
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x18
if-lt v0, v1, :cond_10
.line 58
invoke-static {}, Landroid/os/LocaleList;->getDefault()Landroid/os/LocaleList;
move-result-object v0
const/4 v1, 0x0
invoke-virtual {v0, v1}, Landroid/os/LocaleList;->get(I)Ljava/util/Locale;
move-result-object v0
goto :goto_14
.line 59
:cond_10
invoke-static {}, Ljava/util/Locale;->getDefault()Ljava/util/Locale;
move-result-object v0
.line 61
:goto_14
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0}, Ljava/util/Locale;->getLanguage()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, "-"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/util/Locale;->getCountry()Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method private getLanguageTags()Ljava/lang/String;
.registers 4
.line 77
invoke-static {}, Lcom/taobao/weex/WXEnvironment;->getApplication()Landroid/app/Application;
move-result-object v0
if-eqz v0, :cond_2a
.line 79
invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v0
if-eqz v0, :cond_2a
.line 81
invoke-virtual {v0}, Landroid/content/res/Resources;->getConfiguration()Landroid/content/res/Configuration;
move-result-object v0
if-eqz v0, :cond_2a
.line 83
sget v1, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v2, 0x18
if-lt v1, v2, :cond_21
.line 84
invoke-virtual {v0}, Landroid/content/res/Configuration;->getLocales()Landroid/os/LocaleList;
move-result-object v0
.line 85
invoke-virtual {v0}, Landroid/os/LocaleList;->toLanguageTags()Ljava/lang/String;
move-result-object v0
return-object v0
.line 87
:cond_21
iget-object v0, v0, Landroid/content/res/Configuration;->locale:Ljava/util/Locale;
if-eqz v0, :cond_2a
.line 89
invoke-direct {p0, v0}, Lcom/taobao/weex/ui/module/WXLocaleModule;->toLanguageTag(Ljava/util/Locale;)Ljava/lang/String;
move-result-object v0
return-object v0
:cond_2a
const-string v0, ""
return-object v0
.end method
.method private toLanguageTag(Ljava/util/Locale;)Ljava/lang/String;
.registers 4
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"locale"
}
.end annotation
.line 99
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x15
if-lt v0, v1, :cond_b
.line 100
invoke-virtual {p1}, Ljava/util/Locale;->toLanguageTag()Ljava/lang/String;
move-result-object p1
return-object p1
.line 102
:cond_b
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
.line 103
invoke-virtual {p1}, Ljava/util/Locale;->getLanguage()Ljava/lang/String;
move-result-object v1
.line 104
invoke-virtual {p1}, Ljava/util/Locale;->getCountry()Ljava/lang/String;
move-result-object p1
.line 105
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 106
invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-nez v1, :cond_29
const-string v1, "-"
.line 107
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 109
:cond_29
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
return-object p1
.end method
# virtual methods
.method public getLanguage(Lcom/taobao/weex/bridge/JSCallback;)V
.registers 3
.annotation runtime Lcom/taobao/weex/annotation/JSMethod;
uiThread = false
.end annotation
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"callback"
}
.end annotation
.line 52
invoke-direct {p0}, Lcom/taobao/weex/ui/module/WXLocaleModule;->getLanguageImpl()Ljava/lang/String;
move-result-object v0
invoke-interface {p1, v0}, Lcom/taobao/weex/bridge/JSCallback;->invoke(Ljava/lang/Object;)V
return-void
.end method
.method public getLanguageSync()Ljava/lang/String;
.registers 2
.annotation runtime Lcom/taobao/weex/annotation/JSMethod;
uiThread = false
.end annotation
.line 47
invoke-direct {p0}, Lcom/taobao/weex/ui/module/WXLocaleModule;->getLanguageImpl()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public getLanguages()Ljava/util/List;
.registers 3
.annotation runtime Lcom/taobao/weex/annotation/JSMethod;
uiThread = false
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/List<",
"Ljava/lang/String;",
">;"
}
.end annotation
.line 67
invoke-direct {p0}, Lcom/taobao/weex/ui/module/WXLocaleModule;->getLanguageTags()Ljava/lang/String;
move-result-object v0
const-string v1, ","
invoke-virtual {v0, v1}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v0
.line 68
invoke-static {v0}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;
move-result-object v0
return-object v0
.end method
.method public getLanguages(Lcom/taobao/weex/bridge/JSCallback;)V
.registers 4
.annotation runtime Lcom/taobao/weex/annotation/JSMethod;
uiThread = false
.end annotation
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"callback"
}
.end annotation
.line 73
invoke-direct {p0}, Lcom/taobao/weex/ui/module/WXLocaleModule;->getLanguageTags()Ljava/lang/String;
move-result-object v0
const-string v1, ","
invoke-virtual {v0, v1}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v0
invoke-interface {p1, v0}, Lcom/taobao/weex/bridge/JSCallback;->invoke(Ljava/lang/Object;)V
return-void
.end method