LangUtils.smali

.class public Lio/rong/imkit/utilities/LangUtils;
.super Ljava/lang/Object;
.source "LangUtils.java"


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lio/rong/imkit/utilities/LangUtils$RCLocale;
    }
.end annotation


# static fields
.field private static final APP_LOCALE:Ljava/lang/String; = "app_locale"

.field private static final APP_PUSH_LANGUAGE:Ljava/lang/String; = "app_push_language"

.field private static final LOCALE_CONF_FILE_NAME:Ljava/lang/String; = "locale.config"

.field private static systemLocale:Ljava/util/Locale;


# direct methods
.method static constructor <clinit>()V
    .registers 1

    .line 1
    invoke-static {}, Ljava/util/Locale;->getDefault()Ljava/util/Locale;

    move-result-object v0

    sput-object v0, Lio/rong/imkit/utilities/LangUtils;->systemLocale:Ljava/util/Locale;

    return-void
.end method

.method public constructor <init>()V
    .registers 1

    .line 1
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    return-void
.end method

.method public static getAppLocale(Landroid/content/Context;)Lio/rong/imkit/utilities/LangUtils$RCLocale;
    .registers 3

    const-string v0, "locale.config"

    const/4 v1, 0x0

    .line 1
    invoke-virtual {p0, v0, v1}, Landroid/content/Context;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences;

    move-result-object p0

    const-string v0, "app_locale"

    const-string v1, "auto"

    .line 2
    invoke-interface {p0, v0, v1}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object p0

    .line 3
    invoke-static {p0}, Lio/rong/imkit/utilities/LangUtils$RCLocale;->valueOf(Ljava/lang/String;)Lio/rong/imkit/utilities/LangUtils$RCLocale;

    move-result-object p0

    return-object p0
.end method

