# HG changeset patch
# User marseille
# Date 1240602092 -7200
# Node ID e9d73490be9b259149d0a227d0654af6b8d9ef01
# Parent 393009fc82657d009647c24d885bc84c20d28f3e# Parent ec2072a6089ad0f882df6c6fbed354d9bd901b1f
Ajout du message d'etat dans la contact list
diff -r 393009fc8265 -r e9d73490be9b AndroidManifest.xml
--- a/AndroidManifest.xml Fri Apr 24 21:13:54 2009 +0200
+++ b/AndroidManifest.xml Fri Apr 24 21:41:32 2009 +0200
@@ -17,6 +17,7 @@
+
diff -r 393009fc8265 -r e9d73490be9b src/com/beem/project/beem/service/Contact.java
--- a/src/com/beem/project/beem/service/Contact.java Fri Apr 24 21:13:54 2009 +0200
+++ b/src/com/beem/project/beem/service/Contact.java Fri Apr 24 21:41:32 2009 +0200
@@ -4,8 +4,10 @@
package com.beem.project.beem.service;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.List;
+import org.jivesoftware.smack.RosterGroup;
import org.jivesoftware.smack.packet.Presence;
import com.beem.project.beem.utils.Status;
@@ -27,6 +29,7 @@
private String mJID;
private String mMsgState;
private List mRes;
+ private List mGroups;
/**
* Parcelable.Creator needs by Android.
@@ -60,6 +63,7 @@
mStatus = Status.CONTACT_STATUS_DISCONNECT;
mRes = new ArrayList();
mRes.add("none");
+ mGroups = new ArrayList();
}
/**
@@ -72,7 +76,9 @@
mJID = in.readString();
mMsgState = in.readString();
mRes = new ArrayList();
+ mGroups = new ArrayList();
in.readStringList(mRes);
+ in.readStringList(mGroups);
}
/**
@@ -85,6 +91,7 @@
dest.writeString(mJID);
dest.writeString(mMsgState);
dest.writeStringList(getMRes());
+ dest.writeStringList(getGroups());
}
/**
@@ -135,6 +142,7 @@
public void setStatus(Presence presence) {
Log.i(TAG,"PRESENCE");
mStatus = Status.getStatusFromPresence(presence);
+ mMsgState = presence.getStatus();
}
/**
@@ -206,4 +214,24 @@
return mJID;
return super.toString();
}
+
+ public void setGroups(Collection groups) {
+ for (RosterGroup rosterGroup : groups) {
+ mGroups.add(rosterGroup.getName());
+ }
+ }
+
+ /**
+ * @param mGroups the mGroups to set
+ */
+ public void setGroups(List mGroups) {
+ this.mGroups = mGroups;
+ }
+
+ /**
+ * @return the mGroups
+ */
+ public List getGroups() {
+ return mGroups;
+ }
}
diff -r 393009fc8265 -r e9d73490be9b src/com/beem/project/beem/service/PresenceAdapter.java
--- a/src/com/beem/project/beem/service/PresenceAdapter.java Fri Apr 24 21:13:54 2009 +0200
+++ b/src/com/beem/project/beem/service/PresenceAdapter.java Fri Apr 24 21:41:32 2009 +0200
@@ -13,6 +13,7 @@
private int mType;
private int mStatus;
private String mTo;
+ private String mFrom;
/**
* Parcelable.Creator needs by Android.
@@ -34,6 +35,7 @@
mType = PresenceType.getPresenceType(presence);
mStatus = Status.getStatusFromPresence(presence);
mTo = presence.getTo();
+ mFrom = presence.getFrom();
}
@@ -41,6 +43,7 @@
mType = source.readInt();
mStatus = source.readInt();
mTo = source.readString();
+ mFrom = source.readString();
}
@Override
@@ -54,6 +57,7 @@
dest.writeInt(mType);
dest.writeInt(mStatus);
dest.writeString(mTo);
+ dest.writeString(mFrom);
}
@@ -102,4 +106,20 @@
public String getTo() {
return mTo;
}
+
+
+ /**
+ * @param mFrom the mFrom to set
+ */
+ public void setFrom(String mFrom) {
+ this.mFrom = mFrom;
+ }
+
+
+ /**
+ * @return the mFrom
+ */
+ public String getFrom() {
+ return mFrom;
+ }
}
diff -r 393009fc8265 -r e9d73490be9b src/com/beem/project/beem/service/RosterAdapter.java
--- a/src/com/beem/project/beem/service/RosterAdapter.java Fri Apr 24 21:13:54 2009 +0200
+++ b/src/com/beem/project/beem/service/RosterAdapter.java Fri Apr 24 21:41:32 2009 +0200
@@ -31,8 +31,7 @@
private static final String TAG = "RosterAdapter";
private Roster mAdaptee;
- private RemoteCallbackList mRemoteRosListeners =
- new RemoteCallbackList();
+ private RemoteCallbackList mRemoteRosListeners = new RemoteCallbackList();
private Map mContacts = new HashMap();
private RosterListenerAdapter mRosterListener = new RosterListenerAdapter();
@@ -49,7 +48,8 @@
if (!mContacts.containsKey(user)) {
Contact c = new Contact(user);
c.setStatus(roster.getPresence(user));
- mContacts.put(user, c);
+ c.setGroups(entry.getGroups());
+ mContacts.put(user, c);
}
}
}
@@ -123,10 +123,8 @@
}
/**
- * Listener for the roster events.
- * It will call the remote listeners registered.
+ * Listener for the roster events. It will call the remote listeners registered.
* @author darisk
- *
*/
private class RosterListenerAdapter implements RosterListener {
@@ -222,6 +220,7 @@
}
c.addRes(StringUtils.parseResource(presence.getFrom()));
c.setStatus(mAdaptee.getPresence(presence.getFrom()));
+ c.setMsgState(presence.getStatus());
/* redispatch vers les IBeemRosterListener */
final int n = mRemoteRosListeners.beginBroadcast();
diff -r 393009fc8265 -r e9d73490be9b src/com/beem/project/beem/ui/ContactList.java
--- a/src/com/beem/project/beem/ui/ContactList.java Fri Apr 24 21:13:54 2009 +0200
+++ b/src/com/beem/project/beem/ui/ContactList.java Fri Apr 24 21:41:32 2009 +0200
@@ -65,12 +65,6 @@
mRosterListener = new BeemRosterListener();
mSettings = getSharedPreferences(getString(R.string.PreferenceFileName), MODE_PRIVATE);
mBeemApplication = BeemApplication.getApplication(this);
- // bug fixe temporaire des betises de marseille
-//
-// SharedPreferences mSettings = getSharedPreferences(getString(R.string.PreferenceFileName), MODE_PRIVATE);
-// SharedPreferences.Editor editor = mSettings.edit(); editor.putInt(getString(R.string.PreferencePortKey),
-// 5222); editor.commit();
-
}
@Override
@@ -186,7 +180,7 @@
List