DeviceRequestsHelper.smali
.class public Lcom/facebook/devicerequests/internal/DeviceRequestsHelper;
.super Ljava/lang/Object;
.source "DeviceRequestsHelper.java"
# static fields
.field static final DEVICE_INFO_DEVICE:Ljava/lang/String; = "device"
.field static final DEVICE_INFO_MODEL:Ljava/lang/String; = "model"
.field public static final DEVICE_INFO_PARAM:Ljava/lang/String; = "device_info"
.field public static final DEVICE_TARGET_USER_ID:Ljava/lang/String; = "target_user_id"
.field static final SDK_FLAVOR:Ljava/lang/String; = "android"
.field static final SDK_HEADER:Ljava/lang/String; = "fbsdk"
.field static final SERVICE_TYPE:Ljava/lang/String; = "_fb._tcp."
.field private static final TAG:Ljava/lang/String;
.field private static deviceRequestsListeners:Ljava/util/HashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/HashMap<",
"Ljava/lang/String;",
"Landroid/net/nsd/NsdManager$RegistrationListener;",
">;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 55
const-class v0, Lcom/facebook/devicerequests/internal/DeviceRequestsHelper;
invoke-virtual {v0}, Ljava/lang/Class;->getCanonicalName()Ljava/lang/String;
move-result-object v0
sput-object v0, Lcom/facebook/devicerequests/internal/DeviceRequestsHelper;->TAG:Ljava/lang/String;
.line 67
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
sput-object v0, Lcom/facebook/devicerequests/internal/DeviceRequestsHelper;->deviceRequestsListeners:Ljava/util/HashMap;
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 public static cleanUpAdvertisementService(Ljava/lang/String;)V
.registers 1
.line 133
invoke-static {p0}, Lcom/facebook/devicerequests/internal/DeviceRequestsHelper;->cleanUpAdvertisementServiceImpl(Ljava/lang/String;)V
return-void
.end method
.method private static cleanUpAdvertisementServiceImpl(Ljava/lang/String;)V
.registers 4
.line 206
sget-object v0, Lcom/facebook/devicerequests/internal/DeviceRequestsHelper;->deviceRequestsListeners:Ljava/util/HashMap;
.line 207
invoke-virtual {v0, p0}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/net/nsd/NsdManager$RegistrationListener;
if-eqz v0, :cond_25
.line 210
invoke-static {}, Lcom/facebook/FacebookSdk;->getApplicationContext()Landroid/content/Context;
move-result-object v1
const-string v2, "servicediscovery"
.line 211
invoke-virtual {v1, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroid/net/nsd/NsdManager;
.line 214
:try_start_16
invoke-virtual {v1, v0}, Landroid/net/nsd/NsdManager;->unregisterService(Landroid/net/nsd/NsdManager$RegistrationListener;)V
:try_end_19
.catch Ljava/lang/IllegalArgumentException; {:try_start_16 .. :try_end_19} :catch_1a
goto :goto_20
:catch_1a
move-exception v0
.line 216
sget-object v1, Lcom/facebook/devicerequests/internal/DeviceRequestsHelper;->TAG:Ljava/lang/String;
invoke-static {v1, v0}, Lcom/facebook/internal/Utility;->logd(Ljava/lang/String;Ljava/lang/Exception;)V
.line 219
:goto_20
sget-object v0, Lcom/facebook/devicerequests/internal/DeviceRequestsHelper;->deviceRequestsListeners:Ljava/util/HashMap;
invoke-virtual {v0, p0}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
:cond_25
return-void
.end method
.method public static generateQRCode(Ljava/lang/String;)Landroid/graphics/Bitmap;
.registers 16
.line 104
new-instance v5, Ljava/util/EnumMap;
const-class v0, Lcom/google/zxing/EncodeHintType;
invoke-direct {v5, v0}, Ljava/util/EnumMap;-><init>(Ljava/lang/Class;)V
.line 105
sget-object v0, Lcom/google/zxing/EncodeHintType;->MARGIN:Lcom/google/zxing/EncodeHintType;
const/4 v1, 0x2
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
invoke-interface {v5, v0, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const/4 v6, 0x0
.line 107
:try_start_12
new-instance v0, Lcom/google/zxing/MultiFormatWriter;
invoke-direct {v0}, Lcom/google/zxing/MultiFormatWriter;-><init>()V
sget-object v2, Lcom/google/zxing/BarcodeFormat;->QR_CODE:Lcom/google/zxing/BarcodeFormat;
const/16 v3, 0xc8
const/16 v4, 0xc8
move-object v1, p0
.line 108
invoke-virtual/range {v0 .. v5}, Lcom/google/zxing/MultiFormatWriter;->encode(Ljava/lang/String;Lcom/google/zxing/BarcodeFormat;IILjava/util/Map;)Lcom/google/zxing/common/BitMatrix;
move-result-object p0
.line 110
invoke-virtual {p0}, Lcom/google/zxing/common/BitMatrix;->getHeight()I
move-result v14
.line 111
invoke-virtual {p0}, Lcom/google/zxing/common/BitMatrix;->getWidth()I
move-result v13
mul-int v0, v14, v13
.line 112
new-array v8, v0, [I
const/4 v0, 0x0
const/4 v1, 0x0
:goto_30
if-ge v1, v14, :cond_4b
mul-int v2, v1, v13
const/4 v3, 0x0
:goto_35
if-ge v3, v13, :cond_48
add-int v4, v2, v3
.line 118
invoke-virtual {p0, v3, v1}, Lcom/google/zxing/common/BitMatrix;->get(II)Z
move-result v5
if-eqz v5, :cond_42
const/high16 v5, -0x1000000
goto :goto_43
:cond_42
const/4 v5, -0x1
:goto_43
aput v5, v8, v4
add-int/lit8 v3, v3, 0x1
goto :goto_35
:cond_48
add-int/lit8 v1, v1, 0x1
goto :goto_30
.line 122
:cond_4b
sget-object p0, Landroid/graphics/Bitmap$Config;->ARGB_8888:Landroid/graphics/Bitmap$Config;
invoke-static {v13, v14, p0}, Landroid/graphics/Bitmap;->createBitmap(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
move-result-object v6
const/4 v9, 0x0
const/4 v11, 0x0
const/4 v12, 0x0
move-object v7, v6
move v10, v13
.line 123
invoke-virtual/range {v7 .. v14}, Landroid/graphics/Bitmap;->setPixels([IIIIIII)V
:try_end_59
.catch Lcom/google/zxing/WriterException; {:try_start_12 .. :try_end_59} :catch_59
:catch_59
return-object v6
.end method
.method public static getDeviceInfo()Ljava/lang/String;
.registers 3
.line 75
new-instance v0, Lorg/json/JSONObject;
invoke-direct {v0}, Lorg/json/JSONObject;-><init>()V
:try_start_5
const-string v1, "device"
.line 77
sget-object v2, Landroid/os/Build;->DEVICE:Ljava/lang/String;
invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string v1, "model"
.line 78
sget-object v2, Landroid/os/Build;->MODEL:Ljava/lang/String;
invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
:try_end_13
.catch Lorg/json/JSONException; {:try_start_5 .. :try_end_13} :catch_13
.line 82
:catch_13
invoke-virtual {v0}, Lorg/json/JSONObject;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public static isAvailable()Z
.registers 2
.line 97
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x10
if-lt v0, v1, :cond_1c
.line 98
invoke-static {}, Lcom/facebook/FacebookSdk;->getApplicationId()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/facebook/internal/FetchedAppSettingsManager;->getAppSettingsWithoutQuery(Ljava/lang/String;)Lcom/facebook/internal/FetchedAppSettings;
move-result-object v0
.line 99
invoke-virtual {v0}, Lcom/facebook/internal/FetchedAppSettings;->getSmartLoginOptions()Ljava/util/EnumSet;
move-result-object v0
sget-object v1, Lcom/facebook/internal/SmartLoginOption;->Enabled:Lcom/facebook/internal/SmartLoginOption;
invoke-virtual {v0, v1}, Ljava/util/EnumSet;->contains(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_1c
const/4 v0, 0x1
goto :goto_1d
:cond_1c
const/4 v0, 0x0
:goto_1d
return v0
.end method
.method public static startAdvertisementService(Ljava/lang/String;)Z
.registers 2
.line 86
invoke-static {}, Lcom/facebook/devicerequests/internal/DeviceRequestsHelper;->isAvailable()Z
move-result v0
if-eqz v0, :cond_b
.line 87
invoke-static {p0}, Lcom/facebook/devicerequests/internal/DeviceRequestsHelper;->startAdvertisementServiceImpl(Ljava/lang/String;)Z
move-result p0
return p0
:cond_b
const/4 p0, 0x0
return p0
.end method
.method private static startAdvertisementServiceImpl(Ljava/lang/String;)Z
.registers 8
.line 138
sget-object v0, Lcom/facebook/devicerequests/internal/DeviceRequestsHelper;->deviceRequestsListeners:Ljava/util/HashMap;
invoke-virtual {v0, p0}, Ljava/util/HashMap;->containsKey(Ljava/lang/Object;)Z
move-result v0
const/4 v1, 0x1
if-eqz v0, :cond_a
return v1
.line 143
:cond_a
invoke-static {}, Lcom/facebook/FacebookSdk;->getSdkVersion()Ljava/lang/String;
move-result-object v0
const/16 v2, 0x2e
const/16 v3, 0x7c
invoke-virtual {v0, v2, v3}, Ljava/lang/String;->replace(CC)Ljava/lang/String;
move-result-object v0
const/4 v2, 0x3
new-array v2, v2, [Ljava/lang/Object;
const-string v3, "fbsdk"
const/4 v4, 0x0
aput-object v3, v2, v4
const/4 v3, 0x2
new-array v5, v3, [Ljava/lang/Object;
const-string v6, "android"
aput-object v6, v5, v4
aput-object v0, v5, v1
const-string v0, "%s-%s"
.line 151
invoke-static {v0, v5}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
aput-object v0, v2, v1
aput-object p0, v2, v3
const-string v0, "%s_%s_%s"
.line 146
invoke-static {v0, v2}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
.line 162
new-instance v2, Landroid/net/nsd/NsdServiceInfo;
invoke-direct {v2}, Landroid/net/nsd/NsdServiceInfo;-><init>()V
const-string v3, "_fb._tcp."
.line 163
invoke-virtual {v2, v3}, Landroid/net/nsd/NsdServiceInfo;->setServiceType(Ljava/lang/String;)V
.line 164
invoke-virtual {v2, v0}, Landroid/net/nsd/NsdServiceInfo;->setServiceName(Ljava/lang/String;)V
const/16 v3, 0x50
.line 165
invoke-virtual {v2, v3}, Landroid/net/nsd/NsdServiceInfo;->setPort(I)V
.line 168
invoke-static {}, Lcom/facebook/FacebookSdk;->getApplicationContext()Landroid/content/Context;
move-result-object v3
const-string v4, "servicediscovery"
.line 169
invoke-virtual {v3, v4}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v3
check-cast v3, Landroid/net/nsd/NsdManager;
.line 171
new-instance v4, Lcom/facebook/devicerequests/internal/DeviceRequestsHelper$1;
invoke-direct {v4, v0, p0}, Lcom/facebook/devicerequests/internal/DeviceRequestsHelper$1;-><init>(Ljava/lang/String;Ljava/lang/String;)V
.line 195
sget-object v0, Lcom/facebook/devicerequests/internal/DeviceRequestsHelper;->deviceRequestsListeners:Ljava/util/HashMap;
invoke-virtual {v0, p0, v4}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 197
invoke-virtual {v3, v2, v1, v4}, Landroid/net/nsd/NsdManager;->registerService(Landroid/net/nsd/NsdServiceInfo;ILandroid/net/nsd/NsdManager$RegistrationListener;)V
return v1
.end method