# 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()); }