.class public Lcom/ta/utdid2/android/utils/PhoneInfoUtils; .super Ljava/lang/Object; .source "PhoneInfoUtils.java" # direct methods .method public constructor ()V .registers 1 .line 9 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method .method public static getImei(Landroid/content/Context;)Ljava/lang/String; .registers 3 const/4 v0, 0x0 if-eqz p0, :cond_12 .line 32 :try_start_3 const-string v1, "phone" 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_12 .line 35 invoke-virtual {p0}, Landroid/telephony/TelephonyManager;->getDeviceId()Ljava/lang/String; move-result-object p0 :try_end_11 .catch Ljava/lang/Exception; {:try_start_3 .. :try_end_11} :catch_12 move-object v0, p0 .line 41 :catch_12 :cond_12 invoke-static {v0}, Lcom/ta/utdid2/android/utils/StringUtils;->isEmpty(Ljava/lang/String;)Z move-result p0 if-eqz p0, :cond_1c .line 42 invoke-static {}, Lcom/ta/utdid2/android/utils/PhoneInfoUtils;->getUniqueID()Ljava/lang/String; move-result-object v0 :cond_1c return-object v0 .end method .method public static getImsi(Landroid/content/Context;)Ljava/lang/String; .registers 3 const/4 v0, 0x0 if-eqz p0, :cond_12 .line 51 :try_start_3 const-string v1, "phone" 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_12 .line 54 invoke-virtual {p0}, Landroid/telephony/TelephonyManager;->getSubscriberId()Ljava/lang/String; move-result-object p0 :try_end_11 .catch Ljava/lang/Exception; {:try_start_3 .. :try_end_11} :catch_12 move-object v0, p0 .line 60 :catch_12 :cond_12 invoke-static {v0}, Lcom/ta/utdid2/android/utils/StringUtils;->isEmpty(Ljava/lang/String;)Z move-result p0 if-eqz p0, :cond_1c .line 61 invoke-static {}, Lcom/ta/utdid2/android/utils/PhoneInfoUtils;->getUniqueID()Ljava/lang/String; move-result-object v0 :cond_1c return-object v0 .end method .method public static final getUniqueID()Ljava/lang/String; .registers 7 .line 12 invoke-static {}, Ljava/lang/System;->currentTimeMillis()J move-result-wide v0 const-wide/16 v2, 0x3e8 div-long/2addr v0, v2 long-to-int v0, v0 .line 13 invoke-static {}, Ljava/lang/System;->nanoTime()J move-result-wide v1 long-to-int v1, v1 .line 14 new-instance v2, Ljava/util/Random; invoke-direct {v2}, Ljava/util/Random;->()V invoke-virtual {v2}, Ljava/util/Random;->nextInt()I move-result v2 .line 15 new-instance v3, Ljava/util/Random; invoke-direct {v3}, Ljava/util/Random;->()V invoke-virtual {v3}, Ljava/util/Random;->nextInt()I move-result v3 .line 16 invoke-static {v0}, Lcom/ta/utdid2/android/utils/IntUtils;->getBytes(I)[B move-result-object v0 .line 17 invoke-static {v1}, Lcom/ta/utdid2/android/utils/IntUtils;->getBytes(I)[B move-result-object v1 .line 18 invoke-static {v2}, Lcom/ta/utdid2/android/utils/IntUtils;->getBytes(I)[B move-result-object v2 .line 19 invoke-static {v3}, Lcom/ta/utdid2/android/utils/IntUtils;->getBytes(I)[B move-result-object v3 const/16 v4, 0x10 .line 20 new-array v4, v4, [B const/4 v5, 0x0 const/4 v6, 0x4 .line 21 invoke-static {v0, v5, v4, v5, v6}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V .line 22 invoke-static {v1, v5, v4, v6, v6}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V const/16 v0, 0x8 .line 23 invoke-static {v2, v5, v4, v0, v6}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V const/16 v0, 0xc .line 24 invoke-static {v3, v5, v4, v0, v6}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V const/4 v0, 0x2 .line 25 invoke-static {v4, v0}, Lcom/ta/utdid2/android/utils/Base64;->encodeToString([BI)Ljava/lang/String; move-result-object v0 return-object v0 .end method