package com.zulip.android.networking;
import com.zulip.android.ZulipApp;
import com.zulip.android.activities.ZulipActivity;
import com.zulip.android.models.Message;
import com.zulip.android.models.MessageType;
import com.zulip.android.models.Person;
import org.json.JSONArray;
public class AsyncSend extends ZulipAsyncPushTask {
/**
* Initialise an AsyncSend task to send a specific message.
*
* @param zulipActivity The calling Activity
* @param msg The message to send.
*/
public AsyncSend(ZulipActivity zulipActivity, Message msg) {
super((ZulipApp) zulipActivity.getApplication());
this.setProperty("type", msg.getType().toString());
if (msg.getType() == MessageType.STREAM_MESSAGE) {
this.setProperty("to", msg.getStream().getName());
} else {
JSONArray arr = new JSONArray();
for (Person recipient : msg.getPersonalReplyTo((ZulipApp) zulipActivity.getApplication())) {
arr.put(recipient.getEmail());
}
this.setProperty("to", arr.toString());
}
this.setProperty("stream", msg.getSubject());
this.setProperty("subject", msg.getSubject());
this.setProperty("content", msg.getContent());
}
public final void execute() {
execute("POST", "v1/messages");
}
}