UserSettingsManager.smali
.class final Lcom/facebook/UserSettingsManager;
.super Ljava/lang/Object;
.source "UserSettingsManager.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/facebook/UserSettingsManager$UserSetting;
}
.end annotation
# static fields
.field private static final ADVERTISERID_COLLECTION_FALSE_WARNING:Ljava/lang/String; = "The value for AdvertiserIDCollectionEnabled is currently set to FALSE so you\'re sending app events without collecting Advertiser ID. This can affect the quality of your advertising and analytics results."
.field private static final ADVERTISERID_COLLECTION_NOT_SET_WARNING:Ljava/lang/String; = "You haven\'t set a value for AdvertiserIDCollectionEnabled. Set the flag to TRUE if you want to collect Advertiser ID for better advertising and analytics results. To request user consent before collecting data, set the flag value to FALSE, then change to TRUE once user consent is received. Learn more: https://developers.facebook.com/docs/app-events/getting-started-app-events-android#disable-auto-events."
.field private static final ADVERTISER_ID_KEY:Ljava/lang/String; = "advertiser_id"
.field private static final APPLICATION_FIELDS:Ljava/lang/String; = "fields"
.field private static final AUTOLOG_APPEVENT_NOT_SET_WARNING:Ljava/lang/String; = "Please set a value for AutoLogAppEventsEnabled. Set the flag to TRUE if you want to collect app install, app launch and in-app purchase events automatically. To request user consent before collecting data, set the flag value to FALSE, then change to TRUE once user consent is received. Learn more: https://developers.facebook.com/docs/app-events/getting-started-app-events-android#disable-auto-events."
.field private static final EVENTS_CODELESS_SETUP_ENABLED:Ljava/lang/String; = "auto_event_setup_enabled"
.field private static final LAST_TIMESTAMP:Ljava/lang/String; = "last_timestamp"
.field private static final TAG:Ljava/lang/String;
.field private static final TIMEOUT_7D:J = 0x240c8400L
.field private static final USER_SETTINGS:Ljava/lang/String; = "com.facebook.sdk.USER_SETTINGS"
.field private static final USER_SETTINGS_BITMASK:Ljava/lang/String; = "com.facebook.sdk.USER_SETTINGS_BITMASK"
.field private static final VALUE:Ljava/lang/String; = "value"
.field private static advertiserIDCollectionEnabled:Lcom/facebook/UserSettingsManager$UserSetting;
.field private static autoInitEnabled:Lcom/facebook/UserSettingsManager$UserSetting;
.field private static autoLogAppEventsEnabled:Lcom/facebook/UserSettingsManager$UserSetting;
.field private static codelessSetupEnabled:Lcom/facebook/UserSettingsManager$UserSetting;
.field private static isInitialized:Ljava/util/concurrent/atomic/AtomicBoolean;
.field private static userSettingPref:Landroid/content/SharedPreferences;
.field private static userSettingPrefEditor:Landroid/content/SharedPreferences$Editor;
# direct methods
.method static constructor <clinit>()V
.registers 4
.line 46
const-class v0, Lcom/facebook/UserSettingsManager;
invoke-virtual {v0}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v0
sput-object v0, Lcom/facebook/UserSettingsManager;->TAG:Ljava/lang/String;
.line 48
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/UserSettingsManager;->isInitialized:Ljava/util/concurrent/atomic/AtomicBoolean;
.line 56
new-instance v0, Lcom/facebook/UserSettingsManager$UserSetting;
const/4 v2, 0x1
const-string v3, "com.facebook.sdk.AutoInitEnabled"
invoke-direct {v0, v2, v3}, Lcom/facebook/UserSettingsManager$UserSetting;-><init>(ZLjava/lang/String;)V
sput-object v0, Lcom/facebook/UserSettingsManager;->autoInitEnabled:Lcom/facebook/UserSettingsManager$UserSetting;
.line 59
new-instance v0, Lcom/facebook/UserSettingsManager$UserSetting;
const-string v3, "com.facebook.sdk.AutoLogAppEventsEnabled"
invoke-direct {v0, v2, v3}, Lcom/facebook/UserSettingsManager$UserSetting;-><init>(ZLjava/lang/String;)V
sput-object v0, Lcom/facebook/UserSettingsManager;->autoLogAppEventsEnabled:Lcom/facebook/UserSettingsManager$UserSetting;
.line 62
new-instance v0, Lcom/facebook/UserSettingsManager$UserSetting;
const-string v3, "com.facebook.sdk.AdvertiserIDCollectionEnabled"
invoke-direct {v0, v2, v3}, Lcom/facebook/UserSettingsManager$UserSetting;-><init>(ZLjava/lang/String;)V
sput-object v0, Lcom/facebook/UserSettingsManager;->advertiserIDCollectionEnabled:Lcom/facebook/UserSettingsManager$UserSetting;
.line 65
new-instance v0, Lcom/facebook/UserSettingsManager$UserSetting;
const-string v2, "auto_event_setup_enabled"
invoke-direct {v0, v1, v2}, Lcom/facebook/UserSettingsManager$UserSetting;-><init>(ZLjava/lang/String;)V
sput-object v0, Lcom/facebook/UserSettingsManager;->codelessSetupEnabled:Lcom/facebook/UserSettingsManager$UserSetting;
return-void
.end method
.method constructor <init>()V
.registers 1
.line 45
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method static synthetic access$000()Lcom/facebook/UserSettingsManager$UserSetting;
.registers 1
.line 45
sget-object v0, Lcom/facebook/UserSettingsManager;->advertiserIDCollectionEnabled:Lcom/facebook/UserSettingsManager$UserSetting;
return-object v0
.end method
.method static synthetic access$100()Lcom/facebook/UserSettingsManager$UserSetting;
.registers 1
.line 45
sget-object v0, Lcom/facebook/UserSettingsManager;->codelessSetupEnabled:Lcom/facebook/UserSettingsManager$UserSetting;
return-object v0
.end method
.method static synthetic access$200(Lcom/facebook/UserSettingsManager$UserSetting;)V
.registers 1
.line 45
invoke-static {p0}, Lcom/facebook/UserSettingsManager;->writeSettingToCache(Lcom/facebook/UserSettingsManager$UserSetting;)V
return-void
.end method
.method public static getAdvertiserIDCollectionEnabled()Z
.registers 1
.line 357
invoke-static {}, Lcom/facebook/UserSettingsManager;->initializeIfNotInitialized()V
.line 358
sget-object v0, Lcom/facebook/UserSettingsManager;->advertiserIDCollectionEnabled:Lcom/facebook/UserSettingsManager$UserSetting;
invoke-virtual {v0}, Lcom/facebook/UserSettingsManager$UserSetting;->getValue()Z
move-result v0
return v0
.end method
.method public static getAutoInitEnabled()Z
.registers 1
.line 327
invoke-static {}, Lcom/facebook/UserSettingsManager;->initializeIfNotInitialized()V
.line 328
sget-object v0, Lcom/facebook/UserSettingsManager;->autoInitEnabled:Lcom/facebook/UserSettingsManager$UserSetting;
invoke-virtual {v0}, Lcom/facebook/UserSettingsManager$UserSetting;->getValue()Z
move-result v0
return v0
.end method
.method public static getAutoLogAppEventsEnabled()Z
.registers 1
.line 342
invoke-static {}, Lcom/facebook/UserSettingsManager;->initializeIfNotInitialized()V
.line 343
sget-object v0, Lcom/facebook/UserSettingsManager;->autoLogAppEventsEnabled:Lcom/facebook/UserSettingsManager$UserSetting;
invoke-virtual {v0}, Lcom/facebook/UserSettingsManager$UserSetting;->getValue()Z
move-result v0
return v0
.end method
.method public static getCodelessSetupEnabled()Z
.registers 1
.line 362
invoke-static {}, Lcom/facebook/UserSettingsManager;->initializeIfNotInitialized()V
.line 363
sget-object v0, Lcom/facebook/UserSettingsManager;->codelessSetupEnabled:Lcom/facebook/UserSettingsManager$UserSetting;
invoke-virtual {v0}, Lcom/facebook/UserSettingsManager$UserSetting;->getValue()Z
move-result v0
return v0
.end method
.method private static initializeCodelessSepupEnabledAsync()V
.registers 7
.line 136
sget-object v0, Lcom/facebook/UserSettingsManager;->codelessSetupEnabled:Lcom/facebook/UserSettingsManager$UserSetting;
invoke-static {v0}, Lcom/facebook/UserSettingsManager;->readSettingFromCache(Lcom/facebook/UserSettingsManager$UserSetting;)V
.line 137
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
.line 138
sget-object v2, Lcom/facebook/UserSettingsManager;->codelessSetupEnabled:Lcom/facebook/UserSettingsManager$UserSetting;
iget-object v2, v2, Lcom/facebook/UserSettingsManager$UserSetting;->value:Ljava/lang/Boolean;
if-eqz v2, :cond_1d
sget-object v2, Lcom/facebook/UserSettingsManager;->codelessSetupEnabled:Lcom/facebook/UserSettingsManager$UserSetting;
iget-wide v2, v2, Lcom/facebook/UserSettingsManager$UserSetting;->lastTS:J
sub-long v2, v0, v2
const-wide/32 v4, 0x240c8400
cmp-long v6, v2, v4
if-gez v6, :cond_1d
return-void
.line 141
:cond_1d
sget-object v2, Lcom/facebook/UserSettingsManager;->codelessSetupEnabled:Lcom/facebook/UserSettingsManager$UserSetting;
const/4 v3, 0x0
iput-object v3, v2, Lcom/facebook/UserSettingsManager$UserSetting;->value:Ljava/lang/Boolean;
.line 142
sget-object v2, Lcom/facebook/UserSettingsManager;->codelessSetupEnabled:Lcom/facebook/UserSettingsManager$UserSetting;
const-wide/16 v3, 0x0
iput-wide v3, v2, Lcom/facebook/UserSettingsManager$UserSetting;->lastTS:J
.line 146
invoke-static {}, Lcom/facebook/FacebookSdk;->getExecutor()Ljava/util/concurrent/Executor;
move-result-object v2
new-instance v3, Lcom/facebook/UserSettingsManager$1;
invoke-direct {v3, v0, v1}, Lcom/facebook/UserSettingsManager$1;-><init>(J)V
invoke-interface {v2, v3}, Ljava/util/concurrent/Executor;->execute(Ljava/lang/Runnable;)V
return-void
.end method
.method public static initializeIfNotInitialized()V
.registers 4
.line 98
invoke-static {}, Lcom/facebook/FacebookSdk;->isInitialized()Z
move-result v0
if-nez v0, :cond_7
return-void
.line 102
:cond_7
sget-object v0, Lcom/facebook/UserSettingsManager;->isInitialized:Ljava/util/concurrent/atomic/AtomicBoolean;
const/4 v1, 0x0
const/4 v2, 0x1
invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicBoolean;->compareAndSet(ZZ)Z
move-result v0
if-nez v0, :cond_12
return-void
.line 106
:cond_12
invoke-static {}, Lcom/facebook/FacebookSdk;->getApplicationContext()Landroid/content/Context;
move-result-object v0
const-string v3, "com.facebook.sdk.USER_SETTINGS"
.line 107
invoke-virtual {v0, v3, v1}, Landroid/content/Context;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences;
move-result-object v0
sput-object v0, Lcom/facebook/UserSettingsManager;->userSettingPref:Landroid/content/SharedPreferences;
.line 108
invoke-interface {v0}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor;
move-result-object v0
sput-object v0, Lcom/facebook/UserSettingsManager;->userSettingPrefEditor:Landroid/content/SharedPreferences$Editor;
const/4 v0, 0x3
new-array v0, v0, [Lcom/facebook/UserSettingsManager$UserSetting;
.line 110
sget-object v3, Lcom/facebook/UserSettingsManager;->autoLogAppEventsEnabled:Lcom/facebook/UserSettingsManager$UserSetting;
aput-object v3, v0, v1
sget-object v1, Lcom/facebook/UserSettingsManager;->advertiserIDCollectionEnabled:Lcom/facebook/UserSettingsManager$UserSetting;
aput-object v1, v0, v2
const/4 v1, 0x2
sget-object v2, Lcom/facebook/UserSettingsManager;->autoInitEnabled:Lcom/facebook/UserSettingsManager$UserSetting;
aput-object v2, v0, v1
invoke-static {v0}, Lcom/facebook/UserSettingsManager;->initializeUserSetting([Lcom/facebook/UserSettingsManager$UserSetting;)V
.line 111
invoke-static {}, Lcom/facebook/UserSettingsManager;->initializeCodelessSepupEnabledAsync()V
.line 112
invoke-static {}, Lcom/facebook/UserSettingsManager;->logWarnings()V
.line 113
invoke-static {}, Lcom/facebook/UserSettingsManager;->logIfSDKSettingsChanged()V
return-void
.end method
.method private static varargs initializeUserSetting([Lcom/facebook/UserSettingsManager$UserSetting;)V
.registers 4
const/4 v0, 0x0
.line 117
:goto_1
array-length v1, p0
if-ge v0, v1, :cond_23
.line 118
aget-object v1, p0, v0
.line 119
sget-object v2, Lcom/facebook/UserSettingsManager;->codelessSetupEnabled:Lcom/facebook/UserSettingsManager$UserSetting;
if-ne v1, v2, :cond_e
.line 120
invoke-static {}, Lcom/facebook/UserSettingsManager;->initializeCodelessSepupEnabledAsync()V
goto :goto_20
.line 122
:cond_e
iget-object v2, v1, Lcom/facebook/UserSettingsManager$UserSetting;->value:Ljava/lang/Boolean;
if-nez v2, :cond_1d
.line 123
invoke-static {v1}, Lcom/facebook/UserSettingsManager;->readSettingFromCache(Lcom/facebook/UserSettingsManager$UserSetting;)V
.line 124
iget-object v2, v1, Lcom/facebook/UserSettingsManager$UserSetting;->value:Ljava/lang/Boolean;
if-nez v2, :cond_20
.line 125
invoke-static {v1}, Lcom/facebook/UserSettingsManager;->loadSettingFromManifest(Lcom/facebook/UserSettingsManager$UserSetting;)V
goto :goto_20
.line 129
:cond_1d
invoke-static {v1}, Lcom/facebook/UserSettingsManager;->writeSettingToCache(Lcom/facebook/UserSettingsManager$UserSetting;)V
:cond_20
:goto_20
add-int/lit8 v0, v0, 0x1
goto :goto_1
:cond_23
return-void
.end method
.method private static loadSettingFromManifest(Lcom/facebook/UserSettingsManager$UserSetting;)V
.registers 4
.line 215
invoke-static {}, Lcom/facebook/UserSettingsManager;->validateInitialized()V
.line 217
:try_start_3
invoke-static {}, Lcom/facebook/FacebookSdk;->getApplicationContext()Landroid/content/Context;
move-result-object v0
.line 218
invoke-virtual {v0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v1
.line 220
invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v0
const/16 v2, 0x80
.line 219
invoke-virtual {v1, v0, v2}, Landroid/content/pm/PackageManager;->getApplicationInfo(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;
move-result-object v0
if-eqz v0, :cond_3c
.line 222
iget-object v1, v0, Landroid/content/pm/ApplicationInfo;->metaData:Landroid/os/Bundle;
if-eqz v1, :cond_3c
iget-object v1, v0, Landroid/content/pm/ApplicationInfo;->metaData:Landroid/os/Bundle;
iget-object v2, p0, Lcom/facebook/UserSettingsManager$UserSetting;->key:Ljava/lang/String;
invoke-virtual {v1, v2}, Landroid/os/Bundle;->containsKey(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_3c
.line 224
iget-object v0, v0, Landroid/content/pm/ApplicationInfo;->metaData:Landroid/os/Bundle;
iget-object v1, p0, Lcom/facebook/UserSettingsManager$UserSetting;->key:Ljava/lang/String;
iget-boolean v2, p0, Lcom/facebook/UserSettingsManager$UserSetting;->defaultVal:Z
invoke-virtual {v0, v1, v2}, Landroid/os/Bundle;->getBoolean(Ljava/lang/String;Z)Z
move-result v0
invoke-static {v0}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v0
iput-object v0, p0, Lcom/facebook/UserSettingsManager$UserSetting;->value:Ljava/lang/Boolean;
:try_end_35
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_3 .. :try_end_35} :catch_36
goto :goto_3c
:catch_36
move-exception p0
.line 228
sget-object v0, Lcom/facebook/UserSettingsManager;->TAG:Ljava/lang/String;
invoke-static {v0, p0}, Lcom/facebook/internal/Utility;->logd(Ljava/lang/String;Ljava/lang/Exception;)V
:cond_3c
:goto_3c
return-void
.end method
.method private static logIfSDKSettingsChanged()V
.registers 15
.line 255
sget-object v0, Lcom/facebook/UserSettingsManager;->isInitialized:Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;->get()Z
move-result v0
if-nez v0, :cond_9
return-void
.line 259
:cond_9
invoke-static {}, Lcom/facebook/FacebookSdk;->isInitialized()Z
move-result v0
if-nez v0, :cond_10
return-void
.line 263
:cond_10
invoke-static {}, Lcom/facebook/FacebookSdk;->getApplicationContext()Landroid/content/Context;
move-result-object v0
.line 267
sget-object v1, Lcom/facebook/UserSettingsManager;->autoInitEnabled:Lcom/facebook/UserSettingsManager$UserSetting;
invoke-virtual {v1}, Lcom/facebook/UserSettingsManager$UserSetting;->getValue()Z
move-result v1
const/4 v2, 0x0
shl-int/2addr v1, v2
or-int/2addr v1, v2
.line 268
sget-object v3, Lcom/facebook/UserSettingsManager;->autoLogAppEventsEnabled:Lcom/facebook/UserSettingsManager$UserSetting;
invoke-virtual {v3}, Lcom/facebook/UserSettingsManager$UserSetting;->getValue()Z
move-result v3
const/4 v4, 0x1
shl-int/2addr v3, v4
or-int/2addr v1, v3
.line 269
sget-object v3, Lcom/facebook/UserSettingsManager;->advertiserIDCollectionEnabled:Lcom/facebook/UserSettingsManager$UserSetting;
invoke-virtual {v3}, Lcom/facebook/UserSettingsManager$UserSetting;->getValue()Z
move-result v3
const/4 v5, 0x2
shl-int/2addr v3, v5
or-int/2addr v1, v3
.line 271
sget-object v3, Lcom/facebook/UserSettingsManager;->userSettingPref:Landroid/content/SharedPreferences;
const-string v6, "com.facebook.sdk.USER_SETTINGS_BITMASK"
invoke-interface {v3, v6, v2}, Landroid/content/SharedPreferences;->getInt(Ljava/lang/String;I)I
move-result v3
if-eq v3, v1, :cond_b3
.line 273
sget-object v7, Lcom/facebook/UserSettingsManager;->userSettingPrefEditor:Landroid/content/SharedPreferences$Editor;
invoke-interface {v7, v6, v1}, Landroid/content/SharedPreferences$Editor;->putInt(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor;
move-result-object v6
invoke-interface {v6}, Landroid/content/SharedPreferences$Editor;->commit()Z
.line 277
:try_start_42
invoke-virtual {v0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v6
.line 279
invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v7
const/16 v8, 0x80
.line 278
invoke-virtual {v6, v7, v8}, Landroid/content/pm/PackageManager;->getApplicationInfo(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;
move-result-object v6
if-eqz v6, :cond_8e
.line 281
iget-object v7, v6, Landroid/content/pm/ApplicationInfo;->metaData:Landroid/os/Bundle;
if-eqz v7, :cond_8e
const-string v7, "com.facebook.sdk.AutoInitEnabled"
const-string v8, "com.facebook.sdk.AutoLogAppEventsEnabled"
const-string v9, "com.facebook.sdk.AdvertiserIDCollectionEnabled"
.line 282
filled-new-array {v7, v8, v9}, [Ljava/lang/String;
move-result-object v7
const/4 v8, 0x3
new-array v9, v8, [Z
aput-boolean v4, v9, v2
aput-boolean v4, v9, v4
aput-boolean v4, v9, v5
:try_end_69
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_42 .. :try_end_69} :catch_8e
const/4 v5, 0x0
const/4 v10, 0x0
const/4 v11, 0x0
:goto_6c
if-ge v5, v8, :cond_8c
.line 289
:try_start_6e
iget-object v12, v6, Landroid/content/pm/ApplicationInfo;->metaData:Landroid/os/Bundle;
aget-object v13, v7, v5
invoke-virtual {v12, v13}, Landroid/os/Bundle;->containsKey(Ljava/lang/String;)Z
move-result v12
if-eqz v12, :cond_7a
const/4 v12, 0x1
goto :goto_7b
:cond_7a
const/4 v12, 0x0
:goto_7b
shl-int/2addr v12, v5
or-int/2addr v11, v12
.line 290
iget-object v12, v6, Landroid/content/pm/ApplicationInfo;->metaData:Landroid/os/Bundle;
aget-object v13, v7, v5
aget-boolean v14, v9, v5
invoke-virtual {v12, v13, v14}, Landroid/os/Bundle;->getBoolean(Ljava/lang/String;Z)Z
move-result v12
:try_end_87
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_6e .. :try_end_87} :catch_8c
shl-int/2addr v12, v5
or-int/2addr v10, v12
add-int/lit8 v5, v5, 0x1
goto :goto_6c
:catch_8c
:cond_8c
move v2, v10
goto :goto_8f
:catch_8e
:cond_8e
const/4 v11, 0x0
.line 296
:goto_8f
new-instance v4, Lcom/facebook/appevents/InternalAppEventsLogger;
invoke-direct {v4, v0}, Lcom/facebook/appevents/InternalAppEventsLogger;-><init>(Landroid/content/Context;)V
.line 297
new-instance v0, Landroid/os/Bundle;
invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
const-string/jumbo v5, "usage"
.line 298
invoke-virtual {v0, v5, v11}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V
const-string v5, "initial"
.line 299
invoke-virtual {v0, v5, v2}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V
const-string v2, "previous"
.line 300
invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V
const-string v2, "current"
.line 301
invoke-virtual {v0, v2, v1}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V
const-string v1, "fb_sdk_settings_changed"
.line 302
invoke-virtual {v4, v1, v0}, Lcom/facebook/appevents/InternalAppEventsLogger;->logEventImplicitly(Ljava/lang/String;Landroid/os/Bundle;)V
:cond_b3
return-void
.end method
.method private static logWarnings()V
.registers 3
.line 234
:try_start_0
invoke-static {}, Lcom/facebook/FacebookSdk;->getApplicationContext()Landroid/content/Context;
move-result-object v0
.line 235
invoke-virtual {v0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v1
.line 237
invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v0
const/16 v2, 0x80
.line 236
invoke-virtual {v1, v0, v2}, Landroid/content/pm/PackageManager;->getApplicationInfo(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;
move-result-object v0
if-eqz v0, :cond_47
.line 239
iget-object v1, v0, Landroid/content/pm/ApplicationInfo;->metaData:Landroid/os/Bundle;
if-eqz v1, :cond_47
.line 241
iget-object v1, v0, Landroid/content/pm/ApplicationInfo;->metaData:Landroid/os/Bundle;
const-string v2, "com.facebook.sdk.AutoLogAppEventsEnabled"
invoke-virtual {v1, v2}, Landroid/os/Bundle;->containsKey(Ljava/lang/String;)Z
move-result v1
if-nez v1, :cond_29
.line 242
sget-object v1, Lcom/facebook/UserSettingsManager;->TAG:Ljava/lang/String;
const-string v2, "Please set a value for AutoLogAppEventsEnabled. Set the flag to TRUE if you want to collect app install, app launch and in-app purchase events automatically. To request user consent before collecting data, set the flag value to FALSE, then change to TRUE once user consent is received. Learn more: https://developers.facebook.com/docs/app-events/getting-started-app-events-android#disable-auto-events."
invoke-static {v1, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
.line 244
:cond_29
iget-object v0, v0, Landroid/content/pm/ApplicationInfo;->metaData:Landroid/os/Bundle;
const-string v1, "com.facebook.sdk.AdvertiserIDCollectionEnabled"
invoke-virtual {v0, v1}, Landroid/os/Bundle;->containsKey(Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_3a
.line 245
sget-object v0, Lcom/facebook/UserSettingsManager;->TAG:Ljava/lang/String;
const-string v1, "You haven\'t set a value for AdvertiserIDCollectionEnabled. Set the flag to TRUE if you want to collect Advertiser ID for better advertising and analytics results. To request user consent before collecting data, set the flag value to FALSE, then change to TRUE once user consent is received. Learn more: https://developers.facebook.com/docs/app-events/getting-started-app-events-android#disable-auto-events."
invoke-static {v0, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
.line 247
:cond_3a
invoke-static {}, Lcom/facebook/UserSettingsManager;->getAdvertiserIDCollectionEnabled()Z
move-result v0
if-nez v0, :cond_47
.line 248
sget-object v0, Lcom/facebook/UserSettingsManager;->TAG:Ljava/lang/String;
const-string v1, "The value for AdvertiserIDCollectionEnabled is currently set to FALSE so you\'re sending app events without collecting Advertiser ID. This can affect the quality of your advertising and analytics results."
invoke-static {v0, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
:try_end_47
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_0 .. :try_end_47} :catch_47
:catch_47
:cond_47
return-void
.end method
.method private static readSettingFromCache(Lcom/facebook/UserSettingsManager$UserSetting;)V
.registers 4
.line 201
invoke-static {}, Lcom/facebook/UserSettingsManager;->validateInitialized()V
.line 203
:try_start_3
sget-object v0, Lcom/facebook/UserSettingsManager;->userSettingPref:Landroid/content/SharedPreferences;
iget-object v1, p0, Lcom/facebook/UserSettingsManager$UserSetting;->key:Ljava/lang/String;
const-string v2, ""
invoke-interface {v0, v1, v2}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 204
invoke-virtual {v0}, Ljava/lang/String;->isEmpty()Z
move-result v1
if-nez v1, :cond_34
.line 205
new-instance v1, Lorg/json/JSONObject;
invoke-direct {v1, v0}, Lorg/json/JSONObject;-><init>(Ljava/lang/String;)V
const-string/jumbo v0, "value"
.line 206
invoke-virtual {v1, v0}, Lorg/json/JSONObject;->getBoolean(Ljava/lang/String;)Z
move-result v0
invoke-static {v0}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v0
iput-object v0, p0, Lcom/facebook/UserSettingsManager$UserSetting;->value:Ljava/lang/Boolean;
const-string v0, "last_timestamp"
.line 207
invoke-virtual {v1, v0}, Lorg/json/JSONObject;->getLong(Ljava/lang/String;)J
move-result-wide v0
iput-wide v0, p0, Lcom/facebook/UserSettingsManager$UserSetting;->lastTS:J
:try_end_2d
.catch Lorg/json/JSONException; {:try_start_3 .. :try_end_2d} :catch_2e
goto :goto_34
:catch_2e
move-exception p0
.line 210
sget-object v0, Lcom/facebook/UserSettingsManager;->TAG:Ljava/lang/String;
invoke-static {v0, p0}, Lcom/facebook/internal/Utility;->logd(Ljava/lang/String;Ljava/lang/Exception;)V
:cond_34
:goto_34
return-void
.end method
.method public static setAdvertiserIDCollectionEnabled(Z)V
.registers 3
.line 347
sget-object v0, Lcom/facebook/UserSettingsManager;->advertiserIDCollectionEnabled:Lcom/facebook/UserSettingsManager$UserSetting;
invoke-static {p0}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object p0
iput-object p0, v0, Lcom/facebook/UserSettingsManager$UserSetting;->value:Ljava/lang/Boolean;
.line 348
sget-object p0, Lcom/facebook/UserSettingsManager;->advertiserIDCollectionEnabled:Lcom/facebook/UserSettingsManager$UserSetting;
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
iput-wide v0, p0, Lcom/facebook/UserSettingsManager$UserSetting;->lastTS:J
.line 349
sget-object p0, Lcom/facebook/UserSettingsManager;->isInitialized:Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-virtual {p0}, Ljava/util/concurrent/atomic/AtomicBoolean;->get()Z
move-result p0
if-eqz p0, :cond_1e
.line 350
sget-object p0, Lcom/facebook/UserSettingsManager;->advertiserIDCollectionEnabled:Lcom/facebook/UserSettingsManager$UserSetting;
invoke-static {p0}, Lcom/facebook/UserSettingsManager;->writeSettingToCache(Lcom/facebook/UserSettingsManager$UserSetting;)V
goto :goto_21
.line 352
:cond_1e
invoke-static {}, Lcom/facebook/UserSettingsManager;->initializeIfNotInitialized()V
:goto_21
return-void
.end method
.method public static setAutoInitEnabled(Z)V
.registers 3
.line 317
sget-object v0, Lcom/facebook/UserSettingsManager;->autoInitEnabled:Lcom/facebook/UserSettingsManager$UserSetting;
invoke-static {p0}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object p0
iput-object p0, v0, Lcom/facebook/UserSettingsManager$UserSetting;->value:Ljava/lang/Boolean;
.line 318
sget-object p0, Lcom/facebook/UserSettingsManager;->autoInitEnabled:Lcom/facebook/UserSettingsManager$UserSetting;
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
iput-wide v0, p0, Lcom/facebook/UserSettingsManager$UserSetting;->lastTS:J
.line 319
sget-object p0, Lcom/facebook/UserSettingsManager;->isInitialized:Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-virtual {p0}, Ljava/util/concurrent/atomic/AtomicBoolean;->get()Z
move-result p0
if-eqz p0, :cond_1e
.line 320
sget-object p0, Lcom/facebook/UserSettingsManager;->autoInitEnabled:Lcom/facebook/UserSettingsManager$UserSetting;
invoke-static {p0}, Lcom/facebook/UserSettingsManager;->writeSettingToCache(Lcom/facebook/UserSettingsManager$UserSetting;)V
goto :goto_21
.line 322
:cond_1e
invoke-static {}, Lcom/facebook/UserSettingsManager;->initializeIfNotInitialized()V
:goto_21
return-void
.end method
.method public static setAutoLogAppEventsEnabled(Z)V
.registers 3
.line 332
sget-object v0, Lcom/facebook/UserSettingsManager;->autoLogAppEventsEnabled:Lcom/facebook/UserSettingsManager$UserSetting;
invoke-static {p0}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object p0
iput-object p0, v0, Lcom/facebook/UserSettingsManager$UserSetting;->value:Ljava/lang/Boolean;
.line 333
sget-object p0, Lcom/facebook/UserSettingsManager;->autoLogAppEventsEnabled:Lcom/facebook/UserSettingsManager$UserSetting;
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
iput-wide v0, p0, Lcom/facebook/UserSettingsManager$UserSetting;->lastTS:J
.line 334
sget-object p0, Lcom/facebook/UserSettingsManager;->isInitialized:Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-virtual {p0}, Ljava/util/concurrent/atomic/AtomicBoolean;->get()Z
move-result p0
if-eqz p0, :cond_1e
.line 335
sget-object p0, Lcom/facebook/UserSettingsManager;->autoLogAppEventsEnabled:Lcom/facebook/UserSettingsManager$UserSetting;
invoke-static {p0}, Lcom/facebook/UserSettingsManager;->writeSettingToCache(Lcom/facebook/UserSettingsManager$UserSetting;)V
goto :goto_21
.line 337
:cond_1e
invoke-static {}, Lcom/facebook/UserSettingsManager;->initializeIfNotInitialized()V
:goto_21
return-void
.end method
.method private static validateInitialized()V
.registers 2
.line 310
sget-object v0, Lcom/facebook/UserSettingsManager;->isInitialized:Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;->get()Z
move-result v0
if-eqz v0, :cond_9
return-void
.line 311
:cond_9
new-instance v0, Lcom/facebook/FacebookSdkNotInitializedException;
const-string v1, "The UserSettingManager has not been initialized successfully"
invoke-direct {v0, v1}, Lcom/facebook/FacebookSdkNotInitializedException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method private static writeSettingToCache(Lcom/facebook/UserSettingsManager$UserSetting;)V
.registers 5
.line 186
invoke-static {}, Lcom/facebook/UserSettingsManager;->validateInitialized()V
.line 188
:try_start_3
new-instance v0, Lorg/json/JSONObject;
invoke-direct {v0}, Lorg/json/JSONObject;-><init>()V
const-string/jumbo v1, "value"
.line 189
iget-object v2, p0, Lcom/facebook/UserSettingsManager$UserSetting;->value:Ljava/lang/Boolean;
invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string v1, "last_timestamp"
.line 190
iget-wide v2, p0, Lcom/facebook/UserSettingsManager$UserSetting;->lastTS:J
invoke-virtual {v0, v1, v2, v3}, Lorg/json/JSONObject;->put(Ljava/lang/String;J)Lorg/json/JSONObject;
.line 191
sget-object v1, Lcom/facebook/UserSettingsManager;->userSettingPrefEditor:Landroid/content/SharedPreferences$Editor;
iget-object p0, p0, Lcom/facebook/UserSettingsManager$UserSetting;->key:Ljava/lang/String;
.line 192
invoke-virtual {v0}, Lorg/json/JSONObject;->toString()Ljava/lang/String;
move-result-object v0
invoke-interface {v1, p0, v0}, Landroid/content/SharedPreferences$Editor;->putString(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor;
move-result-object p0
.line 193
invoke-interface {p0}, Landroid/content/SharedPreferences$Editor;->commit()Z
.line 194
invoke-static {}, Lcom/facebook/UserSettingsManager;->logIfSDKSettingsChanged()V
:try_end_29
.catch Lorg/json/JSONException; {:try_start_3 .. :try_end_29} :catch_2a
goto :goto_30
:catch_2a
move-exception p0
.line 196
sget-object v0, Lcom/facebook/UserSettingsManager;->TAG:Ljava/lang/String;
invoke-static {v0, p0}, Lcom/facebook/internal/Utility;->logd(Ljava/lang/String;Ljava/lang/Exception;)V
:goto_30
return-void
.end method