AdvertisingInfoReflectionStrategy.smali
.class Lio/fabric/sdk/android/services/common/AdvertisingInfoReflectionStrategy;
.super Ljava/lang/Object;
.source "AdvertisingInfoReflectionStrategy.java"
# interfaces
.implements Lio/fabric/sdk/android/services/common/AdvertisingInfoStrategy;
# static fields
.field private static final CLASS_NAME_ADVERTISING_ID_CLIENT:Ljava/lang/String; = "com.google.android.gms.ads.identifier.AdvertisingIdClient"
.field private static final CLASS_NAME_ADVERTISING_ID_CLIENT_INFO:Ljava/lang/String; = "com.google.android.gms.ads.identifier.AdvertisingIdClient$Info"
.field private static final CLASS_NAME_GOOGLE_PLAY_SERVICES_UTILS:Ljava/lang/String; = "com.google.android.gms.common.GooglePlayServicesUtil"
.field private static final GOOGLE_PLAY_SERVICES_SUCCESS_CODE:I = 0x0
.field private static final METHOD_NAME_GET_ADVERTISING_ID_INFO:Ljava/lang/String; = "getAdvertisingIdInfo"
.field private static final METHOD_NAME_GET_ID:Ljava/lang/String; = "getId"
.field private static final METHOD_NAME_IS_GOOGLE_PLAY_SERVICES_AVAILABLE:Ljava/lang/String; = "isGooglePlayServicesAvailable"
.field private static final METHOD_NAME_IS_LIMITED_AD_TRACKING_ENABLED:Ljava/lang/String; = "isLimitAdTrackingEnabled"
# instance fields
.field private final context:Landroid/content/Context;
# direct methods
.method public constructor <init>(Landroid/content/Context;)V
.registers 2
.line 44
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 45
invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object p1
iput-object p1, p0, Lio/fabric/sdk/android/services/common/AdvertisingInfoReflectionStrategy;->context:Landroid/content/Context;
return-void
.end method
.method private getAdvertisingId()Ljava/lang/String;
.registers 5
:try_start_0
const-string v0, "com.google.android.gms.ads.identifier.AdvertisingIdClient$Info"
.line 73
invoke-static {v0}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v0
const-string v1, "getId"
const/4 v2, 0x0
new-array v3, v2, [Ljava/lang/Class;
invoke-virtual {v0, v1, v3}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v0
.line 76
invoke-direct {p0}, Lio/fabric/sdk/android/services/common/AdvertisingInfoReflectionStrategy;->getInfo()Ljava/lang/Object;
move-result-object v1
new-array v2, v2, [Ljava/lang/Object;
invoke-virtual {v0, v1, v2}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
:try_end_1b
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_1b} :catch_1c
return-object v0
.line 79
:catch_1c
invoke-static {}, Lio/fabric/sdk/android/Fabric;->getLogger()Lio/fabric/sdk/android/Logger;
move-result-object v0
const-string v1, "Fabric"
const-string v2, "Could not call getId on com.google.android.gms.ads.identifier.AdvertisingIdClient$Info"
invoke-interface {v0, v1, v2}, Lio/fabric/sdk/android/Logger;->w(Ljava/lang/String;Ljava/lang/String;)V
const/4 v0, 0x0
return-object v0
.end method
.method private getInfo()Ljava/lang/Object;
.registers 8
const/4 v0, 0x0
:try_start_1
const-string v1, "com.google.android.gms.ads.identifier.AdvertisingIdClient"
.line 104
invoke-static {v1}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v1
const-string v2, "getAdvertisingIdInfo"
const/4 v3, 0x1
new-array v4, v3, [Ljava/lang/Class;
const-class v5, Landroid/content/Context;
const/4 v6, 0x0
aput-object v5, v4, v6
invoke-virtual {v1, v2, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v1
new-array v2, v3, [Ljava/lang/Object;
.line 106
iget-object v3, p0, Lio/fabric/sdk/android/services/common/AdvertisingInfoReflectionStrategy;->context:Landroid/content/Context;
aput-object v3, v2, v6
invoke-virtual {v1, v0, v2}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
:try_end_1f
.catch Ljava/lang/Exception; {:try_start_1 .. :try_end_1f} :catch_20
return-object v0
.line 109
:catch_20
invoke-static {}, Lio/fabric/sdk/android/Fabric;->getLogger()Lio/fabric/sdk/android/Logger;
move-result-object v1
const-string v2, "Fabric"
const-string v3, "Could not call getAdvertisingIdInfo on com.google.android.gms.ads.identifier.AdvertisingIdClient"
invoke-interface {v1, v2, v3}, Lio/fabric/sdk/android/Logger;->w(Ljava/lang/String;Ljava/lang/String;)V
return-object v0
.end method
.method private isLimitAdTrackingEnabled()Z
.registers 5
const/4 v0, 0x0
:try_start_1
const-string v1, "com.google.android.gms.ads.identifier.AdvertisingIdClient$Info"
.line 88
invoke-static {v1}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v1
const-string v2, "isLimitAdTrackingEnabled"
new-array v3, v0, [Ljava/lang/Class;
invoke-virtual {v1, v2, v3}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v1
.line 91
invoke-direct {p0}, Lio/fabric/sdk/android/services/common/AdvertisingInfoReflectionStrategy;->getInfo()Ljava/lang/Object;
move-result-object v2
new-array v3, v0, [Ljava/lang/Object;
invoke-virtual {v1, v2, v3}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/Boolean;
invoke-virtual {v1}, Ljava/lang/Boolean;->booleanValue()Z
move-result v0
:try_end_1f
.catch Ljava/lang/Exception; {:try_start_1 .. :try_end_1f} :catch_20
return v0
.line 94
:catch_20
invoke-static {}, Lio/fabric/sdk/android/Fabric;->getLogger()Lio/fabric/sdk/android/Logger;
move-result-object v1
const-string v2, "Fabric"
const-string v3, "Could not call isLimitAdTrackingEnabled on com.google.android.gms.ads.identifier.AdvertisingIdClient$Info"
invoke-interface {v1, v2, v3}, Lio/fabric/sdk/android/Logger;->w(Ljava/lang/String;Ljava/lang/String;)V
return v0
.end method
# virtual methods
.method public getAdvertisingInfo()Lio/fabric/sdk/android/services/common/AdvertisingInfo;
.registers 4
.line 65
iget-object v0, p0, Lio/fabric/sdk/android/services/common/AdvertisingInfoReflectionStrategy;->context:Landroid/content/Context;
invoke-virtual {p0, v0}, Lio/fabric/sdk/android/services/common/AdvertisingInfoReflectionStrategy;->isGooglePlayServiceAvailable(Landroid/content/Context;)Z
move-result v0
if-eqz v0, :cond_16
.line 66
new-instance v0, Lio/fabric/sdk/android/services/common/AdvertisingInfo;
invoke-direct {p0}, Lio/fabric/sdk/android/services/common/AdvertisingInfoReflectionStrategy;->getAdvertisingId()Ljava/lang/String;
move-result-object v1
invoke-direct {p0}, Lio/fabric/sdk/android/services/common/AdvertisingInfoReflectionStrategy;->isLimitAdTrackingEnabled()Z
move-result v2
invoke-direct {v0, v1, v2}, Lio/fabric/sdk/android/services/common/AdvertisingInfo;-><init>(Ljava/lang/String;Z)V
return-object v0
:cond_16
const/4 v0, 0x0
return-object v0
.end method
.method isGooglePlayServiceAvailable(Landroid/content/Context;)Z
.registers 8
const/4 v0, 0x0
:try_start_1
const-string v1, "com.google.android.gms.common.GooglePlayServicesUtil"
.line 50
invoke-static {v1}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v1
const-string v2, "isGooglePlayServicesAvailable"
const/4 v3, 0x1
new-array v4, v3, [Ljava/lang/Class;
const-class v5, Landroid/content/Context;
aput-object v5, v4, v0
invoke-virtual {v1, v2, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v1
const/4 v2, 0x0
new-array v4, v3, [Ljava/lang/Object;
aput-object p1, v4, v0
.line 52
invoke-virtual {v1, v2, v4}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/Integer;
.line 53
invoke-virtual {p1}, Ljava/lang/Integer;->intValue()I
move-result p1
:try_end_23
.catch Ljava/lang/Exception; {:try_start_1 .. :try_end_23} :catch_26
if-nez p1, :cond_26
const/4 v0, 0x1
:catch_26
:cond_26
return v0
.end method