use of org.awesomeapp.messenger.plugin.xmpp.XmppAddress 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.plugin.xmpp.XmppAddress in project Zom-Android by zom.
the class ChatSession method sendPushWhitelistTokenAsync.
/**
* Returns a unmodifiable list of the history messages in this session.
*
* @return a unmodifiable list of the history messages in this session.
*/
/**
* public List<Message> getHistoryMessages() {
* return Collections.unmodifiableList(mHistoryMessages);
* }
*/
public void sendPushWhitelistTokenAsync(@NonNull Message message, @NonNull String[] whitelistTokens) {
OtrChatManager cm = OtrChatManager.getInstance();
SessionID sId = cm.getSessionId(message.getFrom().getAddress(), mParticipant.getAddress().getAddress());
SessionStatus otrStatus = cm.getSessionStatus(sId);
message.setTo(new XmppAddress(sId.getRemoteUserId()));
if (otrStatus == SessionStatus.ENCRYPTED) {
boolean verified = cm.getKeyManager().isVerified(sId);
if (verified) {
message.setType(Imps.MessageType.OUTGOING_ENCRYPTED_VERIFIED);
} else {
message.setType(Imps.MessageType.OUTGOING_ENCRYPTED);
}
boolean canSend = cm.transformPushWhitelistTokenSending(message, whitelistTokens);
if (canSend)
mManager.sendMessageAsync(this, message);
}
}
Aggregations