ShareModule.smali
.class public Lcom/facebook/react/modules/share/ShareModule;
.super Lcom/facebook/fbreact/specs/NativeShareModuleSpec;
.source "ShareModule.java"
# annotations
.annotation runtime Lcom/facebook/react/module/annotations/ReactModule;
name = "ShareModule"
.end annotation
# static fields
.field public static final ACTION_SHARED:Ljava/lang/String; = "sharedAction"
.field public static final ERROR_INVALID_CONTENT:Ljava/lang/String; = "E_INVALID_CONTENT"
.field public static final ERROR_UNABLE_TO_OPEN_DIALOG:Ljava/lang/String; = "E_UNABLE_TO_OPEN_DIALOG"
.field public static final NAME:Ljava/lang/String; = "ShareModule"
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>(Lcom/facebook/react/bridge/ReactApplicationContext;)V
.registers 2
invoke-direct {p0, p1}, Lcom/facebook/fbreact/specs/NativeShareModuleSpec;-><init>(Lcom/facebook/react/bridge/ReactApplicationContext;)V
return-void
.end method
# virtual methods
.method public getName()Ljava/lang/String;
.registers 2
const-string v0, "ShareModule"
return-object v0
.end method
.method public share(Lcom/facebook/react/bridge/ReadableMap;Ljava/lang/String;Lcom/facebook/react/bridge/Promise;)V
.registers 8
const-string v0, "message"
const-string v1, "title"
if-nez p1, :cond_e
const-string p1, "E_INVALID_CONTENT"
const-string p2, "Content cannot be null"
invoke-interface {p3, p1, p2}, Lcom/facebook/react/bridge/Promise;->reject(Ljava/lang/String;Ljava/lang/String;)V
return-void
:cond_e
:try_start_e
new-instance v2, Landroid/content/Intent;
const-string v3, "android.intent.action.SEND"
invoke-direct {v2, v3}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
const-string v3, "text/plain"
invoke-virtual {v2, v3}, Landroid/content/Intent;->setTypeAndNormalize(Ljava/lang/String;)Landroid/content/Intent;
invoke-interface {p1, v1}, Lcom/facebook/react/bridge/ReadableMap;->hasKey(Ljava/lang/String;)Z
move-result v3
if-eqz v3, :cond_29
const-string v3, "android.intent.extra.SUBJECT"
invoke-interface {p1, v1}, Lcom/facebook/react/bridge/ReadableMap;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v2, v3, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
:cond_29
invoke-interface {p1, v0}, Lcom/facebook/react/bridge/ReadableMap;->hasKey(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_38
const-string v1, "android.intent.extra.TEXT"
invoke-interface {p1, v0}, Lcom/facebook/react/bridge/ReadableMap;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
invoke-virtual {v2, v1, p1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
:cond_38
invoke-static {v2, p2}, Landroid/content/Intent;->createChooser(Landroid/content/Intent;Ljava/lang/CharSequence;)Landroid/content/Intent;
move-result-object p1
const-string p2, "android.intent.category.DEFAULT"
invoke-virtual {p1, p2}, Landroid/content/Intent;->addCategory(Ljava/lang/String;)Landroid/content/Intent;
invoke-virtual {p0}, Lcom/facebook/react/bridge/ReactContextBaseJavaModule;->getCurrentActivity()Landroid/app/Activity;
move-result-object p2
if-eqz p2, :cond_4b
invoke-virtual {p2, p1}, Landroid/app/Activity;->startActivity(Landroid/content/Intent;)V
goto :goto_52
:cond_4b
invoke-virtual {p0}, Lcom/facebook/react/bridge/ReactContextBaseJavaModule;->getReactApplicationContext()Lcom/facebook/react/bridge/ReactApplicationContext;
move-result-object p2
invoke-virtual {p2, p1}, Landroid/content/ContextWrapper;->startActivity(Landroid/content/Intent;)V
:goto_52
invoke-static {}, Lcom/facebook/react/bridge/Arguments;->createMap()Lcom/facebook/react/bridge/WritableMap;
move-result-object p1
const-string p2, "action"
const-string v0, "sharedAction"
invoke-interface {p1, p2, v0}, Lcom/facebook/react/bridge/WritableMap;->putString(Ljava/lang/String;Ljava/lang/String;)V
invoke-interface {p3, p1}, Lcom/facebook/react/bridge/Promise;->resolve(Ljava/lang/Object;)V
:try_end_60
.catch Ljava/lang/Exception; {:try_start_e .. :try_end_60} :catch_61
goto :goto_68
:catch_61
const-string p1, "E_UNABLE_TO_OPEN_DIALOG"
const-string p2, "Failed to open share dialog"
invoke-interface {p3, p1, p2}, Lcom/facebook/react/bridge/Promise;->reject(Ljava/lang/String;Ljava/lang/String;)V
:goto_68
return-void
.end method