use of org.awesomeapp.messenger.model.Message in project Zom-Android by zom.
the class OtrDataHandler method sendRequest.
private void sendRequest(Request request) {
MemorySessionOutputBuffer outBuf = new MemorySessionOutputBuffer();
HttpMessageWriter writer = new HttpRequestWriter(outBuf, lineFormatter, params);
HttpMessage req = new BasicHttpRequest(request.method, request.url, PROTOCOL_VERSION);
String uid = UUID.randomUUID().toString();
req.addHeader("Request-Id", uid);
if (request.headers != null) {
for (Entry<String, String> entry : request.headers.entrySet()) {
req.addHeader(entry.getKey(), entry.getValue());
}
}
try {
writer.write(req);
outBuf.write(request.body);
outBuf.flush();
} catch (IOException e) {
throw new RuntimeException(e);
} catch (HttpException e) {
throw new RuntimeException(e);
}
byte[] data = outBuf.getOutput();
Message message = new Message("");
message.setFrom(request.us);
message.setTo(request.them);
if (req.containsHeader("Range"))
debug("send request " + request.method + " " + request.url + " " + req.getFirstHeader("Range"));
else
debug("send request " + request.method + " " + request.url);
requestCache.put(uid, request);
mChatSession.sendDataAsync(message, false, data);
}
use of org.awesomeapp.messenger.model.Message in project Zom-Android by zom.
the class OtrDataHandler method sendResponse.
private void sendResponse(Address us, Address them, int code, String statusString, String uid, byte[] body) {
MemorySessionOutputBuffer outBuf = new MemorySessionOutputBuffer();
HttpMessageWriter writer = new HttpResponseWriter(outBuf, lineFormatter, params);
HttpMessage response = new BasicHttpResponse(new BasicStatusLine(PROTOCOL_VERSION, code, statusString));
response.addHeader("Request-Id", uid);
try {
writer.write(response);
outBuf.write(body);
outBuf.flush();
} catch (IOException e) {
throw new RuntimeException(e);
} catch (HttpException e) {
throw new RuntimeException(e);
}
byte[] data = outBuf.getOutput();
Message message = new Message("");
message.setFrom(us);
message.setTo(them);
debug("send response " + statusString + " for " + uid);
mChatSession.sendDataAsync(message, true, data);
}
use of org.awesomeapp.messenger.model.Message in project Zom-Android by zom.
the class OtrEngineHostImpl method injectMessage.
public void injectMessage(SessionID sessionID, String text) {
OtrDebugLogger.log(sessionID.toString() + ": injecting message: " + text);
ImConnectionAdapter connection = findConnection(sessionID);
if (connection != null) {
ChatSessionManagerAdapter chatSessionManagerAdapter = (ChatSessionManagerAdapter) connection.getChatSessionManager();
ChatSessionAdapter chatSessionAdapter = (ChatSessionAdapter) chatSessionManagerAdapter.getChatSession(sessionID.getRemoteUserId());
if (chatSessionAdapter != null) {
String body = text;
if (body == null)
// don't allow null messages, only empty ones!
body = "";
Message msg = new Message(body);
Address to = new XmppAddress(sessionID.getRemoteUserId());
msg.setTo(to);
if (!to.getAddress().contains("/")) {
// always send OTR messages to a resource
msg.setTo(appendSessionResource(sessionID, to));
}
boolean verified = mOtrKeyManager.isVerified(sessionID);
if (verified) {
msg.setType(Imps.MessageType.OUTGOING_ENCRYPTED_VERIFIED);
} else {
msg.setType(Imps.MessageType.OUTGOING_ENCRYPTED);
}
// msg ID is set by plugin
chatSessionManagerAdapter.getChatSessionManager().sendMessageAsync(chatSessionAdapter.getAdaptee(), msg);
} else {
OtrDebugLogger.log(sessionID.toString() + ": could not find chatSession");
}
} else {
OtrDebugLogger.log(sessionID.toString() + ": could not find ImConnection");
}
}
use of org.awesomeapp.messenger.model.Message in project Zom-Android by zom.
the class LoopbackConnection method getChatSessionManager.
@Override
public ChatSessionManager getChatSessionManager() {
return new ChatSessionManager() {
@Override
public void sendMessageAsync(ChatSession session, Message message) {
// Echo
Message rec = new Message(message.getBody());
rec.setFrom(message.getTo());
rec.setDateTime(new Date());
session.onReceiveMessage(rec, true);
}
@Override
public boolean resourceSupportsOmemo(Jid jid) {
return false;
}
};
}
Aggregations