IdentifierManager.smali
.class public Lcom/miui/deviceid/IdentifierManager;
.super Ljava/lang/Object;
.source "IdentifierManager.java"
# static fields
.field private static final TAG:Ljava/lang/String; = "IdentifierManager"
.field private static sClass:Ljava/lang/Class;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Class",
"<*>;"
}
.end annotation
.end field
.field private static sGetAAID:Ljava/lang/reflect/Method;
.field private static sGetOAID:Ljava/lang/reflect/Method;
.field private static sGetUDID:Ljava/lang/reflect/Method;
.field private static sGetVAID:Ljava/lang/reflect/Method;
.field private static sIdProivderImpl:Ljava/lang/Object;
# direct methods
.method static constructor <clinit>()V
.registers 5
.prologue
const/4 v0, 0x0
.line 15
sput-object v0, Lcom/miui/deviceid/IdentifierManager;->sGetUDID:Ljava/lang/reflect/Method;
.line 16
sput-object v0, Lcom/miui/deviceid/IdentifierManager;->sGetOAID:Ljava/lang/reflect/Method;
.line 17
sput-object v0, Lcom/miui/deviceid/IdentifierManager;->sGetVAID:Ljava/lang/reflect/Method;
.line 18
sput-object v0, Lcom/miui/deviceid/IdentifierManager;->sGetAAID:Ljava/lang/reflect/Method;
.line 21
:try_start_9
const-string v0, "com.android.id.impl.IdProviderImpl"
invoke-static {v0}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v0
sput-object v0, Lcom/miui/deviceid/IdentifierManager;->sClass:Ljava/lang/Class;
.line 22
sget-object v0, Lcom/miui/deviceid/IdentifierManager;->sClass:Ljava/lang/Class;
invoke-virtual {v0}, Ljava/lang/Class;->newInstance()Ljava/lang/Object;
move-result-object v0
sput-object v0, Lcom/miui/deviceid/IdentifierManager;->sIdProivderImpl:Ljava/lang/Object;
.line 23
sget-object v0, Lcom/miui/deviceid/IdentifierManager;->sClass:Ljava/lang/Class;
const-string v1, "getUDID"
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/Class;
const/4 v3, 0x0
const-class v4, Landroid/content/Context;
aput-object v4, v2, v3
invoke-virtual {v0, v1, v2}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v0
sput-object v0, Lcom/miui/deviceid/IdentifierManager;->sGetUDID:Ljava/lang/reflect/Method;
.line 24
sget-object v0, Lcom/miui/deviceid/IdentifierManager;->sClass:Ljava/lang/Class;
const-string v1, "getOAID"
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/Class;
const/4 v3, 0x0
const-class v4, Landroid/content/Context;
aput-object v4, v2, v3
invoke-virtual {v0, v1, v2}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v0
sput-object v0, Lcom/miui/deviceid/IdentifierManager;->sGetOAID:Ljava/lang/reflect/Method;
.line 25
sget-object v0, Lcom/miui/deviceid/IdentifierManager;->sClass:Ljava/lang/Class;
const-string v1, "getVAID"
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/Class;
const/4 v3, 0x0
const-class v4, Landroid/content/Context;
aput-object v4, v2, v3
invoke-virtual {v0, v1, v2}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v0
sput-object v0, Lcom/miui/deviceid/IdentifierManager;->sGetVAID:Ljava/lang/reflect/Method;
.line 26
sget-object v0, Lcom/miui/deviceid/IdentifierManager;->sClass:Ljava/lang/Class;
const-string v1, "getAAID"
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/Class;
const/4 v3, 0x0
const-class v4, Landroid/content/Context;
aput-object v4, v2, v3
invoke-virtual {v0, v1, v2}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v0
sput-object v0, Lcom/miui/deviceid/IdentifierManager;->sGetAAID:Ljava/lang/reflect/Method;
:try_end_61
.catch Ljava/lang/Exception; {:try_start_9 .. :try_end_61} :catch_62
.line 30
:goto_61
return-void
.line 27
:catch_62
move-exception v0
.line 28
const-string v1, "IdentifierManager"
const-string v2, "reflect exception!"
invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
goto :goto_61
.end method
.method public constructor <init>()V
.registers 1
.prologue
.line 8
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static getAAID(Landroid/content/Context;)Ljava/lang/String;
.registers 2
.prologue
.line 78
sget-object v0, Lcom/miui/deviceid/IdentifierManager;->sGetAAID:Ljava/lang/reflect/Method;
invoke-static {p0, v0}, Lcom/miui/deviceid/IdentifierManager;->invokeMethod(Landroid/content/Context;Ljava/lang/reflect/Method;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public static getOAID(Landroid/content/Context;)Ljava/lang/String;
.registers 2
.prologue
.line 58
sget-object v0, Lcom/miui/deviceid/IdentifierManager;->sGetOAID:Ljava/lang/reflect/Method;
invoke-static {p0, v0}, Lcom/miui/deviceid/IdentifierManager;->invokeMethod(Landroid/content/Context;Ljava/lang/reflect/Method;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public static getUDID(Landroid/content/Context;)Ljava/lang/String;
.registers 2
.prologue
.line 48
sget-object v0, Lcom/miui/deviceid/IdentifierManager;->sGetUDID:Ljava/lang/reflect/Method;
invoke-static {p0, v0}, Lcom/miui/deviceid/IdentifierManager;->invokeMethod(Landroid/content/Context;Ljava/lang/reflect/Method;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public static getVAID(Landroid/content/Context;)Ljava/lang/String;
.registers 2
.prologue
.line 68
sget-object v0, Lcom/miui/deviceid/IdentifierManager;->sGetVAID:Ljava/lang/reflect/Method;
invoke-static {p0, v0}, Lcom/miui/deviceid/IdentifierManager;->invokeMethod(Landroid/content/Context;Ljava/lang/reflect/Method;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method private static invokeMethod(Landroid/content/Context;Ljava/lang/reflect/Method;)Ljava/lang/String;
.registers 5
.prologue
.line 82
sget-object v0, Lcom/miui/deviceid/IdentifierManager;->sIdProivderImpl:Ljava/lang/Object;
if-eqz v0, :cond_1f
if-eqz p1, :cond_1f
.line 84
:try_start_6
sget-object v0, Lcom/miui/deviceid/IdentifierManager;->sIdProivderImpl:Ljava/lang/Object;
const/4 v1, 0x1
new-array v1, v1, [Ljava/lang/Object;
const/4 v2, 0x0
aput-object p0, v1, v2
invoke-virtual {p1, v0, v1}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
.line 85
if-eqz v0, :cond_1f
.line 86
check-cast v0, Ljava/lang/String;
:try_end_16
.catch Ljava/lang/Exception; {:try_start_6 .. :try_end_16} :catch_17
.line 92
:goto_16
return-object v0
.line 88
:catch_17
move-exception v0
.line 89
const-string v1, "IdentifierManager"
const-string v2, "invoke exception!"
invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
.line 92
:cond_1f
const/4 v0, 0x0
goto :goto_16
.end method
.method public static isSupported()Z
.registers 1
.prologue
.line 38
sget-object v0, Lcom/miui/deviceid/IdentifierManager;->sClass:Ljava/lang/Class;
if-eqz v0, :cond_a
sget-object v0, Lcom/miui/deviceid/IdentifierManager;->sIdProivderImpl:Ljava/lang/Object;
if-eqz v0, :cond_a
const/4 v0, 0x1
:goto_9
return v0
:cond_a
const/4 v0, 0x0
goto :goto_9
.end method