# HG changeset patch
# User Marseille
# Date 1245859412 -7200
# Node ID a841ea9fba02687b9643fb19e0d30ee68f1a9a25
# Parent b4112a39526c6336fb2a310673aaf02602c44383
BeemLike suppression d'entry !!
Correction bug contactlist quand msg status hyper long.
diff -r b4112a39526c -r a841ea9fba02 res/layout/contactlistcontact.xml
--- a/res/layout/contactlistcontact.xml Wed Jun 24 13:04:52 2009 +0200
+++ b/res/layout/contactlistcontact.xml Wed Jun 24 18:03:32 2009 +0200
@@ -17,7 +17,8 @@
android:paddingLeft="20sp" />
+ android:paddingLeft="20sp" android:singleLine="true"
+ android:maxLines="1" android:autoLink="all" />
Ok
Contact added
Error Contact not added
+ Error Login
Bad form
diff -r b4112a39526c -r a841ea9fba02 src/com/beem/project/beem/ui/AddContact.java
--- a/src/com/beem/project/beem/ui/AddContact.java Wed Jun 24 13:04:52 2009 +0200
+++ b/src/com/beem/project/beem/ui/AddContact.java Wed Jun 24 18:03:32 2009 +0200
@@ -5,6 +5,7 @@
import java.util.ArrayList;
import java.util.List;
+import java.util.regex.Pattern;
import android.app.Activity;
import android.content.ComponentName;
@@ -74,6 +75,12 @@
public void onClick(View v) {
boolean valid = true;
mLogin = getWidgetText(R.id.addc_login);
+ boolean isEmail = Pattern.matches("[a-zA-Z0-9._%+-]+@(?:[a-zA-Z0-9-]+.)+[a-zA-Z]{2,4}", mLogin);
+ if (!isEmail) {
+ Toast.makeText(AddContact.this, getString(R.string.AddCContactAddedLoginError), Toast.LENGTH_SHORT)
+ .show();
+ return;
+ }
mAlias = getWidgetText(R.id.addc_alias);
if (mLogin.length() == 0)
valid = false;
@@ -84,6 +91,7 @@
if (xmppFacade.getRoster().addContact(mLogin, mAlias, mGroup.toArray(new String[mGroup.size()])) == null) {
Toast.makeText(AddContact.this, getString(R.string.AddCContactAddedError), Toast.LENGTH_SHORT)
.show();
+ return;
} else {
Toast.makeText(AddContact.this, getString(R.string.AddCContactAdded), Toast.LENGTH_SHORT)
.show();
diff -r b4112a39526c -r a841ea9fba02 src/com/beem/project/beem/ui/ContactList.java
--- a/src/com/beem/project/beem/ui/ContactList.java Wed Jun 24 13:04:52 2009 +0200
+++ b/src/com/beem/project/beem/ui/ContactList.java Wed Jun 24 18:03:32 2009 +0200
@@ -4,6 +4,7 @@
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
+import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -193,19 +194,17 @@
@Override
public void onEntriesDeleted(List addresses) throws RemoteException {
Log.d("CONTACTLIST", "DEBUG - ONENTRIESDELETED() " + addresses.get(0));
- for (List cList : groupMap.values()) {
- for (Contact curContact : cList) {
- for (String addr : addresses) {
- if (addr.equals(curContact.getJID())) {
- cList.remove(curContact);
- if (cList.isEmpty()) {
- groupMap.values().remove(cList);
- groupName.remove(DEFAULT_GROUP);
- }
- }
- }
+ for (String user : addresses) {
+ List tmpListContact = groupMap.get(DEFAULT_GROUP);
+ for (Contact contact : tmpListContact) {
+ if (contact.getJID().equals(user))
+ tmpListContact.remove(contact);
}
}
+ if (groupMap.get(DEFAULT_GROUP).isEmpty()) {
+ groupMap.remove(DEFAULT_GROUP);
+ groupName.remove(DEFAULT_GROUP);
+ }
mHandler.post(new RunnableChange());
}
@@ -370,7 +369,6 @@
v = (TextView) view.findViewById(R.id.contactlistmsgperso);
if (v != null) {
v.setText(curContact.getMsgState());
- Linkify.addLinks(v, Linkify.WEB_URLS);
}
// TODO: Rajouter l'avatar du contact getAvatar() dans la classe
@@ -383,6 +381,7 @@
}
public void changed() {
+ Collections.sort(groupName);
for (String name : groupName) {
Collections.sort(groupMap.get(name), new ComparatorContactListByStatusAndName());
}