author | Da Risk <darisk972@gmail.com> |
Mon, 20 Apr 2009 14:00:00 +0200 | |
changeset 118 | 8bbe46055004 |
parent 99 | 8de21ac527ce |
child 119 | c93e4b69f031 |
permissions | -rw-r--r-- |
55
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
1 |
/** |
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
2 |
* |
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
3 |
*/ |
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
4 |
package com.beem.project.beem.service; |
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
5 |
|
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
6 |
import org.jivesoftware.smack.Chat; |
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
7 |
import org.jivesoftware.smack.XMPPException; |
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
8 |
|
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
9 |
import android.os.RemoteException; |
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
10 |
|
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
11 |
import com.beem.project.beem.service.aidl.IChat; |
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
12 |
|
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
13 |
/** |
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
14 |
* An adapter for smack's Chat class. |
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
15 |
* @author darisk |
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
16 |
*/ |
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
17 |
public class ChatAdapter extends IChat.Stub { |
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
18 |
private Chat mAdaptee; |
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
19 |
private Contact mParticipant; |
99 | 20 |
private String mState; |
55
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
21 |
|
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
22 |
/** |
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
23 |
* Constructor. |
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
24 |
* @param chat The chat to adapt |
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
25 |
*/ |
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
26 |
public ChatAdapter(final Chat chat) { |
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
27 |
mAdaptee = chat; |
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
28 |
mParticipant = new Contact(chat.getParticipant()); |
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
29 |
} |
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
30 |
|
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
31 |
/** |
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
32 |
* {@inheritDoc} |
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
33 |
*/ |
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
34 |
@Override |
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
35 |
public Contact getParticipant() throws RemoteException { |
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
36 |
return mParticipant; |
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
37 |
} |
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
38 |
|
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
39 |
/** |
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
40 |
* {@inheritDoc} |
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
41 |
*/ |
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
42 |
@Override |
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
43 |
public void sendMessage(Message message) throws RemoteException { |
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
44 |
org.jivesoftware.smack.packet.Message send = new org.jivesoftware.smack.packet.Message(); |
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
45 |
send.setTo(message.getTo()); |
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
46 |
send.setBody(message.getBody()); |
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
47 |
send.setThread(message.getThread()); |
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
48 |
send.setSubject(message.getSubject()); |
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
49 |
send.setType(org.jivesoftware.smack.packet.Message.Type.chat); |
92
e48817ca2398
Add a workaround for error messages
Da Risk <darisk972@gmail.com>
parents:
55
diff
changeset
|
50 |
// TODO gerer les messages contenant des XMPPError |
e48817ca2398
Add a workaround for error messages
Da Risk <darisk972@gmail.com>
parents:
55
diff
changeset
|
51 |
// send.set |
55
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
52 |
try { |
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
53 |
mAdaptee.sendMessage(send); |
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
54 |
} catch (XMPPException e) { |
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
55 |
// TODO Auto-generated catch block |
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
56 |
e.printStackTrace(); |
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
57 |
} |
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
58 |
} |
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
59 |
|
99 | 60 |
@Override |
61 |
public String getState() throws RemoteException { |
|
62 |
return mState; |
|
63 |
} |
|
64 |
|
|
65 |
@Override |
|
66 |
public void setState(String state) throws RemoteException { |
|
67 |
mState = state; |
|
68 |
} |
|
69 |
||
118
8bbe46055004
fix some bugs. When you receive a new chat, a notification appears.
Da Risk <darisk972@gmail.com>
parents:
99
diff
changeset
|
70 |
public Chat getAdaptee() { |
8bbe46055004
fix some bugs. When you receive a new chat, a notification appears.
Da Risk <darisk972@gmail.com>
parents:
99
diff
changeset
|
71 |
return mAdaptee; |
8bbe46055004
fix some bugs. When you receive a new chat, a notification appears.
Da Risk <darisk972@gmail.com>
parents:
99
diff
changeset
|
72 |
} |
8bbe46055004
fix some bugs. When you receive a new chat, a notification appears.
Da Risk <darisk972@gmail.com>
parents:
99
diff
changeset
|
73 |
|
55
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
74 |
} |