DeviceInfo.smali
.class Lio/rong/imlib/statistics/DeviceInfo;
.super Ljava/lang/Object;
.source "DeviceInfo.java"
# direct methods
.method constructor <init>()V
.registers 1
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method static varargs fillJSONIfValuesNotEmpty(Lorg/json/JSONObject;[Ljava/lang/String;)V
.registers 6
.line 1
:try_start_0
array-length v0, p1
if-lez v0, :cond_20
array-length v0, p1
rem-int/lit8 v0, v0, 0x2
if-nez v0, :cond_20
const/4 v0, 0x0
.line 2
:goto_9
array-length v1, p1
if-ge v0, v1, :cond_20
.line 3
aget-object v1, p1, v0
add-int/lit8 v2, v0, 0x1
.line 4
aget-object v2, p1, v2
if-eqz v2, :cond_1d
.line 5
invoke-virtual {v2}, Ljava/lang/String;->length()I
move-result v3
if-lez v3, :cond_1d
.line 6
invoke-virtual {p0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
:try_end_1d
.catch Lorg/json/JSONException; {:try_start_0 .. :try_end_1d} :catch_20
:cond_1d
add-int/lit8 v0, v0, 0x2
goto :goto_9
:catch_20
:cond_20
return-void
.end method
.method static getAppVersion(Landroid/content/Context;)Ljava/lang/String;
.registers 3
.line 1
:try_start_0
invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v0
invoke-virtual {p0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object p0
const/4 v1, 0x0
invoke-virtual {v0, p0, v1}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
move-result-object p0
iget-object p0, p0, Landroid/content/pm/PackageInfo;->versionName:Ljava/lang/String;
:try_end_f
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_0 .. :try_end_f} :catch_10
goto :goto_24
:catch_10
nop
.line 2
invoke-static {}, Lio/rong/imlib/statistics/Statistics;->sharedInstance()Lio/rong/imlib/statistics/Statistics;
move-result-object p0
invoke-virtual {p0}, Lio/rong/imlib/statistics/Statistics;->isLoggingEnabled()Z
move-result p0
if-eqz p0, :cond_22
const-string p0, "Statistics"
const-string v0, "No app version found"
.line 3
invoke-static {p0, v0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
:cond_22
const-string p0, "1.0"
:goto_24
return-object p0
.end method
.method static getCarrier(Landroid/content/Context;)Ljava/lang/String;
.registers 3
const-string v0, ""
:try_start_2
const-string v1, "phone"
.line 1
invoke-virtual {p0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object p0
check-cast p0, Landroid/telephony/TelephonyManager;
if-eqz p0, :cond_11
.line 2
invoke-virtual {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperatorName()Ljava/lang/String;
move-result-object p0
:try_end_10
.catch Ljava/lang/SecurityException; {:try_start_2 .. :try_end_10} :catch_11
goto :goto_12
:catch_11
:cond_11
move-object p0, v0
:goto_12
if-eqz p0, :cond_1a
.line 3
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v1
if-nez v1, :cond_2c
.line 4
:cond_1a
invoke-static {}, Lio/rong/imlib/statistics/Statistics;->sharedInstance()Lio/rong/imlib/statistics/Statistics;
move-result-object p0
invoke-virtual {p0}, Lio/rong/imlib/statistics/Statistics;->isLoggingEnabled()Z
move-result p0
if-eqz p0, :cond_2b
const-string p0, "Statistics"
const-string v1, "No carrier found"
.line 5
invoke-static {p0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
:cond_2b
move-object p0, v0
:cond_2c
return-object p0
.end method
.method static getDensity(Landroid/content/Context;)Ljava/lang/String;
.registers 2
.line 1
invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object p0
invoke-virtual {p0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object p0
iget p0, p0, Landroid/util/DisplayMetrics;->densityDpi:I
const/16 v0, 0x78
if-eq p0, v0, :cond_42
const/16 v0, 0xa0
if-eq p0, v0, :cond_3f
const/16 v0, 0xd5
if-eq p0, v0, :cond_3c
const/16 v0, 0xf0
if-eq p0, v0, :cond_39
const/16 v0, 0x140
if-eq p0, v0, :cond_36
const/16 v0, 0x190
if-eq p0, v0, :cond_33
const/16 v0, 0x1e0
if-eq p0, v0, :cond_30
const/16 v0, 0x280
if-eq p0, v0, :cond_2d
const-string p0, ""
goto :goto_44
:cond_2d
const-string p0, "XXXHDPI"
goto :goto_44
:cond_30
const-string p0, "XXHDPI"
goto :goto_44
:cond_33
const-string p0, "XMHDPI"
goto :goto_44
:cond_36
const-string p0, "XHDPI"
goto :goto_44
:cond_39
const-string p0, "HDPI"
goto :goto_44
:cond_3c
const-string p0, "TVDPI"
goto :goto_44
:cond_3f
const-string p0, "MDPI"
goto :goto_44
:cond_42
const-string p0, "LDPI"
:goto_44
return-object p0
.end method
.method static getDevice()Ljava/lang/String;
.registers 1
.line 1
sget-object v0, Landroid/os/Build;->MODEL:Ljava/lang/String;
return-object v0
.end method
.method static getLocale()Ljava/lang/String;
.registers 3
.line 1
invoke-static {}, Ljava/util/Locale;->getDefault()Ljava/util/Locale;
move-result-object v0
.line 2
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 static getMetrics(Landroid/content/Context;)Ljava/lang/String;
.registers 6
.line 1
new-instance v0, Lorg/json/JSONObject;
invoke-direct {v0}, Lorg/json/JSONObject;-><init>()V
const/4 v1, 0x0
.line 2
:try_start_6
invoke-static {}, Ljava/util/TimeZone;->getDefault()Ljava/util/TimeZone;
move-result-object v2
invoke-virtual {v2, v1, v1}, Ljava/util/TimeZone;->getDisplayName(ZI)Ljava/lang/String;
move-result-object v2
:try_end_e
.catch Ljava/lang/AssertionError; {:try_start_6 .. :try_end_e} :catch_f
goto :goto_11
:catch_f
const-string v2, ""
:goto_11
const/16 v3, 0x1a
.line 3
new-array v3, v3, [Ljava/lang/String;
const-string v4, "device"
aput-object v4, v3, v1
const/4 v1, 0x1
.line 4
invoke-static {}, Lio/rong/imlib/statistics/DeviceInfo;->getDevice()Ljava/lang/String;
move-result-object v4
aput-object v4, v3, v1
const/4 v1, 0x2
const-string v4, "osName"
aput-object v4, v3, v1
const/4 v1, 0x3
.line 5
invoke-static {}, Lio/rong/imlib/statistics/DeviceInfo;->getOS()Ljava/lang/String;
move-result-object v4
aput-object v4, v3, v1
const/4 v1, 0x4
const-string v4, "osVersion"
aput-object v4, v3, v1
const/4 v1, 0x5
.line 6
invoke-static {}, Lio/rong/imlib/statistics/DeviceInfo;->getOSVersion()Ljava/lang/String;
move-result-object v4
aput-object v4, v3, v1
const/4 v1, 0x6
const-string v4, "carrier"
aput-object v4, v3, v1
const/4 v1, 0x7
.line 7
invoke-static {p0}, Lio/rong/imlib/statistics/DeviceInfo;->getCarrier(Landroid/content/Context;)Ljava/lang/String;
move-result-object v4
aput-object v4, v3, v1
const/16 v1, 0x8
const-string v4, "resolution"
aput-object v4, v3, v1
const/16 v1, 0x9
.line 8
invoke-static {p0}, Lio/rong/imlib/statistics/DeviceInfo;->getResolution(Landroid/content/Context;)Ljava/lang/String;
move-result-object v4
aput-object v4, v3, v1
const/16 v1, 0xa
const-string v4, "density"
aput-object v4, v3, v1
const/16 v1, 0xb
.line 9
invoke-static {p0}, Lio/rong/imlib/statistics/DeviceInfo;->getDensity(Landroid/content/Context;)Ljava/lang/String;
move-result-object v4
aput-object v4, v3, v1
const/16 v1, 0xc
const-string v4, "locale"
aput-object v4, v3, v1
const/16 v1, 0xd
.line 10
invoke-static {}, Lio/rong/imlib/statistics/DeviceInfo;->getLocale()Ljava/lang/String;
move-result-object v4
aput-object v4, v3, v1
const/16 v1, 0xe
const-string v4, "appVersion"
aput-object v4, v3, v1
const/16 v1, 0xf
.line 11
invoke-static {p0}, Lio/rong/imlib/statistics/DeviceInfo;->getAppVersion(Landroid/content/Context;)Ljava/lang/String;
move-result-object v4
aput-object v4, v3, v1
const/16 v1, 0x10
const-string v4, "channel"
aput-object v4, v3, v1
const/16 v1, 0x11
.line 12
invoke-static {p0}, Lio/rong/imlib/statistics/DeviceInfo;->getStore(Landroid/content/Context;)Ljava/lang/String;
move-result-object v4
aput-object v4, v3, v1
const/16 v1, 0x12
const-string v4, "bundleId"
aput-object v4, v3, v1
const/16 v1, 0x13
.line 13
invoke-virtual {p0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v4
aput-object v4, v3, v1
const/16 v1, 0x14
const-string v4, "sdkVersion"
aput-object v4, v3, v1
const/16 v1, 0x15
const-string v4, "4.1.0"
aput-object v4, v3, v1
const/16 v1, 0x16
const-string v4, "network"
aput-object v4, v3, v1
const/16 v1, 0x17
.line 14
invoke-static {p0}, Lio/rong/imlib/statistics/DeviceInfo;->getNetworkType(Landroid/content/Context;)Ljava/lang/String;
move-result-object p0
aput-object p0, v3, v1
const/16 p0, 0x18
const-string v1, "timeZone"
aput-object v1, v3, p0
const/16 p0, 0x19
aput-object v2, v3, p0
.line 15
invoke-static {v0, v3}, Lio/rong/imlib/statistics/DeviceInfo;->fillJSONIfValuesNotEmpty(Lorg/json/JSONObject;[Ljava/lang/String;)V
.line 16
invoke-virtual {v0}, Lorg/json/JSONObject;->toString()Ljava/lang/String;
move-result-object p0
:try_start_c3
const-string v0, "UTF-8"
.line 17
invoke-static {p0, v0}, Ljava/net/URLEncoder;->encode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
:try_end_c9
.catch Ljava/io/UnsupportedEncodingException; {:try_start_c3 .. :try_end_c9} :catch_c9
:catch_c9
return-object p0
.end method
.method static getNetworkType(Landroid/content/Context;)Ljava/lang/String;
.registers 3
const-string v0, "connectivity"
.line 1
invoke-virtual {p0, v0}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object p0
check-cast p0, Landroid/net/ConnectivityManager;
if-eqz p0, :cond_23
.line 2
invoke-virtual {p0}, Landroid/net/ConnectivityManager;->getActiveNetworkInfo()Landroid/net/NetworkInfo;
move-result-object p0
if-eqz p0, :cond_23
.line 3
invoke-virtual {p0}, Landroid/net/NetworkInfo;->getType()I
move-result v0
const/4 v1, 0x1
if-ne v0, v1, :cond_1a
const-string p0, "WIFI"
goto :goto_25
.line 4
:cond_1a
invoke-virtual {p0}, Landroid/net/NetworkInfo;->getType()I
move-result p0
if-nez p0, :cond_23
const-string p0, "MOBILE"
goto :goto_25
:cond_23
const-string p0, "UNKNOWN"
:goto_25
return-object p0
.end method
.method static getOS()Ljava/lang/String;
.registers 1
const-string v0, "Android"
return-object v0
.end method
.method static getOSVersion()Ljava/lang/String;
.registers 1
.line 1
sget-object v0, Landroid/os/Build$VERSION;->RELEASE:Ljava/lang/String;
return-object v0
.end method
.method static getResolution(Landroid/content/Context;)Ljava/lang/String;
.registers 3
:try_start_0
const-string v0, "window"
.line 1
invoke-virtual {p0, v0}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object p0
check-cast p0, Landroid/view/WindowManager;
.line 2
invoke-interface {p0}, Landroid/view/WindowManager;->getDefaultDisplay()Landroid/view/Display;
move-result-object p0
.line 3
new-instance v0, Landroid/util/DisplayMetrics;
invoke-direct {v0}, Landroid/util/DisplayMetrics;-><init>()V
.line 4
invoke-virtual {p0, v0}, Landroid/view/Display;->getMetrics(Landroid/util/DisplayMetrics;)V
.line 5
new-instance p0, Ljava/lang/StringBuilder;
invoke-direct {p0}, Ljava/lang/StringBuilder;-><init>()V
iget v1, v0, Landroid/util/DisplayMetrics;->widthPixels:I
invoke-virtual {p0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v1, "x"
invoke-virtual {p0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v0, v0, Landroid/util/DisplayMetrics;->heightPixels:I
invoke-virtual {p0, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
:try_end_2c
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_2c} :catch_2d
goto :goto_41
:catch_2d
nop
.line 6
invoke-static {}, Lio/rong/imlib/statistics/Statistics;->sharedInstance()Lio/rong/imlib/statistics/Statistics;
move-result-object p0
invoke-virtual {p0}, Lio/rong/imlib/statistics/Statistics;->isLoggingEnabled()Z
move-result p0
if-eqz p0, :cond_3f
const-string p0, "Statistics"
const-string v0, "Device resolution cannot be determined"
.line 7
invoke-static {p0, v0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
:cond_3f
const-string p0, ""
:goto_41
return-object p0
.end method
.method static getStore(Landroid/content/Context;)Ljava/lang/String;
.registers 5
const-string v0, "Statistics"
.line 1
sget v1, Landroid/os/Build$VERSION;->SDK_INT:I
const-string v2, ""
const/4 v3, 0x3
if-lt v1, v3, :cond_41
.line 2
:try_start_9
invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v1
invoke-virtual {p0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object p0
invoke-virtual {v1, p0}, Landroid/content/pm/PackageManager;->getInstallerPackageName(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
:try_end_15
.catch Ljava/lang/Exception; {:try_start_9 .. :try_end_15} :catch_16
goto :goto_27
:catch_16
nop
.line 3
invoke-static {}, Lio/rong/imlib/statistics/Statistics;->sharedInstance()Lio/rong/imlib/statistics/Statistics;
move-result-object p0
invoke-virtual {p0}, Lio/rong/imlib/statistics/Statistics;->isLoggingEnabled()Z
move-result p0
if-eqz p0, :cond_26
const-string p0, "Can\'t get Installer package"
.line 4
invoke-static {v0, p0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
:cond_26
move-object p0, v2
:goto_27
if-eqz p0, :cond_32
.line 5
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v1
if-nez v1, :cond_30
goto :goto_32
:cond_30
move-object v2, p0
goto :goto_41
.line 6
:cond_32
:goto_32
invoke-static {}, Lio/rong/imlib/statistics/Statistics;->sharedInstance()Lio/rong/imlib/statistics/Statistics;
move-result-object p0
invoke-virtual {p0}, Lio/rong/imlib/statistics/Statistics;->isLoggingEnabled()Z
move-result p0
if-eqz p0, :cond_41
const-string p0, "No store found"
.line 7
invoke-static {v0, p0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
:cond_41
:goto_41
return-object v2
.end method