author | marseille@marseille-desktop |
Fri, 22 May 2009 15:43:48 +0200 | |
changeset 200 | 121fe5a66404 |
parent 196 | 052599f4e646 |
child 202 | fc72cf12c701 |
permissions | -rw-r--r-- |
22
280112cd9602
Reorganisation des fichiers de linterface.
marseille@marseille-desktop
parents:
diff
changeset
|
1 |
package com.beem.project.beem.ui; |
280112cd9602
Reorganisation des fichiers de linterface.
marseille@marseille-desktop
parents:
diff
changeset
|
2 |
|
280112cd9602
Reorganisation des fichiers de linterface.
marseille@marseille-desktop
parents:
diff
changeset
|
3 |
import java.util.ArrayList; |
280112cd9602
Reorganisation des fichiers de linterface.
marseille@marseille-desktop
parents:
diff
changeset
|
4 |
import java.util.HashMap; |
280112cd9602
Reorganisation des fichiers de linterface.
marseille@marseille-desktop
parents:
diff
changeset
|
5 |
import java.util.List; |
280112cd9602
Reorganisation des fichiers de linterface.
marseille@marseille-desktop
parents:
diff
changeset
|
6 |
import java.util.Map; |
52 | 7 |
|
191
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
8 |
import org.jivesoftware.smack.util.StringUtils; |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
9 |
|
196 | 10 |
import android.app.AlertDialog; |
11 |
import android.app.Dialog; |
|
22
280112cd9602
Reorganisation des fichiers de linterface.
marseille@marseille-desktop
parents:
diff
changeset
|
12 |
import android.app.ExpandableListActivity; |
196 | 13 |
import android.content.DialogInterface; |
22
280112cd9602
Reorganisation des fichiers de linterface.
marseille@marseille-desktop
parents:
diff
changeset
|
14 |
import android.content.Intent; |
163
52e96a8a743d
correction d'un bug de status. Penser a decommenter le code dans ContactList
Da Risk <darisk972@gmail.com>
parents:
148
diff
changeset
|
15 |
import android.content.SharedPreferences; |
191
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
16 |
import android.database.DataSetObserver; |
60
aa70a805da17
Ajout de nombreux icones pour la gestion des status.
marseille@KungFuh
parents:
59
diff
changeset
|
17 |
import android.graphics.drawable.Drawable; |
146 | 18 |
import android.net.Uri; |
22
280112cd9602
Reorganisation des fichiers de linterface.
marseille@marseille-desktop
parents:
diff
changeset
|
19 |
import android.os.Bundle; |
47 | 20 |
import android.os.Handler; |
33
0e65d5f55d2f
Merge with ui. Synchronous connection worked.
Da Risk <darisk972@gmail.com>
parents:
22
diff
changeset
|
21 |
import android.os.RemoteException; |
0e65d5f55d2f
Merge with ui. Synchronous connection worked.
Da Risk <darisk972@gmail.com>
parents:
22
diff
changeset
|
22 |
import android.util.Log; |
191
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
23 |
import android.view.LayoutInflater; |
52 | 24 |
import android.view.Menu; |
25 |
import android.view.MenuInflater; |
|
26 |
import android.view.MenuItem; |
|
42
a0baf41c24a1
Ajout de la partie de barbu. Mais c'est en dur.
marseille@KungFuh
parents:
41
diff
changeset
|
27 |
import android.view.View; |
47 | 28 |
import android.view.ViewGroup; |
196 | 29 |
import android.view.View.OnClickListener; |
30 |
import android.view.View.OnLongClickListener; |
|
22
280112cd9602
Reorganisation des fichiers de linterface.
marseille@marseille-desktop
parents:
diff
changeset
|
31 |
import android.widget.ExpandableListAdapter; |
60
aa70a805da17
Ajout de nombreux icones pour la gestion des status.
marseille@KungFuh
parents:
59
diff
changeset
|
32 |
import android.widget.ImageView; |
47 | 33 |
import android.widget.TextView; |
196 | 34 |
import android.widget.Toast; |
52 | 35 |
|
45
ae035477b6aa
Utilisation d'une application qui gere les informations globales.
Da Risk <darisk972@gmail.com>
parents:
41
diff
changeset
|
36 |
import com.beem.project.beem.BeemApplication; |
59 | 37 |
import com.beem.project.beem.R; |
38
3e76846c48a9
We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents:
33
diff
changeset
|
38 |
import com.beem.project.beem.service.Contact; |
77
0f474a0c4e93
Hop petit commit pour que popop puisse debugger.
marseille@KungFuh
parents:
76
diff
changeset
|
39 |
import com.beem.project.beem.service.PresenceAdapter; |
0f474a0c4e93
Hop petit commit pour que popop puisse debugger.
marseille@KungFuh
parents:
76
diff
changeset
|
40 |
import com.beem.project.beem.service.aidl.IBeemRosterListener; |
88 | 41 |
import com.beem.project.beem.service.aidl.IRoster; |
67
8c3870db8e31
Rename some XMPP* classes in Xmpp*
Da Risk <darisk972@gmail.com>
parents:
48
diff
changeset
|
42 |
import com.beem.project.beem.service.aidl.IXmppFacade; |
106
a9bc9297dff7
Amelioration de la methode change status.
Da Risk <darisk972@gmail.com>
parents:
105
diff
changeset
|
43 |
import com.beem.project.beem.utils.Status; |
22
280112cd9602
Reorganisation des fichiers de linterface.
marseille@marseille-desktop
parents:
diff
changeset
|
44 |
|
280112cd9602
Reorganisation des fichiers de linterface.
marseille@marseille-desktop
parents:
diff
changeset
|
45 |
public class ContactList extends ExpandableListActivity { |
280112cd9602
Reorganisation des fichiers de linterface.
marseille@marseille-desktop
parents:
diff
changeset
|
46 |
|
48 | 47 |
private static final String TAG = "CONTACTLIST_ACT"; |
120 | 48 |
private static final int PREFERENCECHANGED = 0; |
191
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
49 |
private static final String DEFAULT_GROUP = "Default"; |
67
8c3870db8e31
Rename some XMPP* classes in Xmpp*
Da Risk <darisk972@gmail.com>
parents:
48
diff
changeset
|
50 |
private IXmppFacade mService = null; |
191
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
51 |
private MyExpandableListAdapter mAdapter; |
48 | 52 |
private BeemApplication mBeemApplication; |
77
0f474a0c4e93
Hop petit commit pour que popop puisse debugger.
marseille@KungFuh
parents:
76
diff
changeset
|
53 |
private BeemRosterListener mRosterListener; |
154 | 54 |
private SharedPreferences mSettings; |
77
0f474a0c4e93
Hop petit commit pour que popop puisse debugger.
marseille@KungFuh
parents:
76
diff
changeset
|
55 |
private IRoster mRoster; |
191
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
56 |
private Map<String, List<Contact>> groupMap; |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
57 |
private List<String> groupName; |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
58 |
private List<Contact> mListContact; |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
59 |
private Handler mHandler; |
22
280112cd9602
Reorganisation des fichiers de linterface.
marseille@marseille-desktop
parents:
diff
changeset
|
60 |
|
280112cd9602
Reorganisation des fichiers de linterface.
marseille@marseille-desktop
parents:
diff
changeset
|
61 |
@Override |
52 | 62 |
protected void onCreate(Bundle saveBundle) { |
42
a0baf41c24a1
Ajout de la partie de barbu. Mais c'est en dur.
marseille@KungFuh
parents:
41
diff
changeset
|
63 |
super.onCreate(saveBundle); |
191
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
64 |
mHandler = new Handler(); |
77
0f474a0c4e93
Hop petit commit pour que popop puisse debugger.
marseille@KungFuh
parents:
76
diff
changeset
|
65 |
mRosterListener = new BeemRosterListener(); |
154 | 66 |
mSettings = getSharedPreferences(getString(R.string.PreferenceFileName), MODE_PRIVATE); |
48 | 67 |
mBeemApplication = BeemApplication.getApplication(this); |
185 | 68 |
if (mSettings.getString(getString(R.string.PreferenceHostKey), "").equals("")) |
69 |
startActivityForResult(new Intent(this, ContactListSettings.class), PREFERENCECHANGED); |
|
165
6e008c3695ff
Modification de la liste de contact pour qu'elle se reconnecte comme il
marseille
diff
changeset
|
70 |
} |
170 | 71 |
|
165
6e008c3695ff
Modification de la liste de contact pour qu'elle se reconnecte comme il
marseille
diff
changeset
|
72 |
@Override |
6e008c3695ff
Modification de la liste de contact pour qu'elle se reconnecte comme il
marseille
diff
changeset
|
73 |
protected void onResume() { |
6e008c3695ff
Modification de la liste de contact pour qu'elle se reconnecte comme il
marseille
diff
changeset
|
74 |
super.onResume(); |
196 | 75 |
|
191
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
76 |
mBeemApplication.callWhenConnectedToServer(mHandler, new Runnable() { |
48 | 77 |
@Override |
78 |
public void run() { |
|
77
0f474a0c4e93
Hop petit commit pour que popop puisse debugger.
marseille@KungFuh
parents:
76
diff
changeset
|
79 |
mService = mBeemApplication.getXmppFacade(); |
0f474a0c4e93
Hop petit commit pour que popop puisse debugger.
marseille@KungFuh
parents:
76
diff
changeset
|
80 |
try { |
0f474a0c4e93
Hop petit commit pour que popop puisse debugger.
marseille@KungFuh
parents:
76
diff
changeset
|
81 |
mRoster = mService.getRoster(); |
88 | 82 |
} catch (RemoteException e1) { |
191
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
83 |
Log.e(TAG, "Get roster failed", e1); |
88 | 84 |
} |
85 |
if (mRoster != null) { |
|
86 |
try { |
|
86 | 87 |
mRoster.addConnectionListener(mRosterListener); |
88 | 88 |
} catch (RemoteException e) { |
89 |
e.printStackTrace(); |
|
86 | 90 |
} |
91 |
} |
|
174 | 92 |
if (mAdapter == null) |
93 |
callbackShowContactList(); |
|
48 | 94 |
} |
95 |
}); |
|
96 |
} |
|
42
a0baf41c24a1
Ajout de la partie de barbu. Mais c'est en dur.
marseille@KungFuh
parents:
41
diff
changeset
|
97 |
|
144 | 98 |
@Override |
99 |
protected void onDestroy() { |
|
145 | 100 |
mBeemApplication.unbindBeemService(); |
196 | 101 |
super.onDestroy(); |
144 | 102 |
} |
103 |
||
52 | 104 |
private void callbackShowContactList() { |
105 |
/* |
|
106 |
* @TODO: A ameliorer apres listener de nikita |
|
107 |
*/ |
|
77
0f474a0c4e93
Hop petit commit pour que popop puisse debugger.
marseille@KungFuh
parents:
76
diff
changeset
|
108 |
if (mRoster != null) |
52 | 109 |
try { |
191
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
110 |
buildContactList(mRoster.getContactList()); |
52 | 111 |
} catch (RemoteException e) { |
112 |
e.printStackTrace(); |
|
113 |
} |
|
114 |
} |
|
115 |
||
116 |
/** |
|
117 |
* Callback for menu creation. |
|
145 | 118 |
* @param menu the menu created |
52 | 119 |
* @return true on success, false otherwise |
120 |
*/ |
|
121 |
@Override |
|
122 |
public final boolean onCreateOptionsMenu(Menu menu) { |
|
123 |
super.onCreateOptionsMenu(menu); |
|
124 |
MenuInflater inflater = getMenuInflater(); |
|
125 |
inflater.inflate(R.menu.contactlistmenu, menu); |
|
126 |
return true; |
|
127 |
} |
|
128 |
||
129 |
/** |
|
130 |
* Callback for menu item selected. |
|
145 | 131 |
* @param item the item selected |
52 | 132 |
* @return true on success, false otherwise |
133 |
*/ |
|
134 |
@Override |
|
135 |
public final boolean onOptionsItemSelected(MenuItem item) { |
|
136 |
switch (item.getItemId()) { |
|
137 |
case R.id.account_edit: |
|
88 | 138 |
startActivityForResult(new Intent(this, ContactListSettings.class), PREFERENCECHANGED); |
52 | 139 |
return true; |
140 |
case R.id.account_about: |
|
146 | 141 |
Intent t = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.beem-project.com")); |
142 |
startActivity(t); |
|
52 | 143 |
return true; |
120 | 144 |
case R.id.account_create: |
145 |
startActivity(new Intent(this, AccountCreation.class)); |
|
146 |
return true; |
|
132 | 147 |
case R.id.add_contact: |
148 |
startActivity(new Intent(this, AddContact.class)); |
|
149 |
return true; |
|
52 | 150 |
default: |
151 |
return false; |
|
152 |
} |
|
153 |
} |
|
132 | 154 |
|
196 | 155 |
/* |
156 |
* @Override public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, |
|
157 |
* long id) { try { } catch (NullPointerException e) { Log.e(TAG, "Child not found", e); return false; } } |
|
158 |
*/ |
|
145 | 159 |
protected void onActivityResult(int requestCode, int resultCode, Intent data) { |
132 | 160 |
if (requestCode == PREFERENCECHANGED) { |
161 |
if (resultCode == RESULT_OK) { |
|
174 | 162 |
mAdapter = null; |
163 |
setListAdapter(mAdapter); |
|
132 | 164 |
mBeemApplication.stopBeemService(); |
145 | 165 |
} |
132 | 166 |
} |
88 | 167 |
} |
168 |
||
191
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
169 |
private void buildContactList(List<Contact> listContact) { |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
170 |
mListContact = listContact; |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
171 |
groupMap = new HashMap<String, List<Contact>>(); |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
172 |
groupName = new ArrayList<String>(); |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
173 |
for (Contact contact : listContact) { |
196 | 174 |
for (String group : contact.getGroups()) { |
191
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
175 |
if (!groupMap.containsKey(group)) { |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
176 |
groupMap.put(group, new ArrayList<Contact>()); |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
177 |
groupName.add(group); |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
178 |
} |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
179 |
try { |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
180 |
groupMap.get(group).add(contact); |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
181 |
} catch (NullPointerException e) { |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
182 |
Log.e(TAG, "Failed to find group in groupMap", e); |
173
0ccad9608190
Modification pour gerer les contacts avec les groupes.
marseille
parents:
170
diff
changeset
|
183 |
} |
42
a0baf41c24a1
Ajout de la partie de barbu. Mais c'est en dur.
marseille@KungFuh
parents:
41
diff
changeset
|
184 |
} |
191
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
185 |
if (contact.getGroups().isEmpty()) { |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
186 |
if (!groupMap.containsKey(DEFAULT_GROUP)) { |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
187 |
groupMap.put(DEFAULT_GROUP, new ArrayList<Contact>()); |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
188 |
groupName.add(DEFAULT_GROUP); |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
189 |
} |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
190 |
groupMap.get(DEFAULT_GROUP).add(contact); |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
191 |
} |
42
a0baf41c24a1
Ajout de la partie de barbu. Mais c'est en dur.
marseille@KungFuh
parents:
41
diff
changeset
|
192 |
} |
191
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
193 |
mAdapter = new MyExpandableListAdapter(); |
174 | 194 |
setListAdapter(mAdapter); |
22
280112cd9602
Reorganisation des fichiers de linterface.
marseille@marseille-desktop
parents:
diff
changeset
|
195 |
} |
280112cd9602
Reorganisation des fichiers de linterface.
marseille@marseille-desktop
parents:
diff
changeset
|
196 |
|
191
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
197 |
private class MyExpandableListAdapter implements ExpandableListAdapter { |
48 | 198 |
|
196 | 199 |
private List<DataSetObserver> observers; |
200 |
||
191
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
201 |
public MyExpandableListAdapter() { |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
202 |
observers = new ArrayList<DataSetObserver>(); |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
203 |
} |
196 | 204 |
|
191
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
205 |
public void changed() { |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
206 |
for (DataSetObserver obs : observers) { |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
207 |
obs.onChanged(); |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
208 |
} |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
209 |
} |
196 | 210 |
|
191
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
211 |
@Override |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
212 |
public boolean areAllItemsEnabled() { |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
213 |
return true; |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
214 |
} |
48 | 215 |
|
191
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
216 |
@Override |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
217 |
public Object getChild(int groupPosition, int childPosition) { |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
218 |
try { |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
219 |
return groupMap.get(groupName.get(groupPosition)).get(childPosition); |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
220 |
} catch (NullPointerException e) { |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
221 |
Log.e(TAG, "Child not found", e); |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
222 |
return null; |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
223 |
} |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
224 |
} |
48 | 225 |
|
191
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
226 |
@Override |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
227 |
public long getChildId(int groupPosition, int childPosition) { |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
228 |
try { |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
229 |
groupMap.get(groupName.get(groupPosition)).get(childPosition); |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
230 |
} catch (NullPointerException e) { |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
231 |
Log.e(TAG, "Child not found", e); |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
232 |
return 0; |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
233 |
} |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
234 |
return childPosition; |
42
a0baf41c24a1
Ajout de la partie de barbu. Mais c'est en dur.
marseille@KungFuh
parents:
41
diff
changeset
|
235 |
} |
22
280112cd9602
Reorganisation des fichiers de linterface.
marseille@marseille-desktop
parents:
diff
changeset
|
236 |
|
196 | 237 |
void createDialog(Contact contact) { |
238 |
||
239 |
Dialog dialogContact= new ContactDialog(ContactList.this, contact); |
|
200 | 240 |
dialogContact.setOwnerActivity(ContactList.this); |
196 | 241 |
dialogContact.show(); |
242 |
} |
|
243 |
||
244 |
class MyOnLongClickListener implements OnLongClickListener { |
|
245 |
@Override |
|
246 |
public boolean onLongClick(View v) { |
|
247 |
TextView jidTextView = (TextView) v.findViewById(R.id.contactlistpseudo); |
|
248 |
String jid = jidTextView.getText().toString(); |
|
249 |
for (Contact curContact : mListContact) { |
|
250 |
if (jid.equals(curContact.getJID())) { |
|
251 |
createDialog(curContact); |
|
252 |
break; |
|
253 |
} |
|
254 |
} |
|
255 |
return true; |
|
256 |
} |
|
257 |
} |
|
258 |
||
259 |
class MyOnClickListener implements OnClickListener { |
|
260 |
@Override |
|
261 |
public void onClick(View v) { |
|
262 |
TextView jidTextView = (TextView) v.findViewById(R.id.contactlistpseudo); |
|
263 |
String jid = jidTextView.getText().toString(); |
|
264 |
for (Contact curContact : mListContact) { |
|
265 |
if (jid.equals(curContact.getJID())) { |
|
266 |
Intent i = new Intent(ContactList.this, SendIM.class); |
|
267 |
i.putExtra("contact", curContact); |
|
268 |
startActivity(i); |
|
269 |
break; |
|
270 |
} |
|
271 |
} |
|
272 |
} |
|
273 |
||
274 |
} |
|
275 |
||
42
a0baf41c24a1
Ajout de la partie de barbu. Mais c'est en dur.
marseille@KungFuh
parents:
41
diff
changeset
|
276 |
@Override |
145 | 277 |
public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, |
278 |
ViewGroup parent) { |
|
48 | 279 |
View v; |
280 |
if (convertView == null) { |
|
196 | 281 |
v = LayoutInflater.from(ContactList.this).inflate(R.layout.contactlistcontact, null); |
191
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
282 |
Log.d(TAG, "Convert view est vide sur un getChildView"); |
48 | 283 |
} else { |
284 |
v = convertView; |
|
285 |
} |
|
191
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
286 |
bindView(v, groupMap.get(groupName.get(groupPosition)).get(childPosition)); |
196 | 287 |
|
288 |
v.setOnLongClickListener(new MyOnLongClickListener()); |
|
289 |
v.setOnClickListener(new MyOnClickListener()); |
|
48 | 290 |
return v; |
42
a0baf41c24a1
Ajout de la partie de barbu. Mais c'est en dur.
marseille@KungFuh
parents:
41
diff
changeset
|
291 |
} |
22
280112cd9602
Reorganisation des fichiers de linterface.
marseille@marseille-desktop
parents:
diff
changeset
|
292 |
|
191
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
293 |
@Override |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
294 |
public int getChildrenCount(int groupPosition) { |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
295 |
try { |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
296 |
return groupMap.get(groupName.get(groupPosition)).size(); |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
297 |
} catch (NullPointerException e) { |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
298 |
Log.e(TAG, "Child not found", e); |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
299 |
return 0; |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
300 |
} |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
301 |
} |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
302 |
|
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
303 |
@Override |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
304 |
public long getCombinedChildId(long groupId, long childId) { |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
305 |
return 1000 * groupId + childId; |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
306 |
} |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
307 |
|
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
308 |
@Override |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
309 |
public long getCombinedGroupId(long groupId) { |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
310 |
return 1000 * groupId; |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
311 |
} |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
312 |
|
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
313 |
@Override |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
314 |
public Object getGroup(int groupPosition) { |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
315 |
try { |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
316 |
return groupMap.get(groupName.get(groupPosition)); |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
317 |
} catch (NullPointerException e) { |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
318 |
Log.e(TAG, "Group not found", e); |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
319 |
return null; |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
320 |
} |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
321 |
} |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
322 |
|
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
323 |
@Override |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
324 |
public int getGroupCount() { |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
325 |
return groupMap.size(); |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
326 |
} |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
327 |
|
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
328 |
@Override |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
329 |
public long getGroupId(int groupPosition) { |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
330 |
return groupPosition; |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
331 |
} |
60
aa70a805da17
Ajout de nombreux icones pour la gestion des status.
marseille@KungFuh
parents:
59
diff
changeset
|
332 |
|
191
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
333 |
@Override |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
334 |
public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) { |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
335 |
Log.d(TAG, "View getGroupView"); |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
336 |
View holder = LayoutInflater.from(ContactList.this).inflate(R.layout.contactlistgroup, null); |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
337 |
TextView groupTextView = (TextView) holder.findViewById(R.id.textgroup); |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
338 |
groupTextView.setText(groupName.get(groupPosition)); |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
339 |
return holder; |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
340 |
} |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
341 |
|
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
342 |
@Override |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
343 |
public boolean hasStableIds() { |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
344 |
Log.d(TAG, "boolean hasStableIds"); |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
345 |
return false; |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
346 |
} |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
347 |
|
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
348 |
@Override |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
349 |
public boolean isChildSelectable(int groupPosition, int childPosition) { |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
350 |
Log.d(TAG, "boolean isChildSelectable"); |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
351 |
return !false; |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
352 |
} |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
353 |
|
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
354 |
@Override |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
355 |
public boolean isEmpty() { |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
356 |
return groupMap.isEmpty(); |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
357 |
} |
60
aa70a805da17
Ajout de nombreux icones pour la gestion des status.
marseille@KungFuh
parents:
59
diff
changeset
|
358 |
|
191
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
359 |
@Override |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
360 |
public void onGroupCollapsed(int groupPosition) { |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
361 |
} |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
362 |
|
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
363 |
@Override |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
364 |
public void onGroupExpanded(int groupPosition) { |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
365 |
} |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
366 |
|
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
367 |
@Override |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
368 |
public void registerDataSetObserver(DataSetObserver observer) { |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
369 |
Log.d(TAG, "registerDataSetObserver"); |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
370 |
observers.add(observer); |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
371 |
} |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
372 |
|
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
373 |
@Override |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
374 |
public void unregisterDataSetObserver(DataSetObserver observer) { |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
375 |
Log.d(TAG, "unregisterDataSetObserver"); |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
376 |
observers.remove(observer); |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
377 |
} |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
378 |
|
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
379 |
private void bindView(View view, Contact curContact) { |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
380 |
|
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
381 |
if (curContact != null) { |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
382 |
ImageView imgV = (ImageView) view.findViewById(R.id.contactliststatus); |
60
aa70a805da17
Ajout de nombreux icones pour la gestion des status.
marseille@KungFuh
parents:
59
diff
changeset
|
383 |
Drawable imageDrawable = null; |
191
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
384 |
switch (curContact.getStatus()) { |
106
a9bc9297dff7
Amelioration de la methode change status.
Da Risk <darisk972@gmail.com>
parents:
105
diff
changeset
|
385 |
case Status.CONTACT_STATUS_AVAILABLE: |
145 | 386 |
imageDrawable = (Drawable) getResources().getDrawable(R.drawable.online); |
77
0f474a0c4e93
Hop petit commit pour que popop puisse debugger.
marseille@KungFuh
parents:
76
diff
changeset
|
387 |
break; |
106
a9bc9297dff7
Amelioration de la methode change status.
Da Risk <darisk972@gmail.com>
parents:
105
diff
changeset
|
388 |
case Status.CONTACT_STATUS_AVAILABLE_FOR_CHAT: |
145 | 389 |
imageDrawable = (Drawable) getResources().getDrawable(R.drawable.chat); |
77
0f474a0c4e93
Hop petit commit pour que popop puisse debugger.
marseille@KungFuh
parents:
76
diff
changeset
|
390 |
break; |
106
a9bc9297dff7
Amelioration de la methode change status.
Da Risk <darisk972@gmail.com>
parents:
105
diff
changeset
|
391 |
case Status.CONTACT_STATUS_AWAY: |
145 | 392 |
imageDrawable = (Drawable) getResources().getDrawable(R.drawable.away); |
77
0f474a0c4e93
Hop petit commit pour que popop puisse debugger.
marseille@KungFuh
parents:
76
diff
changeset
|
393 |
break; |
106
a9bc9297dff7
Amelioration de la methode change status.
Da Risk <darisk972@gmail.com>
parents:
105
diff
changeset
|
394 |
case Status.CONTACT_STATUS_BUSY: |
145 | 395 |
imageDrawable = (Drawable) getResources().getDrawable(R.drawable.dnd); |
77
0f474a0c4e93
Hop petit commit pour que popop puisse debugger.
marseille@KungFuh
parents:
76
diff
changeset
|
396 |
break; |
106
a9bc9297dff7
Amelioration de la methode change status.
Da Risk <darisk972@gmail.com>
parents:
105
diff
changeset
|
397 |
case Status.CONTACT_STATUS_DISCONNECT: |
145 | 398 |
imageDrawable = (Drawable) getResources().getDrawable(R.drawable.offline); |
77
0f474a0c4e93
Hop petit commit pour que popop puisse debugger.
marseille@KungFuh
parents:
76
diff
changeset
|
399 |
break; |
106
a9bc9297dff7
Amelioration de la methode change status.
Da Risk <darisk972@gmail.com>
parents:
105
diff
changeset
|
400 |
case Status.CONTACT_STATUS_UNAVAILABLE: |
145 | 401 |
imageDrawable = (Drawable) getResources().getDrawable(R.drawable.requested); |
77
0f474a0c4e93
Hop petit commit pour que popop puisse debugger.
marseille@KungFuh
parents:
76
diff
changeset
|
402 |
break; |
60
aa70a805da17
Ajout de nombreux icones pour la gestion des status.
marseille@KungFuh
parents:
59
diff
changeset
|
403 |
default: |
145 | 404 |
imageDrawable = (Drawable) getResources().getDrawable(R.drawable.error); |
196 | 405 |
break; |
60
aa70a805da17
Ajout de nombreux icones pour la gestion des status.
marseille@KungFuh
parents:
59
diff
changeset
|
406 |
} |
aa70a805da17
Ajout de nombreux icones pour la gestion des status.
marseille@KungFuh
parents:
59
diff
changeset
|
407 |
imgV.setImageDrawable(imageDrawable); |
aa70a805da17
Ajout de nombreux icones pour la gestion des status.
marseille@KungFuh
parents:
59
diff
changeset
|
408 |
|
191
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
409 |
TextView v = (TextView) view.findViewById(R.id.contactlistpseudo); |
60
aa70a805da17
Ajout de nombreux icones pour la gestion des status.
marseille@KungFuh
parents:
59
diff
changeset
|
410 |
if (v != null) { |
191
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
411 |
v.setText(curContact.getJID()); |
60
aa70a805da17
Ajout de nombreux icones pour la gestion des status.
marseille@KungFuh
parents:
59
diff
changeset
|
412 |
} |
88 | 413 |
|
191
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
414 |
v = (TextView) view.findViewById(R.id.contactlistmsgperso); |
60
aa70a805da17
Ajout de nombreux icones pour la gestion des status.
marseille@KungFuh
parents:
59
diff
changeset
|
415 |
if (v != null) { |
191
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
416 |
v.setText(curContact.getMsgState()); |
60
aa70a805da17
Ajout de nombreux icones pour la gestion des status.
marseille@KungFuh
parents:
59
diff
changeset
|
417 |
} |
132 | 418 |
|
196 | 419 |
// TODO: Rajouter l'avatar du contact getAvatar() dans la classe |
191
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
420 |
imgV = (ImageView) view.findViewById(R.id.contactlistavatar); |
60
aa70a805da17
Ajout de nombreux icones pour la gestion des status.
marseille@KungFuh
parents:
59
diff
changeset
|
421 |
if (imgV != null) { |
145 | 422 |
imageDrawable = (Drawable) getResources().getDrawable(R.drawable.avatar); |
60
aa70a805da17
Ajout de nombreux icones pour la gestion des status.
marseille@KungFuh
parents:
59
diff
changeset
|
423 |
imgV.setImageDrawable(imageDrawable); |
aa70a805da17
Ajout de nombreux icones pour la gestion des status.
marseille@KungFuh
parents:
59
diff
changeset
|
424 |
} |
48 | 425 |
} |
426 |
} |
|
22
280112cd9602
Reorganisation des fichiers de linterface.
marseille@marseille-desktop
parents:
diff
changeset
|
427 |
} |
77
0f474a0c4e93
Hop petit commit pour que popop puisse debugger.
marseille@KungFuh
parents:
76
diff
changeset
|
428 |
|
0f474a0c4e93
Hop petit commit pour que popop puisse debugger.
marseille@KungFuh
parents:
76
diff
changeset
|
429 |
private class BeemRosterListener extends IBeemRosterListener.Stub { |
0f474a0c4e93
Hop petit commit pour que popop puisse debugger.
marseille@KungFuh
parents:
76
diff
changeset
|
430 |
|
0f474a0c4e93
Hop petit commit pour que popop puisse debugger.
marseille@KungFuh
parents:
76
diff
changeset
|
431 |
@Override |
145 | 432 |
public void onEntriesAdded(List<String> addresses) throws RemoteException { |
77
0f474a0c4e93
Hop petit commit pour que popop puisse debugger.
marseille@KungFuh
parents:
76
diff
changeset
|
433 |
Log.i(TAG, "ENTRIES ADDED"); |
86 | 434 |
|
77
0f474a0c4e93
Hop petit commit pour que popop puisse debugger.
marseille@KungFuh
parents:
76
diff
changeset
|
435 |
} |
86 | 436 |
|
77
0f474a0c4e93
Hop petit commit pour que popop puisse debugger.
marseille@KungFuh
parents:
76
diff
changeset
|
437 |
@Override |
145 | 438 |
public void onEntriesDeleted(List<String> addresses) throws RemoteException { |
77
0f474a0c4e93
Hop petit commit pour que popop puisse debugger.
marseille@KungFuh
parents:
76
diff
changeset
|
439 |
Log.i(TAG, "ENTRIES DEL"); |
86 | 440 |
|
77
0f474a0c4e93
Hop petit commit pour que popop puisse debugger.
marseille@KungFuh
parents:
76
diff
changeset
|
441 |
} |
86 | 442 |
|
77
0f474a0c4e93
Hop petit commit pour que popop puisse debugger.
marseille@KungFuh
parents:
76
diff
changeset
|
443 |
@Override |
145 | 444 |
public void onEntriesUpdated(List<String> addresses) throws RemoteException { |
77
0f474a0c4e93
Hop petit commit pour que popop puisse debugger.
marseille@KungFuh
parents:
76
diff
changeset
|
445 |
Log.i(TAG, "ENTRIES UPD"); |
86 | 446 |
|
77
0f474a0c4e93
Hop petit commit pour que popop puisse debugger.
marseille@KungFuh
parents:
76
diff
changeset
|
447 |
} |
86 | 448 |
|
77
0f474a0c4e93
Hop petit commit pour que popop puisse debugger.
marseille@KungFuh
parents:
76
diff
changeset
|
449 |
@Override |
145 | 450 |
public void onPresenceChanged(PresenceAdapter presence) throws RemoteException { |
196 | 451 |
for (Contact curContact : mListContact) { |
191
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
452 |
if (curContact.getJID().equals(StringUtils.parseBareAddress(presence.getFrom()))) { |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
453 |
curContact.setStatus(presence); |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
454 |
mHandler.post(new Runnable() { |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
455 |
@Override |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
456 |
public void run() { |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
457 |
mAdapter.changed(); |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
458 |
} |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
459 |
}); |
196 | 460 |
return; |
191
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
461 |
} |
cc21283865ad
La liste marche, mais chut faut pas le dire a darkmouchefdeprojtyran
nikita@nikita-lab
parents:
185
diff
changeset
|
462 |
} |
77
0f474a0c4e93
Hop petit commit pour que popop puisse debugger.
marseille@KungFuh
parents:
76
diff
changeset
|
463 |
} |
86 | 464 |
|
77
0f474a0c4e93
Hop petit commit pour que popop puisse debugger.
marseille@KungFuh
parents:
76
diff
changeset
|
465 |
} |
184 | 466 |
} |