merge avec beem-ui
authornikita@nikita-rack
Tue, 07 Apr 2009 20:12:30 +0200
changeset 82 ff92a9c95c78
parent 81 b99c01522c62 (current diff)
parent 79 eb9112a00b02 (diff)
child 83 2e6e98e9f8ef
merge avec beem-ui
src/com/beem/project/beem/service/Contact.java
src/com/beem/project/beem/ui/ContactList.java
--- a/res/layout/contactlistcontact.xml	Tue Apr 07 19:59:47 2009 +0200
+++ b/res/layout/contactlistcontact.xml	Tue Apr 07 20:12:30 2009 +0200
@@ -6,7 +6,7 @@
         android:gravity="center_vertical" >
 
         <ImageView android:id="@+id/contactliststatus"
-        android:layout_weight="5"
+        	android:layout_weight="5"
         	android:layout_width="fill_parent"
             android:layout_height="wrap_content"
             android:gravity="center_vertical" />
--- a/src/com/beem/project/beem/ui/ContactList.java	Tue Apr 07 19:59:47 2009 +0200
+++ b/src/com/beem/project/beem/ui/ContactList.java	Tue Apr 07 20:12:30 2009 +0200
@@ -13,6 +13,7 @@
 import android.graphics.drawable.Drawable;
 import android.os.Bundle;
 import android.os.Handler;
+import android.os.IBinder;
 import android.os.RemoteException;
 import android.util.Log;
 import android.view.Menu;
@@ -29,6 +30,8 @@
 import com.beem.project.beem.BeemApplication;
 import com.beem.project.beem.R;
 import com.beem.project.beem.service.Contact;
+import com.beem.project.beem.service.PresenceAdapter;
+import com.beem.project.beem.service.aidl.IBeemRosterListener;
 import com.beem.project.beem.service.aidl.IXmppFacade;
 import com.beem.project.beem.service.aidl.IRoster;
 
@@ -40,6 +43,8 @@
     private Handler mHandler;
     private BeemApplication mBeemApplication;
     private ContactListDialogSettings mDialog;
+    private BeemRosterListener mRosterListener;
+    private IRoster mRoster;
 
     @SuppressWarnings("unchecked")
     @Override
@@ -62,6 +67,7 @@
 	mSettings = getSharedPreferences(
 		getString(R.string.PreferenceFileName), MODE_PRIVATE);
 	mDialog = new ContactListDialogSettings(this, mSettings);
+	mRosterListener = new BeemRosterListener();
 
 	mSettings
 		.registerOnSharedPreferenceChangeListener(new OnSharedPreferenceChangeListener() {
@@ -81,7 +87,6 @@
 			 */
 		    }
 		});
-
     }
 
     @Override
@@ -102,6 +107,14 @@
 	mBeemApplication.callWhenConnectedToServer(mHandler, new Runnable() {
 	    @Override
 	    public void run() {
+		mService = mBeemApplication.getXmppFacade();
+		try {
+		    mRoster = mService.getRoster();
+		    mRoster.addConnectionListener(mRosterListener);
+		    Log.i(TAG, "ROSTERLISTENER OK");
+		} catch (RemoteException e) {
+		    e.printStackTrace();
+		}		
 		callbackShowContactList();
 	    }
 	});
@@ -111,17 +124,12 @@
 	/*
 	 * @TODO: A ameliorer apres listener de nikita
 	 */
-	mService = mBeemApplication.getXmppFacade();
-	if (mService != null) {
+	if (mRoster != null)
 	    try {
-		IRoster r = mService.getRoster();
-		if (r != null)
-		    showContactList(r.getGroupsNames(), r.getContactList());
+		showContactList(mRoster.getGroupsNames(), mRoster.getContactList());
 	    } catch (RemoteException e) {
-		// TODO Auto-generated catch block
 		e.printStackTrace();
-	    }
-	}
+	    }	
     }
 
     /**
@@ -245,25 +253,32 @@
 		switch (c.getStatus()) {
 		    case Contact.CONTACT_STATUS_AVAILABLE:
 			imageDrawable = (Drawable) getResources().getDrawable(
-				R.drawable.avatar);
+				R.drawable.online);
+			break;
 		    case Contact.CONTACT_STATUS_AVAILABLE_FOR_CHAT:
 			imageDrawable = (Drawable) getResources().getDrawable(
 				R.drawable.chat);
+			break;
 		    case Contact.CONTACT_STATUS_AWAY:
 			imageDrawable = (Drawable) getResources().getDrawable(
 				R.drawable.away);
+			break;
 		    case Contact.CONTACT_STATUS_BUSY:
 			imageDrawable = (Drawable) getResources().getDrawable(
 				R.drawable.dnd);
+			break;
 		    case Contact.CONTACT_STATUS_DISCONNECT:
 			imageDrawable = (Drawable) getResources().getDrawable(
 				R.drawable.offline);
+			break;
 		    case Contact.CONTACT_STATUS_UNAVAILABLE:
 			imageDrawable = (Drawable) getResources().getDrawable(
 				R.drawable.requested);
+			break;
 		    default:
 			imageDrawable = (Drawable) getResources().getDrawable(
 				R.drawable.error);
+		    	break;
 		}
 		imgV.setImageDrawable(imageDrawable);
 
@@ -292,4 +307,33 @@
 	    }
 	}
     }
+
+    private class BeemRosterListener extends IBeemRosterListener.Stub {
+
+	@Override
+	public void onEntriesAdded(List<String> addresses)
+		throws RemoteException {
+	    Log.i(TAG, "ENTRIES ADDED");
+	    
+	}
+	@Override
+	public void onEntriesDeleted(List<String> addresses)
+		throws RemoteException {
+	    Log.i(TAG, "ENTRIES DEL");
+	    
+	}
+	@Override
+	public void onEntriesUpdated(List<String> addresses)
+		throws RemoteException {
+	    Log.i(TAG, "ENTRIES UPD");
+	    
+	}
+	@Override
+	public void onPresenceChanged(PresenceAdapter presence)
+		throws RemoteException {
+	    Log.i(TAG, "PRESENCE CHANGED");
+	    
+	}
+	
+    }
 }
\ No newline at end of file