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 AUTO_APP_LINK_WARNING:Ljava/lang/String; = "You haven\'t set the Auto App Link URL scheme: fb<YOUR APP ID> in AndroidManifest"
.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; = "com.facebook.UserSettingsManager"
.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 isFetchingCodelessStatus:Ljava/util/concurrent/atomic/AtomicBoolean;
.field private static isInitialized:Ljava/util/concurrent/atomic/AtomicBoolean;
.field private static userSettingPref:Landroid/content/SharedPreferences;
# direct methods
.method static constructor <clinit>()V
.registers 4
.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/UserSettingsManager;->isInitialized:Ljava/util/concurrent/atomic/AtomicBoolean;
.line 2
new-instance v0, Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-direct {v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;-><init>(Z)V
sput-object v0, Lcom/facebook/UserSettingsManager;->isFetchingCodelessStatus:Ljava/util/concurrent/atomic/AtomicBoolean;
.line 3
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 4
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 5
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 6
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 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method static synthetic access$000()Lcom/facebook/UserSettingsManager$UserSetting;
.registers 1
.line 1
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 1
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 1
invoke-static {p0}, Lcom/facebook/UserSettingsManager;->writeSettingToCache(Lcom/facebook/UserSettingsManager$UserSetting;)V
return-void
.end method
.method static synthetic access$300()Ljava/util/concurrent/atomic/AtomicBoolean;
.registers 1
.line 1
sget-object v0, Lcom/facebook/UserSettingsManager;->isFetchingCodelessStatus:Ljava/util/concurrent/atomic/AtomicBoolean;
return-object v0
.end method
.method public static getAdvertiserIDCollectionEnabled()Z
.registers 1
.line 1
invoke-static {}, Lcom/facebook/UserSettingsManager;->initializeIfNotInitialized()V
.line 2
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 1
invoke-static {}, Lcom/facebook/UserSettingsManager;->initializeIfNotInitialized()V
.line 2
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 1
invoke-static {}, Lcom/facebook/UserSettingsManager;->initializeIfNotInitialized()V
.line 2
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 1
invoke-static {}, Lcom/facebook/UserSettingsManager;->initializeIfNotInitialized()V
.line 2
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 initializeCodelessSetupEnabledAsync()V
.registers 7
.line 1
sget-object v0, Lcom/facebook/UserSettingsManager;->codelessSetupEnabled:Lcom/facebook/UserSettingsManager$UserSetting;
invoke-static {v0}, Lcom/facebook/UserSettingsManager;->readSettingFromCache(Lcom/facebook/UserSettingsManager$UserSetting;)V
.line 2
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
.line 3
sget-object v2, Lcom/facebook/UserSettingsManager;->codelessSetupEnabled:Lcom/facebook/UserSettingsManager$UserSetting;
iget-object v3, v2, Lcom/facebook/UserSettingsManager$UserSetting;->value:Ljava/lang/Boolean;
if-eqz v3, :cond_1b
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_1b
return-void
.line 4
:cond_1b
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;
const-wide/16 v3, 0x0
.line 5
iput-wide v3, v2, Lcom/facebook/UserSettingsManager$UserSetting;->lastTS:J
.line 6
sget-object v2, Lcom/facebook/UserSettingsManager;->isFetchingCodelessStatus:Ljava/util/concurrent/atomic/AtomicBoolean;
const/4 v3, 0x0
const/4 v4, 0x1
invoke-virtual {v2, v3, v4}, Ljava/util/concurrent/atomic/AtomicBoolean;->compareAndSet(ZZ)Z
move-result v2
if-nez v2, :cond_2f
return-void
.line 7
:cond_2f
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 1
invoke-static {}, Lcom/facebook/FacebookSdk;->isInitialized()Z
move-result v0
if-nez v0, :cond_7
return-void
.line 2
:cond_7
sget-object v0, Lcom/facebook/UserSettingsManager;->isInitialized:Ljava/util/concurrent/atomic/AtomicBoolean;
const/4 v1, 0x1
const/4 v2, 0x0
invoke-virtual {v0, v2, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;->compareAndSet(ZZ)Z
move-result v0
if-nez v0, :cond_12
return-void
.line 3
:cond_12
invoke-static {}, Lcom/facebook/FacebookSdk;->getApplicationContext()Landroid/content/Context;
move-result-object v0
const-string v3, "com.facebook.sdk.USER_SETTINGS"
.line 4
invoke-virtual {v0, v3, v2}, 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;
const/4 v0, 0x3
.line 5
new-array v0, v0, [Lcom/facebook/UserSettingsManager$UserSetting;
sget-object v3, Lcom/facebook/UserSettingsManager;->autoLogAppEventsEnabled:Lcom/facebook/UserSettingsManager$UserSetting;
aput-object v3, v0, v2
sget-object v2, Lcom/facebook/UserSettingsManager;->advertiserIDCollectionEnabled:Lcom/facebook/UserSettingsManager$UserSetting;
aput-object v2, v0, v1
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 6
invoke-static {}, Lcom/facebook/UserSettingsManager;->initializeCodelessSetupEnabledAsync()V
.line 7
invoke-static {}, Lcom/facebook/UserSettingsManager;->logWarnings()V
.line 8
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 1
:goto_1
array-length v1, p0
if-ge v0, v1, :cond_23
.line 2
aget-object v1, p0, v0
.line 3
sget-object v2, Lcom/facebook/UserSettingsManager;->codelessSetupEnabled:Lcom/facebook/UserSettingsManager$UserSetting;
if-ne v1, v2, :cond_e
.line 4
invoke-static {}, Lcom/facebook/UserSettingsManager;->initializeCodelessSetupEnabledAsync()V
goto :goto_20
.line 5
:cond_e
iget-object v2, v1, Lcom/facebook/UserSettingsManager$UserSetting;->value:Ljava/lang/Boolean;
if-nez v2, :cond_1d
.line 6
invoke-static {v1}, Lcom/facebook/UserSettingsManager;->readSettingFromCache(Lcom/facebook/UserSettingsManager$UserSetting;)V
.line 7
iget-object v2, v1, Lcom/facebook/UserSettingsManager$UserSetting;->value:Ljava/lang/Boolean;
if-nez v2, :cond_20
.line 8
invoke-static {v1}, Lcom/facebook/UserSettingsManager;->loadSettingFromManifest(Lcom/facebook/UserSettingsManager$UserSetting;)V
goto :goto_20
.line 9
: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 1
invoke-static {}, Lcom/facebook/UserSettingsManager;->validateInitialized()V
.line 2
:try_start_3
invoke-static {}, Lcom/facebook/FacebookSdk;->getApplicationContext()Landroid/content/Context;
move-result-object v0
.line 3
invoke-virtual {v0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v1
.line 4
invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v0
const/16 v2, 0x80
.line 5
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 6
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 7
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 8
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 static logIfAutoAppLinkEnabled()V
.registers 5
const-string v0, "You haven\'t set the Auto App Link URL scheme: fb<YOUR APP ID> in AndroidManifest"
.line 1
:try_start_2
invoke-static {}, Lcom/facebook/FacebookSdk;->getApplicationContext()Landroid/content/Context;
move-result-object v1
.line 2
invoke-virtual {v1}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v2
.line 3
invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v3
const/16 v4, 0x80
.line 4
invoke-virtual {v2, v3, v4}, Landroid/content/pm/PackageManager;->getApplicationInfo(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;
move-result-object v2
if-eqz v2, :cond_44
.line 5
iget-object v3, v2, Landroid/content/pm/ApplicationInfo;->metaData:Landroid/os/Bundle;
if-eqz v3, :cond_44
iget-object v2, v2, Landroid/content/pm/ApplicationInfo;->metaData:Landroid/os/Bundle;
const-string v3, "com.facebook.sdk.AutoAppLinkEnabled"
const/4 v4, 0x0
.line 6
invoke-virtual {v2, v3, v4}, Landroid/os/Bundle;->getBoolean(Ljava/lang/String;Z)Z
move-result v2
if-eqz v2, :cond_44
.line 7
new-instance v2, Lcom/facebook/appevents/InternalAppEventsLogger;
invoke-direct {v2, v1}, Lcom/facebook/appevents/InternalAppEventsLogger;-><init>(Landroid/content/Context;)V
.line 8
new-instance v1, Landroid/os/Bundle;
invoke-direct {v1}, Landroid/os/Bundle;-><init>()V
.line 9
invoke-static {}, Lcom/facebook/internal/Utility;->isAutoAppLinkSetup()Z
move-result v3
if-nez v3, :cond_3f
const-string v3, "SchemeWarning"
.line 10
invoke-virtual {v1, v3, v0}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
.line 11
sget-object v3, Lcom/facebook/UserSettingsManager;->TAG:Ljava/lang/String;
invoke-static {v3, v0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
:cond_3f
const-string v0, "fb_auto_applink"
.line 12
invoke-virtual {v2, v0, v1}, Lcom/facebook/appevents/InternalAppEventsLogger;->logEvent(Ljava/lang/String;Landroid/os/Bundle;)V
:try_end_44
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_2 .. :try_end_44} :catch_44
:catch_44
:cond_44
return-void
.end method
.method private static logIfSDKSettingsChanged()V
.registers 14
.line 1
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 2
:cond_9
invoke-static {}, Lcom/facebook/FacebookSdk;->isInitialized()Z
move-result v0
if-nez v0, :cond_10
return-void
.line 3
:cond_10
invoke-static {}, Lcom/facebook/FacebookSdk;->getApplicationContext()Landroid/content/Context;
move-result-object v0
.line 4
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 5
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 6
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 7
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_bb
.line 8
sget-object v7, Lcom/facebook/UserSettingsManager;->userSettingPref:Landroid/content/SharedPreferences;
invoke-interface {v7}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor;
move-result-object v7
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 9
:try_start_46
invoke-virtual {v0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v6
.line 10
invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v7
const/16 v8, 0x80
.line 11
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_97
.line 12
iget-object v7, v6, Landroid/content/pm/ApplicationInfo;->metaData:Landroid/os/Bundle;
if-eqz v7, :cond_97
const/4 v7, 0x3
.line 13
new-array v8, v7, [Ljava/lang/String;
const-string v9, "com.facebook.sdk.AutoInitEnabled"
aput-object v9, v8, v2
const-string v9, "com.facebook.sdk.AutoLogAppEventsEnabled"
aput-object v9, v8, v4
const-string v9, "com.facebook.sdk.AdvertiserIDCollectionEnabled"
aput-object v9, v8, v5
.line 14
new-array v7, v7, [Z
aput-boolean v4, v7, v2
aput-boolean v4, v7, v4
aput-boolean v4, v7, v5
:try_end_71
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_46 .. :try_end_71} :catch_97
const/4 v5, 0x0
const/4 v9, 0x0
const/4 v10, 0x0
.line 15
:goto_74
:try_start_74
array-length v11, v8
if-ge v5, v11, :cond_95
.line 16
iget-object v11, v6, Landroid/content/pm/ApplicationInfo;->metaData:Landroid/os/Bundle;
aget-object v12, v8, v5
invoke-virtual {v11, v12}, Landroid/os/Bundle;->containsKey(Ljava/lang/String;)Z
move-result v11
if-eqz v11, :cond_83
const/4 v11, 0x1
goto :goto_84
:cond_83
const/4 v11, 0x0
:goto_84
shl-int/2addr v11, v5
or-int/2addr v9, v11
.line 17
iget-object v11, v6, Landroid/content/pm/ApplicationInfo;->metaData:Landroid/os/Bundle;
aget-object v12, v8, v5
aget-boolean v13, v7, v5
invoke-virtual {v11, v12, v13}, Landroid/os/Bundle;->getBoolean(Ljava/lang/String;Z)Z
move-result v11
:try_end_90
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_74 .. :try_end_90} :catch_95
shl-int/2addr v11, v5
or-int/2addr v10, v11
add-int/lit8 v5, v5, 0x1
goto :goto_74
:catch_95
:cond_95
move v2, v9
goto :goto_98
:catch_97
:cond_97
const/4 v10, 0x0
.line 18
:goto_98
new-instance v4, Lcom/facebook/appevents/InternalAppEventsLogger;
invoke-direct {v4, v0}, Lcom/facebook/appevents/InternalAppEventsLogger;-><init>(Landroid/content/Context;)V
.line 19
new-instance v0, Landroid/os/Bundle;
invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
const-string v5, "usage"
.line 20
invoke-virtual {v0, v5, v2}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V
const-string v2, "initial"
.line 21
invoke-virtual {v0, v2, v10}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V
const-string v2, "previous"
.line 22
invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V
const-string v2, "current"
.line 23
invoke-virtual {v0, v2, v1}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V
const-string v1, "fb_sdk_settings_changed"
.line 24
invoke-virtual {v4, v1, v0}, Lcom/facebook/appevents/InternalAppEventsLogger;->logEventImplicitly(Ljava/lang/String;Landroid/os/Bundle;)V
:cond_bb
return-void
.end method
.method private static logWarnings()V
.registers 3
.line 1
:try_start_0
invoke-static {}, Lcom/facebook/FacebookSdk;->getApplicationContext()Landroid/content/Context;
move-result-object v0
.line 2
invoke-virtual {v0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v1
.line 3
invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v0
const/16 v2, 0x80
.line 4
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 5
iget-object v1, v0, Landroid/content/pm/ApplicationInfo;->metaData:Landroid/os/Bundle;
if-eqz v1, :cond_47
.line 6
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 7
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 8
: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 9
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 10
:cond_3a
invoke-static {}, Lcom/facebook/UserSettingsManager;->getAdvertiserIDCollectionEnabled()Z
move-result v0
if-nez v0, :cond_47
.line 11
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 1
invoke-static {}, Lcom/facebook/UserSettingsManager;->validateInitialized()V
.line 2
: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 3
invoke-virtual {v0}, Ljava/lang/String;->isEmpty()Z
move-result v1
if-nez v1, :cond_34
.line 4
new-instance v1, Lorg/json/JSONObject;
invoke-direct {v1, v0}, Lorg/json/JSONObject;-><init>(Ljava/lang/String;)V
const-string/jumbo v0, "value"
.line 5
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 6
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 7
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 1
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 2
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 3
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 4
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 5
:cond_1e
invoke-static {}, Lcom/facebook/UserSettingsManager;->initializeIfNotInitialized()V
:goto_21
return-void
.end method
.method public static setAutoInitEnabled(Z)V
.registers 3
.line 1
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 2
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 3
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 4
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 5
:cond_1e
invoke-static {}, Lcom/facebook/UserSettingsManager;->initializeIfNotInitialized()V
:goto_21
return-void
.end method
.method public static setAutoLogAppEventsEnabled(Z)V
.registers 3
.line 1
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 2
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 3
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 4
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 5
:cond_1e
invoke-static {}, Lcom/facebook/UserSettingsManager;->initializeIfNotInitialized()V
:goto_21
return-void
.end method
.method private static validateInitialized()V
.registers 2
.line 1
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 2
: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 1
invoke-static {}, Lcom/facebook/UserSettingsManager;->validateInitialized()V
.line 2
:try_start_3
new-instance v0, Lorg/json/JSONObject;
invoke-direct {v0}, Lorg/json/JSONObject;-><init>()V
const-string/jumbo v1, "value"
.line 3
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 4
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 5
sget-object v1, Lcom/facebook/UserSettingsManager;->userSettingPref:Landroid/content/SharedPreferences;
invoke-interface {v1}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor;
move-result-object v1
iget-object p0, p0, Lcom/facebook/UserSettingsManager$UserSetting;->key:Ljava/lang/String;
.line 6
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 7
invoke-interface {p0}, Landroid/content/SharedPreferences$Editor;->commit()Z
.line 8
invoke-static {}, Lcom/facebook/UserSettingsManager;->logIfSDKSettingsChanged()V
:try_end_2d
.catch Ljava/lang/Exception; {:try_start_3 .. :try_end_2d} :catch_2e
goto :goto_34
:catch_2e
move-exception p0
.line 9
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_34
return-void
.end method