MeasurementEvent.smali
.class public Lbolts/MeasurementEvent;
.super Ljava/lang/Object;
.source "MeasurementEvent.java"
# static fields
.field public static final APP_LINK_NAVIGATE_IN_EVENT_NAME:Ljava/lang/String; = "al_nav_in"
.field public static final APP_LINK_NAVIGATE_OUT_EVENT_NAME:Ljava/lang/String; = "al_nav_out"
.field public static final MEASUREMENT_EVENT_ARGS_KEY:Ljava/lang/String; = "event_args"
.field public static final MEASUREMENT_EVENT_NAME_KEY:Ljava/lang/String; = "event_name"
.field public static final MEASUREMENT_EVENT_NOTIFICATION_NAME:Ljava/lang/String; = "com.parse.bolts.measurement_event"
# instance fields
.field private appContext:Landroid/content/Context;
.field private args:Landroid/os/Bundle;
.field private name:Ljava/lang/String;
# direct methods
.method private constructor <init>(Landroid/content/Context;Ljava/lang/String;Landroid/os/Bundle;)V
.registers 4
.line 112
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 113
invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object p1
iput-object p1, p0, Lbolts/MeasurementEvent;->appContext:Landroid/content/Context;
.line 114
iput-object p2, p0, Lbolts/MeasurementEvent;->name:Ljava/lang/String;
.line 115
iput-object p3, p0, Lbolts/MeasurementEvent;->args:Landroid/os/Bundle;
return-void
.end method
.method private static getApplinkLogData(Landroid/content/Context;Ljava/lang/String;Landroid/os/Bundle;Landroid/content/Intent;)Landroid/os/Bundle;
.registers 11
.line 138
new-instance v0, Landroid/os/Bundle;
invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
.line 139
invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object p0
invoke-virtual {p3, p0}, Landroid/content/Intent;->resolveActivity(Landroid/content/pm/PackageManager;)Landroid/content/ComponentName;
move-result-object p0
if-eqz p0, :cond_18
.line 142
invoke-virtual {p0}, Landroid/content/ComponentName;->getShortClassName()Ljava/lang/String;
move-result-object v1
const-string v2, "class"
invoke-virtual {v0, v2, v1}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
:cond_18
const-string v1, "al_nav_out"
.line 145
invoke-virtual {v1, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
const-string v2, "package"
if-eqz v1, :cond_4e
if-eqz p0, :cond_2b
.line 147
invoke-virtual {p0}, Landroid/content/ComponentName;->getPackageName()Ljava/lang/String;
move-result-object p0
invoke-virtual {v0, v2, p0}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
.line 149
:cond_2b
invoke-virtual {p3}, Landroid/content/Intent;->getData()Landroid/net/Uri;
move-result-object p0
if-eqz p0, :cond_3e
.line 150
invoke-virtual {p3}, Landroid/content/Intent;->getData()Landroid/net/Uri;
move-result-object p0
invoke-virtual {p0}, Landroid/net/Uri;->toString()Ljava/lang/String;
move-result-object p0
const-string p1, "outputURL"
invoke-virtual {v0, p1, p0}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
.line 152
:cond_3e
invoke-virtual {p3}, Landroid/content/Intent;->getScheme()Ljava/lang/String;
move-result-object p0
if-eqz p0, :cond_78
.line 153
invoke-virtual {p3}, Landroid/content/Intent;->getScheme()Ljava/lang/String;
move-result-object p0
const-string p1, "outputURLScheme"
invoke-virtual {v0, p1, p0}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_78
:cond_4e
const-string p0, "al_nav_in"
.line 155
invoke-virtual {p0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_78
.line 156
invoke-virtual {p3}, Landroid/content/Intent;->getData()Landroid/net/Uri;
move-result-object p0
if-eqz p0, :cond_69
.line 157
invoke-virtual {p3}, Landroid/content/Intent;->getData()Landroid/net/Uri;
move-result-object p0
invoke-virtual {p0}, Landroid/net/Uri;->toString()Ljava/lang/String;
move-result-object p0
const-string p1, "inputURL"
invoke-virtual {v0, p1, p0}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
.line 159
:cond_69
invoke-virtual {p3}, Landroid/content/Intent;->getScheme()Ljava/lang/String;
move-result-object p0
if-eqz p0, :cond_78
.line 160
invoke-virtual {p3}, Landroid/content/Intent;->getScheme()Ljava/lang/String;
move-result-object p0
const-string p1, "inputURLScheme"
invoke-virtual {v0, p1, p0}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
.line 164
:cond_78
:goto_78
invoke-virtual {p2}, Landroid/os/Bundle;->keySet()Ljava/util/Set;
move-result-object p0
invoke-interface {p0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object p0
:cond_80
:goto_80
invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z
move-result p1
if-eqz p1, :cond_124
invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/String;
.line 165
invoke-virtual {p2, p1}, Landroid/os/Bundle;->get(Ljava/lang/String;)Ljava/lang/Object;
move-result-object p3
.line 166
instance-of v1, p3, Landroid/os/Bundle;
if-eqz v1, :cond_fb
.line 167
check-cast p3, Landroid/os/Bundle;
invoke-virtual {p3}, Landroid/os/Bundle;->keySet()Ljava/util/Set;
move-result-object v1
invoke-interface {v1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_9e
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v3
if-eqz v3, :cond_80
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/lang/String;
.line 168
invoke-virtual {p3, v3}, Landroid/os/Bundle;->get(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v4
invoke-static {v4}, Lbolts/MeasurementEvent;->objectToJSONString(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v4
const-string v5, "referer_app_link"
.line 169
invoke-virtual {p1, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v5
if-eqz v5, :cond_e3
const-string/jumbo v5, "url"
.line 170
invoke-virtual {v3, v5}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v5
if-eqz v5, :cond_c9
const-string v3, "refererURL"
.line 171
invoke-virtual {v0, v3, v4}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_9e
:cond_c9
const-string v5, "app_name"
.line 173
invoke-virtual {v3, v5}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v5
if-eqz v5, :cond_d7
const-string v3, "refererAppName"
.line 174
invoke-virtual {v0, v3, v4}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_9e
.line 176
:cond_d7
invoke-virtual {v3, v2}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v5
if-eqz v5, :cond_e3
const-string v3, "sourceApplication"
.line 177
invoke-virtual {v0, v3, v4}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_9e
.line 181
:cond_e3
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v5, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v6, "/"
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-virtual {v0, v3, v4}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_9e
.line 184
:cond_fb
invoke-static {p3}, Lbolts/MeasurementEvent;->objectToJSONString(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p3
const-string v1, "target_url"
.line 185
invoke-virtual {p1, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_11f
.line 186
invoke-static {p3}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri;
move-result-object p1
.line 187
invoke-virtual {p1}, Landroid/net/Uri;->toString()Ljava/lang/String;
move-result-object p3
const-string v1, "targetURL"
invoke-virtual {v0, v1, p3}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
.line 188
invoke-virtual {p1}, Landroid/net/Uri;->getHost()Ljava/lang/String;
move-result-object p1
const-string p3, "targetURLHost"
invoke-virtual {v0, p3, p1}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
goto/16 :goto_80
.line 191
:cond_11f
invoke-virtual {v0, p1, p3}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
goto/16 :goto_80
:cond_124
return-object v0
.end method
.method private static objectToJSONString(Ljava/lang/Object;)Ljava/lang/String;
.registers 3
const/4 v0, 0x0
if-nez p0, :cond_4
return-object v0
.line 201
:cond_4
instance-of v1, p0, Lorg/json/JSONArray;
if-nez v1, :cond_33
instance-of v1, p0, Lorg/json/JSONObject;
if-eqz v1, :cond_d
goto :goto_33
.line 206
:cond_d
:try_start_d
instance-of v1, p0, Ljava/util/Collection;
if-eqz v1, :cond_1d
.line 207
new-instance v1, Lorg/json/JSONArray;
check-cast p0, Ljava/util/Collection;
invoke-direct {v1, p0}, Lorg/json/JSONArray;-><init>(Ljava/util/Collection;)V
invoke-virtual {v1}, Lorg/json/JSONArray;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.line 209
:cond_1d
instance-of v1, p0, Ljava/util/Map;
if-eqz v1, :cond_2d
.line 210
new-instance v1, Lorg/json/JSONObject;
check-cast p0, Ljava/util/Map;
invoke-direct {v1, p0}, Lorg/json/JSONObject;-><init>(Ljava/util/Map;)V
invoke-virtual {v1}, Lorg/json/JSONObject;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.line 212
:cond_2d
invoke-virtual {p0}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object p0
:try_end_31
.catch Ljava/lang/Exception; {:try_start_d .. :try_end_31} :catch_32
return-object p0
:catch_32
return-object v0
.line 202
:cond_33
:goto_33
invoke-virtual {p0}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method private sendBroadcast()V
.registers 8
.line 119
iget-object v0, p0, Lbolts/MeasurementEvent;->name:Ljava/lang/String;
if-nez v0, :cond_11
.line 120
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v0
const-string v1, "Event name is required"
invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
:cond_11
:try_start_11
const-string v0, "androidx.localbroadcastmanager.content.LocalBroadcastManager"
.line 123
invoke-static {v0}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v0
const-string v1, "getInstance"
const/4 v2, 0x1
new-array v3, v2, [Ljava/lang/Class;
.line 124
const-class v4, Landroid/content/Context;
const/4 v5, 0x0
aput-object v4, v3, v5
invoke-virtual {v0, v1, v3}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v1
const-string v3, "sendBroadcast"
new-array v4, v2, [Ljava/lang/Class;
.line 125
const-class v6, Landroid/content/Intent;
aput-object v6, v4, v5
invoke-virtual {v0, v3, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v0
const/4 v3, 0x0
new-array v4, v2, [Ljava/lang/Object;
.line 126
iget-object v6, p0, Lbolts/MeasurementEvent;->appContext:Landroid/content/Context;
aput-object v6, v4, v5
invoke-virtual {v1, v3, v4}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
.line 127
new-instance v3, Landroid/content/Intent;
const-string v4, "com.parse.bolts.measurement_event"
invoke-direct {v3, v4}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
const-string v4, "event_name"
.line 128
iget-object v6, p0, Lbolts/MeasurementEvent;->name:Ljava/lang/String;
invoke-virtual {v3, v4, v6}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
const-string v4, "event_args"
.line 129
iget-object v6, p0, Lbolts/MeasurementEvent;->args:Landroid/os/Bundle;
invoke-virtual {v3, v4, v6}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Landroid/os/Bundle;)Landroid/content/Intent;
new-array v2, v2, [Ljava/lang/Object;
aput-object v3, v2, v5
.line 130
invoke-virtual {v0, v1, v2}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
:try_end_58
.catch Ljava/lang/Exception; {:try_start_11 .. :try_end_58} :catch_59
goto :goto_66
.line 132
:catch_59
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v0
const-string v1, "LocalBroadcastManager in android support library is required to raise bolts event."
invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
:goto_66
return-void
.end method
.method static sendBroadcastEvent(Landroid/content/Context;Ljava/lang/String;Landroid/content/Intent;Ljava/util/Map;)V
.registers 8
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/content/Context;",
"Ljava/lang/String;",
"Landroid/content/Intent;",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;)V"
}
.end annotation
.line 78
new-instance v0, Landroid/os/Bundle;
invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
if-eqz p2, :cond_47
.line 80
invoke-static {p2}, Lbolts/AppLinks;->getAppLinkData(Landroid/content/Intent;)Landroid/os/Bundle;
move-result-object v1
if-eqz v1, :cond_12
.line 82
invoke-static {p0, p1, v1, p2}, Lbolts/MeasurementEvent;->getApplinkLogData(Landroid/content/Context;Ljava/lang/String;Landroid/os/Bundle;Landroid/content/Intent;)Landroid/os/Bundle;
move-result-object v0
goto :goto_47
.line 84
:cond_12
invoke-virtual {p2}, Landroid/content/Intent;->getData()Landroid/net/Uri;
move-result-object v1
if-eqz v1, :cond_21
.line 86
invoke-virtual {v1}, Landroid/net/Uri;->toString()Ljava/lang/String;
move-result-object v1
const-string v2, "intentData"
invoke-virtual {v0, v2, v1}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
.line 88
:cond_21
invoke-virtual {p2}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;
move-result-object p2
if-eqz p2, :cond_47
.line 90
invoke-virtual {p2}, Landroid/os/Bundle;->keySet()Ljava/util/Set;
move-result-object v1
invoke-interface {v1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_2f
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_47
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/String;
.line 91
invoke-virtual {p2, v2}, Landroid/os/Bundle;->get(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v3
.line 92
invoke-static {v3}, Lbolts/MeasurementEvent;->objectToJSONString(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
.line 93
invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_2f
:cond_47
:goto_47
if-eqz p3, :cond_67
.line 100
invoke-interface {p3}, Ljava/util/Map;->keySet()Ljava/util/Set;
move-result-object p2
invoke-interface {p2}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object p2
:goto_51
invoke-interface {p2}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_67
invoke-interface {p2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/String;
.line 101
invoke-interface {p3, v1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/String;
invoke-virtual {v0, v1, v2}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_51
.line 104
:cond_67
new-instance p2, Lbolts/MeasurementEvent;
invoke-direct {p2, p0, p1, v0}, Lbolts/MeasurementEvent;-><init>(Landroid/content/Context;Ljava/lang/String;Landroid/os/Bundle;)V
.line 105
invoke-direct {p2}, Lbolts/MeasurementEvent;->sendBroadcast()V
return-void
.end method