author | "Vincent Veronis" |
Sun, 27 Feb 2011 12:42:19 +0100 | |
changeset 867 | 11136daa9e81 |
parent 866 | 0173963643d1 |
child 885 | 7b5e29b3603b |
permissions | -rw-r--r-- |
577 | 1 |
/* |
567 | 2 |
BEEM is a videoconference application on the Android Platform. |
3 |
||
4 |
Copyright (C) 2009 by Frederic-Charles Barthelery, |
|
5 |
Jean-Manuel Da Silva, |
|
6 |
Nikita Kozlov, |
|
7 |
Philippe Lago, |
|
8 |
Jean Baptiste Vergely, |
|
577 | 9 |
Vincent Veronis. |
567 | 10 |
|
11 |
This file is part of BEEM. |
|
12 |
||
13 |
BEEM is free software: you can redistribute it and/or modify |
|
14 |
it under the terms of the GNU General Public License as published by |
|
15 |
the Free Software Foundation, either version 3 of the License, or |
|
16 |
(at your option) any later version. |
|
17 |
||
18 |
BEEM is distributed in the hope that it will be useful, |
|
19 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
20 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
21 |
GNU General Public License for more details. |
|
22 |
||
23 |
You should have received a copy of the GNU General Public License |
|
24 |
along with BEEM. If not, see <http://www.gnu.org/licenses/>. |
|
25 |
||
26 |
Please send bug reports with examples or suggestions to |
|
27 |
contact@beem-project.com or http://dev.beem-project.com/ |
|
28 |
||
577 | 29 |
Epitech, hereby disclaims all copyright interest in the program "Beem" |
567 | 30 |
written by Frederic-Charles Barthelery, |
31 |
Jean-Manuel Da Silva, |
|
32 |
Nikita Kozlov, |
|
33 |
Philippe Lago, |
|
34 |
Jean Baptiste Vergely, |
|
35 |
Vincent Veronis. |
|
36 |
||
37 |
Nicolas Sadirac, November 26, 2009 |
|
38 |
President of Epitech. |
|
39 |
||
40 |
Flavien Astraud, November 26, 2009 |
|
41 |
Head of the EIP Laboratory. |
|
42 |
||
833 | 43 |
*/ |
480
eb6f1fbea903
Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff
changeset
|
44 |
package com.beem.project.beem.ui; |
eb6f1fbea903
Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff
changeset
|
45 |
|
789
236c54f9145d
Feature #255: adding a chat list button in contact list menu
Nikita Kozlov <nikita@mbdsys.com>
parents:
774
diff
changeset
|
46 |
import java.text.DateFormat; |
493 | 47 |
import java.util.ArrayList; |
789
236c54f9145d
Feature #255: adding a chat list button in contact list menu
Nikita Kozlov <nikita@mbdsys.com>
parents:
774
diff
changeset
|
48 |
import java.util.Date; |
493 | 49 |
import java.util.HashMap; |
480
eb6f1fbea903
Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff
changeset
|
50 |
import java.util.List; |
493 | 51 |
import java.util.Map; |
866
0173963643d1
Use a content resolver to get the avatar in UI.
Da Risk <darisk972@gmail.com>
parents:
859
diff
changeset
|
52 |
import java.io.InputStream; |
0173963643d1
Use a content resolver to get the avatar in UI.
Da Risk <darisk972@gmail.com>
parents:
859
diff
changeset
|
53 |
import java.io.IOException; |
493 | 54 |
|
826
ac719bcb0f25
Compact Chat window support + options in settings
"Vincent Veronis"
parents:
789
diff
changeset
|
55 |
import org.jivesoftware.smack.packet.Presence.Mode; |
493 | 56 |
import org.jivesoftware.smack.util.StringUtils; |
480
eb6f1fbea903
Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff
changeset
|
57 |
|
eb6f1fbea903
Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff
changeset
|
58 |
import android.app.Activity; |
789
236c54f9145d
Feature #255: adding a chat list button in contact list menu
Nikita Kozlov <nikita@mbdsys.com>
parents:
774
diff
changeset
|
59 |
import android.app.Dialog; |
480
eb6f1fbea903
Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff
changeset
|
60 |
import android.content.ComponentName; |
eb6f1fbea903
Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff
changeset
|
61 |
import android.content.Intent; |
eb6f1fbea903
Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff
changeset
|
62 |
import android.content.IntentFilter; |
eb6f1fbea903
Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff
changeset
|
63 |
import android.content.ServiceConnection; |
826
ac719bcb0f25
Compact Chat window support + options in settings
"Vincent Veronis"
parents:
789
diff
changeset
|
64 |
import android.content.SharedPreferences; |
840
01807f5df796
Reinsert avatar on chat activity. the support was removed in a bad merge.
Da Risk <darisk972@gmail.com>
parents:
833
diff
changeset
|
65 |
import android.graphics.drawable.Drawable; |
01807f5df796
Reinsert avatar on chat activity. the support was removed in a bad merge.
Da Risk <darisk972@gmail.com>
parents:
833
diff
changeset
|
66 |
import android.graphics.drawable.LayerDrawable; |
493 | 67 |
import android.graphics.Bitmap; |
68 |
import android.graphics.BitmapFactory; |
|
500
4da77df8f950
Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
493
diff
changeset
|
69 |
import android.graphics.Color; |
866
0173963643d1
Use a content resolver to get the avatar in UI.
Da Risk <darisk972@gmail.com>
parents:
859
diff
changeset
|
70 |
import android.net.Uri; |
480
eb6f1fbea903
Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff
changeset
|
71 |
import android.os.Bundle; |
eb6f1fbea903
Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff
changeset
|
72 |
import android.os.Handler; |
eb6f1fbea903
Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff
changeset
|
73 |
import android.os.IBinder; |
eb6f1fbea903
Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff
changeset
|
74 |
import android.os.RemoteException; |
826
ac719bcb0f25
Compact Chat window support + options in settings
"Vincent Veronis"
parents:
789
diff
changeset
|
75 |
import android.preference.PreferenceManager; |
493 | 76 |
import android.text.util.Linkify; |
480
eb6f1fbea903
Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff
changeset
|
77 |
import android.util.Log; |
500
4da77df8f950
Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
493
diff
changeset
|
78 |
import android.view.KeyEvent; |
653
e94abef6120c
Add some displaying of error in chat activity
Da Risk <darisk972@gmail.com>
parents:
643
diff
changeset
|
79 |
import android.view.LayoutInflater; |
508
7d8da3df2907
Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
503
diff
changeset
|
80 |
import android.view.Menu; |
7d8da3df2907
Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
503
diff
changeset
|
81 |
import android.view.MenuInflater; |
7d8da3df2907
Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
503
diff
changeset
|
82 |
import android.view.MenuItem; |
493 | 83 |
import android.view.View; |
827 | 84 |
import android.view.ViewGroup; |
517
fd6c52c23165
Ajout du bouton "Envoyer" dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
514
diff
changeset
|
85 |
import android.view.View.OnClickListener; |
500
4da77df8f950
Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
493
diff
changeset
|
86 |
import android.view.View.OnKeyListener; |
493 | 87 |
import android.widget.BaseAdapter; |
517
fd6c52c23165
Ajout du bouton "Envoyer" dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
514
diff
changeset
|
88 |
import android.widget.Button; |
480
eb6f1fbea903
Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff
changeset
|
89 |
import android.widget.EditText; |
493 | 90 |
import android.widget.ImageView; |
91 |
import android.widget.ListView; |
|
480
eb6f1fbea903
Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff
changeset
|
92 |
import android.widget.TextView; |
eb6f1fbea903
Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff
changeset
|
93 |
|
840
01807f5df796
Reinsert avatar on chat activity. the support was removed in a bad merge.
Da Risk <darisk972@gmail.com>
parents:
833
diff
changeset
|
94 |
|
480
eb6f1fbea903
Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff
changeset
|
95 |
import com.beem.project.beem.R; |
866
0173963643d1
Use a content resolver to get the avatar in UI.
Da Risk <darisk972@gmail.com>
parents:
859
diff
changeset
|
96 |
import com.beem.project.beem.providers.AvatarProvider; |
480
eb6f1fbea903
Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff
changeset
|
97 |
import com.beem.project.beem.service.Contact; |
eb6f1fbea903
Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff
changeset
|
98 |
import com.beem.project.beem.service.Message; |
eb6f1fbea903
Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff
changeset
|
99 |
import com.beem.project.beem.service.PresenceAdapter; |
eb6f1fbea903
Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff
changeset
|
100 |
import com.beem.project.beem.service.aidl.IBeemRosterListener; |
eb6f1fbea903
Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff
changeset
|
101 |
import com.beem.project.beem.service.aidl.IChat; |
493 | 102 |
import com.beem.project.beem.service.aidl.IChatManager; |
789
236c54f9145d
Feature #255: adding a chat list button in contact list menu
Nikita Kozlov <nikita@mbdsys.com>
parents:
774
diff
changeset
|
103 |
import com.beem.project.beem.service.aidl.IChatManagerListener; |
480
eb6f1fbea903
Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff
changeset
|
104 |
import com.beem.project.beem.service.aidl.IMessageListener; |
eb6f1fbea903
Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff
changeset
|
105 |
import com.beem.project.beem.service.aidl.IRoster; |
eb6f1fbea903
Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff
changeset
|
106 |
import com.beem.project.beem.service.aidl.IXmppFacade; |
789
236c54f9145d
Feature #255: adding a chat list button in contact list menu
Nikita Kozlov <nikita@mbdsys.com>
parents:
774
diff
changeset
|
107 |
import com.beem.project.beem.ui.dialogs.builders.ChatList; |
480
eb6f1fbea903
Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff
changeset
|
108 |
import com.beem.project.beem.utils.BeemBroadcastReceiver; |
493 | 109 |
import com.beem.project.beem.utils.Status; |
480
eb6f1fbea903
Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff
changeset
|
110 |
|
514
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
111 |
/** |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
112 |
* This class represents an activity which allows the user to chat with his/her contacts. |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
113 |
* @author Jean-Manuel Da Silva <dasilvj at beem-project dot com> |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
114 |
*/ |
500
4da77df8f950
Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
493
diff
changeset
|
115 |
public class Chat extends Activity implements OnKeyListener { |
493 | 116 |
|
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
117 |
private static final String TAG = "Chat"; |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
118 |
private static final Intent SERVICE_INTENT = new Intent(); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
119 |
static { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
120 |
SERVICE_INTENT.setComponent(new ComponentName("com.beem.project.beem", "com.beem.project.beem.BeemService")); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
121 |
} |
584
72d9d76900af
Fix many bugs and memory leak
Da Risk <darisk972@gmail.com>
parents:
577
diff
changeset
|
122 |
private Handler mHandler = new Handler(); |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
123 |
|
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
124 |
private IRoster mRoster; |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
125 |
private Contact mContact; |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
126 |
|
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
127 |
private TextView mContactNameTextView; |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
128 |
private TextView mContactStatusMsgTextView; |
704
e310d3275d5d
Finish reception of Chat State message.
Da Risk <darisk972@gmail.com>
parents:
698
diff
changeset
|
129 |
private TextView mContactChatState; |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
130 |
private ImageView mContactStatusIcon; |
840
01807f5df796
Reinsert avatar on chat activity. the support was removed in a bad merge.
Da Risk <darisk972@gmail.com>
parents:
833
diff
changeset
|
131 |
private LayerDrawable mAvatarStatusDrawable; |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
132 |
private ListView mMessagesListView; |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
133 |
private EditText mInputField; |
517
fd6c52c23165
Ajout du bouton "Envoyer" dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
514
diff
changeset
|
134 |
private Button mSendButton; |
514
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
135 |
private final Map<Integer, Bitmap> mStatusIconsMap = new HashMap<Integer, Bitmap>(); |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
136 |
|
514
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
137 |
private final List<MessageText> mListMessages = new ArrayList<MessageText>(); |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
138 |
|
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
139 |
private IChat mChat; |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
140 |
private IChatManager mChatManager; |
584
72d9d76900af
Fix many bugs and memory leak
Da Risk <darisk972@gmail.com>
parents:
577
diff
changeset
|
141 |
private final IMessageListener mMessageListener = new OnMessageListener(); |
674
af23f43cf6e3
Create the Chat only when we send or receive a message
Da Risk <darisk972@gmail.com>
parents:
661
diff
changeset
|
142 |
private final IChatManagerListener mChatManagerListener = new ChatManagerListener(); |
584
72d9d76900af
Fix many bugs and memory leak
Da Risk <darisk972@gmail.com>
parents:
577
diff
changeset
|
143 |
private MessagesListAdapter mMessagesListAdapter = new MessagesListAdapter(); |
500
4da77df8f950
Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
493
diff
changeset
|
144 |
|
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
145 |
private final ServiceConnection mConn = new BeemServiceConnection(); |
584
72d9d76900af
Fix many bugs and memory leak
Da Risk <darisk972@gmail.com>
parents:
577
diff
changeset
|
146 |
private final BeemBroadcastReceiver mBroadcastReceiver = new BeemBroadcastReceiver(); |
72d9d76900af
Fix many bugs and memory leak
Da Risk <darisk972@gmail.com>
parents:
577
diff
changeset
|
147 |
private final BeemRosterListener mBeemRosterListener = new BeemRosterListener(); |
72d9d76900af
Fix many bugs and memory leak
Da Risk <darisk972@gmail.com>
parents:
577
diff
changeset
|
148 |
private IXmppFacade mXmppFacade; |
866
0173963643d1
Use a content resolver to get the avatar in UI.
Da Risk <darisk972@gmail.com>
parents:
859
diff
changeset
|
149 |
private String mCurrentAvatarId; |
741 | 150 |
private boolean mBinded; |
826
ac719bcb0f25
Compact Chat window support + options in settings
"Vincent Veronis"
parents:
789
diff
changeset
|
151 |
private boolean mCompact; |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
152 |
|
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
153 |
/** |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
154 |
* Constructor. |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
155 |
*/ |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
156 |
public Chat() { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
157 |
super(); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
158 |
} |
480
eb6f1fbea903
Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff
changeset
|
159 |
|
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
160 |
/** |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
161 |
* {@inheritDoc}. |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
162 |
*/ |
514
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
163 |
@Override |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
164 |
protected void onCreate(Bundle savedBundle) { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
165 |
super.onCreate(savedBundle); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
166 |
this.registerReceiver(mBroadcastReceiver, new IntentFilter(BeemBroadcastReceiver.BEEM_CONNECTION_CLOSED)); |
826
ac719bcb0f25
Compact Chat window support + options in settings
"Vincent Veronis"
parents:
789
diff
changeset
|
167 |
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this); |
ac719bcb0f25
Compact Chat window support + options in settings
"Vincent Veronis"
parents:
789
diff
changeset
|
168 |
mCompact = settings.getBoolean("settings_chat_compact_key", false); |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
169 |
// UI |
826
ac719bcb0f25
Compact Chat window support + options in settings
"Vincent Veronis"
parents:
789
diff
changeset
|
170 |
if (!mCompact) { |
ac719bcb0f25
Compact Chat window support + options in settings
"Vincent Veronis"
parents:
789
diff
changeset
|
171 |
setContentView(R.layout.chat); |
ac719bcb0f25
Compact Chat window support + options in settings
"Vincent Veronis"
parents:
789
diff
changeset
|
172 |
mContactNameTextView = (TextView) findViewById(R.id.chat_contact_name); |
ac719bcb0f25
Compact Chat window support + options in settings
"Vincent Veronis"
parents:
789
diff
changeset
|
173 |
mContactStatusMsgTextView = (TextView) findViewById(R.id.chat_contact_status_msg); |
ac719bcb0f25
Compact Chat window support + options in settings
"Vincent Veronis"
parents:
789
diff
changeset
|
174 |
mContactChatState = (TextView) findViewById(R.id.chat_contact_chat_state); |
ac719bcb0f25
Compact Chat window support + options in settings
"Vincent Veronis"
parents:
789
diff
changeset
|
175 |
mContactStatusIcon = (ImageView) findViewById(R.id.chat_contact_status_icon); |
840
01807f5df796
Reinsert avatar on chat activity. the support was removed in a bad merge.
Da Risk <darisk972@gmail.com>
parents:
833
diff
changeset
|
176 |
mAvatarStatusDrawable = (LayerDrawable) mContactStatusIcon.getDrawable(); |
01807f5df796
Reinsert avatar on chat activity. the support was removed in a bad merge.
Da Risk <darisk972@gmail.com>
parents:
833
diff
changeset
|
177 |
mAvatarStatusDrawable.setLayerInset(1, 36, 36, 0, 0); |
826
ac719bcb0f25
Compact Chat window support + options in settings
"Vincent Veronis"
parents:
789
diff
changeset
|
178 |
} else { |
ac719bcb0f25
Compact Chat window support + options in settings
"Vincent Veronis"
parents:
789
diff
changeset
|
179 |
setContentView(R.layout.chat_compact); |
ac719bcb0f25
Compact Chat window support + options in settings
"Vincent Veronis"
parents:
789
diff
changeset
|
180 |
} |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
181 |
mMessagesListView = (ListView) findViewById(R.id.chat_messages); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
182 |
mMessagesListView.setAdapter(mMessagesListAdapter); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
183 |
mInputField = (EditText) findViewById(R.id.chat_input); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
184 |
mInputField.setOnKeyListener(this); |
766
ca06684fb92f
Make chat input area grab focus by default.
Nolan Darilek <nolan@thewordnerd.info>
parents:
761
diff
changeset
|
185 |
mInputField.requestFocus(); |
517
fd6c52c23165
Ajout du bouton "Envoyer" dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
514
diff
changeset
|
186 |
mSendButton = (Button) findViewById(R.id.chat_send_message); |
fd6c52c23165
Ajout du bouton "Envoyer" dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
514
diff
changeset
|
187 |
mSendButton.setOnClickListener(new OnClickListener() { |
fd6c52c23165
Ajout du bouton "Envoyer" dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
514
diff
changeset
|
188 |
@Override |
fd6c52c23165
Ajout du bouton "Envoyer" dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
514
diff
changeset
|
189 |
public void onClick(View v) { |
fd6c52c23165
Ajout du bouton "Envoyer" dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
514
diff
changeset
|
190 |
sendMessage(); |
fd6c52c23165
Ajout du bouton "Envoyer" dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
514
diff
changeset
|
191 |
} |
fd6c52c23165
Ajout du bouton "Envoyer" dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
514
diff
changeset
|
192 |
}); |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
193 |
prepareIconsStatus(); |
584
72d9d76900af
Fix many bugs and memory leak
Da Risk <darisk972@gmail.com>
parents:
577
diff
changeset
|
194 |
} |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
195 |
|
584
72d9d76900af
Fix many bugs and memory leak
Da Risk <darisk972@gmail.com>
parents:
577
diff
changeset
|
196 |
@Override |
629 | 197 |
protected void onResume() { |
198 |
super.onResume(); |
|
674
af23f43cf6e3
Create the Chat only when we send or receive a message
Da Risk <darisk972@gmail.com>
parents:
661
diff
changeset
|
199 |
mContact = new Contact(getIntent().getData()); |
741 | 200 |
if (!mBinded) { |
584
72d9d76900af
Fix many bugs and memory leak
Da Risk <darisk972@gmail.com>
parents:
577
diff
changeset
|
201 |
bindService(SERVICE_INTENT, mConn, BIND_AUTO_CREATE); |
741 | 202 |
mBinded = true; |
203 |
} |
|
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
204 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
205 |
|
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
206 |
/** |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
207 |
* {@inheritDoc}. |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
208 |
*/ |
514
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
209 |
@Override |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
210 |
protected void onDestroy() { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
211 |
super.onDestroy(); |
573
a67f46ac98b1
Modification de la gestion des Dialogs dans l'activité PrivacyList.
jamu@gaia
parents:
567
diff
changeset
|
212 |
this.unregisterReceiver(mBroadcastReceiver); |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
213 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
214 |
|
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
215 |
/** |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
216 |
* {@inheritDoc}. |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
217 |
*/ |
514
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
218 |
@Override |
629 | 219 |
protected void onPause() { |
220 |
super.onPause(); |
|
584
72d9d76900af
Fix many bugs and memory leak
Da Risk <darisk972@gmail.com>
parents:
577
diff
changeset
|
221 |
try { |
72d9d76900af
Fix many bugs and memory leak
Da Risk <darisk972@gmail.com>
parents:
577
diff
changeset
|
222 |
if (mChat != null) { |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
223 |
mChat.setOpen(false); |
584
72d9d76900af
Fix many bugs and memory leak
Da Risk <darisk972@gmail.com>
parents:
577
diff
changeset
|
224 |
mChat.removeMessageListener(mMessageListener); |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
225 |
} |
584
72d9d76900af
Fix many bugs and memory leak
Da Risk <darisk972@gmail.com>
parents:
577
diff
changeset
|
226 |
if (mRoster != null) |
72d9d76900af
Fix many bugs and memory leak
Da Risk <darisk972@gmail.com>
parents:
577
diff
changeset
|
227 |
mRoster.removeRosterListener(mBeemRosterListener); |
674
af23f43cf6e3
Create the Chat only when we send or receive a message
Da Risk <darisk972@gmail.com>
parents:
661
diff
changeset
|
228 |
if (mChatManager != null) |
af23f43cf6e3
Create the Chat only when we send or receive a message
Da Risk <darisk972@gmail.com>
parents:
661
diff
changeset
|
229 |
mChatManager.removeChatCreationListener(mChatManagerListener); |
584
72d9d76900af
Fix many bugs and memory leak
Da Risk <darisk972@gmail.com>
parents:
577
diff
changeset
|
230 |
} catch (RemoteException e) { |
72d9d76900af
Fix many bugs and memory leak
Da Risk <darisk972@gmail.com>
parents:
577
diff
changeset
|
231 |
Log.e(TAG, e.getMessage()); |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
232 |
} |
741 | 233 |
if (mBinded) { |
698
887ac14c045b
add a little check when unbinding the service.
Da Risk <darisk972@gmail.com>
parents:
691
diff
changeset
|
234 |
unbindService(mConn); |
741 | 235 |
mBinded = false; |
236 |
} |
|
584
72d9d76900af
Fix many bugs and memory leak
Da Risk <darisk972@gmail.com>
parents:
577
diff
changeset
|
237 |
mXmppFacade = null; |
72d9d76900af
Fix many bugs and memory leak
Da Risk <darisk972@gmail.com>
parents:
577
diff
changeset
|
238 |
mRoster = null; |
72d9d76900af
Fix many bugs and memory leak
Da Risk <darisk972@gmail.com>
parents:
577
diff
changeset
|
239 |
mChat = null; |
72d9d76900af
Fix many bugs and memory leak
Da Risk <darisk972@gmail.com>
parents:
577
diff
changeset
|
240 |
mChatManager = null; |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
241 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
242 |
|
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
243 |
/** |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
244 |
* {@inheritDoc}. |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
245 |
*/ |
514
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
246 |
@Override |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
247 |
protected void onNewIntent(Intent intent) { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
248 |
super.onNewIntent(intent); |
629 | 249 |
setIntent(intent); |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
250 |
} |
500
4da77df8f950
Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
493
diff
changeset
|
251 |
|
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
252 |
/** |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
253 |
* {@inheritDoc}. |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
254 |
*/ |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
255 |
@Override |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
256 |
protected void onSaveInstanceState(Bundle savedInstanceState) { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
257 |
super.onSaveInstanceState(savedInstanceState); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
258 |
} |
500
4da77df8f950
Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
493
diff
changeset
|
259 |
|
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
260 |
/** |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
261 |
* {@inheritDoc}. |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
262 |
*/ |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
263 |
@Override |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
264 |
protected void onRestoreInstanceState(Bundle savedInstanceState) { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
265 |
super.onRestoreInstanceState(savedInstanceState); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
266 |
} |
500
4da77df8f950
Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
493
diff
changeset
|
267 |
|
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
268 |
/** |
508
7d8da3df2907
Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
503
diff
changeset
|
269 |
* {@inheritDoc}. |
7d8da3df2907
Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
503
diff
changeset
|
270 |
*/ |
7d8da3df2907
Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
503
diff
changeset
|
271 |
@Override |
7d8da3df2907
Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
503
diff
changeset
|
272 |
public final boolean onCreateOptionsMenu(Menu menu) { |
7d8da3df2907
Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
503
diff
changeset
|
273 |
super.onCreateOptionsMenu(menu); |
7d8da3df2907
Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
503
diff
changeset
|
274 |
MenuInflater inflater = getMenuInflater(); |
7d8da3df2907
Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
503
diff
changeset
|
275 |
inflater.inflate(R.menu.chat, menu); |
7d8da3df2907
Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
503
diff
changeset
|
276 |
return true; |
7d8da3df2907
Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
503
diff
changeset
|
277 |
} |
7d8da3df2907
Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
503
diff
changeset
|
278 |
|
7d8da3df2907
Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
503
diff
changeset
|
279 |
/** |
7d8da3df2907
Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
503
diff
changeset
|
280 |
* {@inheritDoc}. |
7d8da3df2907
Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
503
diff
changeset
|
281 |
*/ |
7d8da3df2907
Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
503
diff
changeset
|
282 |
@Override |
7d8da3df2907
Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
503
diff
changeset
|
283 |
public final boolean onOptionsItemSelected(MenuItem item) { |
7d8da3df2907
Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
503
diff
changeset
|
284 |
switch (item.getItemId()) { |
7d8da3df2907
Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
503
diff
changeset
|
285 |
case R.id.chat_menu_contacts_list: |
7d8da3df2907
Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
503
diff
changeset
|
286 |
Intent contactListIntent = new Intent(this, ContactList.class); |
7d8da3df2907
Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
503
diff
changeset
|
287 |
contactListIntent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT | Intent.FLAG_ACTIVITY_SINGLE_TOP); |
7d8da3df2907
Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
503
diff
changeset
|
288 |
startActivity(contactListIntent); |
589 | 289 |
break; |
508
7d8da3df2907
Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
503
diff
changeset
|
290 |
case R.id.chat_menu_change_chat: |
7d8da3df2907
Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
503
diff
changeset
|
291 |
try { |
7d8da3df2907
Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
503
diff
changeset
|
292 |
final List<Contact> openedChats = mChatManager.getOpenedChatList(); |
772 | 293 |
Log.d(TAG, "opened chats = " + openedChats); |
789
236c54f9145d
Feature #255: adding a chat list button in contact list menu
Nikita Kozlov <nikita@mbdsys.com>
parents:
774
diff
changeset
|
294 |
Dialog chatList = new ChatList(Chat.this, openedChats).create(); |
236c54f9145d
Feature #255: adding a chat list button in contact list menu
Nikita Kozlov <nikita@mbdsys.com>
parents:
774
diff
changeset
|
295 |
chatList.show(); |
508
7d8da3df2907
Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
503
diff
changeset
|
296 |
} catch (RemoteException e) { |
7d8da3df2907
Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
503
diff
changeset
|
297 |
Log.e(TAG, e.getMessage()); |
7d8da3df2907
Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
503
diff
changeset
|
298 |
} |
589 | 299 |
break; |
509
18217d0805d7
Ajout d'une petite gestion d'erreur
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
508
diff
changeset
|
300 |
case R.id.chat_menu_close_chat: |
18217d0805d7
Ajout d'une petite gestion d'erreur
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
508
diff
changeset
|
301 |
try { |
18217d0805d7
Ajout d'une petite gestion d'erreur
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
508
diff
changeset
|
302 |
mChatManager.destroyChat(mChat); |
18217d0805d7
Ajout d'une petite gestion d'erreur
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
508
diff
changeset
|
303 |
} catch (RemoteException e) { |
18217d0805d7
Ajout d'une petite gestion d'erreur
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
508
diff
changeset
|
304 |
Log.e(TAG, e.getMessage()); |
18217d0805d7
Ajout d'une petite gestion d'erreur
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
508
diff
changeset
|
305 |
} |
18217d0805d7
Ajout d'une petite gestion d'erreur
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
508
diff
changeset
|
306 |
this.finish(); |
589 | 307 |
break; |
508
7d8da3df2907
Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
503
diff
changeset
|
308 |
default: |
7d8da3df2907
Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
503
diff
changeset
|
309 |
return false; |
7d8da3df2907
Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
503
diff
changeset
|
310 |
} |
589 | 311 |
return true; |
508
7d8da3df2907
Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
503
diff
changeset
|
312 |
} |
7d8da3df2907
Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
503
diff
changeset
|
313 |
|
7d8da3df2907
Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
503
diff
changeset
|
314 |
/** |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
315 |
* Change the displayed chat. |
514
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
316 |
* @param contact the targeted contact of the new chat |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
317 |
* @throws RemoteException If a Binder remote-invocation error occurred. |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
318 |
*/ |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
319 |
private void changeCurrentChat(Contact contact) throws RemoteException { |
584
72d9d76900af
Fix many bugs and memory leak
Da Risk <darisk972@gmail.com>
parents:
577
diff
changeset
|
320 |
if (mChat != null) { |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
321 |
mChat.setOpen(false); |
584
72d9d76900af
Fix many bugs and memory leak
Da Risk <darisk972@gmail.com>
parents:
577
diff
changeset
|
322 |
mChat.removeMessageListener(mMessageListener); |
72d9d76900af
Fix many bugs and memory leak
Da Risk <darisk972@gmail.com>
parents:
577
diff
changeset
|
323 |
} |
674
af23f43cf6e3
Create the Chat only when we send or receive a message
Da Risk <darisk972@gmail.com>
parents:
661
diff
changeset
|
324 |
mChat = mChatManager.getChat(contact); |
677
b8d5e0378bcb
Checkstyle et checkstyle plus mechant ^^
Da Risk <darisk972@gmail.com>
parents:
675
diff
changeset
|
325 |
if (mChat != null) { |
674
af23f43cf6e3
Create the Chat only when we send or receive a message
Da Risk <darisk972@gmail.com>
parents:
661
diff
changeset
|
326 |
mChat.setOpen(true); |
af23f43cf6e3
Create the Chat only when we send or receive a message
Da Risk <darisk972@gmail.com>
parents:
661
diff
changeset
|
327 |
mChat.addMessageListener(mMessageListener); |
677
b8d5e0378bcb
Checkstyle et checkstyle plus mechant ^^
Da Risk <darisk972@gmail.com>
parents:
675
diff
changeset
|
328 |
mChatManager.deleteChatNotification(mChat); |
674
af23f43cf6e3
Create the Chat only when we send or receive a message
Da Risk <darisk972@gmail.com>
parents:
661
diff
changeset
|
329 |
} |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
330 |
mContact = mRoster.getContact(contact.getJID()); |
713
b4333628a4a3
beginning on chat by resource integration and a small fix for the TrustStore
Nikita Kozlov <nikita@beem-project.com>
parents:
705
diff
changeset
|
331 |
String res = contact.getSelectedRes(); |
643
335e1eb21cec
Fix a bug when the contact is not in your roster.
Da Risk <darisk972@gmail.com>
parents:
642
diff
changeset
|
332 |
if (mContact == null) |
335e1eb21cec
Fix a bug when the contact is not in your roster.
Da Risk <darisk972@gmail.com>
parents:
642
diff
changeset
|
333 |
mContact = contact; |
713
b4333628a4a3
beginning on chat by resource integration and a small fix for the TrustStore
Nikita Kozlov <nikita@beem-project.com>
parents:
705
diff
changeset
|
334 |
if (!"".equals(res)) { |
b4333628a4a3
beginning on chat by resource integration and a small fix for the TrustStore
Nikita Kozlov <nikita@beem-project.com>
parents:
705
diff
changeset
|
335 |
mContact.setSelectedRes(res); |
b4333628a4a3
beginning on chat by resource integration and a small fix for the TrustStore
Nikita Kozlov <nikita@beem-project.com>
parents:
705
diff
changeset
|
336 |
} |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
337 |
updateContactInformations(); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
338 |
updateContactStatusIcon(); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
339 |
|
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
340 |
playRegisteredTranscript(); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
341 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
342 |
|
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
343 |
/** |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
344 |
* Get all messages from the current chat and refresh the activity with them. |
514
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
345 |
* @throws RemoteException If a Binder remote-invocation error occurred. |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
346 |
*/ |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
347 |
private void playRegisteredTranscript() throws RemoteException { |
584
72d9d76900af
Fix many bugs and memory leak
Da Risk <darisk972@gmail.com>
parents:
577
diff
changeset
|
348 |
mListMessages.clear(); |
674
af23f43cf6e3
Create the Chat only when we send or receive a message
Da Risk <darisk972@gmail.com>
parents:
661
diff
changeset
|
349 |
if (mChat != null) { |
af23f43cf6e3
Create the Chat only when we send or receive a message
Da Risk <darisk972@gmail.com>
parents:
661
diff
changeset
|
350 |
List<MessageText> msgList = convertMessagesList(mChat.getMessages()); |
af23f43cf6e3
Create the Chat only when we send or receive a message
Da Risk <darisk972@gmail.com>
parents:
661
diff
changeset
|
351 |
mListMessages.addAll(msgList); |
af23f43cf6e3
Create the Chat only when we send or receive a message
Da Risk <darisk972@gmail.com>
parents:
661
diff
changeset
|
352 |
mMessagesListAdapter.notifyDataSetChanged(); |
af23f43cf6e3
Create the Chat only when we send or receive a message
Da Risk <darisk972@gmail.com>
parents:
661
diff
changeset
|
353 |
} |
653
e94abef6120c
Add some displaying of error in chat activity
Da Risk <darisk972@gmail.com>
parents:
643
diff
changeset
|
354 |
} |
e94abef6120c
Add some displaying of error in chat activity
Da Risk <darisk972@gmail.com>
parents:
643
diff
changeset
|
355 |
|
654 | 356 |
/** |
714
40190c2be90b
some improvement in resource management, ready to test
Nikita Kozlov <nikita@beem-project.com>
parents:
713
diff
changeset
|
357 |
* Convert a list of Message coming from the service to a list of MessageText that can be displayed in UI. |
654 | 358 |
* @param chatMessages the list of Message |
359 |
* @return a list of message that can be displayed. |
|
360 |
*/ |
|
653
e94abef6120c
Add some displaying of error in chat activity
Da Risk <darisk972@gmail.com>
parents:
643
diff
changeset
|
361 |
private List<MessageText> convertMessagesList(List<Message> chatMessages) { |
e94abef6120c
Add some displaying of error in chat activity
Da Risk <darisk972@gmail.com>
parents:
643
diff
changeset
|
362 |
List<MessageText> result = new ArrayList<MessageText>(chatMessages.size()); |
e94abef6120c
Add some displaying of error in chat activity
Da Risk <darisk972@gmail.com>
parents:
643
diff
changeset
|
363 |
String remoteName = mContact.getName(); |
e94abef6120c
Add some displaying of error in chat activity
Da Risk <darisk972@gmail.com>
parents:
643
diff
changeset
|
364 |
String localName = getString(R.string.chat_self); |
584
72d9d76900af
Fix many bugs and memory leak
Da Risk <darisk972@gmail.com>
parents:
577
diff
changeset
|
365 |
MessageText lastMessage = null; |
500
4da77df8f950
Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
493
diff
changeset
|
366 |
|
584
72d9d76900af
Fix many bugs and memory leak
Da Risk <darisk972@gmail.com>
parents:
577
diff
changeset
|
367 |
for (Message m : chatMessages) { |
653
e94abef6120c
Add some displaying of error in chat activity
Da Risk <darisk972@gmail.com>
parents:
643
diff
changeset
|
368 |
String name = remoteName; |
e94abef6120c
Add some displaying of error in chat activity
Da Risk <darisk972@gmail.com>
parents:
643
diff
changeset
|
369 |
String fromBareJid = StringUtils.parseBareAddress(m.getFrom()); |
e94abef6120c
Add some displaying of error in chat activity
Da Risk <darisk972@gmail.com>
parents:
643
diff
changeset
|
370 |
if (m.getType() == Message.MSG_TYPE_ERROR) { |
e94abef6120c
Add some displaying of error in chat activity
Da Risk <darisk972@gmail.com>
parents:
643
diff
changeset
|
371 |
lastMessage = null; |
772 | 372 |
result.add(new MessageText(fromBareJid, name, m.getBody(), true, m.getTimestamp())); |
653
e94abef6120c
Add some displaying of error in chat activity
Da Risk <darisk972@gmail.com>
parents:
643
diff
changeset
|
373 |
} else if (m.getType() == Message.MSG_TYPE_CHAT) { |
e94abef6120c
Add some displaying of error in chat activity
Da Risk <darisk972@gmail.com>
parents:
643
diff
changeset
|
374 |
if (fromBareJid == null) { //nofrom or from == yours |
e94abef6120c
Add some displaying of error in chat activity
Da Risk <darisk972@gmail.com>
parents:
643
diff
changeset
|
375 |
name = localName; |
661
c6f9f2fcaf06
fix some bugs in the chat activity
Da Risk <darisk972@gmail.com>
parents:
659
diff
changeset
|
376 |
fromBareJid = ""; |
653
e94abef6120c
Add some displaying of error in chat activity
Da Risk <darisk972@gmail.com>
parents:
643
diff
changeset
|
377 |
} |
661
c6f9f2fcaf06
fix some bugs in the chat activity
Da Risk <darisk972@gmail.com>
parents:
659
diff
changeset
|
378 |
|
653
e94abef6120c
Add some displaying of error in chat activity
Da Risk <darisk972@gmail.com>
parents:
643
diff
changeset
|
379 |
if (m.getBody() != null) { |
677
b8d5e0378bcb
Checkstyle et checkstyle plus mechant ^^
Da Risk <darisk972@gmail.com>
parents:
675
diff
changeset
|
380 |
if (lastMessage == null || !fromBareJid.equals(lastMessage.getBareJid())) { |
772 | 381 |
lastMessage = new MessageText(fromBareJid, name, m.getBody(), false, m.getTimestamp()); |
653
e94abef6120c
Add some displaying of error in chat activity
Da Risk <darisk972@gmail.com>
parents:
643
diff
changeset
|
382 |
result.add(lastMessage); |
e94abef6120c
Add some displaying of error in chat activity
Da Risk <darisk972@gmail.com>
parents:
643
diff
changeset
|
383 |
} else { |
e94abef6120c
Add some displaying of error in chat activity
Da Risk <darisk972@gmail.com>
parents:
643
diff
changeset
|
384 |
lastMessage.setMessage(lastMessage.getMessage().concat("\n" + m.getBody())); |
e94abef6120c
Add some displaying of error in chat activity
Da Risk <darisk972@gmail.com>
parents:
643
diff
changeset
|
385 |
} |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
386 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
387 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
388 |
} |
653
e94abef6120c
Add some displaying of error in chat activity
Da Risk <darisk972@gmail.com>
parents:
643
diff
changeset
|
389 |
return result; |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
390 |
} |
500
4da77df8f950
Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
493
diff
changeset
|
391 |
|
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
392 |
/** |
514
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
393 |
* {@inheritDoc}. |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
394 |
*/ |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
395 |
private final class BeemServiceConnection implements ServiceConnection { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
396 |
|
599 | 397 |
/** |
398 |
* Constructor. |
|
399 |
*/ |
|
691
c775b32927ed
* Added some Javadoc to fix the checkstyle issues
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
677
diff
changeset
|
400 |
public BeemServiceConnection() { |
c775b32927ed
* Added some Javadoc to fix the checkstyle issues
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
677
diff
changeset
|
401 |
} |
500
4da77df8f950
Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
493
diff
changeset
|
402 |
|
4da77df8f950
Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
493
diff
changeset
|
403 |
/** |
4da77df8f950
Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
493
diff
changeset
|
404 |
* {@inheritDoc}. |
4da77df8f950
Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
493
diff
changeset
|
405 |
*/ |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
406 |
@Override |
589 | 407 |
public void onServiceConnected(ComponentName name, IBinder service) { |
408 |
mXmppFacade = IXmppFacade.Stub.asInterface(service); |
|
409 |
try { |
|
691
c775b32927ed
* Added some Javadoc to fix the checkstyle issues
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
677
diff
changeset
|
410 |
mRoster = mXmppFacade.getRoster(); |
c775b32927ed
* Added some Javadoc to fix the checkstyle issues
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
677
diff
changeset
|
411 |
if (mRoster != null) |
634
bac4b1927a08
Use relative layout in chat activity.
Da Risk <darisk972@gmail.com>
parents:
629
diff
changeset
|
412 |
mRoster.addRosterListener(mBeemRosterListener); |
691
c775b32927ed
* Added some Javadoc to fix the checkstyle issues
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
677
diff
changeset
|
413 |
mChatManager = mXmppFacade.getChatManager(); |
c775b32927ed
* Added some Javadoc to fix the checkstyle issues
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents:
677
diff
changeset
|
414 |
if (mChatManager != null) { |
674
af23f43cf6e3
Create the Chat only when we send or receive a message
Da Risk <darisk972@gmail.com>
parents:
661
diff
changeset
|
415 |
mChatManager.addChatCreationListener(mChatManagerListener); |
634
bac4b1927a08
Use relative layout in chat activity.
Da Risk <darisk972@gmail.com>
parents:
629
diff
changeset
|
416 |
changeCurrentChat(mContact); |
674
af23f43cf6e3
Create the Chat only when we send or receive a message
Da Risk <darisk972@gmail.com>
parents:
661
diff
changeset
|
417 |
} |
589 | 418 |
} catch (RemoteException e) { |
419 |
Log.e(TAG, e.getMessage()); |
|
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
420 |
} |
589 | 421 |
} |
501
d52918cfaba7
Corrections des problèmes de l´activité Chat.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
500
diff
changeset
|
422 |
|
500
4da77df8f950
Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
493
diff
changeset
|
423 |
/** |
4da77df8f950
Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
493
diff
changeset
|
424 |
* {@inheritDoc}. |
4da77df8f950
Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
493
diff
changeset
|
425 |
*/ |
4da77df8f950
Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
493
diff
changeset
|
426 |
@Override |
589 | 427 |
public void onServiceDisconnected(ComponentName name) { |
428 |
mXmppFacade = null; |
|
429 |
try { |
|
430 |
mRoster.removeRosterListener(mBeemRosterListener); |
|
674
af23f43cf6e3
Create the Chat only when we send or receive a message
Da Risk <darisk972@gmail.com>
parents:
661
diff
changeset
|
431 |
mChatManager.removeChatCreationListener(mChatManagerListener); |
589 | 432 |
} catch (RemoteException e) { |
433 |
Log.e(TAG, e.getMessage()); |
|
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
434 |
} |
589 | 435 |
} |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
436 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
437 |
|
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
438 |
/** |
514
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
439 |
* {@inheritDoc}. |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
440 |
*/ |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
441 |
private class BeemRosterListener extends IBeemRosterListener.Stub { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
442 |
|
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
443 |
/** |
589 | 444 |
* Constructor. |
445 |
*/ |
|
446 |
public BeemRosterListener() { |
|
447 |
} |
|
448 |
||
449 |
/** |
|
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
450 |
* {@inheritDoc}. |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
451 |
*/ |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
452 |
@Override |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
453 |
public void onEntriesAdded(List<String> addresses) throws RemoteException { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
454 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
455 |
|
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
456 |
/** |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
457 |
* {@inheritDoc}. |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
458 |
*/ |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
459 |
@Override |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
460 |
public void onEntriesDeleted(List<String> addresses) throws RemoteException { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
461 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
462 |
|
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
463 |
/** |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
464 |
* {@inheritDoc}. |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
465 |
*/ |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
466 |
@Override |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
467 |
public void onEntriesUpdated(List<String> addresses) throws RemoteException { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
468 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
469 |
|
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
470 |
/** |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
471 |
* {@inheritDoc}. |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
472 |
*/ |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
473 |
@Override |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
474 |
public void onPresenceChanged(final PresenceAdapter presence) throws RemoteException { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
475 |
if (mContact.getJID().equals(StringUtils.parseBareAddress(presence.getFrom()))) { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
476 |
mHandler.post(new Runnable() { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
477 |
@Override |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
478 |
public void run() { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
479 |
mContact.setStatus(presence.getStatus()); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
480 |
mContact.setMsgState(presence.getStatusText()); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
481 |
updateContactInformations(); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
482 |
updateContactStatusIcon(); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
483 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
484 |
}); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
485 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
486 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
487 |
} |
501
d52918cfaba7
Corrections des problèmes de l´activité Chat.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
500
diff
changeset
|
488 |
|
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
489 |
/** |
514
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
490 |
* {@inheritDoc}. |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
491 |
*/ |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
492 |
private class OnMessageListener extends IMessageListener.Stub { |
502
3091acfe31f4
Ajout d´un status par default quelque soit l´activité.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
501
diff
changeset
|
493 |
|
501
d52918cfaba7
Corrections des problèmes de l´activité Chat.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
500
diff
changeset
|
494 |
/** |
589 | 495 |
* Constructor. |
496 |
*/ |
|
497 |
public OnMessageListener() { |
|
498 |
} |
|
499 |
||
500 |
/** |
|
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
501 |
* {@inheritDoc}. |
501
d52918cfaba7
Corrections des problèmes de l´activité Chat.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
500
diff
changeset
|
502 |
*/ |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
503 |
@Override |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
504 |
public void processMessage(IChat chat, final Message msg) throws RemoteException { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
505 |
final String fromBareJid = StringUtils.parseBareAddress(msg.getFrom()); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
506 |
|
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
507 |
if (mContact.getJID().equals(fromBareJid)) { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
508 |
mHandler.post(new Runnable() { |
502
3091acfe31f4
Ajout d´un status par default quelque soit l´activité.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
501
diff
changeset
|
509 |
|
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
510 |
@Override |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
511 |
public void run() { |
661
c6f9f2fcaf06
fix some bugs in the chat activity
Da Risk <darisk972@gmail.com>
parents:
659
diff
changeset
|
512 |
if (msg.getType() == Message.MSG_TYPE_ERROR) { |
828 | 513 |
mListMessages.add(new MessageText(fromBareJid, mContact.getName(), |
514 |
msg.getBody(), true, msg.getTimestamp())); |
|
661
c6f9f2fcaf06
fix some bugs in the chat activity
Da Risk <darisk972@gmail.com>
parents:
659
diff
changeset
|
515 |
mMessagesListAdapter.notifyDataSetChanged(); |
677
b8d5e0378bcb
Checkstyle et checkstyle plus mechant ^^
Da Risk <darisk972@gmail.com>
parents:
675
diff
changeset
|
516 |
} else if (msg.getBody() != null) { |
705 | 517 |
MessageText lastMessage = null; |
518 |
if (mListMessages.size() != 0) |
|
519 |
lastMessage = mListMessages.get(mListMessages.size() - 1); |
|
501
d52918cfaba7
Corrections des problèmes de l´activité Chat.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
500
diff
changeset
|
520 |
|
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
521 |
if (lastMessage != null && lastMessage.getBareJid().equals(fromBareJid)) { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
522 |
lastMessage.setMessage(lastMessage.getMessage().concat("\n" + msg.getBody())); |
772 | 523 |
lastMessage.setTimestamp(msg.getTimestamp()); |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
524 |
mListMessages.set(mListMessages.size() - 1, lastMessage); |
584
72d9d76900af
Fix many bugs and memory leak
Da Risk <darisk972@gmail.com>
parents:
577
diff
changeset
|
525 |
} else if (msg.getBody() != null) |
828 | 526 |
mListMessages.add(new MessageText(fromBareJid, mContact.getName(), |
527 |
msg.getBody(), false, msg.getTimestamp())); |
|
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
528 |
mMessagesListAdapter.notifyDataSetChanged(); |
501
d52918cfaba7
Corrections des problèmes de l´activité Chat.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
500
diff
changeset
|
529 |
} |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
530 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
531 |
}); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
532 |
} |
501
d52918cfaba7
Corrections des problèmes de l´activité Chat.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
500
diff
changeset
|
533 |
} |
d52918cfaba7
Corrections des problèmes de l´activité Chat.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
500
diff
changeset
|
534 |
|
d52918cfaba7
Corrections des problèmes de l´activité Chat.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
500
diff
changeset
|
535 |
/** |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
536 |
* {@inheritDoc}. |
500
4da77df8f950
Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
493
diff
changeset
|
537 |
*/ |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
538 |
@Override |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
539 |
public void stateChanged(IChat chat) throws RemoteException { |
704
e310d3275d5d
Finish reception of Chat State message.
Da Risk <darisk972@gmail.com>
parents:
698
diff
changeset
|
540 |
final String state = chat.getState(); |
e310d3275d5d
Finish reception of Chat State message.
Da Risk <darisk972@gmail.com>
parents:
698
diff
changeset
|
541 |
mHandler.post(new Runnable() { |
e310d3275d5d
Finish reception of Chat State message.
Da Risk <darisk972@gmail.com>
parents:
698
diff
changeset
|
542 |
@Override |
e310d3275d5d
Finish reception of Chat State message.
Da Risk <darisk972@gmail.com>
parents:
698
diff
changeset
|
543 |
public void run() { |
e310d3275d5d
Finish reception of Chat State message.
Da Risk <darisk972@gmail.com>
parents:
698
diff
changeset
|
544 |
String text = null; |
e310d3275d5d
Finish reception of Chat State message.
Da Risk <darisk972@gmail.com>
parents:
698
diff
changeset
|
545 |
if ("active".equals(state)) { |
e310d3275d5d
Finish reception of Chat State message.
Da Risk <darisk972@gmail.com>
parents:
698
diff
changeset
|
546 |
text = Chat.this.getString(R.string.chat_state_active); |
e310d3275d5d
Finish reception of Chat State message.
Da Risk <darisk972@gmail.com>
parents:
698
diff
changeset
|
547 |
} else if ("composing".equals(state)) { |
e310d3275d5d
Finish reception of Chat State message.
Da Risk <darisk972@gmail.com>
parents:
698
diff
changeset
|
548 |
text = Chat.this.getString(R.string.chat_state_composing); |
e310d3275d5d
Finish reception of Chat State message.
Da Risk <darisk972@gmail.com>
parents:
698
diff
changeset
|
549 |
} else if ("gone".equals(state)) { |
e310d3275d5d
Finish reception of Chat State message.
Da Risk <darisk972@gmail.com>
parents:
698
diff
changeset
|
550 |
text = Chat.this.getString(R.string.chat_state_gone); |
e310d3275d5d
Finish reception of Chat State message.
Da Risk <darisk972@gmail.com>
parents:
698
diff
changeset
|
551 |
} else if ("inactive".equals(state)) { |
e310d3275d5d
Finish reception of Chat State message.
Da Risk <darisk972@gmail.com>
parents:
698
diff
changeset
|
552 |
text = Chat.this.getString(R.string.chat_state_inactive); |
e310d3275d5d
Finish reception of Chat State message.
Da Risk <darisk972@gmail.com>
parents:
698
diff
changeset
|
553 |
} else if ("paused".equals(state)) { |
e310d3275d5d
Finish reception of Chat State message.
Da Risk <darisk972@gmail.com>
parents:
698
diff
changeset
|
554 |
text = Chat.this.getString(R.string.chat_state_active); |
e310d3275d5d
Finish reception of Chat State message.
Da Risk <darisk972@gmail.com>
parents:
698
diff
changeset
|
555 |
} |
826
ac719bcb0f25
Compact Chat window support + options in settings
"Vincent Veronis"
parents:
789
diff
changeset
|
556 |
if (!mCompact) |
ac719bcb0f25
Compact Chat window support + options in settings
"Vincent Veronis"
parents:
789
diff
changeset
|
557 |
mContactChatState.setText(text); |
704
e310d3275d5d
Finish reception of Chat State message.
Da Risk <darisk972@gmail.com>
parents:
698
diff
changeset
|
558 |
} |
e310d3275d5d
Finish reception of Chat State message.
Da Risk <darisk972@gmail.com>
parents:
698
diff
changeset
|
559 |
}); |
e310d3275d5d
Finish reception of Chat State message.
Da Risk <darisk972@gmail.com>
parents:
698
diff
changeset
|
560 |
|
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
561 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
562 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
563 |
|
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
564 |
/** |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
565 |
* Update the contact informations. |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
566 |
*/ |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
567 |
private void updateContactInformations() { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
568 |
// Check for a contact name update |
713
b4333628a4a3
beginning on chat by resource integration and a small fix for the TrustStore
Nikita Kozlov <nikita@beem-project.com>
parents:
705
diff
changeset
|
569 |
String name = mContact.getName(); |
b4333628a4a3
beginning on chat by resource integration and a small fix for the TrustStore
Nikita Kozlov <nikita@beem-project.com>
parents:
705
diff
changeset
|
570 |
String res = mContact.getSelectedRes(); |
b4333628a4a3
beginning on chat by resource integration and a small fix for the TrustStore
Nikita Kozlov <nikita@beem-project.com>
parents:
705
diff
changeset
|
571 |
if (!"".equals(res)) |
b4333628a4a3
beginning on chat by resource integration and a small fix for the TrustStore
Nikita Kozlov <nikita@beem-project.com>
parents:
705
diff
changeset
|
572 |
name += "(" + res + ")"; |
826
ac719bcb0f25
Compact Chat window support + options in settings
"Vincent Veronis"
parents:
789
diff
changeset
|
573 |
if (!mCompact) { |
ac719bcb0f25
Compact Chat window support + options in settings
"Vincent Veronis"
parents:
789
diff
changeset
|
574 |
if (!(mContactNameTextView.getText().toString().equals(name))) |
ac719bcb0f25
Compact Chat window support + options in settings
"Vincent Veronis"
parents:
789
diff
changeset
|
575 |
mContactNameTextView.setText(name); |
ac719bcb0f25
Compact Chat window support + options in settings
"Vincent Veronis"
parents:
789
diff
changeset
|
576 |
//Check for a contact status message update |
ac719bcb0f25
Compact Chat window support + options in settings
"Vincent Veronis"
parents:
789
diff
changeset
|
577 |
if (!(mContactStatusMsgTextView.getText().toString().equals(mContact.getMsgState()))) { |
ac719bcb0f25
Compact Chat window support + options in settings
"Vincent Veronis"
parents:
789
diff
changeset
|
578 |
mContactStatusMsgTextView.setText(mContact.getMsgState()); |
ac719bcb0f25
Compact Chat window support + options in settings
"Vincent Veronis"
parents:
789
diff
changeset
|
579 |
Linkify.addLinks(mContactStatusMsgTextView, Linkify.WEB_URLS); |
ac719bcb0f25
Compact Chat window support + options in settings
"Vincent Veronis"
parents:
789
diff
changeset
|
580 |
} |
ac719bcb0f25
Compact Chat window support + options in settings
"Vincent Veronis"
parents:
789
diff
changeset
|
581 |
} else { |
ac719bcb0f25
Compact Chat window support + options in settings
"Vincent Veronis"
parents:
789
diff
changeset
|
582 |
Mode m = Status.getPresenceModeFromStatus(mContact.getStatus()); |
867
11136daa9e81
Fix crash on chat with disconnected contact
"Vincent Veronis"
parents:
866
diff
changeset
|
583 |
if (m == null) |
11136daa9e81
Fix crash on chat with disconnected contact
"Vincent Veronis"
parents:
866
diff
changeset
|
584 |
setTitle(getString(R.string.chat_name) + " " + name |
11136daa9e81
Fix crash on chat with disconnected contact
"Vincent Veronis"
parents:
866
diff
changeset
|
585 |
+ " (" + getString(R.string.contact_status_msg_offline) + ")"); |
11136daa9e81
Fix crash on chat with disconnected contact
"Vincent Veronis"
parents:
866
diff
changeset
|
586 |
else |
11136daa9e81
Fix crash on chat with disconnected contact
"Vincent Veronis"
parents:
866
diff
changeset
|
587 |
setTitle(getString(R.string.chat_name) + " " + name + " (" + m.name() + ")"); |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
588 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
589 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
590 |
|
840
01807f5df796
Reinsert avatar on chat activity. the support was removed in a bad merge.
Da Risk <darisk972@gmail.com>
parents:
833
diff
changeset
|
591 |
|
01807f5df796
Reinsert avatar on chat activity. the support was removed in a bad merge.
Da Risk <darisk972@gmail.com>
parents:
833
diff
changeset
|
592 |
|
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
593 |
/** |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
594 |
* Update the contact status icon. |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
595 |
*/ |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
596 |
private void updateContactStatusIcon() { |
840
01807f5df796
Reinsert avatar on chat activity. the support was removed in a bad merge.
Da Risk <darisk972@gmail.com>
parents:
833
diff
changeset
|
597 |
if (mCompact) |
841 | 598 |
return; |
866
0173963643d1
Use a content resolver to get the avatar in UI.
Da Risk <darisk972@gmail.com>
parents:
859
diff
changeset
|
599 |
String id = mContact.getAvatarId(); |
0173963643d1
Use a content resolver to get the avatar in UI.
Da Risk <darisk972@gmail.com>
parents:
859
diff
changeset
|
600 |
if (id == null) |
0173963643d1
Use a content resolver to get the avatar in UI.
Da Risk <darisk972@gmail.com>
parents:
859
diff
changeset
|
601 |
id = ""; |
0173963643d1
Use a content resolver to get the avatar in UI.
Da Risk <darisk972@gmail.com>
parents:
859
diff
changeset
|
602 |
Log.d(TAG, "update contact icon : " + id); |
0173963643d1
Use a content resolver to get the avatar in UI.
Da Risk <darisk972@gmail.com>
parents:
859
diff
changeset
|
603 |
if (!id.equals(mCurrentAvatarId)) { |
0173963643d1
Use a content resolver to get the avatar in UI.
Da Risk <darisk972@gmail.com>
parents:
859
diff
changeset
|
604 |
Drawable avatar = getAvatarDrawable(mContact.getAvatarId()); |
0173963643d1
Use a content resolver to get the avatar in UI.
Da Risk <darisk972@gmail.com>
parents:
859
diff
changeset
|
605 |
mAvatarStatusDrawable.setDrawableByLayerId(R.id.avatar, avatar); |
0173963643d1
Use a content resolver to get the avatar in UI.
Da Risk <darisk972@gmail.com>
parents:
859
diff
changeset
|
606 |
mCurrentAvatarId = id; |
0173963643d1
Use a content resolver to get the avatar in UI.
Da Risk <darisk972@gmail.com>
parents:
859
diff
changeset
|
607 |
} |
840
01807f5df796
Reinsert avatar on chat activity. the support was removed in a bad merge.
Da Risk <darisk972@gmail.com>
parents:
833
diff
changeset
|
608 |
mContactStatusIcon.setImageLevel(mContact.getStatus()); |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
609 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
610 |
|
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
611 |
/** |
840
01807f5df796
Reinsert avatar on chat activity. the support was removed in a bad merge.
Da Risk <darisk972@gmail.com>
parents:
833
diff
changeset
|
612 |
* Get a Drawable containing the avatar icon. |
01807f5df796
Reinsert avatar on chat activity. the support was removed in a bad merge.
Da Risk <darisk972@gmail.com>
parents:
833
diff
changeset
|
613 |
* |
01807f5df796
Reinsert avatar on chat activity. the support was removed in a bad merge.
Da Risk <darisk972@gmail.com>
parents:
833
diff
changeset
|
614 |
* @param avatarId the avatar id to retrieve or null to get default |
01807f5df796
Reinsert avatar on chat activity. the support was removed in a bad merge.
Da Risk <darisk972@gmail.com>
parents:
833
diff
changeset
|
615 |
* @return a Drawable |
01807f5df796
Reinsert avatar on chat activity. the support was removed in a bad merge.
Da Risk <darisk972@gmail.com>
parents:
833
diff
changeset
|
616 |
*/ |
01807f5df796
Reinsert avatar on chat activity. the support was removed in a bad merge.
Da Risk <darisk972@gmail.com>
parents:
833
diff
changeset
|
617 |
private Drawable getAvatarDrawable(String avatarId) { |
01807f5df796
Reinsert avatar on chat activity. the support was removed in a bad merge.
Da Risk <darisk972@gmail.com>
parents:
833
diff
changeset
|
618 |
Drawable avatarDrawable = null; |
866
0173963643d1
Use a content resolver to get the avatar in UI.
Da Risk <darisk972@gmail.com>
parents:
859
diff
changeset
|
619 |
if (avatarId != null) { |
0173963643d1
Use a content resolver to get the avatar in UI.
Da Risk <darisk972@gmail.com>
parents:
859
diff
changeset
|
620 |
Uri uri = AvatarProvider.CONTENT_URI.buildUpon().appendPath(avatarId).build(); |
0173963643d1
Use a content resolver to get the avatar in UI.
Da Risk <darisk972@gmail.com>
parents:
859
diff
changeset
|
621 |
InputStream in = null; |
0173963643d1
Use a content resolver to get the avatar in UI.
Da Risk <darisk972@gmail.com>
parents:
859
diff
changeset
|
622 |
try { |
0173963643d1
Use a content resolver to get the avatar in UI.
Da Risk <darisk972@gmail.com>
parents:
859
diff
changeset
|
623 |
try { |
0173963643d1
Use a content resolver to get the avatar in UI.
Da Risk <darisk972@gmail.com>
parents:
859
diff
changeset
|
624 |
in = getContentResolver().openInputStream(uri); |
0173963643d1
Use a content resolver to get the avatar in UI.
Da Risk <darisk972@gmail.com>
parents:
859
diff
changeset
|
625 |
avatarDrawable = Drawable.createFromStream(in, avatarId); |
0173963643d1
Use a content resolver to get the avatar in UI.
Da Risk <darisk972@gmail.com>
parents:
859
diff
changeset
|
626 |
} finally { |
0173963643d1
Use a content resolver to get the avatar in UI.
Da Risk <darisk972@gmail.com>
parents:
859
diff
changeset
|
627 |
if (in != null) |
0173963643d1
Use a content resolver to get the avatar in UI.
Da Risk <darisk972@gmail.com>
parents:
859
diff
changeset
|
628 |
in.close(); |
0173963643d1
Use a content resolver to get the avatar in UI.
Da Risk <darisk972@gmail.com>
parents:
859
diff
changeset
|
629 |
} |
0173963643d1
Use a content resolver to get the avatar in UI.
Da Risk <darisk972@gmail.com>
parents:
859
diff
changeset
|
630 |
} catch (IOException e) { |
0173963643d1
Use a content resolver to get the avatar in UI.
Da Risk <darisk972@gmail.com>
parents:
859
diff
changeset
|
631 |
Log.w(TAG, "Error while setting the avatar", e); |
840
01807f5df796
Reinsert avatar on chat activity. the support was removed in a bad merge.
Da Risk <darisk972@gmail.com>
parents:
833
diff
changeset
|
632 |
} |
01807f5df796
Reinsert avatar on chat activity. the support was removed in a bad merge.
Da Risk <darisk972@gmail.com>
parents:
833
diff
changeset
|
633 |
} |
01807f5df796
Reinsert avatar on chat activity. the support was removed in a bad merge.
Da Risk <darisk972@gmail.com>
parents:
833
diff
changeset
|
634 |
if (avatarDrawable == null) |
01807f5df796
Reinsert avatar on chat activity. the support was removed in a bad merge.
Da Risk <darisk972@gmail.com>
parents:
833
diff
changeset
|
635 |
avatarDrawable = getResources().getDrawable(R.drawable.beem_launcher_icon_silver); |
01807f5df796
Reinsert avatar on chat activity. the support was removed in a bad merge.
Da Risk <darisk972@gmail.com>
parents:
833
diff
changeset
|
636 |
return avatarDrawable; |
866
0173963643d1
Use a content resolver to get the avatar in UI.
Da Risk <darisk972@gmail.com>
parents:
859
diff
changeset
|
637 |
} |
840
01807f5df796
Reinsert avatar on chat activity. the support was removed in a bad merge.
Da Risk <darisk972@gmail.com>
parents:
833
diff
changeset
|
638 |
|
01807f5df796
Reinsert avatar on chat activity. the support was removed in a bad merge.
Da Risk <darisk972@gmail.com>
parents:
833
diff
changeset
|
639 |
/** |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
640 |
* Prepare the status icons map. |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
641 |
*/ |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
642 |
private void prepareIconsStatus() { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
643 |
mStatusIconsMap.put(Status.CONTACT_STATUS_AVAILABLE, BitmapFactory.decodeResource(getResources(), |
605
bccd99644eac
Change the image for status in the chat activity.
Da Risk <darisk972@gmail.com>
parents:
603
diff
changeset
|
644 |
android.R.drawable.presence_online)); |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
645 |
mStatusIconsMap.put(Status.CONTACT_STATUS_AVAILABLE_FOR_CHAT, BitmapFactory.decodeResource(getResources(), |
605
bccd99644eac
Change the image for status in the chat activity.
Da Risk <darisk972@gmail.com>
parents:
603
diff
changeset
|
646 |
android.R.drawable.presence_online)); |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
647 |
mStatusIconsMap.put(Status.CONTACT_STATUS_AWAY, BitmapFactory.decodeResource(getResources(), |
605
bccd99644eac
Change the image for status in the chat activity.
Da Risk <darisk972@gmail.com>
parents:
603
diff
changeset
|
648 |
android.R.drawable.presence_away)); |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
649 |
mStatusIconsMap.put(Status.CONTACT_STATUS_BUSY, BitmapFactory.decodeResource(getResources(), |
605
bccd99644eac
Change the image for status in the chat activity.
Da Risk <darisk972@gmail.com>
parents:
603
diff
changeset
|
650 |
android.R.drawable.presence_busy)); |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
651 |
mStatusIconsMap.put(Status.CONTACT_STATUS_DISCONNECT, BitmapFactory.decodeResource(getResources(), |
605
bccd99644eac
Change the image for status in the chat activity.
Da Risk <darisk972@gmail.com>
parents:
603
diff
changeset
|
652 |
android.R.drawable.presence_offline)); |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
653 |
mStatusIconsMap.put(Status.CONTACT_STATUS_UNAVAILABLE, BitmapFactory.decodeResource(getResources(), |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
654 |
R.drawable.status_requested)); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
655 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
656 |
|
514
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
657 |
/** |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
658 |
* {@inheritDoc}. |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
659 |
*/ |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
660 |
private class MessagesListAdapter extends BaseAdapter { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
661 |
|
514
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
662 |
/** |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
663 |
* Constructor. |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
664 |
*/ |
584
72d9d76900af
Fix many bugs and memory leak
Da Risk <darisk972@gmail.com>
parents:
577
diff
changeset
|
665 |
public MessagesListAdapter() { |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
666 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
667 |
|
514
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
668 |
/** |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
669 |
* Returns the number of messages contained in the messages list. |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
670 |
* @return The number of messages contained in the messages list. |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
671 |
*/ |
653
e94abef6120c
Add some displaying of error in chat activity
Da Risk <darisk972@gmail.com>
parents:
643
diff
changeset
|
672 |
@Override |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
673 |
public int getCount() { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
674 |
return mListMessages.size(); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
675 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
676 |
|
514
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
677 |
/** |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
678 |
* Return an item from the messages list that is positioned at the position passed by parameter. |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
679 |
* @param position The position of the requested item. |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
680 |
* @return The item from the messages list at the requested position. |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
681 |
*/ |
653
e94abef6120c
Add some displaying of error in chat activity
Da Risk <darisk972@gmail.com>
parents:
643
diff
changeset
|
682 |
@Override |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
683 |
public Object getItem(int position) { |
653
e94abef6120c
Add some displaying of error in chat activity
Da Risk <darisk972@gmail.com>
parents:
643
diff
changeset
|
684 |
return mListMessages.get(position); |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
685 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
686 |
|
514
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
687 |
/** |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
688 |
* Return the id of an item from the messages list that is positioned at the position passed by parameter. |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
689 |
* @param position The position of the requested item. |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
690 |
* @return The id of an item from the messages list at the requested position. |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
691 |
*/ |
653
e94abef6120c
Add some displaying of error in chat activity
Da Risk <darisk972@gmail.com>
parents:
643
diff
changeset
|
692 |
@Override |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
693 |
public long getItemId(int position) { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
694 |
return position; |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
695 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
696 |
|
514
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
697 |
/** |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
698 |
* Return the view of an item from the messages list. |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
699 |
* @param position The position of the requested item. |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
700 |
* @param convertView The old view to reuse if possible. |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
701 |
* @param parent The parent that this view will eventually be attached to. |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
702 |
* @return A View corresponding to the data at the specified position. |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
703 |
*/ |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
704 |
public View getView(int position, View convertView, ViewGroup parent) { |
653
e94abef6120c
Add some displaying of error in chat activity
Da Risk <darisk972@gmail.com>
parents:
643
diff
changeset
|
705 |
View sv; |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
706 |
if (convertView == null) { |
653
e94abef6120c
Add some displaying of error in chat activity
Da Risk <darisk972@gmail.com>
parents:
643
diff
changeset
|
707 |
LayoutInflater inflater = Chat.this.getLayoutInflater(); |
826
ac719bcb0f25
Compact Chat window support + options in settings
"Vincent Veronis"
parents:
789
diff
changeset
|
708 |
sv = inflater.inflate(R.layout.chat_msg_row, null); |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
709 |
} else { |
653
e94abef6120c
Add some displaying of error in chat activity
Da Risk <darisk972@gmail.com>
parents:
643
diff
changeset
|
710 |
sv = convertView; |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
711 |
} |
826
ac719bcb0f25
Compact Chat window support + options in settings
"Vincent Veronis"
parents:
789
diff
changeset
|
712 |
DateFormat df = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.MEDIUM); |
653
e94abef6120c
Add some displaying of error in chat activity
Da Risk <darisk972@gmail.com>
parents:
643
diff
changeset
|
713 |
MessageText msg = mListMessages.get(position); |
859 | 714 |
TextView msgName = (TextView) sv.findViewById(R.id.chatmessagename); |
715 |
msgName.setText(msg.getName()); |
|
716 |
msgName.setTextColor(Color.WHITE); |
|
717 |
msgName.setError(null); |
|
718 |
TextView msgText = (TextView) sv.findViewById(R.id.chatmessagetext); |
|
719 |
msgText.setText(msg.getMessage()); |
|
720 |
registerForContextMenu(msgText); |
|
721 |
TextView msgDate = (TextView) sv.findViewById(R.id.chatmessagedate); |
|
722 |
String date = df.format(msg.getTimestamp()); |
|
723 |
msgDate.setText(date); |
|
724 |
if (msg.isError()) { |
|
725 |
String err = getString(R.string.chat_error); |
|
726 |
msgName.setText(err); |
|
727 |
msgName.setTextColor(Color.RED); |
|
728 |
msgName.setError(err); |
|
653
e94abef6120c
Add some displaying of error in chat activity
Da Risk <darisk972@gmail.com>
parents:
643
diff
changeset
|
729 |
} |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
730 |
return sv; |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
731 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
732 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
733 |
|
514
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
734 |
/** |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
735 |
* Class which simplify an Xmpp text message. |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
736 |
* @author Jean-Manuel Da Silva <dasilvj at beem-project dot com> |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
737 |
*/ |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
738 |
private class MessageText { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
739 |
private String mBareJid; |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
740 |
private String mName; |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
741 |
private String mMessage; |
653
e94abef6120c
Add some displaying of error in chat activity
Da Risk <darisk972@gmail.com>
parents:
643
diff
changeset
|
742 |
private boolean mIsError; |
772 | 743 |
private Date mTimestamp; |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
744 |
|
514
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
745 |
/** |
518
6b8089c9b834
Creation de l'activite PrivacyList et d'une interface PrivacyListListener ainsi que son implementation.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
517
diff
changeset
|
746 |
* Constructor. |
514
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
747 |
* @param bareJid A String containing the bare JID of the message's author. |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
748 |
* @param name A String containing the name of the message's author. |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
749 |
* @param message A String containing the message. |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
750 |
*/ |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
751 |
public MessageText(final String bareJid, final String name, final String message) { |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
752 |
mBareJid = bareJid; |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
753 |
mName = name; |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
754 |
mMessage = message; |
653
e94abef6120c
Add some displaying of error in chat activity
Da Risk <darisk972@gmail.com>
parents:
643
diff
changeset
|
755 |
mIsError = false; |
e94abef6120c
Add some displaying of error in chat activity
Da Risk <darisk972@gmail.com>
parents:
643
diff
changeset
|
756 |
} |
e94abef6120c
Add some displaying of error in chat activity
Da Risk <darisk972@gmail.com>
parents:
643
diff
changeset
|
757 |
|
e94abef6120c
Add some displaying of error in chat activity
Da Risk <darisk972@gmail.com>
parents:
643
diff
changeset
|
758 |
/** |
e94abef6120c
Add some displaying of error in chat activity
Da Risk <darisk972@gmail.com>
parents:
643
diff
changeset
|
759 |
* Constructor. |
e94abef6120c
Add some displaying of error in chat activity
Da Risk <darisk972@gmail.com>
parents:
643
diff
changeset
|
760 |
* @param bareJid A String containing the bare JID of the message's author. |
e94abef6120c
Add some displaying of error in chat activity
Da Risk <darisk972@gmail.com>
parents:
643
diff
changeset
|
761 |
* @param name A String containing the name of the message's author. |
e94abef6120c
Add some displaying of error in chat activity
Da Risk <darisk972@gmail.com>
parents:
643
diff
changeset
|
762 |
* @param message A String containing the message. |
e94abef6120c
Add some displaying of error in chat activity
Da Risk <darisk972@gmail.com>
parents:
643
diff
changeset
|
763 |
* @param isError if the message is an error message. |
e94abef6120c
Add some displaying of error in chat activity
Da Risk <darisk972@gmail.com>
parents:
643
diff
changeset
|
764 |
*/ |
829 | 765 |
public MessageText(final String bareJid, final String name, final String message, |
828 | 766 |
final boolean isError) { |
653
e94abef6120c
Add some displaying of error in chat activity
Da Risk <darisk972@gmail.com>
parents:
643
diff
changeset
|
767 |
mBareJid = bareJid; |
e94abef6120c
Add some displaying of error in chat activity
Da Risk <darisk972@gmail.com>
parents:
643
diff
changeset
|
768 |
mName = name; |
e94abef6120c
Add some displaying of error in chat activity
Da Risk <darisk972@gmail.com>
parents:
643
diff
changeset
|
769 |
mMessage = message; |
e94abef6120c
Add some displaying of error in chat activity
Da Risk <darisk972@gmail.com>
parents:
643
diff
changeset
|
770 |
mIsError = isError; |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
771 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
772 |
|
514
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
773 |
/** |
772 | 774 |
* Constructor. |
775 |
* @param bareJid A String containing the bare JID of the message's author. |
|
776 |
* @param name A String containing the name of the message's author. |
|
777 |
* @param message A String containing the message. |
|
778 |
* @param isError if the message is an error message. |
|
779 |
* @param date the time of the message. |
|
780 |
*/ |
|
829 | 781 |
public MessageText(final String bareJid, final String name, final String message, |
828 | 782 |
final boolean isError, Date date) { |
772 | 783 |
mBareJid = bareJid; |
784 |
mName = name; |
|
785 |
mMessage = message; |
|
786 |
mIsError = isError; |
|
787 |
mTimestamp = date; |
|
788 |
} |
|
789 |
||
790 |
/** |
|
514
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
791 |
* JID attribute accessor. |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
792 |
* @return A String containing the bare JID of the message's author. |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
793 |
*/ |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
794 |
public String getBareJid() { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
795 |
return mBareJid; |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
796 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
797 |
|
514
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
798 |
/** |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
799 |
* Name attribute accessor. |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
800 |
* @return A String containing the name of the message's author. |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
801 |
*/ |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
802 |
public String getName() { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
803 |
return mName; |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
804 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
805 |
|
514
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
806 |
/** |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
807 |
* Message attribute accessor. |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
808 |
* @return A String containing the message. |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
809 |
*/ |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
810 |
public String getMessage() { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
811 |
return mMessage; |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
812 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
813 |
|
514
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
814 |
/** |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
815 |
* JID attribute mutator. |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
816 |
* @param bareJid A String containing the author's bare JID of the message. |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
817 |
*/ |
573
a67f46ac98b1
Modification de la gestion des Dialogs dans l'activité PrivacyList.
jamu@gaia
parents:
567
diff
changeset
|
818 |
@SuppressWarnings("unused") |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
819 |
public void setBareJid(String bareJid) { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
820 |
mBareJid = bareJid; |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
821 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
822 |
|
514
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
823 |
/** |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
824 |
* Name attribute mutator. |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
825 |
* @param name A String containing the author's name of the message. |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
826 |
*/ |
573
a67f46ac98b1
Modification de la gestion des Dialogs dans l'activité PrivacyList.
jamu@gaia
parents:
567
diff
changeset
|
827 |
@SuppressWarnings("unused") |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
828 |
public void setName(String name) { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
829 |
mName = name; |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
830 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
831 |
|
514
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
832 |
/** |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
833 |
* Message attribute mutator. |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
834 |
* @param message A String containing a message. |
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
835 |
*/ |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
836 |
public void setMessage(String message) { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
837 |
mMessage = message; |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
838 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
839 |
|
654 | 840 |
/** |
841 |
* Get the message type. |
|
842 |
* @return true if the message is an error message. |
|
843 |
*/ |
|
653
e94abef6120c
Add some displaying of error in chat activity
Da Risk <darisk972@gmail.com>
parents:
643
diff
changeset
|
844 |
public boolean isError() { |
e94abef6120c
Add some displaying of error in chat activity
Da Risk <darisk972@gmail.com>
parents:
643
diff
changeset
|
845 |
return mIsError; |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
846 |
} |
772 | 847 |
|
848 |
/** |
|
849 |
* Set the Date of the message. |
|
850 |
* @param date date of the message. |
|
851 |
*/ |
|
852 |
public void setTimestamp(Date date) { |
|
853 |
mTimestamp = date; |
|
854 |
} |
|
855 |
||
856 |
/** |
|
857 |
* Get the Date of the message. |
|
858 |
* @return if it is a delayed message get the date the message was sended. |
|
859 |
*/ |
|
860 |
public Date getTimestamp() { |
|
861 |
return mTimestamp; |
|
862 |
} |
|
863 |
||
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
864 |
} |
493 | 865 |
|
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
866 |
/** |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
867 |
* {@inheritDoc}. |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
868 |
*/ |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
869 |
@Override |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
870 |
public boolean onKey(View v, int keyCode, KeyEvent event) { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
871 |
if (event.getAction() == KeyEvent.ACTION_DOWN) { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
872 |
switch (keyCode) { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
873 |
case KeyEvent.KEYCODE_ENTER: |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
874 |
sendMessage(); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
875 |
return true; |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
876 |
default: |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
877 |
return false; |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
878 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
879 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
880 |
return false; |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
881 |
} |
500
4da77df8f950
Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
493
diff
changeset
|
882 |
|
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
883 |
/** |
514
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
884 |
* Send an XMPP message. |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
885 |
*/ |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
886 |
private void sendMessage() { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
887 |
final String inputContent = mInputField.getText().toString(); |
500
4da77df8f950
Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
493
diff
changeset
|
888 |
|
514
c5d0b38dd35f
Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
512
diff
changeset
|
889 |
if (!"".equals(inputContent)) { |
713
b4333628a4a3
beginning on chat by resource integration and a small fix for the TrustStore
Nikita Kozlov <nikita@beem-project.com>
parents:
705
diff
changeset
|
890 |
Message msgToSend = new Message(mContact.getJIDWithRes(), Message.MSG_TYPE_CHAT); |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
891 |
msgToSend.setBody(inputContent); |
493 | 892 |
|
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
893 |
try { |
674
af23f43cf6e3
Create the Chat only when we send or receive a message
Da Risk <darisk972@gmail.com>
parents:
661
diff
changeset
|
894 |
if (mChat == null) { |
af23f43cf6e3
Create the Chat only when we send or receive a message
Da Risk <darisk972@gmail.com>
parents:
661
diff
changeset
|
895 |
mChat = mChatManager.createChat(mContact, mMessageListener); |
af23f43cf6e3
Create the Chat only when we send or receive a message
Da Risk <darisk972@gmail.com>
parents:
661
diff
changeset
|
896 |
mChat.setOpen(true); |
af23f43cf6e3
Create the Chat only when we send or receive a message
Da Risk <darisk972@gmail.com>
parents:
661
diff
changeset
|
897 |
} |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
898 |
mChat.sendMessage(msgToSend); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
899 |
} catch (RemoteException e) { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
900 |
Log.e(TAG, e.getMessage()); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
901 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
902 |
|
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
903 |
final String self = getString(R.string.chat_self); |
705 | 904 |
MessageText lastMessage = null; |
905 |
if (mListMessages.size() != 0) |
|
906 |
lastMessage = mListMessages.get(mListMessages.size() - 1); |
|
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
907 |
|
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
908 |
if (lastMessage != null && lastMessage.getName().equals(self)) { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
909 |
lastMessage.setMessage(lastMessage.getMessage().concat("\n" + inputContent)); |
772 | 910 |
lastMessage.setTimestamp(new Date()); |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
911 |
} else |
772 | 912 |
mListMessages.add(new MessageText(self, self, inputContent, false, new Date())); |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
913 |
mMessagesListAdapter.notifyDataSetChanged(); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
914 |
mInputField.setText(null); |
500
4da77df8f950
Intégration de l´activité Chat à la place de l´activité SendIM
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
493
diff
changeset
|
915 |
} |
584
72d9d76900af
Fix many bugs and memory leak
Da Risk <darisk972@gmail.com>
parents:
577
diff
changeset
|
916 |
} |
674
af23f43cf6e3
Create the Chat only when we send or receive a message
Da Risk <darisk972@gmail.com>
parents:
661
diff
changeset
|
917 |
|
677
b8d5e0378bcb
Checkstyle et checkstyle plus mechant ^^
Da Risk <darisk972@gmail.com>
parents:
675
diff
changeset
|
918 |
/** |
b8d5e0378bcb
Checkstyle et checkstyle plus mechant ^^
Da Risk <darisk972@gmail.com>
parents:
675
diff
changeset
|
919 |
* This class is in charge of getting the new chat in the activity if someone talk to you. |
b8d5e0378bcb
Checkstyle et checkstyle plus mechant ^^
Da Risk <darisk972@gmail.com>
parents:
675
diff
changeset
|
920 |
*/ |
674
af23f43cf6e3
Create the Chat only when we send or receive a message
Da Risk <darisk972@gmail.com>
parents:
661
diff
changeset
|
921 |
private class ChatManagerListener extends IChatManagerListener.Stub { |
af23f43cf6e3
Create the Chat only when we send or receive a message
Da Risk <darisk972@gmail.com>
parents:
661
diff
changeset
|
922 |
|
af23f43cf6e3
Create the Chat only when we send or receive a message
Da Risk <darisk972@gmail.com>
parents:
661
diff
changeset
|
923 |
/** |
af23f43cf6e3
Create the Chat only when we send or receive a message
Da Risk <darisk972@gmail.com>
parents:
661
diff
changeset
|
924 |
* Constructor. |
af23f43cf6e3
Create the Chat only when we send or receive a message
Da Risk <darisk972@gmail.com>
parents:
661
diff
changeset
|
925 |
*/ |
af23f43cf6e3
Create the Chat only when we send or receive a message
Da Risk <darisk972@gmail.com>
parents:
661
diff
changeset
|
926 |
public ChatManagerListener() { |
af23f43cf6e3
Create the Chat only when we send or receive a message
Da Risk <darisk972@gmail.com>
parents:
661
diff
changeset
|
927 |
} |
af23f43cf6e3
Create the Chat only when we send or receive a message
Da Risk <darisk972@gmail.com>
parents:
661
diff
changeset
|
928 |
|
af23f43cf6e3
Create the Chat only when we send or receive a message
Da Risk <darisk972@gmail.com>
parents:
661
diff
changeset
|
929 |
@Override |
af23f43cf6e3
Create the Chat only when we send or receive a message
Da Risk <darisk972@gmail.com>
parents:
661
diff
changeset
|
930 |
public void chatCreated(IChat chat, boolean locally) { |
af23f43cf6e3
Create the Chat only when we send or receive a message
Da Risk <darisk972@gmail.com>
parents:
661
diff
changeset
|
931 |
if (locally) |
af23f43cf6e3
Create the Chat only when we send or receive a message
Da Risk <darisk972@gmail.com>
parents:
661
diff
changeset
|
932 |
return; |
af23f43cf6e3
Create the Chat only when we send or receive a message
Da Risk <darisk972@gmail.com>
parents:
661
diff
changeset
|
933 |
try { |
713
b4333628a4a3
beginning on chat by resource integration and a small fix for the TrustStore
Nikita Kozlov <nikita@beem-project.com>
parents:
705
diff
changeset
|
934 |
String contactJid = mContact.getJIDWithRes(); |
b4333628a4a3
beginning on chat by resource integration and a small fix for the TrustStore
Nikita Kozlov <nikita@beem-project.com>
parents:
705
diff
changeset
|
935 |
String chatJid = chat.getParticipant().getJIDWithRes(); |
677
b8d5e0378bcb
Checkstyle et checkstyle plus mechant ^^
Da Risk <darisk972@gmail.com>
parents:
675
diff
changeset
|
936 |
if (chatJid.equals(contactJid)) { |
674
af23f43cf6e3
Create the Chat only when we send or receive a message
Da Risk <darisk972@gmail.com>
parents:
661
diff
changeset
|
937 |
// This should not be happened but to be sure |
af23f43cf6e3
Create the Chat only when we send or receive a message
Da Risk <darisk972@gmail.com>
parents:
661
diff
changeset
|
938 |
if (mChat != null) { |
af23f43cf6e3
Create the Chat only when we send or receive a message
Da Risk <darisk972@gmail.com>
parents:
661
diff
changeset
|
939 |
mChat.setOpen(false); |
af23f43cf6e3
Create the Chat only when we send or receive a message
Da Risk <darisk972@gmail.com>
parents:
661
diff
changeset
|
940 |
mChat.removeMessageListener(mMessageListener); |
af23f43cf6e3
Create the Chat only when we send or receive a message
Da Risk <darisk972@gmail.com>
parents:
661
diff
changeset
|
941 |
} |
af23f43cf6e3
Create the Chat only when we send or receive a message
Da Risk <darisk972@gmail.com>
parents:
661
diff
changeset
|
942 |
mChat = chat; |
af23f43cf6e3
Create the Chat only when we send or receive a message
Da Risk <darisk972@gmail.com>
parents:
661
diff
changeset
|
943 |
mChat.setOpen(true); |
af23f43cf6e3
Create the Chat only when we send or receive a message
Da Risk <darisk972@gmail.com>
parents:
661
diff
changeset
|
944 |
mChat.addMessageListener(mMessageListener); |
677
b8d5e0378bcb
Checkstyle et checkstyle plus mechant ^^
Da Risk <darisk972@gmail.com>
parents:
675
diff
changeset
|
945 |
mChatManager.deleteChatNotification(mChat); |
674
af23f43cf6e3
Create the Chat only when we send or receive a message
Da Risk <darisk972@gmail.com>
parents:
661
diff
changeset
|
946 |
} |
af23f43cf6e3
Create the Chat only when we send or receive a message
Da Risk <darisk972@gmail.com>
parents:
661
diff
changeset
|
947 |
} catch (RemoteException ex) { |
677
b8d5e0378bcb
Checkstyle et checkstyle plus mechant ^^
Da Risk <darisk972@gmail.com>
parents:
675
diff
changeset
|
948 |
Log.e(TAG, "A remote exception occurs during the creation of a chat", ex); |
674
af23f43cf6e3
Create the Chat only when we send or receive a message
Da Risk <darisk972@gmail.com>
parents:
661
diff
changeset
|
949 |
} |
af23f43cf6e3
Create the Chat only when we send or receive a message
Da Risk <darisk972@gmail.com>
parents:
661
diff
changeset
|
950 |
} |
af23f43cf6e3
Create the Chat only when we send or receive a message
Da Risk <darisk972@gmail.com>
parents:
661
diff
changeset
|
951 |
} |
480
eb6f1fbea903
Premier jet de l'activite chat, devant remplacer par la suite SendIM.
dasilvj
parents:
diff
changeset
|
952 |
} |