prepareMessage

abstract fun prepareMessage(): Conversation.MessageBuilder

Prepares a new message to send into the conversation.

Example (Kotlin):


     val unsentMessage = conversation.prepareMessage {
         body = "Take a look at this!"

         addMedia("image/png", "cat.png", FileInputStream(filePath)) {
            onStarted {
                println("Uploading cat.png started")
            }
            onCompleted { mediaSid ->
                println("cat.png has been uploaded, mediaSid: $mediaSid")
            }
         }
     }

     val message = unsentMessage.send()

     // or with single extension function
     val message2 = conversation.sendMessage {
        body = "Hello!"
     }

Example (Java):


     conversation.prepareMessage()
             .setBody("Take a look at this!")
             .addMedia("image/png", "cat.png", new FileInputStream(filePath), new MediaUploadListener() {
                 @Override
                 public void onStarted() {
                     Timber.d("Upload started");
                 }

                 @Override
                 public void onProgress(long bytesSent) {
                     Timber.d("Uploaded " + bytes + " bytes of cat.png");
                 }

                 @Override
                 public void onCompleted(@NotNull String mediaSid) {
                     Timber.d("Upload completed");
                 }

                 @Override
                 public void onFailed(@NotNull ErrorInfo errorInfo) {
                     Timber.d("Upload failed: " + errorInfo);
                 }
             })
             .buildAndSend(new CallbackListener() {
                 @Override
                 public void onSuccess(Message result) {
                     Timber.d("Message sent");
                 }

                 @Override
                 public void onError(ErrorInfo errorInfo) {
                     Timber.d("Error send message: " + errorInfo);
                 }
             });

Return

MessageBuilder for building new message and sending it into the conversation.

Throws

If conversation isn't synchronized properly.