author | Da Risk <darisk972@gmail.com> |
Wed, 28 Oct 2009 20:17:04 +0100 | |
changeset 472 | 4acc4947d6bc |
parent 468 | f2f16274b696 |
child 474 | dd6d3c09d0d1 |
permissions | -rw-r--r-- |
25 | 1 |
package com.beem.project.beem.ui; |
2 |
||
219
79ccbe331695
Les conversations sont retenues dans les chats du service.
Da Risk <darisk972@gmail.com>
parents:
188
diff
changeset
|
3 |
import java.util.List; |
79ccbe331695
Les conversations sont retenues dans les chats du service.
Da Risk <darisk972@gmail.com>
parents:
188
diff
changeset
|
4 |
|
251 | 5 |
import org.jivesoftware.smack.util.StringUtils; |
6 |
||
103
2320ab48e829
Bug d'affichage fixé et autre feature implementées
Philippe Lago <lago_p@epitech.net>
parents:
102
diff
changeset
|
7 |
import android.app.Activity; |
243
644ead6eaf67
Suppression beemapplication dans SendIM.
marseille@marseille-desktop
parents:
239
diff
changeset
|
8 |
import android.content.ComponentName; |
219
79ccbe331695
Les conversations sont retenues dans les chats du service.
Da Risk <darisk972@gmail.com>
parents:
188
diff
changeset
|
9 |
import android.content.Intent; |
390
d9737e4bc517
debut de la gestion du disconnect
Nikita Kozlov <nikita@beem-project.com>
parents:
371
diff
changeset
|
10 |
import android.content.IntentFilter; |
243
644ead6eaf67
Suppression beemapplication dans SendIM.
marseille@marseille-desktop
parents:
239
diff
changeset
|
11 |
import android.content.ServiceConnection; |
43
4e7c6918b092
classe dialog pour integrer des smiley dans un message a terminer, un fichier color a nourrir et utiliser des modif un peu partout
Philippe Lago <lago_p@epitech.net>
parents:
27
diff
changeset
|
12 |
import android.content.SharedPreferences; |
101
ccc48305bdeb
toujours le probleme du rafraichissement lors de la reception d'un message
Philippe Lago <lago_p@epitech.net>
parents:
84
diff
changeset
|
13 |
import android.graphics.drawable.Drawable; |
25 | 14 |
import android.os.Bundle; |
84
9a4dbd7fe546
Super mercurial le retour du commit oublié apres le merge du pull -f -r19
Philippe Lago <lago_p@epitech.net>
parents:
62
diff
changeset
|
15 |
import android.os.Handler; |
243
644ead6eaf67
Suppression beemapplication dans SendIM.
marseille@marseille-desktop
parents:
239
diff
changeset
|
16 |
import android.os.IBinder; |
84
9a4dbd7fe546
Super mercurial le retour du commit oublié apres le merge du pull -f -r19
Philippe Lago <lago_p@epitech.net>
parents:
62
diff
changeset
|
17 |
import android.os.RemoteException; |
252 | 18 |
import android.text.util.Linkify; |
52 | 19 |
import android.util.Log; |
43
4e7c6918b092
classe dialog pour integrer des smiley dans un message a terminer, un fichier color a nourrir et utiliser des modif un peu partout
Philippe Lago <lago_p@epitech.net>
parents:
27
diff
changeset
|
20 |
import android.view.KeyEvent; |
4e7c6918b092
classe dialog pour integrer des smiley dans un message a terminer, un fichier color a nourrir et utiliser des modif un peu partout
Philippe Lago <lago_p@epitech.net>
parents:
27
diff
changeset
|
21 |
import android.view.Menu; |
4e7c6918b092
classe dialog pour integrer des smiley dans un message a terminer, un fichier color a nourrir et utiliser des modif un peu partout
Philippe Lago <lago_p@epitech.net>
parents:
27
diff
changeset
|
22 |
import android.view.MenuInflater; |
4e7c6918b092
classe dialog pour integrer des smiley dans un message a terminer, un fichier color a nourrir et utiliser des modif un peu partout
Philippe Lago <lago_p@epitech.net>
parents:
27
diff
changeset
|
23 |
import android.view.MenuItem; |
25 | 24 |
import android.view.View; |
43
4e7c6918b092
classe dialog pour integrer des smiley dans un message a terminer, un fichier color a nourrir et utiliser des modif un peu partout
Philippe Lago <lago_p@epitech.net>
parents:
27
diff
changeset
|
25 |
import android.view.View.OnClickListener; |
4e7c6918b092
classe dialog pour integrer des smiley dans un message a terminer, un fichier color a nourrir et utiliser des modif un peu partout
Philippe Lago <lago_p@epitech.net>
parents:
27
diff
changeset
|
26 |
import android.view.View.OnKeyListener; |
25 | 27 |
import android.widget.EditText; |
143
6f6f5838aef9
skin skin skin joli pas beau
Philippe Lago <lago_p@epitech.net>
parents:
141
diff
changeset
|
28 |
import android.widget.ImageView; |
103
2320ab48e829
Bug d'affichage fixé et autre feature implementées
Philippe Lago <lago_p@epitech.net>
parents:
102
diff
changeset
|
29 |
import android.widget.ScrollView; |
101
ccc48305bdeb
toujours le probleme du rafraichissement lors de la reception d'un message
Philippe Lago <lago_p@epitech.net>
parents:
84
diff
changeset
|
30 |
import android.widget.TextView; |
25 | 31 |
|
243
644ead6eaf67
Suppression beemapplication dans SendIM.
marseille@marseille-desktop
parents:
239
diff
changeset
|
32 |
import com.beem.project.beem.BeemService; |
25 | 33 |
import com.beem.project.beem.R; |
52 | 34 |
import com.beem.project.beem.service.Contact; |
84
9a4dbd7fe546
Super mercurial le retour du commit oublié apres le merge du pull -f -r19
Philippe Lago <lago_p@epitech.net>
parents:
62
diff
changeset
|
35 |
import com.beem.project.beem.service.Message; |
251 | 36 |
import com.beem.project.beem.service.PresenceAdapter; |
37 |
import com.beem.project.beem.service.aidl.IBeemRosterListener; |
|
84
9a4dbd7fe546
Super mercurial le retour du commit oublié apres le merge du pull -f -r19
Philippe Lago <lago_p@epitech.net>
parents:
62
diff
changeset
|
38 |
import com.beem.project.beem.service.aidl.IChat; |
9a4dbd7fe546
Super mercurial le retour du commit oublié apres le merge du pull -f -r19
Philippe Lago <lago_p@epitech.net>
parents:
62
diff
changeset
|
39 |
import com.beem.project.beem.service.aidl.IChatManager; |
9a4dbd7fe546
Super mercurial le retour du commit oublié apres le merge du pull -f -r19
Philippe Lago <lago_p@epitech.net>
parents:
62
diff
changeset
|
40 |
import com.beem.project.beem.service.aidl.IChatManagerListener; |
9a4dbd7fe546
Super mercurial le retour du commit oublié apres le merge du pull -f -r19
Philippe Lago <lago_p@epitech.net>
parents:
62
diff
changeset
|
41 |
import com.beem.project.beem.service.aidl.IMessageListener; |
251 | 42 |
import com.beem.project.beem.service.aidl.IRoster; |
84
9a4dbd7fe546
Super mercurial le retour du commit oublié apres le merge du pull -f -r19
Philippe Lago <lago_p@epitech.net>
parents:
62
diff
changeset
|
43 |
import com.beem.project.beem.service.aidl.IXmppFacade; |
396
1a8a0d152c28
netoyage du broadcast et petit debug
Nikita Kozlov <nikita@beem-project.com>
parents:
390
diff
changeset
|
44 |
import com.beem.project.beem.utils.BeemBroadcastReceiver; |
461
17300b201cf5
Modification de l'UI de la contact list et de sendim.
dasilvj
parents:
451
diff
changeset
|
45 |
import com.beem.project.beem.utils.Status; |
25 | 46 |
|
43
4e7c6918b092
classe dialog pour integrer des smiley dans un message a terminer, un fichier color a nourrir et utiliser des modif un peu partout
Philippe Lago <lago_p@epitech.net>
parents:
27
diff
changeset
|
47 |
/** |
326 | 48 |
* This activity class provides the view for instant messaging after selecting a correspondant. |
127
395f1beb409f
deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents:
126
diff
changeset
|
49 |
* @author barbu |
43
4e7c6918b092
classe dialog pour integrer des smiley dans un message a terminer, un fichier color a nourrir et utiliser des modif un peu partout
Philippe Lago <lago_p@epitech.net>
parents:
27
diff
changeset
|
50 |
*/ |
4e7c6918b092
classe dialog pour integrer des smiley dans un message a terminer, un fichier color a nourrir et utiliser des modif un peu partout
Philippe Lago <lago_p@epitech.net>
parents:
27
diff
changeset
|
51 |
|
117
40a48262a670
Un petit skin pour l'im à travailler
Philippe Lago <lago_p@epitech.net>
parents:
110
diff
changeset
|
52 |
public class SendIM extends Activity implements OnClickListener, OnKeyListener { |
219
79ccbe331695
Les conversations sont retenues dans les chats du service.
Da Risk <darisk972@gmail.com>
parents:
188
diff
changeset
|
53 |
|
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
54 |
private static final String TAG = "SEND_IM"; |
420 | 55 |
private static final Intent SERVICE_INTENT = new Intent(); |
56 |
static { |
|
57 |
SERVICE_INTENT.setComponent(new ComponentName("com.beem.project.beem", "com.beem.project.beem.BeemService")); |
|
58 |
} |
|
59 |
||
365 | 60 |
private IRoster mRoster; |
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
61 |
private EditText mToSend; |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
62 |
private SendIMDialogSmiley mSmyDialog; |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
63 |
private SharedPreferences mSet; |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
64 |
private Handler mHandler; |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
65 |
private Contact mContact; |
461
17300b201cf5
Modification de l'UI de la contact list et de sendim.
dasilvj
parents:
451
diff
changeset
|
66 |
private ImageView mStatusIcon; |
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
67 |
private IChatManager mChatManager; |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
68 |
private IChatManagerListener mChatManagerListener; |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
69 |
private IMessageListener mMessageListener; |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
70 |
private IChat mChat; |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
71 |
private TextView mText; |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
72 |
private TextView mLogin; |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
73 |
private ScrollView mScrolling; |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
74 |
private char mSpeak; |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
75 |
|
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
76 |
private final ServiceConnection mServConn = new BeemServiceConnection(); |
339 | 77 |
private IXmppFacade mXmppFacade; |
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
78 |
private TextView mStatusText; |
412
5031fb756b29
gestion de ConnectionClosedOnError
Nikita Kozlov <nikita@beem-project.com>
parents:
396
diff
changeset
|
79 |
private BeemBroadcastReceiver mReceiver; |
390
d9737e4bc517
debut de la gestion du disconnect
Nikita Kozlov <nikita@beem-project.com>
parents:
371
diff
changeset
|
80 |
|
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
81 |
/** |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
82 |
* Constructor. |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
83 |
*/ |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
84 |
public SendIM() { |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
85 |
super(); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
86 |
} |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
87 |
|
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
88 |
/** |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
89 |
* {@inheritDoc} |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
90 |
*/ |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
91 |
@Override |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
92 |
public void onClick(View view) { |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
93 |
sendText(); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
94 |
} |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
95 |
|
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
96 |
/** |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
97 |
* {@inheritDoc} |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
98 |
*/ |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
99 |
@Override |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
100 |
protected void onCreate(Bundle saveBundle) { |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
101 |
super.onCreate(saveBundle); |
450
fe0ba62ee3ff
Correction de l'ensemble des erreurs de CheckStyle.
dasilvj
parents:
420
diff
changeset
|
102 |
// setTheme(R.style.OldTheme); |
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
103 |
setContentView(R.layout.sendim); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
104 |
mHandler = new Handler(); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
105 |
mChatManagerListener = new OnChatListener(); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
106 |
mMessageListener = new OnMessageListener(); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
107 |
mToSend = (EditText) findViewById(R.id.userText); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
108 |
mSet = getSharedPreferences("lol", MODE_PRIVATE); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
109 |
mSmyDialog = new SendIMDialogSmiley(this, mSet); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
110 |
mToSend.setOnClickListener(this); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
111 |
mToSend.setOnKeyListener(this); |
461
17300b201cf5
Modification de l'UI de la contact list et de sendim.
dasilvj
parents:
451
diff
changeset
|
112 |
mStatusIcon = (ImageView) findViewById(R.id.sendimstatus); |
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
113 |
mLogin = (TextView) findViewById(R.id.sendimlogin); |
472 | 114 |
mContact = new Contact(getIntent().getData()); |
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
115 |
mText = (TextView) findViewById(R.id.sendimlist); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
116 |
mScrolling = (ScrollView) findViewById(R.id.sendimscroll); |
461
17300b201cf5
Modification de l'UI de la contact list et de sendim.
dasilvj
parents:
451
diff
changeset
|
117 |
mStatusText = (TextView) findViewById(R.id.sendimstatusmsg); |
412
5031fb756b29
gestion de ConnectionClosedOnError
Nikita Kozlov <nikita@beem-project.com>
parents:
396
diff
changeset
|
118 |
mReceiver = new BeemBroadcastReceiver(mServConn); |
472 | 119 |
this.registerReceiver(mReceiver, new IntentFilter(BeemBroadcastReceiver.BEEM_CONNECTION_CLOSED)); |
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
120 |
} |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
121 |
|
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
122 |
/** |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
123 |
* {@inheritDoc} |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
124 |
*/ |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
125 |
@Override |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
126 |
public final boolean onCreateOptionsMenu(Menu menu) { |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
127 |
super.onCreateOptionsMenu(menu); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
128 |
MenuInflater inflater = getMenuInflater(); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
129 |
inflater.inflate(R.menu.sendimmenu, menu); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
130 |
return true; |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
131 |
} |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
132 |
|
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
133 |
/** |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
134 |
* {@inheritDoc} |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
135 |
*/ |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
136 |
@Override |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
137 |
protected void onDestroy() { |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
138 |
super.onDestroy(); |
472 | 139 |
this.unregisterReceiver(mReceiver); |
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
140 |
if (mChatManager != null) { |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
141 |
try { |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
142 |
mChatManager.removeChatCreationListener(mChatManagerListener); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
143 |
// TODO trouver quand detruire le chat |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
144 |
// mChatManager.destroyChat(mChat); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
145 |
} catch (RemoteException e) { |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
146 |
Log.e(TAG, "mchat manager and SendIM destroy", e); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
147 |
} |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
148 |
} |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
149 |
} |
212 | 150 |
|
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
151 |
/** |
461
17300b201cf5
Modification de l'UI de la contact list et de sendim.
dasilvj
parents:
451
diff
changeset
|
152 |
* Update the status icon of our contact. |
17300b201cf5
Modification de l'UI de la contact list et de sendim.
dasilvj
parents:
451
diff
changeset
|
153 |
*/ |
17300b201cf5
Modification de l'UI de la contact list et de sendim.
dasilvj
parents:
451
diff
changeset
|
154 |
protected void updateStatusIcon() { |
17300b201cf5
Modification de l'UI de la contact list et de sendim.
dasilvj
parents:
451
diff
changeset
|
155 |
Drawable statusIcon = null; |
17300b201cf5
Modification de l'UI de la contact list et de sendim.
dasilvj
parents:
451
diff
changeset
|
156 |
switch (mContact.getStatus()) { |
17300b201cf5
Modification de l'UI de la contact list et de sendim.
dasilvj
parents:
451
diff
changeset
|
157 |
case Status.CONTACT_STATUS_AVAILABLE: |
17300b201cf5
Modification de l'UI de la contact list et de sendim.
dasilvj
parents:
451
diff
changeset
|
158 |
statusIcon = getResources().getDrawable(R.drawable.status_available); |
17300b201cf5
Modification de l'UI de la contact list et de sendim.
dasilvj
parents:
451
diff
changeset
|
159 |
break; |
17300b201cf5
Modification de l'UI de la contact list et de sendim.
dasilvj
parents:
451
diff
changeset
|
160 |
case Status.CONTACT_STATUS_AVAILABLE_FOR_CHAT: |
17300b201cf5
Modification de l'UI de la contact list et de sendim.
dasilvj
parents:
451
diff
changeset
|
161 |
statusIcon = getResources().getDrawable(R.drawable.status_available); |
17300b201cf5
Modification de l'UI de la contact list et de sendim.
dasilvj
parents:
451
diff
changeset
|
162 |
break; |
17300b201cf5
Modification de l'UI de la contact list et de sendim.
dasilvj
parents:
451
diff
changeset
|
163 |
case Status.CONTACT_STATUS_AWAY: |
17300b201cf5
Modification de l'UI de la contact list et de sendim.
dasilvj
parents:
451
diff
changeset
|
164 |
statusIcon = getResources().getDrawable(R.drawable.status_away); |
17300b201cf5
Modification de l'UI de la contact list et de sendim.
dasilvj
parents:
451
diff
changeset
|
165 |
break; |
17300b201cf5
Modification de l'UI de la contact list et de sendim.
dasilvj
parents:
451
diff
changeset
|
166 |
case Status.CONTACT_STATUS_BUSY: |
17300b201cf5
Modification de l'UI de la contact list et de sendim.
dasilvj
parents:
451
diff
changeset
|
167 |
statusIcon = getResources().getDrawable(R.drawable.status_dnd); |
17300b201cf5
Modification de l'UI de la contact list et de sendim.
dasilvj
parents:
451
diff
changeset
|
168 |
break; |
17300b201cf5
Modification de l'UI de la contact list et de sendim.
dasilvj
parents:
451
diff
changeset
|
169 |
case Status.CONTACT_STATUS_DISCONNECT: |
17300b201cf5
Modification de l'UI de la contact list et de sendim.
dasilvj
parents:
451
diff
changeset
|
170 |
statusIcon = getResources().getDrawable(R.drawable.status_offline); |
17300b201cf5
Modification de l'UI de la contact list et de sendim.
dasilvj
parents:
451
diff
changeset
|
171 |
break; |
17300b201cf5
Modification de l'UI de la contact list et de sendim.
dasilvj
parents:
451
diff
changeset
|
172 |
case Status.CONTACT_STATUS_UNAVAILABLE: |
17300b201cf5
Modification de l'UI de la contact list et de sendim.
dasilvj
parents:
451
diff
changeset
|
173 |
statusIcon = getResources().getDrawable(R.drawable.status_requested); |
17300b201cf5
Modification de l'UI de la contact list et de sendim.
dasilvj
parents:
451
diff
changeset
|
174 |
break; |
17300b201cf5
Modification de l'UI de la contact list et de sendim.
dasilvj
parents:
451
diff
changeset
|
175 |
default: |
17300b201cf5
Modification de l'UI de la contact list et de sendim.
dasilvj
parents:
451
diff
changeset
|
176 |
statusIcon = getResources().getDrawable(R.drawable.status_error); |
17300b201cf5
Modification de l'UI de la contact list et de sendim.
dasilvj
parents:
451
diff
changeset
|
177 |
break; |
17300b201cf5
Modification de l'UI de la contact list et de sendim.
dasilvj
parents:
451
diff
changeset
|
178 |
} |
17300b201cf5
Modification de l'UI de la contact list et de sendim.
dasilvj
parents:
451
diff
changeset
|
179 |
Log.d("SENDIM -- UPDATE STATUS ICON", "Contact current status: " + mContact.getStatus() + ""); |
17300b201cf5
Modification de l'UI de la contact list et de sendim.
dasilvj
parents:
451
diff
changeset
|
180 |
mStatusIcon.setImageDrawable(statusIcon); |
17300b201cf5
Modification de l'UI de la contact list et de sendim.
dasilvj
parents:
451
diff
changeset
|
181 |
} |
17300b201cf5
Modification de l'UI de la contact list et de sendim.
dasilvj
parents:
451
diff
changeset
|
182 |
|
17300b201cf5
Modification de l'UI de la contact list et de sendim.
dasilvj
parents:
451
diff
changeset
|
183 |
/** |
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
184 |
* {@inheritDoc} |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
185 |
*/ |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
186 |
@Override |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
187 |
public boolean onKey(View v, int keyCode, KeyEvent event) { |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
188 |
if (event.getAction() == KeyEvent.ACTION_DOWN) { |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
189 |
switch (keyCode) { |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
190 |
case KeyEvent.KEYCODE_DPAD_CENTER: |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
191 |
case KeyEvent.KEYCODE_ENTER: |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
192 |
sendText(); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
193 |
return true; |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
194 |
default: |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
195 |
return false; |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
196 |
} |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
197 |
} |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
198 |
return false; |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
199 |
} |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
200 |
|
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
201 |
/** |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
202 |
* {@inheritDoc} |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
203 |
*/ |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
204 |
@Override |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
205 |
protected void onNewIntent(Intent intent) { |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
206 |
super.onNewIntent(intent); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
207 |
mContact = new Contact(intent.getData()); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
208 |
try { |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
209 |
if (mRoster != null) |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
210 |
mContact = mRoster.getContact(mContact.getJID()); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
211 |
} catch (RemoteException e) { |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
212 |
// TODO Auto-generated catch block |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
213 |
e.printStackTrace(); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
214 |
} |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
215 |
} |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
216 |
|
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
217 |
/** |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
218 |
* {@inheritDoc} |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
219 |
*/ |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
220 |
@Override |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
221 |
public final boolean onOptionsItemSelected(MenuItem item) { |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
222 |
switch (item.getItemId()) { |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
223 |
case R.id.sendim_smiley: |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
224 |
mSmyDialog.show(); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
225 |
return true; |
369
952c6eeb6493
Gestion des resources dans la contactList
Da Risk <darisk972@gmail.com>
parents:
346
diff
changeset
|
226 |
case R.id.sendim_call: |
414 | 227 |
// TODO start the jingle call |
369
952c6eeb6493
Gestion des resources dans la contactList
Da Risk <darisk972@gmail.com>
parents:
346
diff
changeset
|
228 |
// Bug a besoin du jid complet (resource compris) |
952c6eeb6493
Gestion des resources dans la contactList
Da Risk <darisk972@gmail.com>
parents:
346
diff
changeset
|
229 |
try { |
390
d9737e4bc517
debut de la gestion du disconnect
Nikita Kozlov <nikita@beem-project.com>
parents:
371
diff
changeset
|
230 |
mXmppFacade.call(mContact.getJID()); |
d9737e4bc517
debut de la gestion du disconnect
Nikita Kozlov <nikita@beem-project.com>
parents:
371
diff
changeset
|
231 |
} catch (RemoteException e) { |
d9737e4bc517
debut de la gestion du disconnect
Nikita Kozlov <nikita@beem-project.com>
parents:
371
diff
changeset
|
232 |
// TODO Auto-generated catch block |
d9737e4bc517
debut de la gestion du disconnect
Nikita Kozlov <nikita@beem-project.com>
parents:
371
diff
changeset
|
233 |
e.printStackTrace(); |
d9737e4bc517
debut de la gestion du disconnect
Nikita Kozlov <nikita@beem-project.com>
parents:
371
diff
changeset
|
234 |
} |
369
952c6eeb6493
Gestion des resources dans la contactList
Da Risk <darisk972@gmail.com>
parents:
346
diff
changeset
|
235 |
return true; |
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
236 |
default: |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
237 |
return false; |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
238 |
} |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
239 |
} |
212 | 240 |
|
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
241 |
/** |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
242 |
* {@inheritDoc} |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
243 |
*/ |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
244 |
@Override |
472 | 245 |
protected void onStop() { |
246 |
super.onStop(); |
|
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
247 |
try { |
326 | 248 |
if (mChat != null) |
299 | 249 |
mChat.setOpen(false); |
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
250 |
} catch (RemoteException e) { |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
251 |
Log.d(TAG, "Error while closing chat", e); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
252 |
} |
472 | 253 |
if (mReceiver.isBinded()){ |
412
5031fb756b29
gestion de ConnectionClosedOnError
Nikita Kozlov <nikita@beem-project.com>
parents:
396
diff
changeset
|
254 |
unbindService(mServConn); |
472 | 255 |
mReceiver.setBinded(false); |
256 |
} |
|
257 |
mRoster = null; |
|
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
258 |
} |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
259 |
|
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
260 |
/** |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
261 |
* {@inheritDoc} |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
262 |
*/ |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
263 |
@Override |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
264 |
protected void onStart() { |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
265 |
super.onStart(); |
472 | 266 |
bindService(new Intent(this, BeemService.class), mServConn, BIND_AUTO_CREATE); |
267 |
mScrolling.fullScroll(ScrollView.FOCUS_DOWN); |
|
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
268 |
try { |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
269 |
if (mRoster != null) |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
270 |
mContact = mRoster.getContact(mContact.getJID()); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
271 |
} catch (RemoteException e) { |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
272 |
// TODO Auto-generated catch block |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
273 |
e.printStackTrace(); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
274 |
} |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
275 |
} |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
276 |
|
472 | 277 |
|
343 | 278 |
/** |
279 |
* The service connection used to connect with the BeemService. |
|
280 |
*/ |
|
345 | 281 |
private final class BeemServiceConnection implements ServiceConnection { |
451 | 282 |
private final BeemRosterListener mBeemRosterListener = new BeemRosterListener(); |
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
283 |
|
346 | 284 |
/** |
285 |
* Constructor. |
|
286 |
*/ |
|
450
fe0ba62ee3ff
Correction de l'ensemble des erreurs de CheckStyle.
dasilvj
parents:
420
diff
changeset
|
287 |
public BeemServiceConnection() { |
fe0ba62ee3ff
Correction de l'ensemble des erreurs de CheckStyle.
dasilvj
parents:
420
diff
changeset
|
288 |
} |
343 | 289 |
|
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
290 |
@Override |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
291 |
public void onServiceConnected(ComponentName name, IBinder service) { |
339 | 292 |
mXmppFacade = IXmppFacade.Stub.asInterface(service); |
472 | 293 |
mReceiver.setBinded(true); |
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
294 |
try { |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
295 |
if (mChatManager == null) { |
339 | 296 |
mChatManager = mXmppFacade.getChatManager(); |
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
297 |
mChatManager.addChatCreationListener(mChatManagerListener); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
298 |
} |
339 | 299 |
mRoster = mXmppFacade.getRoster(); |
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
300 |
if (mRoster != null) { |
286 | 301 |
mRoster.addRosterListener(mBeemRosterListener); |
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
302 |
// mContact.setStatus(mRoster.getPresence(mContact.getJID())); |
326 | 303 |
if (mRoster.getContact(mContact.getJID()) != null) { |
304 |
mContact = mRoster.getContact(mContact.getJID()); |
|
305 |
mStatusText.setText(mContact.getMsgState()); |
|
468
f2f16274b696
- Modification de la methode setName dans la classe Contact afin de gerer le cas ou le contact n'aurait pas d'alias.
dasilvj
parents:
466
diff
changeset
|
306 |
mLogin.setText(mContact.getName()); |
326 | 307 |
} |
461
17300b201cf5
Modification de l'UI de la contact list et de sendim.
dasilvj
parents:
451
diff
changeset
|
308 |
updateStatusIcon(); |
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
309 |
} |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
310 |
switchChat(mContact); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
311 |
} catch (RemoteException e) { |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
312 |
Log.e(TAG, "Error during chat manager creation", e); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
313 |
} |
212 | 314 |
} |
243
644ead6eaf67
Suppression beemapplication dans SendIM.
marseille@marseille-desktop
parents:
239
diff
changeset
|
315 |
|
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
316 |
@Override |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
317 |
public void onServiceDisconnected(ComponentName name) { |
472 | 318 |
mReceiver.setBinded(false); |
339 | 319 |
mXmppFacade = null; |
286 | 320 |
try { |
321 |
mRoster.removeRosterListener(mBeemRosterListener); |
|
322 |
} catch (RemoteException e) { |
|
323 |
e.printStackTrace(); |
|
324 |
} |
|
472 | 325 |
mRoster = null; |
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
326 |
} |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
327 |
} |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
328 |
|
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
329 |
/** |
326 | 330 |
* Send a message to the contact over the XMPP connection. Also display it on activity view. TODO : Gerer |
331 |
* l'exception si la connexion se coupe pendant la conversation |
|
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
332 |
*/ |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
333 |
private void sendText() { |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
334 |
String text = mToSend.getText().toString(); |
343 | 335 |
if (!"".equals(text)) { |
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
336 |
Message msg = new Message(mContact.getJID(), Message.MSG_TYPE_CHAT); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
337 |
msg.setBody(text); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
338 |
try { |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
339 |
mChat.sendMessage(msg); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
340 |
if (mSpeak != 1) |
309
5c39c01e2a42
Fixes a little problem with internationalization
Da Risk <darisk972@gmail.com>
parents:
299
diff
changeset
|
341 |
mText.append(getString(R.string.SendIMYouSay, text)); |
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
342 |
else |
309
5c39c01e2a42
Fixes a little problem with internationalization
Da Risk <darisk972@gmail.com>
parents:
299
diff
changeset
|
343 |
mText.append(getString(R.string.SendIMSameSpeaker, text)); |
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
344 |
mToSend.setText(null); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
345 |
mScrolling.fullScroll(ScrollView.FOCUS_DOWN); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
346 |
mToSend.requestFocus(); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
347 |
mSpeak = 1; |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
348 |
} catch (RemoteException e) { |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
349 |
e.printStackTrace(); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
350 |
} |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
351 |
} |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
352 |
} |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
353 |
|
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
354 |
/** |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
355 |
* Show the message history. |
326 | 356 |
* @param messages list of message to display |
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
357 |
*/ |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
358 |
private void showMessageList(List<Message> messages) { |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
359 |
mText.setText(""); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
360 |
mSpeak = 0; |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
361 |
for (Message message : messages) { |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
362 |
String from = message.getFrom(); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
363 |
if (from == null) { |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
364 |
if (mSpeak != 1) |
309
5c39c01e2a42
Fixes a little problem with internationalization
Da Risk <darisk972@gmail.com>
parents:
299
diff
changeset
|
365 |
mText.append(getString(R.string.SendIMYouSay, message.getBody())); |
295
66c7566e4caa
Affichage du ChatState dans IM pas terrible
Philippe Lago <lago_p@epitech.net>
parents:
286
diff
changeset
|
366 |
else |
309
5c39c01e2a42
Fixes a little problem with internationalization
Da Risk <darisk972@gmail.com>
parents:
299
diff
changeset
|
367 |
mText.append(getString(R.string.SendIMYouSay, message.getBody())); |
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
368 |
mSpeak = 1; |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
369 |
} else { |
309
5c39c01e2a42
Fixes a little problem with internationalization
Da Risk <darisk972@gmail.com>
parents:
299
diff
changeset
|
370 |
if (mSpeak != 2) |
468
f2f16274b696
- Modification de la methode setName dans la classe Contact afin de gerer le cas ou le contact n'aurait pas d'alias.
dasilvj
parents:
466
diff
changeset
|
371 |
mText.append(getString(R.string.SendIMSays, mContact.getName(), message.getBody())); |
309
5c39c01e2a42
Fixes a little problem with internationalization
Da Risk <darisk972@gmail.com>
parents:
299
diff
changeset
|
372 |
else |
5c39c01e2a42
Fixes a little problem with internationalization
Da Risk <darisk972@gmail.com>
parents:
299
diff
changeset
|
373 |
mText.append(getString(R.string.SendIMSameSpeaker, message.getBody())); |
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
374 |
mSpeak = 2; |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
375 |
} |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
376 |
} |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
377 |
mScrolling.fullScroll(ScrollView.FOCUS_DOWN); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
378 |
} |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
379 |
|
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
380 |
/** |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
381 |
* Change the correspondant of the chat. |
326 | 382 |
* @param newContact New contact to chat with |
383 |
* @throws RemoteException if an errors occurs in the connection with the service |
|
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
384 |
*/ |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
385 |
private void switchChat(Contact newContact) throws RemoteException { |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
386 |
if (mChat != null) |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
387 |
mChat.setOpen(false); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
388 |
mChat = mChatManager.createChat(newContact, mMessageListener); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
389 |
showMessageList(mChat.getMessages()); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
390 |
mChat.setOpen(true); |
419
88e1a96ee8da
Retrait des notifications quand on ouvre le chat d'une personne qui vient
Da Risk <darisk972@gmail.com>
parents:
414
diff
changeset
|
391 |
mChatManager.deleteChatNotification(mChat); |
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
392 |
mContact = newContact; |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
393 |
mToSend.requestFocus(); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
394 |
} |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
395 |
|
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
396 |
/** |
345 | 397 |
* Listener for chat creation. (maybe not necessary). |
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
398 |
* @author darisk |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
399 |
*/ |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
400 |
private class OnChatListener extends IChatManagerListener.Stub { |
346 | 401 |
|
345 | 402 |
/** |
403 |
* Constructor. |
|
404 |
*/ |
|
450
fe0ba62ee3ff
Correction de l'ensemble des erreurs de CheckStyle.
dasilvj
parents:
420
diff
changeset
|
405 |
public OnChatListener() { |
fe0ba62ee3ff
Correction de l'ensemble des erreurs de CheckStyle.
dasilvj
parents:
420
diff
changeset
|
406 |
} |
345 | 407 |
|
236
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
233
diff
changeset
|
408 |
/** |
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
233
diff
changeset
|
409 |
* {@inheritDoc} |
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
233
diff
changeset
|
410 |
*/ |
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
233
diff
changeset
|
411 |
@Override |
326 | 412 |
public void chatCreated(IChat chat, boolean locally) throws RemoteException { |
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
413 |
Log.i("LOG", "chatCreated"); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
414 |
} |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
415 |
|
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
416 |
} |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
417 |
|
345 | 418 |
/** |
419 |
* Listener use to change the status displayed. |
|
420 |
*/ |
|
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
421 |
private class BeemRosterListener extends IBeemRosterListener.Stub { |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
422 |
|
345 | 423 |
/** |
424 |
* Constructor. |
|
425 |
*/ |
|
450
fe0ba62ee3ff
Correction de l'ensemble des erreurs de CheckStyle.
dasilvj
parents:
420
diff
changeset
|
426 |
public BeemRosterListener() { |
fe0ba62ee3ff
Correction de l'ensemble des erreurs de CheckStyle.
dasilvj
parents:
420
diff
changeset
|
427 |
} |
345 | 428 |
|
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
429 |
@Override |
326 | 430 |
public void onEntriesAdded(List<String> addresses) throws RemoteException { |
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
431 |
// TODO Auto-generated method stub |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
432 |
|
236
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
233
diff
changeset
|
433 |
} |
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
233
diff
changeset
|
434 |
|
251 | 435 |
@Override |
326 | 436 |
public void onEntriesDeleted(List<String> addresses) throws RemoteException { |
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
437 |
// TODO Auto-generated method stub |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
438 |
|
252 | 439 |
} |
440 |
||
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
441 |
@Override |
326 | 442 |
public void onEntriesUpdated(List<String> addresses) throws RemoteException { |
443 |
// TODO Auto-generated method stub |
|
444 |
||
445 |
} |
|
371 | 446 |
|
370 | 447 |
@Override |
390
d9737e4bc517
debut de la gestion du disconnect
Nikita Kozlov <nikita@beem-project.com>
parents:
371
diff
changeset
|
448 |
public void onEntryDeleteFromGroup(String group, String jid) throws RemoteException { |
370 | 449 |
// TODO Auto-generated method stub |
371 | 450 |
|
390
d9737e4bc517
debut de la gestion du disconnect
Nikita Kozlov <nikita@beem-project.com>
parents:
371
diff
changeset
|
451 |
} |
371 | 452 |
|
326 | 453 |
@Override |
454 |
public void onPresenceChanged(PresenceAdapter presence) throws RemoteException { |
|
455 |
if (mContact.getJID().equals(StringUtils.parseBareAddress(presence.getFrom()))) { |
|
456 |
mContact.setStatus(mRoster.getPresence(StringUtils.parseBareAddress(presence.getFrom()))); |
|
461
17300b201cf5
Modification de l'UI de la contact list et de sendim.
dasilvj
parents:
451
diff
changeset
|
457 |
Log.d("SENDIM -- onPresenceChanged", "Contact current status: " + mContact.getStatus() + ""); |
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
458 |
mHandler.post(new RunnableChange()); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
459 |
} |
251 | 460 |
} |
236
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
233
diff
changeset
|
461 |
|
345 | 462 |
/** |
463 |
* Runnable to change the status displayed. |
|
464 |
*/ |
|
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
465 |
private class RunnableChange implements Runnable { |
345 | 466 |
|
467 |
/** |
|
468 |
* Constructor. |
|
469 |
*/ |
|
450
fe0ba62ee3ff
Correction de l'ensemble des erreurs de CheckStyle.
dasilvj
parents:
420
diff
changeset
|
470 |
public RunnableChange() { |
fe0ba62ee3ff
Correction de l'ensemble des erreurs de CheckStyle.
dasilvj
parents:
420
diff
changeset
|
471 |
} |
345 | 472 |
|
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
473 |
@Override |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
474 |
public void run() { |
466
c689a113b9f8
- Changement des icones du launcher et de la status bar.
dasilvj
parents:
461
diff
changeset
|
475 |
updateStatusIcon(); |
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
476 |
mStatusText.setText(mContact.getMsgState()); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
477 |
Linkify.addLinks(mStatusText, Linkify.WEB_URLS); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
478 |
} |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
479 |
} |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
480 |
|
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
481 |
} |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
482 |
|
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
483 |
/** |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
484 |
* Listener for new chat messages. |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
485 |
* @author darisk |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
486 |
*/ |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
487 |
private class OnMessageListener extends IMessageListener.Stub { |
346 | 488 |
|
345 | 489 |
/** |
490 |
* Constructor. |
|
491 |
*/ |
|
450
fe0ba62ee3ff
Correction de l'ensemble des erreurs de CheckStyle.
dasilvj
parents:
420
diff
changeset
|
492 |
public OnMessageListener() { |
fe0ba62ee3ff
Correction de l'ensemble des erreurs de CheckStyle.
dasilvj
parents:
420
diff
changeset
|
493 |
} |
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
494 |
|
251 | 495 |
/** |
496 |
* {@inheritDoc} |
|
497 |
*/ |
|
498 |
@Override |
|
326 | 499 |
public void processMessage(IChat chat, Message msg) throws RemoteException { |
236
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
233
diff
changeset
|
500 |
|
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
501 |
if (chat != mChat) |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
502 |
return; |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
503 |
final Message m = msg; |
295
66c7566e4caa
Affichage du ChatState dans IM pas terrible
Philippe Lago <lago_p@epitech.net>
parents:
286
diff
changeset
|
504 |
Log.d("Message Type", "Le type du message : " + m.getType()); |
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
505 |
mHandler.post(new Runnable() { |
236
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
233
diff
changeset
|
506 |
|
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
507 |
@Override |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
508 |
public void run() { |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
509 |
if (m.getBody() != null) { |
295
66c7566e4caa
Affichage du ChatState dans IM pas terrible
Philippe Lago <lago_p@epitech.net>
parents:
286
diff
changeset
|
510 |
if (m.getType() == Message.MSG_TYPE_ERROR) { |
309
5c39c01e2a42
Fixes a little problem with internationalization
Da Risk <darisk972@gmail.com>
parents:
299
diff
changeset
|
511 |
mText.append(getString(R.string.SendIMErrorMsg, m.getBody())); |
295
66c7566e4caa
Affichage du ChatState dans IM pas terrible
Philippe Lago <lago_p@epitech.net>
parents:
286
diff
changeset
|
512 |
mSpeak = 0; |
66c7566e4caa
Affichage du ChatState dans IM pas terrible
Philippe Lago <lago_p@epitech.net>
parents:
286
diff
changeset
|
513 |
} else if (mSpeak == 2) |
309
5c39c01e2a42
Fixes a little problem with internationalization
Da Risk <darisk972@gmail.com>
parents:
299
diff
changeset
|
514 |
mText.append(getString(R.string.SendIMSameSpeaker, m.getBody())); |
5c39c01e2a42
Fixes a little problem with internationalization
Da Risk <darisk972@gmail.com>
parents:
299
diff
changeset
|
515 |
else |
468
f2f16274b696
- Modification de la methode setName dans la classe Contact afin de gerer le cas ou le contact n'aurait pas d'alias.
dasilvj
parents:
466
diff
changeset
|
516 |
mText.append(getString(R.string.SendIMSays, mContact.getName(), m.getBody())); |
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
517 |
mScrolling.fullScroll(ScrollView.FOCUS_DOWN); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
518 |
mToSend.requestFocus(); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
519 |
mSpeak = 2; |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
520 |
} |
236
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
233
diff
changeset
|
521 |
} |
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
522 |
}); |
236
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
233
diff
changeset
|
523 |
} |
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
233
diff
changeset
|
524 |
|
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
233
diff
changeset
|
525 |
/** |
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
233
diff
changeset
|
526 |
* {@inheritDoc} |
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
233
diff
changeset
|
527 |
*/ |
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
233
diff
changeset
|
528 |
@Override |
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
529 |
public void stateChanged(IChat chat) throws RemoteException { |
295
66c7566e4caa
Affichage du ChatState dans IM pas terrible
Philippe Lago <lago_p@epitech.net>
parents:
286
diff
changeset
|
530 |
if (chat != mChat) |
66c7566e4caa
Affichage du ChatState dans IM pas terrible
Philippe Lago <lago_p@epitech.net>
parents:
286
diff
changeset
|
531 |
return; |
326 | 532 |
Log.d("ChatState", "Action du correspondant : <--- " + chat.getState() + " --->"); |
295
66c7566e4caa
Affichage du ChatState dans IM pas terrible
Philippe Lago <lago_p@epitech.net>
parents:
286
diff
changeset
|
533 |
mHandler.post(new Runnable() { |
66c7566e4caa
Affichage du ChatState dans IM pas terrible
Philippe Lago <lago_p@epitech.net>
parents:
286
diff
changeset
|
534 |
|
66c7566e4caa
Affichage du ChatState dans IM pas terrible
Philippe Lago <lago_p@epitech.net>
parents:
286
diff
changeset
|
535 |
@Override |
66c7566e4caa
Affichage du ChatState dans IM pas terrible
Philippe Lago <lago_p@epitech.net>
parents:
286
diff
changeset
|
536 |
public void run() { |
66c7566e4caa
Affichage du ChatState dans IM pas terrible
Philippe Lago <lago_p@epitech.net>
parents:
286
diff
changeset
|
537 |
} |
66c7566e4caa
Affichage du ChatState dans IM pas terrible
Philippe Lago <lago_p@epitech.net>
parents:
286
diff
changeset
|
538 |
}); |
236
23647e075321
Re arrangemetn de certains fichiers !!
marseille@marseille-desktop
parents:
233
diff
changeset
|
539 |
} |
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
252
diff
changeset
|
540 |
} |
25 | 541 |
} |