--- a/res/values-fr/strings.xml Sat Feb 13 19:54:42 2010 +0100
+++ b/res/values-fr/strings.xml Sat Feb 13 21:16:50 2010 +0100
@@ -274,6 +274,7 @@
<string name="chat_input_default_value">Saisissez votre message</string>
<string name="chat_name">Beem - Chat</string>
<string name="chat_self">Moi</string>
+ <string name="chat_error">Erreur</string>
<string name="chat_send_message">Envoyer</string>
<string name="chat_menu_contacts_list">Liste de contacts</string>
<string name="chat_menu_change_chat">Changer de conversation</string>
--- a/res/values/strings.xml Sat Feb 13 19:54:42 2010 +0100
+++ b/res/values/strings.xml Sat Feb 13 21:16:50 2010 +0100
@@ -258,6 +258,7 @@
<string name="chat_name">Beem - Chat</string>
<string name="chat_input_default_value">Type your message</string>
<string name="chat_self">Me</string>
+ <string name="chat_error">Error</string>
<string name="chat_send_message">Send</string>
<string name="chat_menu_contacts_list">Contacts list</string>
<string name="chat_menu_change_chat">Switch chat</string>
--- a/src/com/beem/project/beem/service/BeemChatManager.java Sat Feb 13 19:54:42 2010 +0100
+++ b/src/com/beem/project/beem/service/BeemChatManager.java Sat Feb 13 21:16:50 2010 +0100
@@ -222,9 +222,10 @@
return result;
}
Chat c = mAdaptee.createChat(key, null);
- result = new ChatAdapter(c);
+ // maybe a little probleme of thread synchronization
+ // if so use an HashTable instead of a HashMap for mChats
+ result = getChat(c);
result.addMessageListener(listener);
- mChats.put(key, result);
return result;
}
--- a/src/com/beem/project/beem/ui/Chat.java Sat Feb 13 19:54:42 2010 +0100
+++ b/src/com/beem/project/beem/ui/Chat.java Sat Feb 13 21:16:50 2010 +0100
@@ -369,9 +369,11 @@
} else if (m.getType() == Message.MSG_TYPE_CHAT) {
if (fromBareJid == null) { //nofrom or from == yours
name = localName;
+ fromBareJid = "";
}
+
if (m.getBody() != null) {
- if (lastMessage == null || !lastMessage.getBareJid().equals(fromBareJid)) {
+ if (lastMessage == null || ! fromBareJid.equals(lastMessage.getBareJid())) {
lastMessage = new MessageText(fromBareJid, name, m.getBody());
result.add(lastMessage);
} else {
@@ -498,8 +500,10 @@
@Override
public void run() {
- //TODO gerer les messages de types error
- if (msg.getBody() != null && msg.getType() != Message.MSG_TYPE_ERROR) {
+ if (msg.getType() == Message.MSG_TYPE_ERROR) {
+ mListMessages.add(new MessageText(fromBareJid, mContact.getName(), msg.getBody(), true));
+ mMessagesListAdapter.notifyDataSetChanged();
+ } else if (msg.getBody() != null ) {
MessageText lastMessage = mListMessages.size() != 0 ? mListMessages.get(mListMessages
.size() - 1) : null;
@@ -509,9 +513,6 @@
} else if (msg.getBody() != null)
mListMessages.add(new MessageText(fromBareJid, mContact.getName(), msg.getBody()));
mMessagesListAdapter.notifyDataSetChanged();
- } else if (msg.getType() == Message.MSG_TYPE_ERROR) {
- mListMessages.add(new MessageText(fromBareJid, mContact.getName(), msg.getBody(), true));
- mMessagesListAdapter.notifyDataSetChanged();
}
}
});
@@ -630,10 +631,10 @@
TextView msgText = (TextView) sv.findViewById(R.id.chatmessagetext);
msgText.setText(msg.getMessage());
if (msg.isError()) {
- msgName.setText("Error");
+ String err = getString(R.string.chat_error);
+ msgName.setText(err);
msgName.setTextColor(Color.RED);
- msgName.setError("testing");
-
+ msgName.setError(err);
}
return sv;
}
--- a/src/com/beem/project/beem/ui/LoginAnim.java Sat Feb 13 19:54:42 2010 +0100
+++ b/src/com/beem/project/beem/ui/LoginAnim.java Sat Feb 13 21:16:50 2010 +0100
@@ -209,7 +209,6 @@
@Override
protected void onProgressUpdate(Integer ... values) {
- Log.d(TAG, "onProgress " + values[0]);
mLoginState.setText(getResources().getStringArray(R.array.loganim_state)[values[0]]);
}