SuggestedEventsManager.smali
.class public final Lcom/facebook/appevents/suggestedevents/SuggestedEventsManager;
.super Ljava/lang/Object;
.source "SuggestedEventsManager.java"
# static fields
.field private static final ELIGIBLE_EVENTS_KEY:Ljava/lang/String; = "eligible_for_prediction_events"
.field private static final PRODUCTION_EVENTS_KEY:Ljava/lang/String; = "production_events"
.field private static final eligibleEvents:Ljava/util/Set;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Set<",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
.field private static final enabled:Ljava/util/concurrent/atomic/AtomicBoolean;
.field private static final productionEvents:Ljava/util/Set;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Set<",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 2
.line 1
new-instance v0, Ljava/util/concurrent/atomic/AtomicBoolean;
const/4 v1, 0x0
invoke-direct {v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;-><init>(Z)V
sput-object v0, Lcom/facebook/appevents/suggestedevents/SuggestedEventsManager;->enabled:Ljava/util/concurrent/atomic/AtomicBoolean;
.line 2
new-instance v0, Ljava/util/HashSet;
invoke-direct {v0}, Ljava/util/HashSet;-><init>()V
sput-object v0, Lcom/facebook/appevents/suggestedevents/SuggestedEventsManager;->productionEvents:Ljava/util/Set;
.line 3
new-instance v0, Ljava/util/HashSet;
invoke-direct {v0}, Ljava/util/HashSet;-><init>()V
sput-object v0, Lcom/facebook/appevents/suggestedevents/SuggestedEventsManager;->eligibleEvents:Ljava/util/Set;
return-void
.end method
.method public constructor <init>()V
.registers 1
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static declared-synchronized enable()V
.registers 3
const-class v0, Lcom/facebook/appevents/suggestedevents/SuggestedEventsManager;
monitor-enter v0
.line 1
:try_start_3
sget-object v1, Lcom/facebook/appevents/suggestedevents/SuggestedEventsManager;->enabled:Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicBoolean;->get()Z
move-result v1
:try_end_9
.catchall {:try_start_3 .. :try_end_9} :catchall_18
if-eqz v1, :cond_d
.line 2
monitor-exit v0
return-void
.line 3
:cond_d
:try_start_d
sget-object v1, Lcom/facebook/appevents/suggestedevents/SuggestedEventsManager;->enabled:Ljava/util/concurrent/atomic/AtomicBoolean;
const/4 v2, 0x1
invoke-virtual {v1, v2}, Ljava/util/concurrent/atomic/AtomicBoolean;->set(Z)V
.line 4
invoke-static {}, Lcom/facebook/appevents/suggestedevents/SuggestedEventsManager;->initialize()V
:try_end_16
.catchall {:try_start_d .. :try_end_16} :catchall_18
.line 5
monitor-exit v0
return-void
:catchall_18
move-exception v1
monitor-exit v0
throw v1
.end method
.method private static initialize()V
.registers 7
const-string v0, "eligible_for_prediction_events"
const-string v1, "production_events"
.line 1
:try_start_4
invoke-static {}, Lcom/facebook/FacebookSdk;->getApplicationId()Ljava/lang/String;
move-result-object v2
const/4 v3, 0x0
.line 2
invoke-static {v2, v3}, Lcom/facebook/internal/FetchedAppSettingsManager;->queryAppSettings(Ljava/lang/String;Z)Lcom/facebook/internal/FetchedAppSettings;
move-result-object v2
if-nez v2, :cond_10
return-void
.line 3
:cond_10
invoke-virtual {v2}, Lcom/facebook/internal/FetchedAppSettings;->getSuggestedEventsSetting()Ljava/lang/String;
move-result-object v2
if-nez v2, :cond_17
return-void
.line 4
:cond_17
new-instance v4, Lorg/json/JSONObject;
invoke-direct {v4, v2}, Lorg/json/JSONObject;-><init>(Ljava/lang/String;)V
.line 5
invoke-virtual {v4, v1}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z
move-result v2
if-eqz v2, :cond_39
.line 6
invoke-virtual {v4, v1}, Lorg/json/JSONObject;->getJSONArray(Ljava/lang/String;)Lorg/json/JSONArray;
move-result-object v1
const/4 v2, 0x0
.line 7
:goto_27
invoke-virtual {v1}, Lorg/json/JSONArray;->length()I
move-result v5
if-ge v2, v5, :cond_39
.line 8
sget-object v5, Lcom/facebook/appevents/suggestedevents/SuggestedEventsManager;->productionEvents:Ljava/util/Set;
invoke-virtual {v1, v2}, Lorg/json/JSONArray;->getString(I)Ljava/lang/String;
move-result-object v6
invoke-interface {v5, v6}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
add-int/lit8 v2, v2, 0x1
goto :goto_27
.line 9
:cond_39
invoke-virtual {v4, v0}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_55
.line 10
invoke-virtual {v4, v0}, Lorg/json/JSONObject;->getJSONArray(Ljava/lang/String;)Lorg/json/JSONArray;
move-result-object v0
.line 11
:goto_43
invoke-virtual {v0}, Lorg/json/JSONArray;->length()I
move-result v1
if-ge v3, v1, :cond_55
.line 12
sget-object v1, Lcom/facebook/appevents/suggestedevents/SuggestedEventsManager;->eligibleEvents:Ljava/util/Set;
invoke-virtual {v0, v3}, Lorg/json/JSONArray;->getString(I)Ljava/lang/String;
move-result-object v2
invoke-interface {v1, v2}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
add-int/lit8 v3, v3, 0x1
goto :goto_43
.line 13
:cond_55
sget-object v0, Lcom/facebook/appevents/suggestedevents/SuggestedEventsManager;->productionEvents:Ljava/util/Set;
invoke-interface {v0}, Ljava/util/Set;->isEmpty()Z
move-result v0
if-eqz v0, :cond_65
sget-object v0, Lcom/facebook/appevents/suggestedevents/SuggestedEventsManager;->eligibleEvents:Ljava/util/Set;
invoke-interface {v0}, Ljava/util/Set;->isEmpty()Z
move-result v0
if-nez v0, :cond_7a
:cond_65
const-string v0, "SUGGEST_EVENT"
.line 14
invoke-static {v0}, Lcom/facebook/appevents/ml/ModelManager;->getRuleFile(Ljava/lang/String;)Ljava/io/File;
move-result-object v0
if-nez v0, :cond_6e
return-void
.line 15
:cond_6e
invoke-static {v0}, Lcom/facebook/appevents/suggestedevents/FeatureExtractor;->initialize(Ljava/io/File;)V
.line 16
invoke-static {}, Lcom/facebook/appevents/internal/ActivityLifecycleTracker;->getCurrentActivity()Landroid/app/Activity;
move-result-object v0
if-eqz v0, :cond_7a
.line 17
invoke-static {v0}, Lcom/facebook/appevents/suggestedevents/SuggestedEventsManager;->trackActivity(Landroid/app/Activity;)V
:try_end_7a
.catch Ljava/lang/Exception; {:try_start_4 .. :try_end_7a} :catch_7a
:catch_7a
:cond_7a
return-void
.end method
.method static isEligibleEvents(Ljava/lang/String;)Z
.registers 2
.line 1
sget-object v0, Lcom/facebook/appevents/suggestedevents/SuggestedEventsManager;->eligibleEvents:Ljava/util/Set;
invoke-interface {v0, p0}, Ljava/util/Set;->contains(Ljava/lang/Object;)Z
move-result p0
return p0
.end method
.method public static isEnabled()Z
.registers 1
.line 1
sget-object v0, Lcom/facebook/appevents/suggestedevents/SuggestedEventsManager;->enabled:Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;->get()Z
move-result v0
return v0
.end method
.method static isProductionEvents(Ljava/lang/String;)Z
.registers 2
.line 1
sget-object v0, Lcom/facebook/appevents/suggestedevents/SuggestedEventsManager;->productionEvents:Ljava/util/Set;
invoke-interface {v0, p0}, Ljava/util/Set;->contains(Ljava/lang/Object;)Z
move-result p0
return p0
.end method
.method public static trackActivity(Landroid/app/Activity;)V
.registers 2
.line 1
:try_start_0
sget-object v0, Lcom/facebook/appevents/suggestedevents/SuggestedEventsManager;->enabled:Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;->get()Z
move-result v0
if-eqz v0, :cond_22
invoke-static {}, Lcom/facebook/appevents/suggestedevents/FeatureExtractor;->isInitialized()Z
move-result v0
if-eqz v0, :cond_22
sget-object v0, Lcom/facebook/appevents/suggestedevents/SuggestedEventsManager;->productionEvents:Ljava/util/Set;
.line 2
invoke-interface {v0}, Ljava/util/Set;->isEmpty()Z
move-result v0
if-eqz v0, :cond_1e
sget-object v0, Lcom/facebook/appevents/suggestedevents/SuggestedEventsManager;->eligibleEvents:Ljava/util/Set;
invoke-interface {v0}, Ljava/util/Set;->isEmpty()Z
move-result v0
if-nez v0, :cond_22
.line 3
:cond_1e
invoke-static {p0}, Lcom/facebook/appevents/suggestedevents/ViewObserver;->startTrackingActivity(Landroid/app/Activity;)V
goto :goto_25
.line 4
:cond_22
invoke-static {p0}, Lcom/facebook/appevents/suggestedevents/ViewObserver;->stopTrackingActivity(Landroid/app/Activity;)V
:try_end_25
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_25} :catch_25
:catch_25
:goto_25
return-void
.end method