/**
*
*/
package com.beem.project.beem.service;
import org.jivesoftware.smack.Chat;
import org.jivesoftware.smack.XMPPException;
import android.os.RemoteException;
import com.beem.project.beem.service.aidl.IChat;
/**
* An adapter for smack's Chat class.
* @author darisk
*/
public class ChatAdapter extends IChat.Stub {
private Chat mAdaptee;
private Contact mParticipant;
/**
* Constructor.
* @param chat The chat to adapt
*/
public ChatAdapter(final Chat chat) {
mAdaptee = chat;
mParticipant = new Contact(chat.getParticipant());
}
/**
* {@inheritDoc}
*/
@Override
public Contact getParticipant() throws RemoteException {
return mParticipant;
}
/**
* {@inheritDoc}
*/
@Override
public void sendMessage(Message message) throws RemoteException {
org.jivesoftware.smack.packet.Message send = new org.jivesoftware.smack.packet.Message();
send.setTo(message.getTo());
send.setBody(message.getBody());
send.setThread(message.getThread());
send.setSubject(message.getSubject());
send.setType(org.jivesoftware.smack.packet.Message.Type.chat);
// TODO gerer les messages contenant des XMPPError
// send.set
try {
mAdaptee.sendMessage(send);
} catch (XMPPException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}