.method public static getConfigurationContext(Landroid/content/Context;)Landroid/content/Context;
    .registers 6

    .line 1
    invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;

    move-result-object v0

    .line 2
    new-instance v1, Landroid/content/res/Configuration;

    invoke-virtual {v0}, Landroid/content/res/Resources;->getConfiguration()Landroid/content/res/Configuration;

    move-result-object v0

    invoke-direct {v1, v0}, Landroid/content/res/Configuration;-><init>(Landroid/content/res/Configuration;)V

    .line 3
    sget v0, Landroid/os/Build$VERSION;->SDK_INT:I

    const/16 v2, 0x18

    if-lt v0, v2, :cond_30

    .line 4
    new-instance v0, Landroid/os/LocaleList;

    const/4 v2, 0x1

    new-array v2, v2, [Ljava/util/Locale;

    const/4 v3, 0x0

    invoke-static {p0}, Lio/rong/imkit/utilities/LangUtils;->getAppLocale(Landroid/content/Context;)Lio/rong/imkit/utilities/LangUtils$RCLocale;

    move-result-object v4

    invoke-virtual {v4}, Lio/rong/imkit/utilities/LangUtils$RCLocale;->toLocale()Ljava/util/Locale;

    move-result-object v4

    aput-object v4, v2, v3

    invoke-direct {v0, v2}, Landroid/os/LocaleList;-><init>([Ljava/util/Locale;)V

    .line 5
    invoke-static {v0}, Landroid/os/LocaleList;->setDefault(Landroid/os/LocaleList;)V

    .line 6
    invoke-virtual {v1, v0}, Landroid/content/res/Configuration;->setLocales(Landroid/os/LocaleList;)V

    .line 7
    invoke-virtual {p0, v1}, Landroid/content/Context;->createConfigurationContext(Landroid/content/res/Configuration;)Landroid/content/Context;

    move-result-object p0

    :cond_30
    return-object p0
.end method

.method public static getCurrentLanguage(Landroid/content/Context;)Lio/rong/imkit/utilities/LangUtils$RCLocale;
    .registers 3

    const-string v0, "locale.config"

    const/4 v1, 0x0

    .line 1
    invoke-virtual {p0, v0, v1}, Landroid/content/Context;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences;

    move-result-object p0

    const-string v0, "auto"

    const-string v1, "app_locale"

    .line 2
    invoke-interface {p0, v1, v0}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object p0

    .line 3
    invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_2b

    .line 4
    invoke-static {}, Lio/rong/imkit/utilities/LangUtils;->getSystemLocale()Ljava/util/Locale;

    move-result-object p0

    invoke-virtual {p0}, Ljava/util/Locale;->toString()Ljava/lang/String;

    move-result-object p0

    const-string v0, "zh_CN"

    invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result p0

    if-eqz p0, :cond_28

    sget-object p0, Lio/rong/imkit/utilities/LangUtils$RCLocale;->LOCALE_CHINA:Lio/rong/imkit/utilities/LangUtils$RCLocale;

    goto :goto_2a

    :cond_28
    sget-object p0, Lio/rong/imkit/utilities/LangUtils$RCLocale;->LOCALE_US:Lio/rong/imkit/utilities/LangUtils$RCLocale;

    :goto_2a
    return-object p0

    .line 5
    :cond_2b
    invoke-static {p0}, Lio/rong/imkit/utilities/LangUtils$RCLocale;->valueOf(Ljava/lang/String;)Lio/rong/imkit/utilities/LangUtils$RCLocale;

    move-result-object p0

    return-object p0
.end method

.method public static getPushLanguage(Landroid/content/Context;)Lio/rong/imlib/RongIMClient$PushLanguage;
    .registers 3

    const-string v0, "locale.config"

    const/4 v1, 0x0

    .line 1
    invoke-virtual {p0, v0, v1}, Landroid/content/Context;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences;

    move-result-object p0

    const-string v0, "app_push_language"

    const-string v1, ""

    .line 2
    invoke-interface {p0, v0, v1}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object p0

    .line 3
    sget-object v0, Lio/rong/imlib/RongIMClient$PushLanguage;->ZH_CN:Lio/rong/imlib/RongIMClient$PushLanguage;

    invoke-virtual {v0}, Lio/rong/imlib/RongIMClient$PushLanguage;->getMsg()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_1e

    .line 4
    sget-object p0, Lio/rong/imlib/RongIMClient$PushLanguage;->ZH_CN:Lio/rong/imlib/RongIMClient$PushLanguage;

    return-object p0

    .line 5
    :cond_1e
    sget-object v0, Lio/rong/imlib/RongIMClient$PushLanguage;->EN_US:Lio/rong/imlib/RongIMClient$PushLanguage;

    invoke-virtual {v0}, Lio/rong/imlib/RongIMClient$PushLanguage;->getMsg()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_2d

    .line 6
    sget-object p0, Lio/rong/imlib/RongIMClient$PushLanguage;->EN_US:Lio/rong/imlib/RongIMClient$PushLanguage;

    return-object p0

    .line 7
    :cond_2d
    sget-object v0, Lio/rong/imlib/RongIMClient$PushLanguage;->AR_SA:Lio/rong/imlib/RongIMClient$PushLanguage;

    invoke-virtual {v0}, Lio/rong/imlib/RongIMClient$PushLanguage;->getMsg()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result p0

    if-eqz p0, :cond_3c

    .line 8
    sget-object p0, Lio/rong/imlib/RongIMClient$PushLanguage;->AR_SA:Lio/rong/imlib/RongIMClient$PushLanguage;

    return-object p0

    :cond_3c
    const/4 p0, 0x0

    return-object p0
.end method

.method public static getSystemLocale()Ljava/util/Locale;
    .registers 1

    .line 1
    sget-object v0, Lio/rong/imkit/utilities/LangUtils;->systemLocale:Ljava/util/Locale;

    return-object v0
.end method

.method public static saveLocale(Landroid/content/Context;Lio/rong/imkit/utilities/LangUtils$RCLocale;)V
    .registers 4

    const-string v0, "locale.config"

    const/4 v1, 0x0

    .line 1
    invoke-virtual {p0, v0, v1}, Landroid/content/Context;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences;

    move-result-object p0

    .line 2
    invoke-interface {p0}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor;

    move-result-object p0

    invoke-virtual {p1}, Lio/rong/imkit/utilities/LangUtils$RCLocale;->value()Ljava/lang/String;

    move-result-object p1

    const-string v0, "app_locale"

    invoke-interface {p0, v0, p1}, Landroid/content/SharedPreferences$Editor;->putString(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor;

    move-result-object p0

    invoke-interface {p0}, Landroid/content/SharedPreferences$Editor;->commit()Z

    return-void
.end method

.method public static setPushLanguage(Landroid/content/Context;Lio/rong/imlib/RongIMClient$PushLanguage;)V
    .registers 4

    const-string v0, "locale.config"

    const/4 v1, 0x0

    .line 1
    invoke-virtual {p0, v0, v1}, Landroid/content/Context;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences;

    move-result-object p0

    .line 2
    invoke-interface {p0}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor;

    move-result-object p0

    invoke-virtual {p1}, Lio/rong/imlib/RongIMClient$PushLanguage;->getMsg()Ljava/lang/String;

    move-result-object p1

    const-string v0, "app_push_language"

    invoke-interface {p0, v0, p1}, Landroid/content/SharedPreferences$Editor;->putString(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor;

    move-result-object p0

    invoke-interface {p0}, Landroid/content/SharedPreferences$Editor;->commit()Z

    return-void
.end method

.method public static setSystemLocale(Ljava/util/Locale;)V
    .registers 1

    .line 1
    sput-object p0, Lio/rong/imkit/utilities/LangUtils;->systemLocale:Ljava/util/Locale;

    return-void
.end method