in facebook-common/src/main/java/com/facebook/share/internal/NativeDialogParameters.kt [47:92]
fun create(
callId: UUID,
shareContent: ShareContent<*, *>,
shouldFailOnDataError: Boolean
): Bundle? {
var nativeParams: Bundle? = null
when (shareContent) {
is ShareLinkContent -> {
nativeParams = create(shareContent, shouldFailOnDataError)
}
is SharePhotoContent -> {
val photoUrls = ShareInternalUtility.getPhotoUrls(shareContent, callId) ?: listOf()
nativeParams = create(shareContent, photoUrls, shouldFailOnDataError)
}
is ShareVideoContent -> {
val videoUrl = ShareInternalUtility.getVideoUrl(shareContent, callId)
nativeParams = create(shareContent, videoUrl, shouldFailOnDataError)
}
is ShareOpenGraphContent -> {
try {
var openGraphActionJSON = ShareInternalUtility.toJSONObjectForCall(callId, shareContent)
openGraphActionJSON =
ShareInternalUtility.removeNamespacesFromOGJsonObject(openGraphActionJSON, false)
nativeParams = create(shareContent, openGraphActionJSON, shouldFailOnDataError)
} catch (e: JSONException) {
throw FacebookException(
"Unable to create a JSON Object from the provided ShareOpenGraphContent: ${e.message}")
}
}
is ShareMediaContent -> {
val mediaInfos = ShareInternalUtility.getMediaInfos(shareContent, callId) ?: listOf()
nativeParams = create(shareContent, mediaInfos, shouldFailOnDataError)
}
is ShareCameraEffectContent -> {
// Put Bitmaps behind content uris.
val attachmentUrlsBundle = ShareInternalUtility.getTextureUrlBundle(shareContent, callId)
nativeParams = create(shareContent, attachmentUrlsBundle, shouldFailOnDataError)
}
is ShareStoryContent -> {
val mediaInfo = ShareInternalUtility.getBackgroundAssetMediaInfo(shareContent, callId)
val stickerInfo = ShareInternalUtility.getStickerUrl(shareContent, callId)
nativeParams = create(shareContent, mediaInfo, stickerInfo, shouldFailOnDataError)
}
}
return nativeParams
}