AutomaticAnalyticsLogger.smali
.class public Lcom/facebook/appevents/internal/AutomaticAnalyticsLogger;
.super Ljava/lang/Object;
.source "AutomaticAnalyticsLogger.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/facebook/appevents/internal/AutomaticAnalyticsLogger$PurchaseLoggingParameters;
}
.end annotation
# static fields
.field private static final TAG:Ljava/lang/String;
.field private static final internalAppEventsLogger:Lcom/facebook/appevents/InternalAppEventsLogger;
# direct methods
.method static constructor <clinit>()V
.registers 2
.line 55
const-class v0, Lcom/facebook/appevents/internal/AutomaticAnalyticsLogger;
invoke-virtual {v0}, Ljava/lang/Class;->getCanonicalName()Ljava/lang/String;
move-result-object v0
sput-object v0, Lcom/facebook/appevents/internal/AutomaticAnalyticsLogger;->TAG:Ljava/lang/String;
.line 57
new-instance v0, Lcom/facebook/appevents/InternalAppEventsLogger;
.line 58
invoke-static {}, Lcom/facebook/FacebookSdk;->getApplicationContext()Landroid/content/Context;
move-result-object v1
invoke-direct {v0, v1}, Lcom/facebook/appevents/InternalAppEventsLogger;-><init>(Landroid/content/Context;)V
sput-object v0, Lcom/facebook/appevents/internal/AutomaticAnalyticsLogger;->internalAppEventsLogger:Lcom/facebook/appevents/InternalAppEventsLogger;
return-void
.end method
.method public constructor <init>()V
.registers 1
.line 53
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method private static getPurchaseLoggingParameters(Ljava/lang/String;Ljava/lang/String;)Lcom/facebook/appevents/internal/AutomaticAnalyticsLogger$PurchaseLoggingParameters;
.registers 3
.line 191
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
invoke-static {p0, p1, v0}, Lcom/facebook/appevents/internal/AutomaticAnalyticsLogger;->getPurchaseLoggingParameters(Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)Lcom/facebook/appevents/internal/AutomaticAnalyticsLogger$PurchaseLoggingParameters;
move-result-object p0
return-object p0
.end method
.method private static getPurchaseLoggingParameters(Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)Lcom/facebook/appevents/internal/AutomaticAnalyticsLogger$PurchaseLoggingParameters;
.registers 8
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Ljava/lang/String;",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;)",
"Lcom/facebook/appevents/internal/AutomaticAnalyticsLogger$PurchaseLoggingParameters;"
}
.end annotation
.line 199
:try_start_0
new-instance v0, Lorg/json/JSONObject;
invoke-direct {v0, p0}, Lorg/json/JSONObject;-><init>(Ljava/lang/String;)V
.line 200
new-instance p0, Lorg/json/JSONObject;
invoke-direct {p0, p1}, Lorg/json/JSONObject;-><init>(Ljava/lang/String;)V
.line 202
new-instance p1, Landroid/os/Bundle;
const/4 v1, 0x1
invoke-direct {p1, v1}, Landroid/os/Bundle;-><init>(I)V
const-string v1, "fb_iap_product_id"
const-string v2, "productId"
.line 206
invoke-virtual {v0, v2}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
.line 204
invoke-virtual {p1, v1, v2}, Landroid/os/Bundle;->putCharSequence(Ljava/lang/String;Ljava/lang/CharSequence;)V
const-string v1, "fb_iap_purchase_time"
const-string v2, "purchaseTime"
.line 209
invoke-virtual {v0, v2}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
.line 207
invoke-virtual {p1, v1, v2}, Landroid/os/Bundle;->putCharSequence(Ljava/lang/String;Ljava/lang/CharSequence;)V
const-string v1, "fb_iap_purchase_token"
const-string v2, "purchaseToken"
.line 212
invoke-virtual {v0, v2}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
.line 210
invoke-virtual {p1, v1, v2}, Landroid/os/Bundle;->putCharSequence(Ljava/lang/String;Ljava/lang/CharSequence;)V
const-string v1, "fb_iap_package_name"
const-string v2, "packageName"
.line 215
invoke-virtual {v0, v2}, Lorg/json/JSONObject;->optString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
.line 213
invoke-virtual {p1, v1, v2}, Landroid/os/Bundle;->putCharSequence(Ljava/lang/String;Ljava/lang/CharSequence;)V
const-string v1, "fb_iap_product_title"
const-string v2, "title"
.line 218
invoke-virtual {p0, v2}, Lorg/json/JSONObject;->optString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
.line 216
invoke-virtual {p1, v1, v2}, Landroid/os/Bundle;->putCharSequence(Ljava/lang/String;Ljava/lang/CharSequence;)V
const-string v1, "fb_iap_product_description"
const-string v2, "description"
.line 221
invoke-virtual {p0, v2}, Lorg/json/JSONObject;->optString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
.line 219
invoke-virtual {p1, v1, v2}, Landroid/os/Bundle;->putCharSequence(Ljava/lang/String;Ljava/lang/CharSequence;)V
const-string/jumbo v1, "type"
.line 223
invoke-virtual {p0, v1}, Lorg/json/JSONObject;->optString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const-string v2, "fb_iap_product_type"
.line 224
invoke-virtual {p1, v2, v1}, Landroid/os/Bundle;->putCharSequence(Ljava/lang/String;Ljava/lang/CharSequence;)V
const-string v2, "subs"
.line 227
invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_a8
const-string v1, "fb_iap_subs_auto_renewing"
const-string v2, "autoRenewing"
const/4 v3, 0x0
.line 230
invoke-virtual {v0, v2, v3}, Lorg/json/JSONObject;->optBoolean(Ljava/lang/String;Z)Z
move-result v0
invoke-static {v0}, Ljava/lang/Boolean;->toString(Z)Ljava/lang/String;
move-result-object v0
.line 228
invoke-virtual {p1, v1, v0}, Landroid/os/Bundle;->putCharSequence(Ljava/lang/String;Ljava/lang/CharSequence;)V
const-string v0, "fb_iap_subs_period"
const-string v1, "subscriptionPeriod"
.line 234
invoke-virtual {p0, v1}, Lorg/json/JSONObject;->optString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
.line 232
invoke-virtual {p1, v0, v1}, Landroid/os/Bundle;->putCharSequence(Ljava/lang/String;Ljava/lang/CharSequence;)V
const-string v0, "fb_free_trial_period"
const-string v1, "freeTrialPeriod"
.line 237
invoke-virtual {p0, v1}, Lorg/json/JSONObject;->optString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
.line 235
invoke-virtual {p1, v0, v1}, Landroid/os/Bundle;->putCharSequence(Ljava/lang/String;Ljava/lang/CharSequence;)V
const-string v0, "introductoryPriceCycles"
.line 239
invoke-virtual {p0, v0}, Lorg/json/JSONObject;->optString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 240
invoke-virtual {v0}, Ljava/lang/String;->isEmpty()Z
move-result v1
if-nez v1, :cond_a8
const-string v1, "fb_intro_price_amount_micros"
const-string v2, "introductoryPriceAmountMicros"
.line 243
invoke-virtual {p0, v2}, Lorg/json/JSONObject;->optString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
.line 241
invoke-virtual {p1, v1, v2}, Landroid/os/Bundle;->putCharSequence(Ljava/lang/String;Ljava/lang/CharSequence;)V
const-string v1, "fb_intro_price_cycles"
.line 244
invoke-virtual {p1, v1, v0}, Landroid/os/Bundle;->putCharSequence(Ljava/lang/String;Ljava/lang/CharSequence;)V
.line 250
:cond_a8
invoke-interface {p2}, Ljava/util/Map;->keySet()Ljava/util/Set;
move-result-object v0
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_b0
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_c6
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/String;
.line 251
invoke-interface {p2, v1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/CharSequence;
invoke-virtual {p1, v1, v2}, Landroid/os/Bundle;->putCharSequence(Ljava/lang/String;Ljava/lang/CharSequence;)V
goto :goto_b0
.line 254
:cond_c6
new-instance p2, Lcom/facebook/appevents/internal/AutomaticAnalyticsLogger$PurchaseLoggingParameters;
new-instance v0, Ljava/math/BigDecimal;
const-string v1, "price_amount_micros"
.line 255
invoke-virtual {p0, v1}, Lorg/json/JSONObject;->getLong(Ljava/lang/String;)J
move-result-wide v1
long-to-double v1, v1
const-wide v3, 0x412e848000000000L # 1000000.0
div-double/2addr v1, v3
invoke-direct {v0, v1, v2}, Ljava/math/BigDecimal;-><init>(D)V
const-string v1, "price_currency_code"
.line 256
invoke-virtual {p0, v1}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
invoke-static {p0}, Ljava/util/Currency;->getInstance(Ljava/lang/String;)Ljava/util/Currency;
move-result-object p0
invoke-direct {p2, v0, p0, p1}, Lcom/facebook/appevents/internal/AutomaticAnalyticsLogger$PurchaseLoggingParameters;-><init>(Ljava/math/BigDecimal;Ljava/util/Currency;Landroid/os/Bundle;)V
:try_end_e7
.catch Lorg/json/JSONException; {:try_start_0 .. :try_end_e7} :catch_e8
return-object p2
:catch_e8
move-exception p0
.line 259
sget-object p1, Lcom/facebook/appevents/internal/AutomaticAnalyticsLogger;->TAG:Ljava/lang/String;
const-string p2, "Error parsing in-app subscription data."
invoke-static {p1, p2, p0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
const/4 p0, 0x0
return-object p0
.end method
.method public static isImplicitPurchaseLoggingEnabled()Z
.registers 2
.line 179
invoke-static {}, Lcom/facebook/FacebookSdk;->getApplicationId()Ljava/lang/String;
move-result-object v0
.line 180
invoke-static {v0}, Lcom/facebook/internal/FetchedAppSettingsManager;->getAppSettingsWithoutQuery(Ljava/lang/String;)Lcom/facebook/internal/FetchedAppSettings;
move-result-object v0
if-eqz v0, :cond_18
.line 184
invoke-static {}, Lcom/facebook/FacebookSdk;->getAutoLogAppEventsEnabled()Z
move-result v1
if-eqz v1, :cond_18
.line 185
invoke-virtual {v0}, Lcom/facebook/internal/FetchedAppSettings;->getIAPAutomaticLoggingEnabled()Z
move-result v0
if-eqz v0, :cond_18
const/4 v0, 0x1
goto :goto_19
:cond_18
const/4 v0, 0x0
:goto_19
return v0
.end method
.method public static logActivateAppEvent()V
.registers 4
.line 61
invoke-static {}, Lcom/facebook/FacebookSdk;->getApplicationContext()Landroid/content/Context;
move-result-object v0
.line 62
invoke-static {}, Lcom/facebook/FacebookSdk;->getApplicationId()Ljava/lang/String;
move-result-object v1
.line 63
invoke-static {}, Lcom/facebook/FacebookSdk;->getAutoLogAppEventsEnabled()Z
move-result v2
const-string v3, "context"
.line 64
invoke-static {v0, v3}, Lcom/facebook/internal/Validate;->notNull(Ljava/lang/Object;Ljava/lang/String;)V
if-eqz v2, :cond_24
.line 66
instance-of v2, v0, Landroid/app/Application;
if-eqz v2, :cond_1d
.line 67
check-cast v0, Landroid/app/Application;
invoke-static {v0, v1}, Lcom/facebook/appevents/AppEventsLogger;->activateApp(Landroid/app/Application;Ljava/lang/String;)V
goto :goto_24
.line 69
:cond_1d
sget-object v0, Lcom/facebook/appevents/internal/AutomaticAnalyticsLogger;->TAG:Ljava/lang/String;
const-string v1, "Automatic logging of basic events will not happen, because FacebookSdk.getApplicationContext() returns object that is not instance of android.app.Application. Make sure you call FacebookSdk.sdkInitialize() from Application class and pass application context."
invoke-static {v0, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
:cond_24
:goto_24
return-void
.end method
.method public static logActivityTimeSpentEvent(Ljava/lang/String;J)V
.registers 7
.line 81
invoke-static {}, Lcom/facebook/FacebookSdk;->getApplicationContext()Landroid/content/Context;
move-result-object v0
.line 82
invoke-static {}, Lcom/facebook/FacebookSdk;->getApplicationId()Ljava/lang/String;
move-result-object v1
const-string v2, "context"
.line 83
invoke-static {v0, v2}, Lcom/facebook/internal/Validate;->notNull(Ljava/lang/Object;Ljava/lang/String;)V
const/4 v2, 0x0
.line 84
invoke-static {v1, v2}, Lcom/facebook/internal/FetchedAppSettingsManager;->queryAppSettings(Ljava/lang/String;Z)Lcom/facebook/internal/FetchedAppSettings;
move-result-object v1
if-eqz v1, :cond_36
.line 87
invoke-virtual {v1}, Lcom/facebook/internal/FetchedAppSettings;->getAutomaticLoggingEnabled()Z
move-result v1
if-eqz v1, :cond_36
const-wide/16 v1, 0x0
cmp-long v3, p1, v1
if-lez v3, :cond_36
.line 89
new-instance v1, Lcom/facebook/appevents/InternalAppEventsLogger;
invoke-direct {v1, v0}, Lcom/facebook/appevents/InternalAppEventsLogger;-><init>(Landroid/content/Context;)V
.line 90
new-instance v0, Landroid/os/Bundle;
const/4 v2, 0x1
invoke-direct {v0, v2}, Landroid/os/Bundle;-><init>(I)V
const-string v2, "fb_aa_time_spent_view_name"
.line 91
invoke-virtual {v0, v2, p0}, Landroid/os/Bundle;->putCharSequence(Ljava/lang/String;Ljava/lang/CharSequence;)V
long-to-double p0, p1
const-string p2, "fb_aa_time_spent_on_view"
.line 92
invoke-virtual {v1, p2, p0, p1, v0}, Lcom/facebook/appevents/InternalAppEventsLogger;->logEvent(Ljava/lang/String;DLandroid/os/Bundle;)V
:cond_36
return-void
.end method
.method public static logPurchaseInapp(Ljava/lang/String;Ljava/lang/String;)V
.registers 4
.line 101
invoke-static {}, Lcom/facebook/appevents/internal/AutomaticAnalyticsLogger;->isImplicitPurchaseLoggingEnabled()Z
move-result v0
if-nez v0, :cond_7
return-void
.line 105
:cond_7
invoke-static {p0, p1}, Lcom/facebook/appevents/internal/AutomaticAnalyticsLogger;->getPurchaseLoggingParameters(Ljava/lang/String;Ljava/lang/String;)Lcom/facebook/appevents/internal/AutomaticAnalyticsLogger$PurchaseLoggingParameters;
move-result-object p0
if-eqz p0, :cond_18
.line 108
sget-object p1, Lcom/facebook/appevents/internal/AutomaticAnalyticsLogger;->internalAppEventsLogger:Lcom/facebook/appevents/InternalAppEventsLogger;
iget-object v0, p0, Lcom/facebook/appevents/internal/AutomaticAnalyticsLogger$PurchaseLoggingParameters;->purchaseAmount:Ljava/math/BigDecimal;
iget-object v1, p0, Lcom/facebook/appevents/internal/AutomaticAnalyticsLogger$PurchaseLoggingParameters;->currency:Ljava/util/Currency;
iget-object p0, p0, Lcom/facebook/appevents/internal/AutomaticAnalyticsLogger$PurchaseLoggingParameters;->param:Landroid/os/Bundle;
invoke-virtual {p1, v0, v1, p0}, Lcom/facebook/appevents/InternalAppEventsLogger;->logPurchaseImplicitly(Ljava/math/BigDecimal;Ljava/util/Currency;Landroid/os/Bundle;)V
:cond_18
return-void
.end method
.method public static logPurchaseSubs(Lcom/facebook/appevents/internal/SubscriptionType;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V
.registers 7
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/facebook/appevents/internal/SubscriptionType;",
"Ljava/lang/String;",
"Ljava/lang/String;",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;)V"
}
.end annotation
.line 124
invoke-static {}, Lcom/facebook/appevents/internal/AutomaticAnalyticsLogger;->isImplicitPurchaseLoggingEnabled()Z
move-result v0
if-nez v0, :cond_7
return-void
.line 129
:cond_7
invoke-static {}, Lcom/facebook/FacebookSdk;->getApplicationId()Ljava/lang/String;
move-result-object v0
const/4 v1, 0x0
const-string v2, "app_events_if_auto_log_subs"
.line 127
invoke-static {v2, v0, v1}, Lcom/facebook/internal/FetchedAppGateKeepersManager;->getGateKeeperForKey(Ljava/lang/String;Ljava/lang/String;Z)Z
move-result v0
.line 133
sget-object v1, Lcom/facebook/appevents/internal/AutomaticAnalyticsLogger$1;->$SwitchMap$com$facebook$appevents$internal$SubscriptionType:[I
invoke-virtual {p0}, Lcom/facebook/appevents/internal/SubscriptionType;->ordinal()I
move-result p0
aget p0, v1, p0
packed-switch p0, :pswitch_data_4e
return-void
:pswitch_1e
const-string p0, "SubscriptionExpire"
goto :goto_37
:pswitch_21
const-string p0, "SubscriptionHeartbeat"
goto :goto_37
:pswitch_24
const-string p0, "SubscriptionCancel"
goto :goto_37
:pswitch_27
const-string p0, "SubscriptionRestore"
goto :goto_37
:pswitch_2a
if-eqz v0, :cond_2f
const-string p0, "StartTrial"
goto :goto_37
.line 147
:cond_2f
invoke-static {p1, p2}, Lcom/facebook/appevents/internal/AutomaticAnalyticsLogger;->logPurchaseInapp(Ljava/lang/String;Ljava/lang/String;)V
return-void
:pswitch_33
if-eqz v0, :cond_49
const-string p0, "Subscribe"
.line 167
:goto_37
invoke-static {p1, p2, p3}, Lcom/facebook/appevents/internal/AutomaticAnalyticsLogger;->getPurchaseLoggingParameters(Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)Lcom/facebook/appevents/internal/AutomaticAnalyticsLogger$PurchaseLoggingParameters;
move-result-object p1
if-eqz p1, :cond_48
.line 170
sget-object p2, Lcom/facebook/appevents/internal/AutomaticAnalyticsLogger;->internalAppEventsLogger:Lcom/facebook/appevents/InternalAppEventsLogger;
iget-object p3, p1, Lcom/facebook/appevents/internal/AutomaticAnalyticsLogger$PurchaseLoggingParameters;->purchaseAmount:Ljava/math/BigDecimal;
iget-object v0, p1, Lcom/facebook/appevents/internal/AutomaticAnalyticsLogger$PurchaseLoggingParameters;->currency:Ljava/util/Currency;
iget-object p1, p1, Lcom/facebook/appevents/internal/AutomaticAnalyticsLogger$PurchaseLoggingParameters;->param:Landroid/os/Bundle;
invoke-virtual {p2, p0, p3, v0, p1}, Lcom/facebook/appevents/InternalAppEventsLogger;->logEventImplicitly(Ljava/lang/String;Ljava/math/BigDecimal;Ljava/util/Currency;Landroid/os/Bundle;)V
:cond_48
return-void
.line 139
:cond_49
invoke-static {p1, p2}, Lcom/facebook/appevents/internal/AutomaticAnalyticsLogger;->logPurchaseInapp(Ljava/lang/String;Ljava/lang/String;)V
return-void
nop
:pswitch_data_4e
.packed-switch 0x1
:pswitch_33
:pswitch_2a
:pswitch_27
:pswitch_24
:pswitch_21
:pswitch_1e
.end packed-switch
.end method