fun create()

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
  }