Big Big Clean : Remove adapter + remove aidl + remove privacylist(sorry manu)
authorNikita Kozlov <nikita@elyzion.net>
Sun, 06 Nov 2011 04:27:09 +0100
changeset 917 f7cfc4a68225
parent 916 d697250668af
child 918 80d2be82fa84
Big Big Clean : Remove adapter + remove aidl + remove privacylist(sorry manu)
src/com/beem/project/beem/BeemService.java
src/com/beem/project/beem/service/BeemChatManager.java
src/com/beem/project/beem/service/ChatAdapter.java
src/com/beem/project/beem/service/Contact.aidl
src/com/beem/project/beem/service/Contact.java
src/com/beem/project/beem/service/LoginAsyncTask.java
src/com/beem/project/beem/service/Message.aidl
src/com/beem/project/beem/service/Message.java
src/com/beem/project/beem/service/PresenceAdapter.aidl
src/com/beem/project/beem/service/PresenceAdapter.java
src/com/beem/project/beem/service/PrivacyListItem.aidl
src/com/beem/project/beem/service/PrivacyListItem.java
src/com/beem/project/beem/service/PrivacyListManagerAdapter.java
src/com/beem/project/beem/service/RosterAdapter.java
src/com/beem/project/beem/service/XmppConnectionAdapter.java
src/com/beem/project/beem/service/XmppFacade.java
src/com/beem/project/beem/service/aidl/IBeemRosterListener.aidl
src/com/beem/project/beem/service/aidl/IChat.aidl
src/com/beem/project/beem/service/aidl/IChatManager.aidl
src/com/beem/project/beem/service/aidl/IChatManagerListener.aidl
src/com/beem/project/beem/service/aidl/IContact.aidl
src/com/beem/project/beem/service/aidl/IMessageListener.aidl
src/com/beem/project/beem/service/aidl/IPrivacyListListener.aidl
src/com/beem/project/beem/service/aidl/IPrivacyListManager.aidl
src/com/beem/project/beem/service/aidl/IRoster.aidl
src/com/beem/project/beem/service/aidl/IXmppConnection.aidl
src/com/beem/project/beem/service/aidl/IXmppFacade.aidl
src/com/beem/project/beem/ui/AddContact.java
src/com/beem/project/beem/ui/ChangeStatus.java
src/com/beem/project/beem/ui/Chat.java
src/com/beem/project/beem/ui/ContactList.java
src/com/beem/project/beem/ui/GroupList.java
src/com/beem/project/beem/ui/PrivacyList.java
src/com/beem/project/beem/ui/Settings.java
src/com/beem/project/beem/ui/Subscription.java
src/com/beem/project/beem/ui/dialogs/builders/Alias.java
src/com/beem/project/beem/ui/dialogs/builders/ChatList.java
src/com/beem/project/beem/ui/dialogs/builders/CreatePrivacyList.java
src/com/beem/project/beem/ui/dialogs/builders/DeleteContact.java
src/com/beem/project/beem/ui/dialogs/builders/DeletePrivacyList.java
src/com/beem/project/beem/ui/dialogs/builders/ResendSubscription.java
--- a/src/com/beem/project/beem/BeemService.java	Sun Nov 06 00:15:35 2011 +0100
+++ b/src/com/beem/project/beem/BeemService.java	Sun Nov 06 04:27:09 2011 +0100
@@ -60,7 +60,6 @@
 import org.jivesoftware.smackx.pubsub.provider.PubSubProvider;
 
 import android.app.Notification;
-import android.app.NotificationManager;
 import android.app.Service;
 import android.content.BroadcastReceiver;
 import android.content.Context;
@@ -79,8 +78,6 @@
 import android.util.Log;
 
 import com.beem.project.beem.service.XmppConnectionAdapter;
-import com.beem.project.beem.service.XmppFacade;
-import com.beem.project.beem.service.aidl.IXmppFacade;
 import com.beem.project.beem.smack.avatar.AvatarMetadataProvider;
 import com.beem.project.beem.smack.avatar.AvatarProvider;
 import com.beem.project.beem.smack.caps.CapsProvider;
@@ -107,7 +104,6 @@
 
     private Map<String, XmppConnectionAdapter> mConnection = new HashMap<String, XmppConnectionAdapter>();
     private Map<String, BeemConnection> mBeemConnection = new HashMap<String, BeemConnection>();
-    private Map<String, IXmppFacade.Stub> mBind = new HashMap<String, IXmppFacade.Stub>();
 
     private boolean mOnOffReceiverIsRegistered;
     private Handler mHandler;
@@ -225,15 +221,6 @@
     }
 
     /**
-     * Return a bind to an XmppFacade instance.
-     * @return IXmppFacade a bind to an XmppFacade instance
-     */
-    public IXmppFacade getBind() {
-	//TODO: ?? Never bind to the service ??
-	return null;
-    }
-
-    /**
      * Get the preference of the service.
      * @return the preference
      */
@@ -481,7 +468,6 @@
 		    Log.i(TAG, "Starting connection of " + accountName);
 		    if (beemcoAdapter.connectSync()) {
 			mConnection.put(accountName, beemcoAdapter);
-			mBind.put(accountName, new XmppFacade(beemcoAdapter));
 			res.setAction(BeemIntent.ACTION_CONNECTED);
 			Log.e(TAG, "Account configuration : " + accountName + " DONE");
 		    } else {
--- a/src/com/beem/project/beem/service/BeemChatManager.java	Sun Nov 06 00:15:35 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,328 +0,0 @@
-/*
-    BEEM is a videoconference application on the Android Platform.
-
-    Copyright (C) 2009 by Frederic-Charles Barthelery,
-                          Jean-Manuel Da Silva,
-                          Nikita Kozlov,
-                          Philippe Lago,
-                          Jean Baptiste Vergely,
-                          Vincent Veronis.
-
-    This file is part of BEEM.
-
-    BEEM is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    BEEM is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with BEEM.  If not, see <http://www.gnu.org/licenses/>.
-
-    Please send bug reports with examples or suggestions to
-    contact@beem-project.com or http://dev.beem-project.com/
-
-    Epitech, hereby disclaims all copyright interest in the program "Beem"
-    written by Frederic-Charles Barthelery,
-               Jean-Manuel Da Silva,
-               Nikita Kozlov,
-               Philippe Lago,
-               Jean Baptiste Vergely,
-               Vincent Veronis.
-
-    Nicolas Sadirac, November 26, 2009
-    President of Epitech.
-
-    Flavien Astraud, November 26, 2009
-    Head of the EIP Laboratory.
-
- */
-package com.beem.project.beem.service;
-
-import java.io.File;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.jivesoftware.smack.Chat;
-import org.jivesoftware.smack.ChatManager;
-import org.jivesoftware.smack.ChatManagerListener;
-
-import android.app.Notification;
-import android.app.PendingIntent;
-import android.content.ContentValues;
-import android.content.Intent;
-import android.content.SharedPreferences;
-import android.os.Environment;
-import android.os.RemoteCallbackList;
-import android.os.RemoteException;
-import android.preference.PreferenceManager;
-import android.util.Log;
-
-import com.beem.project.beem.BeemApplication;
-import com.beem.project.beem.BeemService;
-import com.beem.project.beem.providers.Messages;
-import com.beem.project.beem.service.aidl.IChat;
-import com.beem.project.beem.service.aidl.IChatManager;
-import com.beem.project.beem.service.aidl.IChatManagerListener;
-import com.beem.project.beem.service.aidl.IMessageListener;
-import com.beem.project.beem.service.aidl.IRoster;
-
-/**
- * An adapter for smack's ChatManager. This class provides functionnality to handle chats.
- * @author darisk
- */
-public class BeemChatManager extends IChatManager.Stub {
-
-    private static final String TAG = "BeemChatManager";
-    private final ChatManager mAdaptee;
-    private final Map<String, ChatAdapter> mChats = new HashMap<String, ChatAdapter>();
-    private final ChatListener mChatListener = new ChatListener();
-    private final RemoteCallbackList<IChatManagerListener> mRemoteChatCreationListeners = new RemoteCallbackList<IChatManagerListener>();
-    private final BeemService mService;
-
-    /**
-     * Constructor.
-     * @param chatManager the smack ChatManager to adapt
-     * @param service the service which runs the chat manager
-     */
-    public BeemChatManager(final ChatManager chatManager, final BeemService service) {
-	mService = service;
-	mAdaptee = chatManager;
-	//mAdaptee.addChatListener(mChatListener);
-    }
-
-    @Override
-    public void addChatCreationListener(IChatManagerListener listener) throws RemoteException {
-	if (listener != null)
-	    mRemoteChatCreationListeners.register(listener);
-    }
-
-    /**
-     * Create a chat session.
-     * @param contact the contact you want to chat with
-     * @param listener listener to use for chat events on this chat session
-     * @return the chat session
-     */
-    @Override
-    public IChat createChat(Contact contact, IMessageListener listener) {
-	String jid = contact.getJIDWithRes();
-	Log.d(TAG, "Get chat key1 = ");
-
-	return createChat(jid, listener);
-    }
-
-    /**
-     * Create a chat session.
-     * @param jid the jid of the contact you want to chat with
-     * @param listener listener to use for chat events on this chat session
-     * @return the chat session
-     */
-    public IChat createChat(String jid, IMessageListener listener) {
-	String key = jid;
-	ChatAdapter result;
-	Log.d(TAG, "Get chat key2 = ");
-	if (mChats.containsKey(key)) {
-	    result = mChats.get(key);
-	    result.addMessageListener(listener);
-	    return result;
-	}
-	Chat c = mAdaptee.createChat(key, null);
-	// maybe a little probleme of thread synchronization
-	// if so use an HashTable instead of a HashMap for mChats
-	result = getChat(c);
-	result.addMessageListener(listener);
-	return result;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void destroyChat(IChat chat) throws RemoteException {
-	// Can't remove it. otherwise we will lose all futur message in this chat
-	// chat.removeMessageListener(mChatListener);
-	if (chat == null)
-	    return;
-	deleteChatNotification(chat);
-	mChats.remove(chat.getParticipant().getJID());
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void deleteChatNotification(IChat chat) {
-	//		try {
-	//			//TODO: BeemNotification.BindNotification(BeemChatManager.this).deleteNotification(chat.getParticipant().getJID().hashCode());
-	//		} catch (RemoteException e) {
-	//			Log.v(TAG, "Remote exception ", e);
-	//		}
-    }
-
-    /**
-     * Get an existing ChatAdapter or create it if necessary.
-     * @param chat The real instance of smack chat
-     * @return a chat adapter register in the manager
-     */
-    private ChatAdapter getChat(Chat chat) {
-	String key = chat.getParticipant();
-	if (mChats.containsKey(key)) {
-	    return mChats.get(key);
-	}
-	ChatAdapter res = new ChatAdapter(chat);
-	boolean history = PreferenceManager.getDefaultSharedPreferences(mService.getBaseContext()).getBoolean(
-	    "settings_key_history", false);
-	String accountUser = PreferenceManager.getDefaultSharedPreferences(mService.getBaseContext()).getString(
-	    BeemApplication.ACCOUNT_USERNAME_KEY, "");
-	String historyPath = PreferenceManager.getDefaultSharedPreferences(mService.getBaseContext()).getString(
-	    BeemApplication.CHAT_HISTORY_KEY, "");
-	if ("".equals(historyPath))
-	    historyPath = "/Android/data/com.beem.project.beem/chat/";
-	res.setHistory(history);
-	res.setAccountUser(accountUser);
-	res.setHistoryPath(new File(Environment.getExternalStorageDirectory(), historyPath));
-	Log.d(TAG, "getChat put " + key);
-	mChats.put(key, res);
-	return res;
-    }
-
-    @Override
-    public ChatAdapter getChat(Contact contact) {
-	String key = contact.getJIDWithRes();
-	return mChats.get(key);
-    }
-
-    /**
-     * This methods permits to retrieve the list of contacts who have an opened chat session with us.
-     * @return An List containing Contact instances.
-     * @throws RemoteException If a Binder remote-invocation error occurred.
-     */
-    public List<Contact> getOpenedChatList() throws RemoteException {
-	List<Contact> openedChats = new ArrayList<Contact>();
-	IRoster mRoster = mService.getBind().getRoster();
-
-	for (ChatAdapter chat : mChats.values()) {
-	    if (chat.getMessages().size() > 0) {
-		Contact t = mRoster.getContact(chat.getParticipant().getJID());
-		if (t == null)
-		    t = new Contact(chat.getParticipant().getJID());
-		openedChats.add(t);
-	    }
-	}
-	return openedChats;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void removeChatCreationListener(IChatManagerListener listener) throws RemoteException {
-	if (listener != null)
-	    mRemoteChatCreationListeners.unregister(listener);
-    }
-
-    /**
-     * A listener for all the chat creation event that happens on the connection.
-     * @author darisk
-     */
-    private class ChatListener extends IMessageListener.Stub implements ChatManagerListener {
-
-	/**
-	 * Constructor.
-	 */
-	public ChatListener() {
-	}
-
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public void chatCreated(Chat chat, boolean locally) {
-	    IChat newchat = getChat(chat);
-	    Log.d(TAG, "Chat" + chat.toString() + " created locally " + locally + "with " + chat.getParticipant());
-	    try {
-		newchat.addMessageListener(mChatListener);
-		final int n = mRemoteChatCreationListeners.beginBroadcast();
-
-		for (int i = 0; i < n; i++) {
-		    IChatManagerListener listener = mRemoteChatCreationListeners.getBroadcastItem(i);
-		    listener.chatCreated(newchat, locally);
-		}
-		mRemoteChatCreationListeners.finishBroadcast();
-	    } catch (RemoteException e) {
-		// The RemoteCallbackList will take care of removing the
-		// dead listeners.
-		Log.w(TAG, " Error while triggering remote connection listeners in chat creation", e);
-	    }
-	}
-
-	/**
-	 * Create the PendingIntent to launch our activity if the user select this chat notification.
-	 * @param chat A ChatAdapter instance
-	 * @return A Chat activity PendingIntent
-	 */
-	private PendingIntent makeChatIntent(IChat chat) {
-	    Intent chatIntent = new Intent(mService, com.beem.project.beem.ui.Chat.class);
-	    chatIntent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT | Intent.FLAG_ACTIVITY_SINGLE_TOP
-		| Intent.FLAG_ACTIVITY_NEW_TASK);
-	    try {
-		chatIntent.setData(chat.getParticipant().toUri());
-	    } catch (RemoteException e) {
-		Log.e(TAG, e.getMessage());
-	    }
-	    PendingIntent contentIntent = PendingIntent.getActivity(mService, 0, chatIntent,
-		PendingIntent.FLAG_UPDATE_CURRENT);
-	    return contentIntent;
-	}
-
-	/**
-	 * Set a notification of a new chat.
-	 * @param chat The chat to access by the notification
-	 * @param msgBody the body of the new message
-	 */
-	private void notifyNewChat(IChat chat, String msgBody) {
-	    SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(mService);
-	    try {
-		CharSequence tickerText = mService.getBind().getRoster().getContact(chat.getParticipant().getJID())
-		    .getName();
-		Notification notification = new Notification(android.R.drawable.stat_notify_chat, tickerText, System
-		    .currentTimeMillis());
-		notification.flags = Notification.FLAG_AUTO_CANCEL;
-		notification.setLatestEventInfo(mService, tickerText, msgBody, makeChatIntent(chat));
-		mService.sendNotification(chat.getParticipant().getJID().hashCode(), notification);
-	    } catch (RemoteException e) {
-		Log.e(TAG, e.getMessage());
-	    }
-	}
-
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public void processMessage(final IChat chat, Message message) {
-	    try {
-		String body = message.getBody();
-		if (!chat.isOpen() && body != null) {
-		    if (chat instanceof ChatAdapter) {
-			mChats.put(chat.getParticipant().getJID(), (ChatAdapter) chat);
-		    }
-		    notifyNewChat(chat, body);
-		}
-	    } catch (RemoteException e) {
-		Log.e(TAG, e.getMessage());
-	    }
-	}
-
-	@Override
-	public void stateChanged(final IChat chat) {
-	}
-    }
-}
--- a/src/com/beem/project/beem/service/ChatAdapter.java	Sun Nov 06 00:15:35 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,332 +0,0 @@
-/*
-    BEEM is a videoconference application on the Android Platform.
-
-    Copyright (C) 2009 by Frederic-Charles Barthelery,
-                          Jean-Manuel Da Silva,
-                          Nikita Kozlov,
-                          Philippe Lago,
-                          Jean Baptiste Vergely,
-                          Vincent Veronis.
-
-    This file is part of BEEM.
-
-    BEEM is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    BEEM is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with BEEM.  If not, see <http://www.gnu.org/licenses/>.
-
-    Please send bug reports with examples or suggestions to
-    contact@beem-project.com or http://dev.beem-project.com/
-
-    Epitech, hereby disclaims all copyright interest in the program "Beem"
-    written by Frederic-Charles Barthelery,
-               Jean-Manuel Da Silva,
-               Nikita Kozlov,
-               Philippe Lago,
-               Jean Baptiste Vergely,
-               Vincent Veronis.
-
-    Nicolas Sadirac, November 26, 2009
-    President of Epitech.
-
-    Flavien Astraud, November 26, 2009
-    Head of the EIP Laboratory.
-
- */
-package com.beem.project.beem.service;
-
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.List;
-
-import org.jivesoftware.smack.Chat;
-import org.jivesoftware.smack.XMPPException;
-import org.jivesoftware.smack.util.StringUtils;
-import org.jivesoftware.smackx.ChatState;
-import org.jivesoftware.smackx.ChatStateListener;
-
-import android.os.Environment;
-import android.os.RemoteCallbackList;
-import android.os.RemoteException;
-import android.util.Log;
-
-import com.beem.project.beem.service.aidl.IChat;
-import com.beem.project.beem.service.aidl.IMessageListener;
-
-/**
- * An adapter for smack's Chat class.
- * @author darisk
- */
-public class ChatAdapter extends IChat.Stub {
-	private static final int HISTORY_MAX_SIZE = 50;
-	private static final String TAG = "ChatAdapter";
-
-	private final Chat mAdaptee;
-	private final Contact mParticipant;
-	private String mState;
-	private boolean mIsOpen;
-	private final List<Message> mMessages;
-	private final RemoteCallbackList<IMessageListener> mRemoteListeners = new RemoteCallbackList<IMessageListener>();
-	private final MsgListener mMsgListener = new MsgListener();
-	private boolean mIsHistory;
-	private File mHistoryPath;
-	private String mAccountUser;
-
-	/**
-	 * Constructor.
-	 * @param chat The chat to adapt
-	 */
-	public ChatAdapter(final Chat chat) {
-		mAdaptee = chat;
-		mParticipant = new Contact(chat.getParticipant());
-		mMessages = new LinkedList<Message>();
-		mAdaptee.addMessageListener(mMsgListener);
-	}
-
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public Contact getParticipant() throws RemoteException {
-		return mParticipant;
-	}
-
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public void sendMessage(com.beem.project.beem.service.Message message) throws RemoteException {
-		org.jivesoftware.smack.packet.Message send = new org.jivesoftware.smack.packet.Message();
-		send.setTo(message.getTo());
-		send.setBody(message.getBody());
-		send.setThread(message.getThread());
-		send.setSubject(message.getSubject());
-		send.setType(org.jivesoftware.smack.packet.Message.Type.chat);
-		// TODO gerer les messages contenant des XMPPError
-		// send.set
-		try {
-			mAdaptee.sendMessage(send);
-			mMessages.add(message);
-		} catch (XMPPException e) {
-			e.printStackTrace();
-		}
-		String state = Environment.getExternalStorageState();
-		if (mIsHistory && Environment.MEDIA_MOUNTED.equals(state))
-			saveHistory(message, mAccountUser);
-	}
-
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public void addMessageListener(IMessageListener listen) {
-		if (listen != null)
-			mRemoteListeners.register(listen);
-	}
-
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public void removeMessageListener(IMessageListener listen) {
-		if (listen != null) {
-			mRemoteListeners.unregister(listen);
-		}
-	}
-
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public String getState() throws RemoteException {
-		return mState;
-	}
-
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public void setState(String state) throws RemoteException {
-		mState = state;
-	}
-
-	/**
-	 * Get the adaptee for the Chat.
-	 * @return The real chat object
-	 */
-	public Chat getAdaptee() {
-		return mAdaptee;
-	}
-
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public void setOpen(boolean isOpen) {
-		this.mIsOpen = isOpen;
-	}
-
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public boolean isOpen() {
-		return mIsOpen;
-	}
-
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public List<Message> getMessages() throws RemoteException {
-		return Collections.unmodifiableList(mMessages);
-	}
-
-	/**
-	 * Add a message in the chat history.
-	 * @param msg the message to add
-	 */
-	void addMessage(Message msg) {
-		if (mMessages.size() == HISTORY_MAX_SIZE)
-			mMessages.remove(0);
-		// note that we don't have to add an id as our table set id as autoincrement
-		//contentValue.put(Messages.FROM, msg.getFrom());
-		mMessages.add(msg);
-		if (!"".equals(msg.getBody()) && msg.getBody() != null) {
-			String state = Environment.getExternalStorageState();
-			if (mIsHistory && Environment.MEDIA_MOUNTED.equals(state))
-				saveHistory(msg, msg.getFrom());
-		}
-	}
-
-	/**
-	 * Save message in SDCard.
-	 * @param msg the message receive
-	 * @param contactName the name of the contact
-	 */
-	public void saveHistory(Message msg, String contactName) {
-		File path = getHistoryPath();
-		File filepath;
-		if (contactName.equals(msg.getFrom()))
-			filepath = new File(path, StringUtils.parseBareAddress(contactName));
-		else
-			filepath = new File(path, StringUtils.parseBareAddress(msg.getTo()));
-		path.mkdirs();
-		try {
-			FileWriter file = new FileWriter(filepath, true);
-			String log = msg.getTimestamp() + " " + contactName + " " + msg.getBody()
-				+ System.getProperty("line.separator");
-			file.write(log);
-			file.close();
-		} catch (IOException e) {
-			Log.e(TAG, "Error writing chat history", e);
-		}
-	}
-
-	/**
-	 * set History enable/disable.
-	 * @param isHisory history state
-	 */
-	public void setHistory(boolean isHisory) {
-		this.mIsHistory = isHisory;
-	}
-
-	/**
-	 * get History state.
-	 * @return mIsHistory
-	 */
-	public boolean getHistory() {
-		return mIsHistory;
-	}
-
-	/**
-	 * Set Account user name.
-	 * @param accountUser user name
-	 */
-	public void setAccountUser(String accountUser) {
-		mAccountUser = accountUser;
-	}
-
-	/**
-	 * get Account user name.
-	 * @return mAccountUser
-	 */
-	public String getAccountUser() {
-		return mAccountUser;
-	}
-
-	/**
-	 * set History path.
-	 * @param historyPath history path
-	 */
-	public void setHistoryPath(File historyPath) {
-		this.mHistoryPath = historyPath;
-	}
-
-	/**
-	 * get History path.
-	 * @return mHistoryPath;
-	 */
-	public File getHistoryPath() {
-		return mHistoryPath;
-	}
-
-	/**
-	 * Listener.
-	 */
-	private class MsgListener implements ChatStateListener {
-		/**
-		 * Constructor.
-		 */
-		public MsgListener() {
-		}
-
-		@Override
-		public void processMessage(Chat chat, org.jivesoftware.smack.packet.Message message) {
-			Message msg = new Message(message);
-			//TODO add que les message pas de type errors
-			ChatAdapter.this.addMessage(msg);
-			final int n = mRemoteListeners.beginBroadcast();
-			for (int i = 0; i < n; i++) {
-				IMessageListener listener = mRemoteListeners.getBroadcastItem(i);
-				try {
-					if (listener != null)
-						listener.processMessage(ChatAdapter.this, msg);
-				} catch (RemoteException e) {
-					Log.w(TAG, "Error while diffusing message to listener", e);
-				}
-			}
-			mRemoteListeners.finishBroadcast();
-		}
-
-		/**
-		 * {@inheritDoc}
-		 */
-		@Override
-		public void stateChanged(Chat chat, ChatState state) {
-			mState = state.name();
-			final int n = mRemoteListeners.beginBroadcast();
-
-			for (int i = 0; i < n; i++) {
-				IMessageListener listener = mRemoteListeners.getBroadcastItem(i);
-				try {
-					listener.stateChanged(ChatAdapter.this);
-				} catch (RemoteException e) {
-					Log.w(TAG, e.getMessage());
-				}
-			}
-			mRemoteListeners.finishBroadcast();
-		}
-	}
-}
--- a/src/com/beem/project/beem/service/Contact.aidl	Sun Nov 06 00:15:35 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
-    BEEM is a videoconference application on the Android Platform.
-
-    Copyright (C) 2009 by Frederic-Charles Barthelery,
-                          Jean-Manuel Da Silva,
-                          Nikita Kozlov,
-                          Philippe Lago,
-                          Jean Baptiste Vergely,
-                          Vincent Veronis.
-
-    This file is part of BEEM.
-
-    BEEM is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    BEEM is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with BEEM.  If not, see <http://www.gnu.org/licenses/>.
-
-    Please send bug reports with examples or suggestions to
-    contact@beem-project.com or http://dev.beem-project.com/
-
-    Epitech, hereby disclaims all copyright interest in the program "Beem"
-    written by Frederic-Charles Barthelery,
-               Jean-Manuel Da Silva,
-               Nikita Kozlov,
-               Philippe Lago,
-               Jean Baptiste Vergely,
-               Vincent Veronis.
-
-    Nicolas Sadirac, November 26, 2009
-    President of Epitech.
-
-    Flavien Astraud, November 26, 2009
-    Head of the EIP Laboratory.
-
-*/
-package com.beem.project.beem.service;
-
-parcelable Contact;
--- a/src/com/beem/project/beem/service/Contact.java	Sun Nov 06 00:15:35 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,461 +0,0 @@
-/*
-    BEEM is a videoconference application on the Android Platform.
-
-    Copyright (C) 2009 by Frederic-Charles Barthelery,
-                          Jean-Manuel Da Silva,
-                          Nikita Kozlov,
-                          Philippe Lago,
-                          Jean Baptiste Vergely,
-                          Vincent Veronis.
-
-    This file is part of BEEM.
-
-    BEEM is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    BEEM is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with BEEM.  If not, see <http://www.gnu.org/licenses/>.
-
-    Please send bug reports with examples or suggestions to
-    contact@beem-project.com or http://dev.beem-project.com/
-
-    Epitech, hereby disclaims all copyright interest in the program "Beem"
-    written by Frederic-Charles Barthelery,
-               Jean-Manuel Da Silva,
-               Nikita Kozlov,
-               Philippe Lago,
-               Jean Baptiste Vergely,
-               Vincent Veronis.
-
-    Nicolas Sadirac, November 26, 2009
-    President of Epitech.
-
-    Flavien Astraud, November 26, 2009
-    Head of the EIP Laboratory.
-
-*/
-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 org.jivesoftware.smack.util.StringUtils;
-
-import android.net.Uri;
-import android.os.Parcel;
-import android.os.Parcelable;
-
-import com.beem.project.beem.utils.Status;
-
-/**
- * This class contains informations on a jabber contact.
- * @author darisk
- */
-public class Contact implements Parcelable {
-
-    /** Parcelable.Creator needs by Android. */
-    public static final Parcelable.Creator<Contact> CREATOR = new Parcelable.Creator<Contact>() {
-
-	@Override
-	public Contact createFromParcel(Parcel source) {
-	    return new Contact(source);
-	}
-
-	@Override
-	public Contact[] newArray(int size) {
-	    return new Contact[size];
-	}
-    };
-
-    private int mID;
-    private int mStatus;
-    private final String mJID;
-    private String mSelectedRes;
-    private String mMsgState;
-    private List<String> mRes;
-    private final List<String> mGroups = new ArrayList<String>();
-    private String mName;
-    private String mAvatarId;
-
-    /**
-     * Construct a contact from a parcel.
-     * @param in parcel to use for construction
-     */
-    private Contact(final Parcel in) {
-	mID = in.readInt();
-	mStatus = in.readInt();
-	mJID = in.readString();
-	mSelectedRes = in.readString();
-	mName = in.readString();
-	mMsgState = in.readString();
-	mAvatarId = in.readString();
-	mRes = new ArrayList<String>();
-	in.readStringList(mRes);
-	in.readStringList(mGroups);
-    }
-
-    /**
-     * Constructor.
-     * @param jid JID of the contact
-     */
-    public Contact(final String jid) {
-	mJID = StringUtils.parseBareAddress(jid);
-	mName = mJID;
-	mStatus = Status.CONTACT_STATUS_DISCONNECT;
-	mMsgState = null;
-	mRes = new ArrayList<String>();
-	String res = StringUtils.parseResource(jid);
-	mSelectedRes = res;
-	if (!"".equals(res))
-	    mRes.add(res);
-    }
-
-    /**
-     * Create a contact from a Uri.
-     * @param uri an uri for the contact
-     * @throws IllegalArgumentException if it is not a xmpp uri
-     */
-    public Contact(final Uri uri) {
-	if (!"xmpp".equals(uri.getScheme()))
-	    throw new IllegalArgumentException();
-	String enduri = uri.getEncodedSchemeSpecificPart();
-	mJID = StringUtils.parseBareAddress(enduri);
-	mName = mJID;
-	mStatus = Status.CONTACT_STATUS_DISCONNECT;
-	mMsgState = null;
-	mRes = new ArrayList<String>();
-	String res = StringUtils.parseResource(enduri);
-	mSelectedRes = res;
-	mRes.add(res);
-    }
-
-    /**
-     * Make an xmpp uri for a spcific jid.
-     *
-     * @param jid the jid to represent as an uri
-     * @return an uri representing this jid.
-     */
-    public static Uri makeXmppUri(String jid) {
-	StringBuilder build = new StringBuilder("xmpp:");
-	String name = StringUtils.parseName(jid);
-	build.append(name);
-	if (!"".equals(name))
-	    build.append('@');
-	build.append(StringUtils.parseServer(jid));
-	String resource = StringUtils.parseResource(jid);
-	if (!"".equals(resource)) {
-	    build.append('/');
-	    build.append(resource);
-	}
-	Uri u = Uri.parse(build.toString());
-	return u;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void writeToParcel(Parcel dest, int flags) {
-	dest.writeInt(mID);
-	dest.writeInt(mStatus);
-	dest.writeString(mJID);
-	dest.writeString(mSelectedRes);
-	dest.writeString(mName);
-	dest.writeString(mMsgState);
-	dest.writeString(mAvatarId);
-	dest.writeStringList(getMRes());
-	dest.writeStringList(getGroups());
-    }
-
-    /**
-     * Add a group for the contact.
-     * @param group the group
-     */
-    public void addGroup(String group) {
-	if (!mGroups.contains(group))
-	    mGroups.add(group);
-    }
-
-    /**
-     * Remove the contact from a group.
-     * @param group the group to delete the contact from.
-     */
-    public void delGroup(String group) {
-	mGroups.remove(group);
-    }
-
-    /**
-     * Add a resource for this contact.
-     * @param res the resource to add
-     */
-    public void addRes(String res) {
-	if (!mRes.contains(res))
-	    mRes.add(res);
-    }
-
-    /**
-     * Delete a resource for this contact.
-     * @param res the resource de delete
-     */
-    public void delRes(String res) {
-	mRes.remove(res);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public int describeContents() {
-	return 0;
-    }
-
-    /**
-     * Get the groups the contact is in.
-     * @return the mGroups
-     */
-    public List<String> getGroups() {
-	return mGroups;
-    }
-
-    /**
-     * Get the id of the contact on the phone contact list.
-     * @return the mID
-     */
-    public int getID() {
-	return mID;
-    }
-
-    /**
-     * Get the Jabber ID of the contact.
-     * @return the Jabber ID
-     */
-    public String getJID() {
-	return mJID;
-    }
-
-    /**
-     * Get selected resource.
-     * @return the selected resource.
-     */
-    public String getSelectedRes() {
-	return mSelectedRes;
-    }
-
-    /**
-     * Get the list of resource for the contact.
-     * @return the mRes
-     */
-    public List<String> getMRes() {
-	return mRes;
-    }
-
-    /**
-     * Get the message status of the contact.
-     * @return the message status of the contact.
-     */
-    public String getMsgState() {
-	return mMsgState;
-    }
-
-    /**
-     * Get the name of the contact.
-     * @return the mName
-     */
-    public String getName() {
-	return mName;
-    }
-
-    /**
-     * Get the status of the contact.
-     * @return the mStatus
-     */
-    public int getStatus() {
-	return mStatus;
-    }
-
-    /**
-     * Get the avatar id of the contact.
-     *
-     * @return the avatar id or null if there is not
-     */
-    public String getAvatarId() {
-	return mAvatarId;
-    }
-
-    /**
-     * Set the groups the contact is in.
-     * @param groups list of groups
-     */
-    public void setGroups(Collection<RosterGroup> groups) {
-	this.mGroups.clear();
-	for (RosterGroup rosterGroup : groups) {
-	    mGroups.add(rosterGroup.getName());
-	}
-    }
-
-    /**
-     * Set the groups the contact is in.
-     * @param groups the mGroups to set
-     */
-    public void setGroups(List<String> groups) {
-	mGroups.clear();
-	mGroups.addAll(groups);
-    }
-
-    /**
-     * set the id of te contact on the phone contact list.
-     * @param mid the mID to set
-     */
-    public void setID(int mid) {
-	mID = mid;
-    }
-
-    /**
-     * Set the avatar id of the contact.
-     *
-     * @param avatarId the avatar id
-     */
-    public void setAvatarId(String avatarId) {
-	mAvatarId = avatarId;
-    }
-
-    /**
-     * Set the resource of the contact.
-     * @param resource to set.
-     */
-    public void setSelectedRes(String resource) {
-	mSelectedRes = resource;
-    }
-
-    /**
-     * Set a list of resource for the contact.
-     * @param mRes the mRes to set
-     */
-    public void setMRes(List<String> mRes) {
-	this.mRes = mRes;
-    }
-
-    /**
-     * Set the message status of the contact.
-     * @param msgState the message status of the contact to set
-     */
-    public void setMsgState(String msgState) {
-	mMsgState = msgState;
-    }
-
-    /**
-     * Set the name of the contact.
-     * @param name the mName to set
-     */
-    public void setName(String name) {
-	if (name == null || "".equals(name)) {
-	    this.mName = this.mJID;
-	    this.mName = StringUtils.parseName(this.mName);
-	    if (this.mName == null || "".equals(this.mName))
-		this.mName = this.mJID;
-	} else {
-	    this.mName = name;
-	}
-    }
-
-    /**
-     * Set the status of the contact.
-     * @param status the mStatus to set
-     */
-    public void setStatus(int status) {
-	mStatus = status;
-    }
-
-    /**
-     * Set the status of the contact using a presence packet.
-     * @param presence the presence containing status
-     */
-    public void setStatus(Presence presence) {
-	mStatus = Status.getStatusFromPresence(presence);
-	mMsgState = presence.getStatus();
-    }
-
-    /**
-     * Set status for the contact.
-     * @param presence The presence packet which contains the status
-     */
-    public void setStatus(PresenceAdapter presence) {
-	mStatus = presence.getStatus();
-	mMsgState = presence.getStatusText();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public String toString() {
-	if (mJID != null)
-	    return mJID + "/[" + mRes + "]";
-	return super.toString();
-    }
-
-    /**
-     * Get a URI to access the contact.
-     * @return the URI
-     */
-    public Uri toUri() {
-	return makeXmppUri(mJID);
-    }
-
-    /**
-     * Get a URI to access the specific contact on this resource.
-     * @param resource the resource of the contact
-     * @return the URI
-     */
-    public Uri toUri(String resource) {
-	StringBuilder build = new StringBuilder("xmpp:");
-	String name = StringUtils.parseName(mJID);
-	build.append(name);
-	if (!"".equals(name))
-	    build.append('@');
-	build.append(StringUtils.parseServer(mJID));
-	if (!"".equals(resource)) {
-	    build.append('/');
-	    build.append(resource);
-	}
-	Uri u = Uri.parse(build.toString());
-	return u;
-    }
-
-    /**
-     * Get a JID to access the specific contact on this resource.
-     * @return the JID.
-     */
-    public String getJIDWithRes() {
-	StringBuilder build = new StringBuilder(mJID);
-	if (!"".equals(mSelectedRes))
-	    build.append('/').append(mSelectedRes);
-	return build.toString();
-    }
-
-    @Override
-    public boolean equals(Object other) {
-	if (!(other instanceof Contact))
-	    return false;
-	if (other == this)
-	    return true;
-	Contact c = (Contact) other;
-	return c.getJID().equals(getJID());
-    }
-
-    @Override
-    public int hashCode() {
-	return mJID.hashCode();
-    }
-
-}
--- a/src/com/beem/project/beem/service/LoginAsyncTask.java	Sun Nov 06 00:15:35 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,137 +0,0 @@
-/*
-    BEEM is a videoconference application on the Android Platform.
-
-    Copyright (C) 2009 by Frederic-Charles Barthelery,
-                          Jean-Manuel Da Silva,
-                          Nikita Kozlov,
-                          Philippe Lago,
-                          Jean Baptiste Vergely,
-                          Vincent Veronis.
-
-    This file is part of BEEM.
-
-    BEEM is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    BEEM is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with BEEM.  If not, see <http://www.gnu.org/licenses/>.
-
-    Please send bug reports with examples or suggestions to
-    contact@beem-project.com or http://dev.beem-project.com/
-
-    Epitech, hereby disclaims all copyright interest in the program "Beem"
-    written by Frederic-Charles Barthelery,
-               Jean-Manuel Da Silva,
-               Nikita Kozlov,
-               Philippe Lago,
-               Jean Baptiste Vergely,
-               Vincent Veronis.
-
-    Nicolas Sadirac, November 26, 2009
-    President of Epitech.
-
-    Flavien Astraud, November 26, 2009
-    Head of the EIP Laboratory.
-
-*/
-package com.beem.project.beem.service;
-
-import android.content.Context;
-import android.os.AsyncTask;
-import android.os.RemoteException;
-import android.util.Log;
-
-import com.beem.project.beem.service.aidl.IXmppConnection;
-import com.beem.project.beem.service.aidl.IXmppFacade;
-
-/**
- * This is an asynchronous task that will launch a connection to the XMPP server.
- * @see android.os.AsyncTask
- * @author Da Risk <da_risk@elyzion.net>
- */
-public class LoginAsyncTask extends AsyncTask<IXmppFacade, Integer, Boolean> {
-
-    /**
-     * State of a running connection.
-     */
-    public static final int STATE_CONNECTION_RUNNING = 0;
-    /**
-     * State of an already connected connection but authentication is running.
-     */
-    public static final int STATE_LOGIN_RUNNING = 1;
-    /**
-     * State of a connected and authenticated succesfully.
-     */
-    public static final int STATE_LOGIN_SUCCESS = 2;
-    /**
-     * State of a connected but failed authentication.
-     */
-    public static final int STATE_LOGIN_FAILED = 3;
-
-    private static final String TAG = "BeemLoginTask";
-
-    private IXmppConnection mConnection;
-    private String mErrorMessage;
-    
-    /**
-     * Constructor.
-     */
-    public LoginAsyncTask() {
-    }
-
-    @Override
-    protected Boolean doInBackground(IXmppFacade... params) {
-	boolean result = true;
-	IXmppFacade facade = params[0];
-	try {
-	    publishProgress(STATE_CONNECTION_RUNNING);
-	    mConnection = facade.createConnection();
-	    if (!mConnection.connect()) {
-		mErrorMessage = mConnection.getErrorMessage();
-		publishProgress(STATE_LOGIN_FAILED);
-		return false;
-	    }
-	    publishProgress(STATE_LOGIN_RUNNING);
-
-	    if (!mConnection.login()) {
-		mErrorMessage = mConnection.getErrorMessage();
-		publishProgress(STATE_LOGIN_FAILED);
-		return false;
-	    }
-	    publishProgress(STATE_LOGIN_SUCCESS);
-	} catch (RemoteException e) {
-	    mErrorMessage = "Exception during connection :" + e;
-	    result = false;
-	}
-	return result;
-    }
-
-    /**
-     * Make sur to call the parent method when overriding this method.
-     */
-    @Override
-    protected void onCancelled() {
-	try {
-	    if (mConnection != null && mConnection.isAuthentificated()) {
-		mConnection.disconnect();
-	    }
-	} catch (RemoteException e) {
-	    Log.d(TAG, "Remote exception", e);
-	}
-    }
-
-    /**
-     * Get the error Message.
-     * @return the error message. null if no error
-     */
-    public String getErrorMessage() {
-	return mErrorMessage;
-    }
-}
--- a/src/com/beem/project/beem/service/Message.aidl	Sun Nov 06 00:15:35 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
-    BEEM is a videoconference application on the Android Platform.
-
-    Copyright (C) 2009 by Frederic-Charles Barthelery,
-                          Jean-Manuel Da Silva,
-                          Nikita Kozlov,
-                          Philippe Lago,
-                          Jean Baptiste Vergely,
-                          Vincent Veronis.
-
-    This file is part of BEEM.
-
-    BEEM is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    BEEM is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with BEEM.  If not, see <http://www.gnu.org/licenses/>.
-
-    Please send bug reports with examples or suggestions to
-    contact@beem-project.com or http://dev.beem-project.com/
-
-    Epitech, hereby disclaims all copyright interest in the program "Beem"
-    written by Frederic-Charles Barthelery,
-               Jean-Manuel Da Silva,
-               Nikita Kozlov,
-               Philippe Lago,
-               Jean Baptiste Vergely,
-               Vincent Veronis.
-
-    Nicolas Sadirac, November 26, 2009
-    President of Epitech.
-
-    Flavien Astraud, November 26, 2009
-    Head of the EIP Laboratory.
-
-*/
-package com.beem.project.beem.service;
-
-parcelable Message;
--- a/src/com/beem/project/beem/service/Message.java	Sun Nov 06 00:15:35 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,319 +0,0 @@
-/*
-    BEEM is a videoconference application on the Android Platform.
-
-    Copyright (C) 2009 by Frederic-Charles Barthelery,
-                          Jean-Manuel Da Silva,
-                          Nikita Kozlov,
-                          Philippe Lago,
-                          Jean Baptiste Vergely,
-                          Vincent Veronis.
-
-    This file is part of BEEM.
-
-    BEEM is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    BEEM is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with BEEM.  If not, see <http://www.gnu.org/licenses/>.
-
-    Please send bug reports with examples or suggestions to
-    contact@beem-project.com or http://dev.beem-project.com/
-
-    Epitech, hereby disclaims all copyright interest in the program "Beem"
-    written by Frederic-Charles Barthelery,
-               Jean-Manuel Da Silva,
-               Nikita Kozlov,
-               Philippe Lago,
-               Jean Baptiste Vergely,
-               Vincent Veronis.
-
-    Nicolas Sadirac, November 26, 2009
-    President of Epitech.
-
-    Flavien Astraud, November 26, 2009
-    Head of the EIP Laboratory.
-
-*/
-package com.beem.project.beem.service;
-
-import org.jivesoftware.smack.packet.XMPPError;
-import org.jivesoftware.smackx.packet.DelayInformation;
-import org.jivesoftware.smack.packet.PacketExtension;
-
-import android.os.Parcel;
-import android.os.Parcelable;
-import java.util.Date;
-
-/**
- * This class represents a instant message.
- * @author darisk
- */
-public class Message implements Parcelable {
-
-    /** Normal message type. Theese messages are like an email, with subject. */
-    public static final int MSG_TYPE_NORMAL = 100;
-
-    /** Chat message type. */
-    public static final int MSG_TYPE_CHAT = 200;
-
-    /** Group chat message type. */
-    public static final int MSG_TYPE_GROUP_CHAT = 300;
-
-    /** Error message type. */
-    public static final int MSG_TYPE_ERROR = 400;
-
-    /** Parcelable.Creator needs by Android. */
-    public static final Parcelable.Creator<Message> CREATOR = new Parcelable.Creator<Message>() {
-
-	@Override
-	public Message createFromParcel(Parcel source) {
-	    return new Message(source);
-	}
-
-	@Override
-	public Message[] newArray(int size) {
-	    return new Message[size];
-	}
-    };
-
-    private int mType;
-    private String mBody;
-    private String mSubject;
-    private String mTo;
-    private String mFrom;
-    private String mThread;
-    private Date mTimestamp;
-
-    // TODO ajouter l'erreur
-
-    /**
-     * Constructor.
-     * @param to the destinataire of the message
-     * @param type the message type
-     */
-    public Message(final String to, final int type) {
-	mTo = to;
-	mType = type;
-	mBody = "";
-	mSubject = "";
-	mThread = "";
-	mFrom = null;
-	mTimestamp = new Date();
-    }
-
-    /**
-     * Constructor a message of type chat.
-     * @param to the destinataire of the message
-     */
-    public Message(final String to) {
-	this(to, MSG_TYPE_CHAT);
-    }
-
-    /**
-     * Construct a message from a smack message packet.
-     * @param smackMsg Smack message packet
-     */
-    public Message(final org.jivesoftware.smack.packet.Message smackMsg) {
-	this(smackMsg.getTo());
-	switch (smackMsg.getType()) {
-	    case chat:
-		mType = MSG_TYPE_CHAT;
-		break;
-	    case groupchat:
-		mType = MSG_TYPE_GROUP_CHAT;
-		break;
-	    case normal:
-		mType = MSG_TYPE_NORMAL;
-		break;
-	    // TODO gerer les message de type error
-	    // this a little work around waiting for a better handling of error
-	    // messages
-	    case error:
-		mType = MSG_TYPE_ERROR;
-		break;
-	    default:
-		mType = MSG_TYPE_NORMAL;
-		break;
-	}
-	this.mFrom = smackMsg.getFrom();
-	//TODO better handling of error messages
-	if (mType == MSG_TYPE_ERROR) {
-	    XMPPError er = smackMsg.getError();
-	    String msg = er.getMessage();
-	    if (msg != null)
-		mBody = msg;
-	    else
-		mBody = er.getCondition();
-	} else {
-	    mBody = smackMsg.getBody();
-	    mSubject = smackMsg.getSubject();
-	    mThread = smackMsg.getThread();
-	}
-	PacketExtension pTime = smackMsg.getExtension("delay", "urn:xmpp:delay");
-	if (pTime instanceof DelayInformation) {
-	    mTimestamp = ((DelayInformation) pTime).getStamp();
-	} else {
-	    mTimestamp = new Date();
-	}
-    }
-
-    /**
-     * Construct a message from a parcel.
-     * @param in parcel to use for construction
-     */
-    private Message(final Parcel in) {
-	mType = in.readInt();
-	mTo = in.readString();
-	mBody = in.readString();
-	mSubject = in.readString();
-	mThread = in.readString();
-	mFrom = in.readString();
-	mTimestamp = new Date(in.readLong());
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void writeToParcel(Parcel dest, int flags) {
-	// TODO Auto-generated method stub
-	dest.writeInt(mType);
-	dest.writeString(mTo);
-	dest.writeString(mBody);
-	dest.writeString(mSubject);
-	dest.writeString(mThread);
-	dest.writeString(mFrom);
-	dest.writeLong(mTimestamp.getTime());
-    }
-
-    /**
-     * Get the type of the message.
-     * @return the type of the message.
-     */
-    public int getType() {
-	return mType;
-    }
-
-    /**
-     * Set the type of the message.
-     * @param type the type to set
-     */
-    public void setType(int type) {
-	mType = type;
-    }
-
-    /**
-     * Get the body of the message.
-     * @return the Body of the message
-     */
-    public String getBody() {
-	return mBody;
-    }
-
-    /**
-     * Set the body of the message.
-     * @param body the body to set
-     */
-    public void setBody(String body) {
-	mBody = body;
-    }
-
-    /**
-     * Get the subject of the message.
-     * @return the subject
-     */
-    public String getSubject() {
-	return mSubject;
-    }
-
-    /**
-     * Set the subject of the message.
-     * @param subject the subject to set
-     */
-    public void setSubject(String subject) {
-	mSubject = subject;
-    }
-
-    /**
-     * Get the destinataire of the message.
-     * @return the destinataire of the message
-     */
-    public String getTo() {
-	return mTo;
-    }
-
-    /**
-     * Set the destinataire of the message.
-     * @param to the destinataire to set
-     */
-    public void setTo(String to) {
-	mTo = to;
-    }
-
-    /**
-     * Set the from field of the message.
-     * @param from the mFrom to set
-     */
-    public void setFrom(String from) {
-	this.mFrom = from;
-    }
-
-    /**
-     * Get the from field of the message.
-     * @return the mFrom
-     */
-    public String getFrom() {
-	return mFrom;
-    }
-
-    /**
-     * Get the thread of the message.
-     * @return the thread
-     */
-    public String getThread() {
-	return mThread;
-    }
-
-    /**
-     * Set the thread of the message.
-     * @param thread the thread to set
-     */
-    public void setThread(String thread) {
-	mThread = thread;
-    }
-
-    /**
-     * Set the Date of the message.
-     *
-     * @param date date of the message.
-     */
-    public void setTimestamp(Date date) {
-	mTimestamp = date;
-    }
-
-    /**
-     * Get the Date of the message.
-     *
-     * @return if it is a delayed message get the date the message was sended.
-     */
-    public Date getTimestamp() {
-	return mTimestamp;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public int describeContents() {
-	// TODO Auto-generated method stub
-	return 0;
-    }
-
-}
--- a/src/com/beem/project/beem/service/PresenceAdapter.aidl	Sun Nov 06 00:15:35 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
-    BEEM is a videoconference application on the Android Platform.
-
-    Copyright (C) 2009 by Frederic-Charles Barthelery,
-                          Jean-Manuel Da Silva,
-                          Nikita Kozlov,
-                          Philippe Lago,
-                          Jean Baptiste Vergely,
-                          Vincent Veronis.
-
-    This file is part of BEEM.
-
-    BEEM is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    BEEM is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with BEEM.  If not, see <http://www.gnu.org/licenses/>.
-
-    Please send bug reports with examples or suggestions to
-    contact@beem-project.com or http://dev.beem-project.com/
-
-    Epitech, hereby disclaims all copyright interest in the program "Beem"
-    written by Frederic-Charles Barthelery,
-               Jean-Manuel Da Silva,
-               Nikita Kozlov,
-               Philippe Lago,
-               Jean Baptiste Vergely,
-               Vincent Veronis.
-
-    Nicolas Sadirac, November 26, 2009
-    President of Epitech.
-
-    Flavien Astraud, November 26, 2009
-    Head of the EIP Laboratory.
-
-*/
-package com.beem.project.beem.service;
-
-parcelable PresenceAdapter;
--- a/src/com/beem/project/beem/service/PresenceAdapter.java	Sun Nov 06 00:15:35 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,204 +0,0 @@
-/*
-    BEEM is a videoconference application on the Android Platform.
-
-    Copyright (C) 2009 by Frederic-Charles Barthelery,
-                          Jean-Manuel Da Silva,
-                          Nikita Kozlov,
-                          Philippe Lago,
-                          Jean Baptiste Vergely,
-                          Vincent Veronis.
-
-    This file is part of BEEM.
-
-    BEEM is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    BEEM is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with BEEM.  If not, see <http://www.gnu.org/licenses/>.
-
-    Please send bug reports with examples or suggestions to
-    contact@beem-project.com or http://dev.beem-project.com/
-
-    Epitech, hereby disclaims all copyright interest in the program "Beem"
-    written by Frederic-Charles Barthelery,
-               Jean-Manuel Da Silva,
-               Nikita Kozlov,
-               Philippe Lago,
-               Jean Baptiste Vergely,
-               Vincent Veronis.
-
-    Nicolas Sadirac, November 26, 2009
-    President of Epitech.
-
-    Flavien Astraud, November 26, 2009
-    Head of the EIP Laboratory.
-
-*/
-package com.beem.project.beem.service;
-
-import org.jivesoftware.smack.packet.Presence;
-
-import android.os.Parcel;
-import android.os.Parcelable;
-
-import com.beem.project.beem.utils.PresenceType;
-import com.beem.project.beem.utils.Status;
-
-/**
- * this class contain contact presence informations.
- * @author nikita
- */
-public class PresenceAdapter implements Parcelable {
-
-    /** Parcelable.Creator needs by Android. */
-    public static final Parcelable.Creator<PresenceAdapter> CREATOR = new Parcelable.Creator<PresenceAdapter>() {
-
-	@Override
-	public PresenceAdapter createFromParcel(Parcel source) {
-	    return new PresenceAdapter(source);
-	}
-
-	@Override
-	public PresenceAdapter[] newArray(int size) {
-	    return new PresenceAdapter[size];
-	}
-    };
-
-    private int mType;
-    private int mStatus;
-    private String mTo;
-    private String mFrom;
-    private String mStatusText;
-
-    /**
-     * constructor from Parcel.
-     * @param source parcelable presence.
-     */
-    public PresenceAdapter(final Parcel source) {
-	mType = source.readInt();
-	mStatus = source.readInt();
-	mTo = source.readString();
-	mFrom = source.readString();
-	mStatusText = source.readString();
-    }
-
-    /**
-     * constructor from smack Presence.
-     * @param presence smack presence.
-     */
-    public PresenceAdapter(final Presence presence) {
-	mType = PresenceType.getPresenceType(presence);
-	mStatus = Status.getStatusFromPresence(presence);
-	mTo = presence.getTo();
-	mFrom = presence.getFrom();
-	mStatusText = presence.getStatus();
-    }
-
-    /* (non-Javadoc)
-     * @see android.os.Parcelable#describeContents()
-     */
-    @Override
-    public int describeContents() {
-	// TODO Auto-generated method stub
-	return 0;
-    }
-
-    /**
-     * mFrom getter.
-     * @return the mFrom
-     */
-    public String getFrom() {
-	return mFrom;
-    }
-
-    /**
-     * mStatus getter.
-     * @return the mStatus
-     */
-    public int getStatus() {
-	return mStatus;
-    }
-
-    /**
-     * mStatusText getter.
-     * @return the mStatusText
-     */
-    public String getStatusText() {
-	return mStatusText;
-    }
-
-    /**
-     * mTo getter.
-     * @return the mTo
-     */
-    public String getTo() {
-	return mTo;
-    }
-
-    /**
-     * mType getter.
-     * @return the mType
-     */
-    public int getType() {
-	return mType;
-    }
-
-    /**
-     * mFrom setter.
-     * @param from the mFrom to set
-     */
-    public void setFrom(final String from) {
-	this.mFrom = from;
-    }
-
-    /**
-     * mStatus setter.
-     * @param status the mStatus to set
-     */
-    public void setStatus(final int status) {
-	this.mStatus = status;
-    }
-
-    /**
-     * mStatusText setter.
-     * @param statusText the mStatusText to set
-     */
-    public void setStatusText(final String statusText) {
-	this.mStatusText = statusText;
-    }
-
-    /**
-     * mTo setter.
-     * @param to the mTo to set
-     */
-    public void setTo(final String to) {
-	this.mTo = to;
-    }
-
-    /**
-     * mType setter.
-     * @param type the type to set
-     */
-    public void setType(int type) {
-	this.mType = type;
-    }
-
-    /* (non-Javadoc)
-     * @see android.os.Parcelable#writeToParcel(android.os.Parcel, int)
-     */
-    @Override
-    public void writeToParcel(Parcel dest, int flags) {
-	dest.writeInt(mType);
-	dest.writeInt(mStatus);
-	dest.writeString(mTo);
-	dest.writeString(mFrom);
-	dest.writeString(mStatusText);
-    }
-}
--- a/src/com/beem/project/beem/service/PrivacyListItem.aidl	Sun Nov 06 00:15:35 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
-    BEEM is a videoconference application on the Android Platform.
-
-    Copyright (C) 2009 by Frederic-Charles Barthelery,
-                          Jean-Manuel Da Silva,
-                          Nikita Kozlov,
-                          Philippe Lago,
-                          Jean Baptiste Vergely,
-                          Vincent Veronis.
-
-    This file is part of BEEM.
-
-    BEEM is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    BEEM is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with BEEM.  If not, see <http://www.gnu.org/licenses/>.
-
-    Please send bug reports with examples or suggestions to
-    contact@beem-project.com or http://dev.beem-project.com/
-
-    Epitech, hereby disclaims all copyright interest in the program "Beem"
-    written by Frederic-Charles Barthelery,
-               Jean-Manuel Da Silva,
-               Nikita Kozlov,
-               Philippe Lago,
-               Jean Baptiste Vergely,
-               Vincent Veronis.
-
-    Nicolas Sadirac, November 26, 2009
-    President of Epitech.
-
-    Flavien Astraud, November 26, 2009
-    Head of the EIP Laboratory.
-
-*/
-package com.beem.project.beem.service;
-
-parcelable PrivacyListItem;
--- a/src/com/beem/project/beem/service/PrivacyListItem.java	Sun Nov 06 00:15:35 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,153 +0,0 @@
-/*
-    BEEM is a videoconference application on the Android Platform.
-
-    Copyright (C) 2009 by Frederic-Charles Barthelery,
-                          Jean-Manuel Da Silva,
-                          Nikita Kozlov,
-                          Philippe Lago,
-                          Jean Baptiste Vergely,
-                          Vincent Veronis.
-
-    This file is part of BEEM.
-
-    BEEM is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    BEEM is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with BEEM.  If not, see <http://www.gnu.org/licenses/>.
-
-    Please send bug reports with examples or suggestions to
-    contact@beem-project.com or http://dev.beem-project.com/
-
-    Epitech, hereby disclaims all copyright interest in the program "Beem"
-    written by Frederic-Charles Barthelery,
-               Jean-Manuel Da Silva,
-               Nikita Kozlov,
-               Philippe Lago,
-               Jean Baptiste Vergely,
-               Vincent Veronis.
-
-    Nicolas Sadirac, November 26, 2009
-    President of Epitech.
-
-    Flavien Astraud, November 26, 2009
-    Head of the EIP Laboratory.
-
-*/
-package com.beem.project.beem.service;
-
-import android.os.Parcel;
-import android.os.Parcelable;
-
-/**
- * A simplified version of the Smack PrivacyItem class.
- * @author Jean-Manuel Da Silva <dasilvj at beem-project dot com>
- */
-public class PrivacyListItem implements Parcelable {
-
-    /**
-     * Constructor. Needed to implements the Parcelable.Creator interface. Generates instances of PrivacyListItem from a
-     * Parcel.
-     */
-    public static final Parcelable.Creator<PrivacyListItem> CREATOR = new Parcelable.Creator<PrivacyListItem>() {
-	public PrivacyListItem createFromParcel(Parcel in) {
-	    return new PrivacyListItem(in);
-	}
-
-	public PrivacyListItem[] newArray(int size) {
-	    return new PrivacyListItem[size];
-	}
-    };
-
-    private int mType;
-    private String mValue;
-
-    /**
-     * Constructor.
-     */
-    public PrivacyListItem() {
-    }
-
-    /**
-     * Constructor. Generates instances of PrivacyListItem from a Parcel.
-     * @param in The Parcel used to initialize object's attributes.
-     */
-    public PrivacyListItem(final Parcel in) {
-	readFromParcel(in);
-    }
-
-    /**
-     * Constructor.
-     * @param type The type of the item.
-     * @param value The value of the item.
-     */
-    public PrivacyListItem(final int type, final String value) {
-	mType = type;
-	mValue = value;
-    }
-
-    /**
-     * {@inheritDoc}.
-     */
-    @Override
-    public int describeContents() {
-	return 0;
-    }
-
-    /**
-     * Initialize object's attributes from a Parcel.
-     * @param in The Parcel used to initialize object's attributes.
-     */
-    public void readFromParcel(Parcel in) {
-	mType = in.readInt();
-	mValue = in.readString();
-    }
-
-    /**
-     * {@inheritDoc}.
-     */
-    @Override
-    public void writeToParcel(Parcel dest, int flags) {
-	dest.writeInt(mType);
-	dest.writeString(mValue);
-    }
-
-    /**
-     * PrivacyListItem type accessor.
-     * @return The type of the PrivacyListItem.
-     */
-    public int getType() {
-	return mType;
-    }
-
-    /**
-     * PrivacyListItem value accessor.
-     * @return The value of the PrivacyListItem.
-     */
-    public String getValue() {
-	return mValue;
-    }
-
-    /**
-     * PrivacyListItem type mutator.
-     * @param type The type of the PrivacyListItem.
-     */
-    public void setType(final int type) {
-	mType = type;
-    }
-
-    /**
-     * PrivacyListItem value mutator.
-     * @param value The value of the PrivacyListItem.
-     */
-    public void setValue(final String value) {
-	mValue = value;
-    }
-}
--- a/src/com/beem/project/beem/service/PrivacyListManagerAdapter.java	Sun Nov 06 00:15:35 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,358 +0,0 @@
-/*
-    BEEM is a videoconference application on the Android Platform.
-
-    Copyright (C) 2009 by Frederic-Charles Barthelery,
-                          Jean-Manuel Da Silva,
-                          Nikita Kozlov,
-                          Philippe Lago,
-                          Jean Baptiste Vergely,
-                          Vincent Veronis.
-
-    This file is part of BEEM.
-
-    BEEM is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    BEEM is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with BEEM.  If not, see <http://www.gnu.org/licenses/>.
-
-    Please send bug reports with examples or suggestions to
-    contact@beem-project.com or http://dev.beem-project.com/
-
-    Epitech, hereby disclaims all copyright interest in the program "Beem"
-    written by Frederic-Charles Barthelery,
-               Jean-Manuel Da Silva,
-               Nikita Kozlov,
-               Philippe Lago,
-               Jean Baptiste Vergely,
-               Vincent Veronis.
-
-    Nicolas Sadirac, November 26, 2009
-    President of Epitech.
-
-    Flavien Astraud, November 26, 2009
-    Head of the EIP Laboratory.
-
-*/
-package com.beem.project.beem.service;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.jivesoftware.smack.PrivacyList;
-import org.jivesoftware.smack.PrivacyListListener;
-import org.jivesoftware.smack.PrivacyListManager;
-import org.jivesoftware.smack.XMPPException;
-import org.jivesoftware.smack.packet.PrivacyItem;
-import org.jivesoftware.smack.packet.PrivacyItem.PrivacyRule;
-
-import android.os.RemoteCallbackList;
-import android.os.RemoteException;
-import android.util.Log;
-
-import com.beem.project.beem.service.aidl.IPrivacyListListener;
-import com.beem.project.beem.service.aidl.IPrivacyListManager;
-
-/**
- * An adapter for the Smack's PrivacyListManager.
- * @author Jean-Manuel Da Silva <dasilvj at beem-project dot com>
- */
-public class PrivacyListManagerAdapter extends IPrivacyListManager.Stub {
-
-    /** Class's Tag. */
-    public static final String TAG = "PrivacyListManagerAdapter";
-
-    private final PrivacyListManager mPrivacyListManager;
-
-    private final RemoteCallbackList<IPrivacyListListener> mPrivacyListListeners =
-	new RemoteCallbackList<IPrivacyListListener>();
-    private final PrivacyListListenerAdapter mPrivacyListListener = new PrivacyListListenerAdapter();
-
-    /**
-     * Constructor.
-     * @param privacyListManager the privacy list manager
-     */
-    public PrivacyListManagerAdapter(final PrivacyListManager privacyListManager) {
-	mPrivacyListManager = privacyListManager;
-	mPrivacyListManager.addListener(mPrivacyListListener);
-    }
-
-    /* (non-Javadoc)
-     * @see com.beem.project.beem.service.aidl.IPrivacyListManager#blockUser(java.lang.String, java.lang.String)
-     */
-    @Override
-    public void blockUser(String listName, String jid) throws RemoteException {
-    }
-
-    /* (non-Javadoc)
-     * @see com.beem.project.beem.service.aidl.IPrivacyListManager#createPrivacyList(java.lang.String, java.util.List)
-     */
-    @Override
-    public void createPrivacyList(String listName, List<PrivacyListItem> items) throws RemoteException {
-	Log.d(TAG, "BEGIN createPrivacyList.");
-	try {
-	    List<PrivacyItem> privacyItems = new ArrayList<PrivacyItem>();
-
-	    PrivacyItem item = new PrivacyItem(PrivacyItem.Type.subscription.name(), true, 2);
-	    item.setValue(PrivacyRule.SUBSCRIPTION_BOTH);
-	    privacyItems.add(item);
-
-	    mPrivacyListManager.createPrivacyList(listName, privacyItems);
-	} catch (XMPPException e) {
-	    Log.e(TAG, e.getMessage());
-	}
-	Log.d(TAG, "END createPrivacyList.");
-    }
-
-    /* (non-Javadoc)
-     * @see com.beem.project.beem.service.aidl.IPrivacyListManager#declineActivePrivacyList()
-     */
-    @Override
-    public void declineActivePrivacyList() throws RemoteException {
-	try {
-	    mPrivacyListManager.declineActiveList();
-	} catch (XMPPException e) {
-	    Log.e(TAG, e.getMessage());
-	}
-    }
-
-    /* (non-Javadoc)
-     * @see com.beem.project.beem.service.aidl.IPrivacyListManager#declineDefaultPrivacyList()
-     */
-    @Override
-    public void declineDefaultPrivacyList() throws RemoteException {
-	try {
-	    mPrivacyListManager.declineDefaultList();
-	} catch (XMPPException e) {
-	    Log.e(TAG, e.getMessage());
-	}
-    }
-
-    /* (non-Javadoc)
-     * @see com.beem.project.beem.service.aidl.IPrivacyListManager#editPrivacyList(java.lang.String, java.util.List)
-     */
-    @Override
-    public void editPrivacyList(String listName, List<PrivacyListItem> items) throws RemoteException {
-	Log.d(TAG, "BEGIN editPrivacyList.");
-	try {
-	    mPrivacyListManager.updatePrivacyList(listName, tranformPrivacyListItemsToPrivacyItems(items));
-	} catch (XMPPException e) {
-	    Log.e(TAG, e.getMessage());
-	}
-	Log.d(TAG, "END editPrivacyList.");
-    }
-
-    /* (non-Javadoc)
-     * @see com.beem.project.beem.service.aidl.IPrivacyListManager#getActivePrivacyList()
-     */
-    @Override
-    public String getActivePrivacyList() throws RemoteException {
-	try {
-	    PrivacyList activePrivacyList = mPrivacyListManager.getActiveList();
-	    return activePrivacyList.toString();
-	} catch (XMPPException e) {
-	    Log.e(TAG, e.getMessage());
-	}
-	return null;
-    }
-
-    /* (non-Javadoc)
-     * @see com.beem.project.beem.service.aidl.IPrivacyListManager#getBlockedGroupsByList(java.lang.String)
-     */
-    @Override
-    public List<String> getBlockedGroupsByList(String listName) throws RemoteException {
-	List<String> blockedGroups = new ArrayList<String>();
-	try {
-	    PrivacyList pL = mPrivacyListManager.getPrivacyList(listName);
-	    for (PrivacyItem pI : pL.getItems()) {
-		if (pI.getType().equals(PrivacyItem.Type.group) && !pI.isAllow())
-		    blockedGroups.add(pI.getValue());
-	    }
-	} catch (XMPPException e) {
-	    Log.e(TAG, e.getMessage());
-	}
-	return blockedGroups;
-    }
-
-    /* (non-Javadoc)
-     * @see com.beem.project.beem.service.aidl.IPrivacyListManager#getBlockedUsersByList(java.lang.String)
-     */
-    @Override
-    public List<String> getBlockedUsersByList(String listName) throws RemoteException {
-	List<String> blockedUsers = new ArrayList<String>();
-	try {
-	    PrivacyList pL = mPrivacyListManager.getPrivacyList(listName);
-	    for (PrivacyItem pI : pL.getItems()) {
-		if (pI.getType().equals(PrivacyItem.Type.jid) && !pI.isAllow())
-		    blockedUsers.add(pI.getValue());
-	    }
-	} catch (XMPPException e) {
-	    Log.e(TAG, e.getMessage());
-	}
-	return blockedUsers;
-    }
-
-    /* (non-Javadoc)
-     * @see com.beem.project.beem.service.aidl.IPrivacyListManager#getDefaultPrivacyList()
-     */
-    @Override
-    public String getDefaultPrivacyList() throws RemoteException {
-	try {
-	    PrivacyList defaultPrivacyList = mPrivacyListManager.getDefaultList();
-	    return defaultPrivacyList.toString();
-	} catch (XMPPException e) {
-	    Log.e(TAG, e.getMessage());
-	}
-	return null;
-    }
-
-    /* (non-Javadoc)
-     * @see com.beem.project.beem.service.aidl.IPrivacyListManager#removePrivacyList(java.lang.String)
-     */
-    @Override
-    public void removePrivacyList(String listName) throws RemoteException {
-	try {
-	    mPrivacyListManager.deletePrivacyList(listName);
-	} catch (XMPPException e) {
-	    Log.e(TAG, e.getMessage());
-	}
-    }
-
-    /* (non-Javadoc)
-     * @see com.beem.project.beem.service.aidl.IPrivacyListManager#setActivePrivacyList(java.lang.String)
-     */
-    @Override
-    public void setActivePrivacyList(String listName) throws RemoteException {
-	try {
-	    mPrivacyListManager.setActiveListName(listName);
-	} catch (XMPPException e) {
-	    Log.e(TAG, e.getMessage());
-	}
-    }
-
-    /* (non-Javadoc)
-     * @see com.beem.project.beem.service.aidl.IPrivacyListManager#setDefaultPrivacyList(java.lang.String)
-     */
-    @Override
-    public void setDefaultPrivacyList(String listName) throws RemoteException {
-	try {
-	    mPrivacyListManager.setDefaultListName(listName);
-	} catch (XMPPException e) {
-	    Log.e(TAG, e.getMessage());
-	}
-    }
-
-    /**
-     * From a List of PrivacyListItem get a List of PrivacyItem.
-     * @param items The List of PrivacyListItem.
-     * @return A list of PrivacyItem.
-     */
-    private List<PrivacyItem> tranformPrivacyListItemsToPrivacyItems(List<PrivacyListItem> items) {
-	List<PrivacyItem> rItems = new ArrayList<PrivacyItem>();
-	PrivacyItem.Type[] itemTypes = PrivacyItem.Type.values();
-
-	for (int i = 0; i < items.size(); i++) {
-	    rItems.add(new PrivacyItem(itemTypes[items.get(i).getType()].name(), false, i));
-	}
-
-	return rItems;
-    }
-
-    /**
-     * From a List of PrivacyItem get a List of PrivacyListItem.
-     * @param items The List of PrivacyItem.
-     * @return A list of PrivacyListItem.
-     */
-    private List<PrivacyListItem> tranformPrivacyItemsToPrivacyListItems(List<PrivacyItem> items) {
-	List<PrivacyListItem> rItems = new ArrayList<PrivacyListItem>();
-
-	for (int i = 0; i < items.size(); i++) {
-	    rItems.add(new PrivacyListItem(items.get(i).getType().ordinal(), items.get(i).getValue()));
-	}
-	return rItems;
-    }
-
-    /**
-     * An adapter for the Smack's PrivacyListListener.
-     * @author Jean-Manuel Da Silva <dasilvj at beem-project dot com>
-     */
-    private class PrivacyListListenerAdapter implements PrivacyListListener {
-	/**
-	 * Constructor.
-	 */
-	public PrivacyListListenerAdapter() { }
-
-	@Override
-	public void setPrivacyList(final String listName, final List<PrivacyItem> listItem) {
-	    int i = mPrivacyListListeners.beginBroadcast();
-	    while (i > 0) {
-		i--;
-		try {
-		    mPrivacyListListeners.getBroadcastItem(i).setPrivacyList(listName,
-			tranformPrivacyItemsToPrivacyListItems(listItem));
-		} catch (RemoteException e) {
-		    Log.w(TAG, e.getMessage());
-		}
-	    }
-	    mPrivacyListListeners.finishBroadcast();
-	}
-
-	@Override
-	public void updatedPrivacyList(final String listName) {
-	    Log.d(TAG, "BEGIN updatedPrivacyList.");
-	    int i = mPrivacyListListeners.beginBroadcast();
-	    while (i > 0) {
-		i--;
-		try {
-		    mPrivacyListListeners.getBroadcastItem(i).updatedPrivacyList(listName);
-		} catch (RemoteException e) {
-		    Log.w(TAG, e.getMessage());
-		}
-	    }
-	    mPrivacyListListeners.finishBroadcast();
-	    Log.d(TAG, "END updatedPrivacyList.");
-	}
-    }
-
-    @Override
-    public void addPrivacyListListener(IPrivacyListListener listener) throws RemoteException {
-	if (listener != null)
-	    mPrivacyListListeners.register(listener);
-    }
-
-    @Override
-    public void removePrivacyListListener(IPrivacyListListener listener) throws RemoteException {
-	if (listener != null)
-	    mPrivacyListListeners.unregister(listener);
-    }
-
-    /* (non-Javadoc)
-     * @see com.beem.project.beem.service.aidl.IPrivacyListManager#getPrivacyLists()
-     */
-    @Override
-    public List<String> getPrivacyLists() throws RemoteException {
-	Log.d(TAG, "BEGIN getPrivacyLists.");
-	List<String> res = new ArrayList<String>();
-	try {
-	    PrivacyList[] registeredPrivacyLists = mPrivacyListManager.getPrivacyLists();
-	    Log.d(TAG, "> registeredPrivacyLists size: " + registeredPrivacyLists.length);
-	    if (registeredPrivacyLists.length > 0) {
-		for (int i = 0; i < registeredPrivacyLists.length; i++) {
-		    res.add(registeredPrivacyLists[i].toString());
-		    Log.d(TAG, "> " + res.get(i) + " added.");
-		}
-	    }
-	} catch (XMPPException e) {
-	    Log.e(TAG, e.getMessage());
-	}
-	Log.d(TAG, "END getPrivacyLists.");
-	return res;
-    }
-}
--- a/src/com/beem/project/beem/service/RosterAdapter.java	Sun Nov 06 00:15:35 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,417 +0,0 @@
-/*
-    BEEM is a videoconference application on the Android Platform.
-
-    Copyright (C) 2009 by Frederic-Charles Barthelery,
-                          Jean-Manuel Da Silva,
-                          Nikita Kozlov,
-                          Philippe Lago,
-                          Jean Baptiste Vergely,
-                          Vincent Veronis.
-
-    This file is part of BEEM.
-
-    BEEM is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    BEEM is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with BEEM.  If not, see <http://www.gnu.org/licenses/>.
-
-    Please send bug reports with examples or suggestions to
-    contact@beem-project.com or http://dev.beem-project.com/
-
-    Epitech, hereby disclaims all copyright interest in the program "Beem"
-    written by Frederic-Charles Barthelery,
-               Jean-Manuel Da Silva,
-               Nikita Kozlov,
-               Philippe Lago,
-               Jean Baptiste Vergely,
-               Vincent Veronis.
-
-    Nicolas Sadirac, November 26, 2009
-    President of Epitech.
-
-    Flavien Astraud, November 26, 2009
-    Head of the EIP Laboratory.
-
-*/
-package com.beem.project.beem.service;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.jivesoftware.smack.Roster;
-import org.jivesoftware.smack.RosterEntry;
-import org.jivesoftware.smack.RosterGroup;
-import org.jivesoftware.smack.RosterListener;
-import org.jivesoftware.smack.XMPPException;
-import org.jivesoftware.smack.packet.Presence;
-import org.jivesoftware.smack.util.StringUtils;
-
-import android.content.Context;
-import android.os.RemoteCallbackList;
-import android.os.RemoteException;
-import android.util.Log;
-
-import com.beem.project.beem.R;
-import com.beem.project.beem.service.aidl.IBeemRosterListener;
-import com.beem.project.beem.utils.Status;
-import com.beem.project.beem.smack.avatar.AvatarMetadataExtension.Info;
-import com.beem.project.beem.smack.avatar.AvatarManager;
-import com.beem.project.beem.smack.avatar.AvatarListener;
-
-/**
- * This class implement a Roster adapter for BEEM.
- */
-public class RosterAdapter extends com.beem.project.beem.service.aidl.IRoster.Stub {
-
-    private static final String TAG = "RosterAdapter";
-    private final Roster mAdaptee;
-    private final RemoteCallbackList<IBeemRosterListener> mRemoteRosListeners =
-	new RemoteCallbackList<IBeemRosterListener>();
-    private final Map<Integer, String> mDefaultStatusMessages;
-    private final RosterListenerAdapter mRosterListener = new RosterListenerAdapter();
-    private Map<String, String> mAvatarIdmap = new HashMap<String, String>();
-    private AvatarManager mAvatarManager;
-
-    /**
-     * Constructor.
-     * @param roster The roster to adapt.
-     * @param context The context of the RosterAdapter.
-     */
-    public RosterAdapter(final Roster roster, final Context context) {
-	mAdaptee = roster;
-	roster.addRosterListener(mRosterListener);
-	mDefaultStatusMessages = createDefaultStatusMessagesMap(context);
-    }
-
-    /**
-     * Constructor.
-     * @param roster The roster to adapt.
-     * @param context The context of the RosterAdapter.
-     * @param avatarMgr The AvatarManager of the connection
-     */
-    public RosterAdapter(final Roster roster, final Context context, final AvatarManager avatarMgr) {
-	mAdaptee = roster;
-	roster.addRosterListener(mRosterListener);
-	mDefaultStatusMessages = createDefaultStatusMessagesMap(context);
-	mAvatarManager = avatarMgr;
-	if (mAvatarManager != null)
-	    mAvatarManager.addAvatarListener(new AvatarEventListener());
-    }
-
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void addRosterListener(IBeemRosterListener listen) throws RemoteException {
-	if (listen != null)
-	    mRemoteRosListeners.register(listen);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public Contact addContact(String user, String name, String[] groups) throws RemoteException {
-	RosterEntry contact = mAdaptee.getEntry(user);
-	try {
-	    mAdaptee.createEntry(user, name, groups);
-	    contact = mAdaptee.getEntry(user);
-	} catch (XMPPException e) {
-	    Log.e(TAG, "Error while adding new contact", e);
-	    return null;
-	}
-	return getContactFromRosterEntry(contact);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void deleteContact(Contact contact) throws RemoteException {
-	try {
-	    RosterEntry entry = mAdaptee.getEntry(contact.getJID());
-	    mAdaptee.removeEntry(entry);
-	} catch (XMPPException e) {
-	    e.printStackTrace();
-	}
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void createGroup(String groupname) throws RemoteException {
-	if (mAdaptee.getGroup(groupname) == null)
-	    mAdaptee.createGroup(groupname);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public Contact getContact(String jid) throws RemoteException {
-	if (mAdaptee.contains(jid))
-	    return getContactFromRosterEntry(mAdaptee.getEntry(jid));
-	return null;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public List<Contact> getContactList() throws RemoteException {
-	boolean add = true;
-	Collection<RosterEntry> list = mAdaptee.getEntries();
-	List<Contact> coList = new ArrayList<Contact>(list.size());
-	for (RosterEntry entry : list) {
-	    coList.add(getContactFromRosterEntry(entry));
-	}
-	return coList;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public List<String> getGroupsNames() throws RemoteException {
-	Collection<RosterGroup> groups = mAdaptee.getGroups();
-	List<String> result = new ArrayList<String>(groups.size());
-	for (RosterGroup rosterGroup : groups) {
-	    result.add(rosterGroup.getName());
-	}
-	return result;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void removeRosterListener(IBeemRosterListener listen) throws RemoteException {
-	if (listen != null)
-	    mRemoteRosListeners.unregister(listen);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void setContactName(String jid, String name) throws RemoteException {
-	mAdaptee.getEntry(jid).setName(name);
-    }
-
-    /* (non-Javadoc)
-     * @see com.beem.project.beem.service.aidl.IRoster#getPresence(java.lang.String)
-     */
-    @Override
-    public PresenceAdapter getPresence(String jid) throws RemoteException {
-	return new PresenceAdapter(mAdaptee.getPresence(jid));
-    }
-
-    /* (non-Javadoc)
-     * @see com.beem.project.beem.service.aidl.IRoster#addContactToGroup(java.lang.String, java.lang.String)
-     */
-    @Override
-    public void addContactToGroup(String groupName, String jid) throws RemoteException {
-	createGroup(groupName);
-	RosterGroup group = mAdaptee.getGroup(groupName);
-	try {
-	    group.addEntry(mAdaptee.getEntry(jid));
-	} catch (XMPPException e) {
-	    e.printStackTrace();
-	}
-    }
-
-    /* (non-Javadoc)
-     * @see com.beem.project.beem.service.aidl.IRoster#removeContactFromGroup(java.lang.String, java.lang.String)
-     */
-    @Override
-    public void removeContactFromGroup(String groupName, String jid) throws RemoteException {
-	RosterGroup group = mAdaptee.getGroup(groupName);
-	try {
-	    group.removeEntry(mAdaptee.getEntry(jid));
-	} catch (XMPPException e) {
-	    e.printStackTrace();
-	}
-    }
-
-    /**
-     * Get a contact from a RosterEntry.
-     * @param entry a roster entry containing information for the contact.
-     * @return a contact for this entry.
-     */
-    private Contact getContactFromRosterEntry(RosterEntry entry) {
-	String user = entry.getUser();
-	Contact c = new Contact(user);
-	Presence p = mAdaptee.getPresence(user);
-
-	if (p.getStatus() == null || "".equals(p.getStatus()))
-	    p.setStatus(mDefaultStatusMessages.get(Status.getStatusFromPresence(p)));
-	c.setStatus(p);
-	try {
-	    c.setGroups(entry.getGroups());
-	} catch (NullPointerException e) {
-	    Log.d(TAG, "Group list not ready", e);
-	}
-	Iterator<Presence> iPres = mAdaptee.getPresences(user);
-	while (iPres.hasNext()) {
-	    p = iPres.next();
-	    if (!p.getType().equals(Presence.Type.unavailable))
-		c.addRes(StringUtils.parseResource(p.getFrom()));
-	}
-	c.setName(entry.getName());
-	c.setAvatarId(mAvatarIdmap.get(user));
-	return c;
-    }
-
-    /**
-     * Create a map which contains default status messages.
-     * @param context The context of the roster adapter.
-     * @return A Map<Integer, String> which assigns a status to a message.
-     */
-    private Map<Integer, String> createDefaultStatusMessagesMap(Context context) {
-	Map<Integer, String> defaultStatusMessages = new HashMap<Integer, String>();
-	defaultStatusMessages.put(Status.CONTACT_STATUS_AVAILABLE, context
-	    .getString(R.string.contact_status_msg_available));
-	defaultStatusMessages.put(Status.CONTACT_STATUS_AVAILABLE_FOR_CHAT, context
-	    .getString(R.string.contact_status_msg_available_chat));
-	defaultStatusMessages.put(Status.CONTACT_STATUS_AWAY, context.getString(R.string.contact_status_msg_away));
-	defaultStatusMessages.put(Status.CONTACT_STATUS_BUSY, context.getString(R.string.contact_status_msg_dnd));
-	defaultStatusMessages.put(Status.CONTACT_STATUS_DISCONNECT, context
-	    .getString(R.string.contact_status_msg_offline));
-	defaultStatusMessages.put(Status.CONTACT_STATUS_UNAVAILABLE, context.getString(R.string.contact_status_msg_xa));
-
-	return defaultStatusMessages;
-    }
-
-    /**
-     * Listener for the roster events. It will call the remote listeners registered.
-     * @author darisk
-     */
-    private class RosterListenerAdapter implements RosterListener {
-
-	/**
-	 * Constructor.
-	 */
-	public RosterListenerAdapter() {
-	}
-
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public void entriesAdded(Collection<String> addresses) {
-	    final int n = mRemoteRosListeners.beginBroadcast();
-
-	    List<String> tab = new ArrayList<String>();
-	    tab.addAll(addresses);
-	    for (int i = 0; i < n; i++) {
-		IBeemRosterListener listener = mRemoteRosListeners.getBroadcastItem(i);
-		try {
-		    listener.onEntriesAdded(tab);
-		} catch (RemoteException e) {
-		    Log.w(TAG, "Error while adding roster entries", e);
-		}
-	    }
-	    mRemoteRosListeners.finishBroadcast();
-	}
-
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public void entriesDeleted(Collection<String> addresses) {
-	    final int n = mRemoteRosListeners.beginBroadcast();
-
-	    List<String> tab = new ArrayList<String>();
-	    tab.addAll(addresses);
-	    for (int i = 0; i < n; i++) {
-		IBeemRosterListener listener = mRemoteRosListeners.getBroadcastItem(i);
-		try {
-		    listener.onEntriesDeleted(tab);
-		} catch (RemoteException e) {
-		    Log.w(TAG, "Error while deleting roster entries", e);
-		}
-	    }
-	    mRemoteRosListeners.finishBroadcast();
-	}
-
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public void entriesUpdated(Collection<String> addresses) {
-	    final int n = mRemoteRosListeners.beginBroadcast();
-
-	    List<String> tab = new ArrayList<String>();
-	    tab.addAll(addresses);
-	    for (int i = 0; i < n; i++) {
-		IBeemRosterListener listener = mRemoteRosListeners.getBroadcastItem(i);
-		try {
-		    listener.onEntriesUpdated(tab);
-		} catch (RemoteException e) {
-		    Log.w(TAG, "Error while updating roster entries", e);
-		}
-	    }
-	    mRemoteRosListeners.finishBroadcast();
-	}
-
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public void presenceChanged(Presence presence) {
-	    final int n = mRemoteRosListeners.beginBroadcast();
-	    Log.v(TAG, ">>> Presence changed for " + presence.getFrom());
-
-	    for (int i = 0; i < n; i++) {
-		IBeemRosterListener listener = mRemoteRosListeners.getBroadcastItem(i);
-		try {
-		    if (!presence.isAvailable())
-			mAvatarIdmap.remove(StringUtils.parseBareAddress(presence.getFrom()));
-		    if (presence.getStatus() == null || "".equals(presence.getStatus())) {
-			presence.setStatus(mDefaultStatusMessages.get(Status.getStatusFromPresence(presence)));
-		    }
-		    listener.onPresenceChanged(new PresenceAdapter(presence));
-		} catch (RemoteException e) {
-		    Log.w(TAG, "Error while updating roster presence entries", e);
-		}
-	    }
-	    mRemoteRosListeners.finishBroadcast();
-	}
-    }
-
-    /**
-     * Listener on avatar metadata event.
-     *
-     */
-    private class AvatarEventListener implements AvatarListener {
-
-	/**
-	 * Constructor.
-	 */
-	public AvatarEventListener() { }
-
-	@Override
-	public void onAvatarChange(String from, String avatarId, List<Info> avatarInfos) {
-	    String bare = StringUtils.parseBareAddress(from);
-	    if (avatarId == null)
-		mAvatarIdmap.remove(bare);
-	    else {
-		mAvatarIdmap.put(bare, avatarId);
-	    }
-	}
-    }
-}
--- a/src/com/beem/project/beem/service/XmppConnectionAdapter.java	Sun Nov 06 00:15:35 2011 +0100
+++ b/src/com/beem/project/beem/service/XmppConnectionAdapter.java	Sun Nov 06 04:27:09 2011 +0100
@@ -51,7 +51,6 @@
 import org.jivesoftware.smack.ConnectionListener;
 import org.jivesoftware.smack.PacketListener;
 import org.jivesoftware.smack.PrivacyListManager;
-import org.jivesoftware.smack.Roster;
 import org.jivesoftware.smack.XMPPConnection;
 import org.jivesoftware.smack.XMPPException;
 import org.jivesoftware.smack.filter.PacketFilter;
@@ -69,6 +68,7 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.SharedPreferences;
+import android.net.Uri;
 import android.os.Bundle;
 import android.os.RemoteCallbackList;
 import android.os.RemoteException;
@@ -80,8 +80,6 @@
 import com.beem.project.beem.R;
 import com.beem.project.beem.providers.Messages;
 import com.beem.project.beem.service.aidl.IBeemConnectionListener;
-import com.beem.project.beem.service.aidl.IChatManager;
-import com.beem.project.beem.service.aidl.IRoster;
 import com.beem.project.beem.service.aidl.IXmppConnection;
 import com.beem.project.beem.smack.avatar.AvatarCache;
 import com.beem.project.beem.smack.avatar.AvatarManager;
@@ -104,16 +102,13 @@
     private static final int SMACK_PRIORITY_MAX = 128;
     private static final String TAG = "XMPPConnectionAdapter";
     private final XMPPConnection mAdaptee;
-    private IChatManager mChatManager;
     private final String mLogin;
     private final String mPassword;
     private String mResource;
     private String mErrorMsg;
-    private RosterAdapter mRoster;
     private int mPreviousPriority;
     private int mPreviousMode;
     private String mPreviousStatus;
-    private PrivacyListManagerAdapter mPrivacyListManager;
     private ChatStateManager mChatStateManager;
     private final BeemService mService;
     private BeemApplication mApplication;
@@ -243,14 +238,13 @@
 	    mAdaptee.addPacketListener(mSubscribePacketListener, filter);
 	    Log.e(TAG, mLogin + mPassword + mResource);
 	    mAdaptee.login(mLogin, mPassword, mResource);
-	    mChatManager = new BeemChatManager(mAdaptee.getChatManager(), mService);
+	    //mChatManager = new BeemChatManager(mAdaptee.getChatManager(), mService);
 	    //nikita: I commented this line because of the logs provided in http://www.beem-project.com/issues/321
 	    //Also, since the privacylistmanager isn't finished and used, it will be safer to not initialize it
 	    //mPrivacyListManager = new PrivacyListManagerAdapter(PrivacyListManager.getInstanceFor(mAdaptee));
 	    mService.initJingle(mAdaptee);
 	    discoverServerFeatures();
 
-	    mRoster = new RosterAdapter(mAdaptee.getRoster(), mService, mAvatarManager);
 	    mApplication.setConnected(true);
 	    int mode = mPref.getInt(BeemApplication.STATUS_KEY, 0);
 	    String status = mPref.getString(BeemApplication.STATUS_TEXT_KEY, "");
@@ -383,27 +377,6 @@
 	return mAdaptee;
     }
 
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public IChatManager getChatManager() throws RemoteException {
-	return mChatManager;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public IRoster getRoster() throws RemoteException {
-	if (mRoster != null)
-	    return mRoster;
-	Roster adap = mAdaptee.getRoster();
-	if (adap == null)
-	    return null;
-	mRoster = new RosterAdapter(adap, mService, mAvatarManager);
-	return mRoster;
-    }
 
     /**
      * Returns true if currently authenticated by successfully calling the login method.
@@ -423,22 +396,6 @@
     }
 
     /**
-     * PrivacyListManagerAdapter mutator.
-     * @param privacyListManager the privacy list manager
-     */
-    public void setPrivacyListManager(PrivacyListManagerAdapter privacyListManager) {
-	this.mPrivacyListManager = privacyListManager;
-    }
-
-    /**
-     * PrivacyListManagerAdapter accessor.
-     * @return the mPrivacyList
-     */
-    public PrivacyListManagerAdapter getPrivacyListManager() {
-	return mPrivacyListManager;
-    }
-
-    /**
      * {@inheritDoc}
      */
     @Override
@@ -448,43 +405,39 @@
 
     public void handleMessage(android.os.Message msg) {
 	Log.e(TAG, "HANDLEMESSAGE");
+
 	Bundle b = (Bundle) msg.obj;
-	com.beem.project.beem.service.Message message = b.getParcelable(BeemIntent.EXTRA_MESSAGE);
-	switch (message.getType()) {
-	    case com.beem.project.beem.service.Message.MSG_TYPE_CHAT:
+	String from = b.getString(BeemIntent.EXTRA_ACCOUNT);
+	String to = b.getString(BeemIntent.EXTRA_JID);
+	String body = b.getString(BeemIntent.EXTRA_MESSAGE);
 
-		org.jivesoftware.smack.packet.Message send = new org.jivesoftware.smack.packet.Message();
-		send.setTo(message.getTo());
-		send.setBody(message.getBody());
-		send.setThread(message.getThread());
-		send.setSubject(message.getSubject());
-		send.setType(org.jivesoftware.smack.packet.Message.Type.chat);
-		// TODO gerer les messages contenant des XMPPError
-		// send.set
-		try {
-		    mAdaptee.sendPacket(send);
-		} catch (IllegalStateException e) {
-		    Log.e(TAG, "Message not send", e);
-		    break;
-		}
-		SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-		ContentValues values = new ContentValues();
-		values.put(Messages.FROM, "me"); //TODO: Get current account name
-		values.put(Messages.MESSAGE_ID, "message id");
-		values.put(Messages.TO, message.getTo());
-		values.put(Messages.TYPE, message.getType());
-		values.put(Messages.SUBJECT, "SUBJECT");
-		values.put(Messages.BODY, message.getBody());
-		values.put(Messages.THREAD, "THREAD");
-		values.put(Messages.EXTRAS, "EXTRAS");
-		values.put(Messages.IS_RECEIVE, true);
-		values.put(Messages.DATE_RECEIVE, dateFormat.format(new Date()));
-		values.put(Messages.DATE_READ, dateFormat.format(message.getTimestamp()));
-		mService.getContentResolver().insert(Messages.CONTENT_URI, values);
-		break;
-	    default:
-		Log.w(TAG, "Unknown message " + msg);
+	Message send = new Message();
+	send.setFrom(from);
+	send.setThread(""); //TODO: set ThreadID
+	send.setTo(to);
+	send.setBody(body);
+	send.setType(Message.Type.chat);
+	// TODO gerer les messages contenant des XMPPError
+	try {
+	    mAdaptee.sendPacket(send);
+	} catch (IllegalStateException e) {
+	    Log.e(TAG, "Message not send", e);
 	}
+	SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+	ContentValues values = new ContentValues();
+	values.put(Messages.FROM, "me"); //TODO: Get current account name
+	values.put(Messages.MESSAGE_ID, "message id");
+	values.put(Messages.TO, to);
+	values.put(Messages.TYPE, Message.Type.chat.toString());
+	values.put(Messages.SUBJECT, "SUBJECT");
+	values.put(Messages.BODY, body);
+	values.put(Messages.THREAD, "");
+	values.put(Messages.EXTRAS, "");
+	values.put(Messages.IS_RECEIVE, true);
+	values.put(Messages.DATE_RECEIVE, dateFormat.format(new Date()));
+	values.put(Messages.DATE_READ, dateFormat.format(new Date()));
+	mService.getContentResolver().insert(Messages.CONTENT_URI, values);
+
     }
 
     /**
@@ -601,7 +554,6 @@
 	@Override
 	public void connectionClosed() {
 	    Log.d(TAG, "closing connection");
-	    mRoster = null;
 	    Intent intent = new Intent(BeemBroadcastReceiver.BEEM_CONNECTION_CLOSED);
 	    intent.putExtra("message", mService.getString(R.string.BeemBroadcastReceiverDisconnect));
 	    intent.putExtra("normally", true);
@@ -616,7 +568,6 @@
 	@Override
 	public void connectionClosedOnError(Exception exception) {
 	    Log.d(TAG, "connectionClosedOnError");
-	    mRoster = null;
 	    Intent intent = new Intent(BeemBroadcastReceiver.BEEM_CONNECTION_CLOSED);
 	    intent.putExtra("message", exception.getMessage());
 	    mService.sendBroadcast(intent);
@@ -722,9 +673,9 @@
 		    notif.flags = Notification.FLAG_AUTO_CANCEL;
 		    Intent intent = new Intent(mService, Subscription.class);
 		    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK).putExtra("from", from);
-		    notif.setLatestEventInfo(mService, from, mService
-			.getString(R.string.AcceptContactRequestFrom, from), PendingIntent.getActivity(mService, 0,
-			intent, PendingIntent.FLAG_ONE_SHOT));
+		    notif.setLatestEventInfo(mService, from,
+			mService.getString(R.string.AcceptContactRequestFrom, from),
+			PendingIntent.getActivity(mService, 0, intent, PendingIntent.FLAG_ONE_SHOT));
 		    int id = packet.hashCode();
 		    mService.sendNotification(id, notif);
 		}
@@ -771,30 +722,53 @@
 		    R.string.AcceptContactRequest, from), System.currentTimeMillis());
 		notification.flags = Notification.FLAG_AUTO_CANCEL;
 		Intent intent = new Intent(mService, Subscription.class);
-		intent.setData(Contact.makeXmppUri(from));
-		notification.setLatestEventInfo(mService, from, mService.getString(R.string.AcceptContactRequestFrom,
-		    from), PendingIntent.getActivity(mService, 0, intent, PendingIntent.FLAG_ONE_SHOT));
+		intent.setData(makeXmppUri(from));
+		notification.setLatestEventInfo(mService, from,
+		    mService.getString(R.string.AcceptContactRequestFrom, from),
+		    PendingIntent.getActivity(mService, 0, intent, PendingIntent.FLAG_ONE_SHOT));
 		int id = p.hashCode();
 		mService.sendNotification(id, notification);
 	    } else if (packet instanceof Message) {
 		Message message = (Message) packet;
-		com.beem.project.beem.service.Message msg = new com.beem.project.beem.service.Message(message);
+
 		SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 		// note that we don't have to add an id as our table set id as autoincrement
 		ContentValues values = new ContentValues();
-		values.put(Messages.FROM, msg.getFrom());
+		values.put(Messages.FROM, message.getFrom());
 		values.put(Messages.MESSAGE_ID, "message id");
-		values.put(Messages.TO, msg.getTo());
-		values.put(Messages.TYPE, msg.getType());
+		values.put(Messages.TO, message.getTo());
+		values.put(Messages.TYPE, message.getType().toString());
 		values.put(Messages.SUBJECT, "SUBJECT");
-		values.put(Messages.BODY, msg.getBody());
-		values.put(Messages.THREAD, "THREAD");
-		values.put(Messages.EXTRAS, "EXTRAS");
+		values.put(Messages.BODY, message.getBody());
+		values.put(Messages.THREAD, message.getThread());
+		values.put(Messages.EXTRAS, "");
 		values.put(Messages.IS_RECEIVE, true);
 		values.put(Messages.DATE_RECEIVE, dateFormat.format(new Date()));
-		values.put(Messages.DATE_READ, dateFormat.format(msg.getTimestamp()));
+		values.put(Messages.DATE_READ, dateFormat.format(new Date()));
 		mService.getContentResolver().insert(Messages.CONTENT_URI, values);
 	    }
 	}
     }
+
+    /**
+     * Make an xmpp uri for a spcific jid.
+     * @param jid the jid to represent as an uri
+     * @return an uri representing this jid.
+     */
+    public static Uri makeXmppUri(String jid) {
+	StringBuilder build = new StringBuilder("xmpp:");
+	String name = StringUtils.parseName(jid);
+	build.append(name);
+	if (!"".equals(name))
+	    build.append('@');
+	build.append(StringUtils.parseServer(jid));
+	String resource = StringUtils.parseResource(jid);
+	if (!"".equals(resource)) {
+	    build.append('/');
+	    build.append(resource);
+	}
+	Uri u = Uri.parse(build.toString());
+	return u;
+    }
+
 }
--- a/src/com/beem/project/beem/service/XmppFacade.java	Sun Nov 06 00:15:35 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,160 +0,0 @@
-/*
-    BEEM is a videoconference application on the Android Platform.
-
-    Copyright (C) 2009 by Frederic-Charles Barthelery,
-                          Jean-Manuel Da Silva,
-                          Nikita Kozlov,
-                          Philippe Lago,
-                          Jean Baptiste Vergely,
-                          Vincent Veronis.
-
-    This file is part of BEEM.
-
-    BEEM is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    BEEM is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with BEEM.  If not, see <http://www.gnu.org/licenses/>.
-
-    Please send bug reports with examples or suggestions to
-    contact@beem-project.com or http://dev.beem-project.com/
-
-    Epitech, hereby disclaims all copyright interest in the program "Beem"
-    written by Frederic-Charles Barthelery,
-               Jean-Manuel Da Silva,
-               Nikita Kozlov,
-               Philippe Lago,
-               Jean Baptiste Vergely,
-               Vincent Veronis.
-
-    Nicolas Sadirac, November 26, 2009
-    President of Epitech.
-
-    Flavien Astraud, November 26, 2009
-    Head of the EIP Laboratory.
-
-*/
-package com.beem.project.beem.service;
-
-import org.jivesoftware.smack.packet.Presence;
-
-import android.os.RemoteException;
-
-import com.beem.project.beem.service.aidl.IChatManager;
-import com.beem.project.beem.service.aidl.IPrivacyListManager;
-import com.beem.project.beem.service.aidl.IRoster;
-import com.beem.project.beem.service.aidl.IXmppConnection;
-import com.beem.project.beem.service.aidl.IXmppFacade;
-import com.beem.project.beem.utils.PresenceType;
-import com.beem.project.beem.smack.avatar.AvatarManager;
-
-/**
- * This class is a facade for the Beem Service.
- * @author darisk
- */
-public class XmppFacade extends IXmppFacade.Stub {
-
-    private final XmppConnectionAdapter mConnexion;
-
-    /**
-     * Constructor for XMPPFacade.
-     * @param connection the connection use by the facade
-     */
-    public XmppFacade(final XmppConnectionAdapter connection) {
-	this.mConnexion = connection;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void changeStatus(int status, String msg) {
-	mConnexion.changeStatus(status, msg);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void connectAsync() throws RemoteException {
-	mConnexion.connectAsync();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void connectSync() throws RemoteException {
-	mConnexion.connectSync();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public IXmppConnection createConnection() throws RemoteException {
-	return mConnexion;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void disconnect() throws RemoteException {
-	mConnexion.disconnect();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public IChatManager getChatManager() throws RemoteException {
-	return mConnexion.getChatManager();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public IRoster getRoster() throws RemoteException {
-	return mConnexion.getRoster();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public IPrivacyListManager getPrivacyListManager() {
-	return mConnexion.getPrivacyListManager();
-    }
-
-    @Override
-    public void sendPresencePacket(PresenceAdapter presence) throws RemoteException {
-	Presence presence2 = new Presence(PresenceType.getPresenceTypeFrom(presence.getType()));
-	presence2.setTo(presence.getTo());
-	mConnexion.getAdaptee().sendPacket(presence2);
-    }
-
-    /* (non-Javadoc)
-     * @see com.beem.project.beem.service.aidl.IXmppFacade#call(java.lang.String)
-     */
-    @Override
-    public void call(String jid) throws RemoteException {
-    }
-
-    @Override
-    public byte[] getAvatar(String avatarId) throws RemoteException {
-	AvatarManager mgr = mConnexion.getAvatarManager();
-	if (mgr == null)
-	    return null;
-
-	return mgr.getAvatar(avatarId);
-    }
-}
--- a/src/com/beem/project/beem/service/aidl/IBeemRosterListener.aidl	Sun Nov 06 00:15:35 2011 +0100
+++ b/src/com/beem/project/beem/service/aidl/IBeemRosterListener.aidl	Sun Nov 06 04:27:09 2011 +0100
@@ -49,5 +49,5 @@
     void onEntriesAdded(in List<String> addresses);
     void onEntriesUpdated(in List<String> addresses);
     void onEntriesDeleted(in List<String> addresses);
-    void onPresenceChanged(in PresenceAdapter presence);
+    //void onPresenceChanged(in PresenceAdapter presence);
 }
--- a/src/com/beem/project/beem/service/aidl/IChat.aidl	Sun Nov 06 00:15:35 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-/*
-    BEEM is a videoconference application on the Android Platform.
-
-    Copyright (C) 2009 by Frederic-Charles Barthelery,
-                          Jean-Manuel Da Silva,
-                          Nikita Kozlov,
-                          Philippe Lago,
-                          Jean Baptiste Vergely,
-                          Vincent Veronis.
-
-    This file is part of BEEM.
-
-    BEEM is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    BEEM is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with BEEM.  If not, see <http://www.gnu.org/licenses/>.
-
-    Please send bug reports with examples or suggestions to
-    contact@beem-project.com or http://dev.beem-project.com/
-
-    Epitech, hereby disclaims all copyright interest in the program "Beem"
-    written by Frederic-Charles Barthelery,
-               Jean-Manuel Da Silva,
-               Nikita Kozlov,
-               Philippe Lago,
-               Jean Baptiste Vergely,
-               Vincent Veronis.
-
-    Nicolas Sadirac, November 26, 2009
-    President of Epitech.
-
-    Flavien Astraud, November 26, 2009
-    Head of the EIP Laboratory.
-
-*/
-package com.beem.project.beem.service.aidl;
-
-import  com.beem.project.beem.service.Contact;
-import  com.beem.project.beem.service.Message;
-import  com.beem.project.beem.service.aidl.IMessageListener;
-
-/**
- * An aidl interface for Chat session.
- */
-interface IChat {
-
-    	/**
-    	 * Send a message.
-    	 * @param message	the message to send
-    	 */
-	void sendMessage(in Message message);
-
-	/**
-	 * Get the participant of the chat
-	 * @return the participant
-	 */
-	Contact getParticipant();
-
-	/**
-	 * Add a message listener.
-	 * @param listener the listener to add.
-	 */
-	void addMessageListener(in IMessageListener listener);
-
-	/**
-	 * Remove a message listener.
-	 * @param listener the listener to remove.
-	 */
-	void removeMessageListener(in IMessageListener listener);
-
-	String getState();
-
-	void setOpen(in boolean isOpen);
-
-	boolean isOpen();
-
-	void setState(in String state);
-
-	List<Message> getMessages();
-
-}
--- a/src/com/beem/project/beem/service/aidl/IChatManager.aidl	Sun Nov 06 00:15:35 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-/*
-    BEEM is a videoconference application on the Android Platform.
-
-    Copyright (C) 2009 by Frederic-Charles Barthelery,
-                          Jean-Manuel Da Silva,
-                          Nikita Kozlov,
-                          Philippe Lago,
-                          Jean Baptiste Vergely,
-                          Vincent Veronis.
-
-    This file is part of BEEM.
-
-    BEEM is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    BEEM is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with BEEM.  If not, see <http://www.gnu.org/licenses/>.
-
-    Please send bug reports with examples or suggestions to
-    contact@beem-project.com or http://dev.beem-project.com/
-
-    Epitech, hereby disclaims all copyright interest in the program "Beem"
-    written by Frederic-Charles Barthelery,
-               Jean-Manuel Da Silva,
-               Nikita Kozlov,
-               Philippe Lago,
-               Jean Baptiste Vergely,
-               Vincent Veronis.
-
-    Nicolas Sadirac, November 26, 2009
-    President of Epitech.
-
-    Flavien Astraud, November 26, 2009
-    Head of the EIP Laboratory.
-
-*/
-package com.beem.project.beem.service.aidl;
-
-import  com.beem.project.beem.service.Contact;
-import  com.beem.project.beem.service.aidl.IChat;
-import  com.beem.project.beem.service.aidl.IMessageListener;
-import  com.beem.project.beem.service.aidl.IChatManagerListener;
-
-/**
- * Aidl interface for a chat manager.
- * The chat manager will manage all the chat sessions.
- */
-interface IChatManager {
-
-    	/**
-    	 * Create a chat session with a contact.
-    	 * @param contact	the contact to chat with
-    	 * @param listener	the callback to call when a new message comes from this chat session
-    	 * @return 		the chat session
-    	 */
-	IChat createChat(in Contact contact, in IMessageListener listener);
-
-	/**
-	 * Get an existing Chat session with a contact.
-	 * @return null if the chat session does not exist.
-	 */
-	IChat getChat(in Contact contact);
-
-	/**
-    	 * Destroy a chat session with a contact.
-    	 * @param chat	the chat session
-    	 */
-	void destroyChat(in IChat chat);
-
-        /**
-	 * @param chat the chat.
-         */
-	void deleteChatNotification(in IChat chat);
-
-	/**
-	 * Register a callback to call when a new chat session is created.
-	 * @param listener	the callback to add
-	 */
-	void addChatCreationListener(in IChatManagerListener listener);
-
-	/**
-	 * Remove a callback for the creation of new chat session.
-	 * @param listener	the callback to remove.
-	 */
-	void removeChatCreationListener(in IChatManagerListener listener);
-
-	/**
-	 * Get a list of contact which we are currently chatting.
-	 * @return list of contact.
-	 */
-	List<Contact> getOpenedChatList();
-}
--- a/src/com/beem/project/beem/service/aidl/IChatManagerListener.aidl	Sun Nov 06 00:15:35 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
-    BEEM is a videoconference application on the Android Platform.
-
-    Copyright (C) 2009 by Frederic-Charles Barthelery,
-                          Jean-Manuel Da Silva,
-                          Nikita Kozlov,
-                          Philippe Lago,
-                          Jean Baptiste Vergely,
-                          Vincent Veronis.
-
-    This file is part of BEEM.
-
-    BEEM is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    BEEM is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with BEEM.  If not, see <http://www.gnu.org/licenses/>.
-
-    Please send bug reports with examples or suggestions to
-    contact@beem-project.com or http://dev.beem-project.com/
-
-    Epitech, hereby disclaims all copyright interest in the program "Beem"
-    written by Frederic-Charles Barthelery,
-               Jean-Manuel Da Silva,
-               Nikita Kozlov,
-               Philippe Lago,
-               Jean Baptiste Vergely,
-               Vincent Veronis.
-
-    Nicolas Sadirac, November 26, 2009
-    President of Epitech.
-
-    Flavien Astraud, November 26, 2009
-    Head of the EIP Laboratory.
-
-*/
-package com.beem.project.beem.service.aidl;
-
-import  com.beem.project.beem.service.aidl.IChat;
-
-/**
- * Aidl interface for ChatManager listener.
- * This listener will execute on events like creation of chat session.
- */
-interface IChatManagerListener {
-
-    	/**
-    	 * Call when a new chat session is created.
-    	 * @param chat		the created chat session
-    	 * @param locally	true if the session is create by a chat manager.
-    	 */
-    	void chatCreated(IChat chat, boolean locally);
-
-}
--- a/src/com/beem/project/beem/service/aidl/IContact.aidl	Sun Nov 06 00:15:35 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-    BEEM is a videoconference application on the Android Platform.
-
-    Copyright (C) 2009 by Frederic-Charles Barthelery,
-                          Jean-Manuel Da Silva,
-                          Nikita Kozlov,
-                          Philippe Lago,
-                          Jean Baptiste Vergely,
-                          Vincent Veronis.
-
-    This file is part of BEEM.
-
-    BEEM is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    BEEM is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with BEEM.  If not, see <http://www.gnu.org/licenses/>.
-
-    Please send bug reports with examples or suggestions to
-    contact@beem-project.com or http://dev.beem-project.com/
-
-    Epitech, hereby disclaims all copyright interest in the program "Beem"
-    written by Frederic-Charles Barthelery,
-               Jean-Manuel Da Silva,
-               Nikita Kozlov,
-               Philippe Lago,
-               Jean Baptiste Vergely,
-               Vincent Veronis.
-
-    Nicolas Sadirac, November 26, 2009
-    President of Epitech.
-
-    Flavien Astraud, November 26, 2009
-    Head of the EIP Laboratory.
-
-*/
-package com.beem.project.beem.service.aidl;
-
-interface IContact {
-
-	String getJID();
-
-	void setJID(String mjid);
-
-}
-
--- a/src/com/beem/project/beem/service/aidl/IMessageListener.aidl	Sun Nov 06 00:15:35 2011 +0100
+++ b/src/com/beem/project/beem/service/aidl/IMessageListener.aidl	Sun Nov 06 04:27:09 2011 +0100
@@ -53,12 +53,12 @@
 	 * @param chat the chat receiving the message.
 	 * @param msg the message received in the chat.
 	 */
-	void processMessage(in IChat chat, in Message msg);
+	//void processMessage(in IChat chat, in Message msg);
 
 	/**
 	 * This method is executed when a new ChatState is received by the chat.
 	 * You can use IChat.getState() in order to get the new state.
 	 * @param chat the chat changed.
 	 */
-	void stateChanged(in IChat chat);
+	//void stateChanged(in IChat chat);
 }
--- a/src/com/beem/project/beem/service/aidl/IPrivacyListListener.aidl	Sun Nov 06 00:15:35 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-    BEEM is a videoconference application on the Android Platform.
-
-    Copyright (C) 2009 by Frederic-Charles Barthelery,
-                          Jean-Manuel Da Silva,
-                          Nikita Kozlov,
-                          Philippe Lago,
-                          Jean Baptiste Vergely,
-                          Vincent Veronis.
-
-    This file is part of BEEM.
-
-    BEEM is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    BEEM is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with BEEM.  If not, see <http://www.gnu.org/licenses/>.
-
-    Please send bug reports with examples or suggestions to
-    contact@beem-project.com or http://dev.beem-project.com/
-
-    Epitech, hereby disclaims all copyright interest in the program "Beem"
-    written by Frederic-Charles Barthelery,
-               Jean-Manuel Da Silva,
-               Nikita Kozlov,
-               Philippe Lago,
-               Jean Baptiste Vergely,
-               Vincent Veronis.
-
-    Nicolas Sadirac, November 26, 2009
-    President of Epitech.
-
-    Flavien Astraud, November 26, 2009
-    Head of the EIP Laboratory.
-
-*/
-package com.beem.project.beem.service.aidl;
-
-import  com.beem.project.beem.service.PrivacyListItem;
-
-interface IPrivacyListListener {
-	void updatedPrivacyList(in String listName);
-	void setPrivacyList(in String listName, in List<PrivacyListItem> listItem);
-}
--- a/src/com/beem/project/beem/service/aidl/IPrivacyListManager.aidl	Sun Nov 06 00:15:35 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-/*
-    BEEM is a videoconference application on the Android Platform.
-
-    Copyright (C) 2009 by Frederic-Charles Barthelery,
-                          Jean-Manuel Da Silva,
-                          Nikita Kozlov,
-                          Philippe Lago,
-                          Jean Baptiste Vergely,
-                          Vincent Veronis.
-
-    This file is part of BEEM.
-
-    BEEM is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    BEEM is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with BEEM.  If not, see <http://www.gnu.org/licenses/>.
-
-    Please send bug reports with examples or suggestions to
-    contact@beem-project.com or http://dev.beem-project.com/
-
-    Epitech, hereby disclaims all copyright interest in the program "Beem"
-    written by Frederic-Charles Barthelery,
-               Jean-Manuel Da Silva,
-               Nikita Kozlov,
-               Philippe Lago,
-               Jean Baptiste Vergely,
-               Vincent Veronis.
-
-    Nicolas Sadirac, November 26, 2009
-    President of Epitech.
-
-    Flavien Astraud, November 26, 2009
-    Head of the EIP Laboratory.
-
-*/
-package com.beem.project.beem.service.aidl;
-
-import  com.beem.project.beem.service.PrivacyListItem;
-import  com.beem.project.beem.service.aidl.IPrivacyListListener;
-
-interface IPrivacyListManager {
-	void createPrivacyList(in String listName, in List<PrivacyListItem> items);
-	void removePrivacyList(in String listName);
-	void editPrivacyList(in String listName, in List<PrivacyListItem> items);
-	String getActivePrivacyList();
-	String getDefaultPrivacyList();
-	void setActivePrivacyList(in String listName);
-	void setDefaultPrivacyList(in String listName);
-	void declineActivePrivacyList();
-	void declineDefaultPrivacyList();
-	List<String> getPrivacyLists();
-	void blockUser(in String listName, in String jid);
-	List<String> getBlockedUsersByList(in String listName);
-	List<String> getBlockedGroupsByList(in String listName);
-	void addPrivacyListListener(in IPrivacyListListener listener);
-	void removePrivacyListListener(in IPrivacyListListener listener);
-}
-
--- a/src/com/beem/project/beem/service/aidl/IRoster.aidl	Sun Nov 06 00:15:35 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-/*
-    BEEM is a videoconference application on the Android Platform.
-
-    Copyright (C) 2009 by Frederic-Charles Barthelery,
-                          Jean-Manuel Da Silva,
-                          Nikita Kozlov,
-                          Philippe Lago,
-                          Jean Baptiste Vergely,
-                          Vincent Veronis.
-
-    This file is part of BEEM.
-
-    BEEM is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    BEEM is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with BEEM.  If not, see <http://www.gnu.org/licenses/>.
-
-    Please send bug reports with examples or suggestions to
-    contact@beem-project.com or http://dev.beem-project.com/
-
-    Epitech, hereby disclaims all copyright interest in the program "Beem"
-    written by Frederic-Charles Barthelery,
-               Jean-Manuel Da Silva,
-               Nikita Kozlov,
-               Philippe Lago,
-               Jean Baptiste Vergely,
-               Vincent Veronis.
-
-    Nicolas Sadirac, November 26, 2009
-    President of Epitech.
-
-    Flavien Astraud, November 26, 2009
-    Head of the EIP Laboratory.
-
-*/
-package com.beem.project.beem.service.aidl;
-
-import com.beem.project.beem.service.aidl.IBeemRosterListener;
-import com.beem.project.beem.service.Contact;
-import com.beem.project.beem.service.PresenceAdapter;
-
-interface IRoster {
-
-    Contact addContact(in String user, in String name, in String[] groups);
-
-    void deleteContact(in Contact contact);
-
-    Contact getContact(in String jid);
-    void setContactName(in String jid, in String name);
-
-    void createGroup(in String groupname);
-
-    void addContactToGroup(in String groupName, in String jid);
-
-    void removeContactFromGroup(in String groupName, in String jid);
-
-    List<Contact> getContactList();
-
-    List<String> getGroupsNames();
-
-    PresenceAdapter getPresence(in String jid);
-
-    void addRosterListener(in IBeemRosterListener listen);
-    void removeRosterListener(in IBeemRosterListener listen);
-
-}
--- a/src/com/beem/project/beem/service/aidl/IXmppConnection.aidl	Sun Nov 06 00:15:35 2011 +0100
+++ b/src/com/beem/project/beem/service/aidl/IXmppConnection.aidl	Sun Nov 06 04:27:09 2011 +0100
@@ -43,10 +43,8 @@
 */
 package com.beem.project.beem.service.aidl;
 
-import  com.beem.project.beem.service.aidl.IRoster;
 import  com.beem.project.beem.service.aidl.IBeemConnectionListener;
-import  com.beem.project.beem.service.aidl.IChatManager;
-import  com.beem.project.beem.service.aidl.IPrivacyListManager;
+
 
 interface IXmppConnection {
 
@@ -60,20 +58,20 @@
 
     boolean disconnect();
 
-    IRoster getRoster();
+    //IRoster getRoster();
 
     void addConnectionListener(in IBeemConnectionListener listen);
     void removeConnectionListener(in IBeemConnectionListener listen);
 
     boolean isAuthentificated();
 
-    IChatManager getChatManager();
+    //IChatManager getChatManager();
 
     void changeStatusAndPriority(in int status, in String msg, in int priority);
 
     void changeStatus(in int status, in String msg);
 
-    IPrivacyListManager getPrivacyListManager();
+    //IPrivacyListManager getPrivacyListManager();
 
     String getErrorMessage();
 }
--- a/src/com/beem/project/beem/service/aidl/IXmppFacade.aidl	Sun Nov 06 00:15:35 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +0,0 @@
-/*
-    BEEM is a videoconference application on the Android Platform.
-
-    Copyright (C) 2009 by Frederic-Charles Barthelery,
-                          Jean-Manuel Da Silva,
-                          Nikita Kozlov,
-                          Philippe Lago,
-                          Jean Baptiste Vergely,
-                          Vincent Veronis.
-
-    This file is part of BEEM.
-
-    BEEM is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    BEEM is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with BEEM.  If not, see <http://www.gnu.org/licenses/>.
-
-    Please send bug reports with examples or suggestions to
-    contact@beem-project.com or http://dev.beem-project.com/
-
-    Epitech, hereby disclaims all copyright interest in the program "Beem"
-    written by Frederic-Charles Barthelery,
-               Jean-Manuel Da Silva,
-               Nikita Kozlov,
-               Philippe Lago,
-               Jean Baptiste Vergely,
-               Vincent Veronis.
-
-    Nicolas Sadirac, November 26, 2009
-    President of Epitech.
-
-    Flavien Astraud, November 26, 2009
-    Head of the EIP Laboratory.
-
-*/
-package com.beem.project.beem.service.aidl;
-
-import  com.beem.project.beem.service.aidl.IXmppConnection;
-import  com.beem.project.beem.service.aidl.IRoster;
-import  com.beem.project.beem.service.aidl.IChatManager;
-import  com.beem.project.beem.service.aidl.IPrivacyListManager;
-import com.beem.project.beem.service.PresenceAdapter;
-
-interface IXmppFacade {
-
-    /**
-     * Get the XmppConnection of the facade.
-     */
-    IXmppConnection createConnection();
-
-    /**
-     * Get the roster of the user
-     */
-    IRoster getRoster();
-
-    /**
-     * Connect and login synchronously on the server.
-     */
-    void connectSync();
-
-    /**
-     * Connect and login asynchronously on the server.
-     */
-    void connectAsync();
-
-    /**
-     * Disconnect from the server
-     */
-    void disconnect();
-
-    /**
-     * Get the chat manager.
-     */
-    IChatManager getChatManager();
-
-    /**
-     * Change the status of the user.
-     * @param status the status to set
-     * @param msg the message state to set
-     */
-    void changeStatus(in int status, in String msg);
-
-    void sendPresencePacket(in PresenceAdapter presence);
-
-    /**
-     * make a jingle audio call
-     * @param jid the receiver id
-     */
-     void call(in String jid);
-
-     /**
-      * get the an avatar
-      * @param id the id of the avatar
-      */
-     byte[] getAvatar(in String id);
-
-     IPrivacyListManager getPrivacyListManager();
-}
--- a/src/com/beem/project/beem/ui/AddContact.java	Sun Nov 06 00:15:35 2011 +0100
+++ b/src/com/beem/project/beem/ui/AddContact.java	Sun Nov 06 04:27:09 2011 +0100
@@ -40,7 +40,7 @@
     Flavien Astraud, November 26, 2009
     Head of the EIP Laboratory.
 
-*/
+ */
 package com.beem.project.beem.ui;
 
 import java.util.ArrayList;
@@ -51,20 +51,14 @@
 import android.content.ComponentName;
 import android.content.Intent;
 import android.content.IntentFilter;
-import android.content.ServiceConnection;
 import android.os.Bundle;
-import android.os.IBinder;
-import android.os.RemoteException;
-import android.util.Log;
 import android.view.View;
 import android.view.View.OnClickListener;
 import android.widget.Button;
 import android.widget.EditText;
 import android.widget.Toast;
 
-import com.beem.project.beem.BeemService;
 import com.beem.project.beem.R;
-import com.beem.project.beem.service.aidl.IXmppFacade;
 import com.beem.project.beem.utils.BeemBroadcastReceiver;
 
 /**
@@ -76,8 +70,6 @@
     private static final Intent SERVICE_INTENT = new Intent();
     private static final String TAG = "AddContact";
     private final List<String> mGroup = new ArrayList<String>();
-    private IXmppFacade mXmppFacade;
-    private final ServiceConnection mServConn = new BeemServiceConnection();
     private final BeemBroadcastReceiver mReceiver = new BeemBroadcastReceiver();
     private final OkListener mOkListener = new OkListener();
 
@@ -103,7 +95,8 @@
 	this.registerReceiver(mReceiver, new IntentFilter(BeemBroadcastReceiver.BEEM_CONNECTION_CLOSED));
     }
 
-    /* (non-Javadoc)
+    /*
+     * (non-Javadoc)
      * @see android.app.Activity#onStart()
      */
     @Override
@@ -117,7 +110,7 @@
     @Override
     protected void onResume() {
 	super.onResume();
-	bindService(new Intent(this, BeemService.class), mServConn, BIND_AUTO_CREATE);
+//	bindService(new Intent(this, BeemService.class), mServConn, BIND_AUTO_CREATE);
     }
 
     /**
@@ -126,10 +119,11 @@
     @Override
     protected void onPause() {
 	super.onPause();
-	unbindService(mServConn);
+//	unbindService(mServConn);
     }
 
-    /* (non-Javadoc)
+    /*
+     * (non-Javadoc)
      * @see android.app.Activity#onDestroy()
      */
     @Override
@@ -139,28 +133,6 @@
     }
 
     /**
-     * The ServiceConnection used to connect to the Beem service.
-     */
-    private class BeemServiceConnection implements ServiceConnection {
-
-	/**
-	 * Constructor.
-	 */
-	public BeemServiceConnection() {
-	}
-
-	@Override
-	public void onServiceConnected(ComponentName name, IBinder service) {
-	    mXmppFacade = IXmppFacade.Stub.asInterface(service);
-	}
-
-	@Override
-	public void onServiceDisconnected(ComponentName name) {
-	    mXmppFacade = null;
-	}
-    }
-
-    /**
      * Get the text of a widget.
      * @param id the id of the widget.
      * @return the text of the widget.
@@ -178,7 +150,8 @@
 	/**
 	 * Constructor.
 	 */
-	public OkListener() { }
+	public OkListener() {
+	}
 
 	@Override
 	public void onClick(View v) {
@@ -198,28 +171,28 @@
 	    alias = getWidgetText(R.id.addc_alias);
 	    if (getWidgetText(R.id.addc_group).length() != 0)
 		mGroup.add(getWidgetText(R.id.addc_group));
-	    try {
-		if (mXmppFacade != null) {
-		    if (mXmppFacade.getRoster().getContact(login) != null) {
-			mGroup.addAll(mXmppFacade.getRoster().getContact(login).getGroups());
-			Toast.makeText(AddContact.this, getString(R.string.AddCContactAlready), Toast.LENGTH_SHORT)
-			    .show();
-			return;
-		    }
-		    if (mXmppFacade.getRoster().addContact(login, alias, 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();
-			finish();
-		    }
-		}
-	    } catch (RemoteException e) {
-		Toast.makeText(AddContact.this, e.getMessage(), Toast.LENGTH_SHORT).show();
-		Log.e(TAG, "Problem adding contact", e);
-	    }
+	    //	    try {
+	    //		if (mXmppFacade != null) {
+	    //		    if (mXmppFacade.getRoster().getContact(login) != null) {
+	    //			mGroup.addAll(mXmppFacade.getRoster().getContact(login).getGroups());
+	    //			Toast.makeText(AddContact.this, getString(R.string.AddCContactAlready), Toast.LENGTH_SHORT)
+	    //			    .show();
+	    //			return;
+	    //		    }
+	    //		    if (mXmppFacade.getRoster().addContact(login, alias, 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();
+	    //			finish();
+	    //		    }
+	    //		}
+	    //	    } catch (RemoteException e) {
+	    //		Toast.makeText(AddContact.this, e.getMessage(), Toast.LENGTH_SHORT).show();
+	    //		Log.e(TAG, "Problem adding contact", e);
+	    //	    }
 
 	}
     };
--- a/src/com/beem/project/beem/ui/ChangeStatus.java	Sun Nov 06 00:15:35 2011 +0100
+++ b/src/com/beem/project/beem/ui/ChangeStatus.java	Sun Nov 06 04:27:09 2011 +0100
@@ -48,12 +48,9 @@
 import android.content.ComponentName;
 import android.content.Intent;
 import android.content.IntentFilter;
-import android.content.ServiceConnection;
 import android.content.SharedPreferences;
 import android.content.SharedPreferences.Editor;
 import android.os.Bundle;
-import android.os.IBinder;
-import android.os.RemoteException;
 import android.preference.PreferenceManager;
 import android.view.View;
 import android.view.View.OnClickListener;
@@ -63,12 +60,10 @@
 import android.widget.Spinner;
 import android.widget.Toast;
 
+import com.beem.project.beem.BeemApplication;
 import com.beem.project.beem.BeemService;
-import com.beem.project.beem.BeemApplication;
 import com.beem.project.beem.R;
-import com.beem.project.beem.service.aidl.IXmppFacade;
 import com.beem.project.beem.utils.BeemBroadcastReceiver;
-import com.beem.project.beem.utils.BeemConnectivity;
 import com.beem.project.beem.utils.Status;
 
 /**
@@ -98,8 +93,6 @@
 
     private SharedPreferences mSettings;
     private ArrayAdapter<CharSequence> mAdapter;
-    private IXmppFacade mXmppFacade;
-    private final ServiceConnection mServConn = new BeemServiceConnection();
     private final OnClickListener mOnClickOk = new MyOnClickListener();
     private final BeemBroadcastReceiver mReceiver = new BeemBroadcastReceiver();
 
@@ -225,35 +218,6 @@
     }
 
     /**
-     * connection to service.
-     * @author nikita
-     */
-    private class BeemServiceConnection implements ServiceConnection {
-
-	/**
-	 * constructor.
-	 */
-	public BeemServiceConnection() {
-	}
-
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public void onServiceConnected(ComponentName name, IBinder service) {
-	    mXmppFacade = IXmppFacade.Stub.asInterface(service);
-	}
-
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public void onServiceDisconnected(ComponentName name) {
-	    mXmppFacade = null;
-	}
-    }
-
-    /**
      * User have clicked on ok.
      * @author nikita
      */
@@ -275,12 +239,12 @@
 		if (status == Status.CONTACT_STATUS_DISCONNECT) {
 		    stopService(new Intent(ChangeStatus.this, BeemService.class));
 		} else {
-		    try {
-			mXmppFacade.changeStatus(status, msg.toString());
-			edit.putInt(BeemApplication.STATUS_KEY, mSpinner.getSelectedItemPosition());
-		    } catch (RemoteException e) {
-			e.printStackTrace();
-		    }
+//		    try {
+//			mXmppFacade.changeStatus(status, msg.toString());
+//			edit.putInt(BeemApplication.STATUS_KEY, mSpinner.getSelectedItemPosition());
+//		    } catch (RemoteException e) {
+//			e.printStackTrace();
+//		    }
 		    mToast.show();
 		}
 		edit.commit();
--- a/src/com/beem/project/beem/ui/Chat.java	Sun Nov 06 00:15:35 2011 +0100
+++ b/src/com/beem/project/beem/ui/Chat.java	Sun Nov 06 04:27:09 2011 +0100
@@ -43,6 +43,8 @@
  */
 package com.beem.project.beem.ui;
 
+import org.jivesoftware.smack.packet.Message;
+
 import android.app.Activity;
 import android.content.Context;
 import android.content.Intent;
@@ -52,15 +54,15 @@
 import android.net.Uri;
 import android.os.Bundle;
 import android.preference.PreferenceManager;
-import android.provider.ContactsContract.Contacts;
 import android.provider.ContactsContract.RawContacts;
+import android.telephony.gsm.SmsMessage.MessageClass;
 import android.util.Log;
 import android.view.KeyEvent;
 import android.view.LayoutInflater;
 import android.view.View;
-import android.view.ViewGroup;
 import android.view.View.OnClickListener;
 import android.view.View.OnKeyListener;
+import android.view.ViewGroup;
 import android.widget.Button;
 import android.widget.EditText;
 import android.widget.Filterable;
@@ -72,7 +74,6 @@
 import com.beem.project.beem.BeemIntent;
 import com.beem.project.beem.R;
 import com.beem.project.beem.providers.Messages;
-import com.beem.project.beem.service.Message;
 
 /**
  * The chat activity for communication with 1 contact.
@@ -103,10 +104,10 @@
 
 	Cursor cursorAccount = getContentResolver().query(RawContacts.CONTENT_URI,
 	    new String[] { RawContacts._ID, RawContacts.ACCOUNT_NAME }, RawContacts.SOURCE_ID + "=?", new String[] { mjid }, null);
-	Log.e(TAG, "Cursor :" + cursorAccount.toString());
+
 	if (cursorAccount.getCount() == 1) {
 	    cursorAccount.moveToFirst();
-	    mAccount = cursorAccount.getColumnName(cursorAccount.getColumnIndex(RawContacts.ACCOUNT_NAME));
+	    mAccount = cursorAccount.getString(cursorAccount.getColumnIndex(RawContacts.ACCOUNT_NAME));
 	} else if (cursorAccount.getCount() > 1) {
 	    // TODO : get account from jid. if multi account propose select
 	}
@@ -173,13 +174,11 @@
     private void sendMessage() {
 	EditText inputField = (EditText) findViewById(R.id.chat_input);
 	final String inputContent = inputField.getText().toString();
-
-	Message message = new Message(mjid, Message.MSG_TYPE_CHAT);
-	message.setBody(inputContent);
-
+	
 	Intent intent = new Intent(BeemIntent.ACTION_SEND_MESSAGE);
 	intent.putExtra(BeemIntent.EXTRA_ACCOUNT, mAccount);
-	intent.putExtra(BeemIntent.EXTRA_MESSAGE, message);
+	intent.putExtra(BeemIntent.EXTRA_JID, mjid);
+	intent.putExtra(BeemIntent.EXTRA_MESSAGE, inputContent);
 	startService(intent);
 
 	inputField.setText(null);
--- a/src/com/beem/project/beem/ui/ContactList.java	Sun Nov 06 00:15:35 2011 +0100
+++ b/src/com/beem/project/beem/ui/ContactList.java	Sun Nov 06 04:27:09 2011 +0100
@@ -28,11 +28,7 @@
  */
 package com.beem.project.beem.ui;
 
-import java.util.Comparator;
-import java.util.List;
-
 import android.app.Activity;
-import android.app.Dialog;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
@@ -42,7 +38,6 @@
 import android.net.Uri;
 import android.os.Bundle;
 import android.os.Handler;
-import android.os.RemoteException;
 import android.preference.PreferenceManager;
 import android.provider.ContactsContract;
 import android.util.Log;
@@ -65,14 +60,6 @@
 
 import com.beem.project.beem.BeemIntent;
 import com.beem.project.beem.R;
-import com.beem.project.beem.service.Contact;
-import com.beem.project.beem.service.aidl.IChatManager;
-import com.beem.project.beem.service.aidl.IRoster;
-import com.beem.project.beem.service.aidl.IXmppFacade;
-import com.beem.project.beem.ui.dialogs.builders.Alias;
-import com.beem.project.beem.ui.dialogs.builders.ChatList;
-import com.beem.project.beem.ui.dialogs.builders.DeleteContact;
-import com.beem.project.beem.ui.dialogs.builders.ResendSubscription;
 
 /**
  * The contact list activity displays the roster of the user.
@@ -95,11 +82,6 @@
 
     private final BeemContactListOnClick mOnContactClick = new BeemContactListOnClick();
 
-    private final ComparatorContactListByStatusAndName<Contact> mComparator = new ComparatorContactListByStatusAndName<Contact>();
-    private IRoster mRoster;
-    private Contact mSelectedContact;
-    private IXmppFacade mXmppFacade;
-    private IChatManager mChatManager;
     private SharedPreferences mSettings;
     private BeemBanner mAdapterBanner;
     private BeemContactList mAdapterContactList;
@@ -175,16 +157,16 @@
 		startActivity(new Intent(ContactList.this, ChangeStatus.class));
 		return true;
 	    case R.id.contact_list_menu_chatlist:
-		List<Contact> openedChats;
-		try {
-		    openedChats = mChatManager.getOpenedChatList();
-		    Log.d(TAG, "opened chats = " + openedChats);
-		    Dialog chatList = new ChatList(ContactList.this, openedChats).create();
-		    chatList.show();
-		} catch (RemoteException e) {
-		    e.printStackTrace();
-		}
-		return true;
+		//		List<Contact> openedChats;
+		//		try {
+		//		    openedChats = mChatManager.getOpenedChatList();
+		//		    Log.d(TAG, "opened chats = " + openedChats);
+		//		    Dialog chatList = new ChatList(ContactList.this, openedChats).create();
+		//		    chatList.show();
+		//		} catch (RemoteException e) {
+		//		    e.printStackTrace();
+		//		}
+		//		return true;
 	    case R.id.contact_list_menu_sync:
 		Intent intent = new Intent(BeemIntent.ACTION_SYNC);
 		intent.putExtra(BeemIntent.EXTRA_ACCOUNT, mAccountName);
@@ -217,66 +199,63 @@
     public boolean onContextItemSelected(MenuItem item) {
 	Intent in;
 	boolean result;
-	if (mSelectedContact != null) {
-	    switch (item.getItemId()) {
-		case R.id.contact_list_context_menu_chat_item:
-		    List<String> res = mSelectedContact.getMRes();
-		    if (res.isEmpty()) {
-			result = false;
-			break;
-		    }
-		    for (String resv : res) {
-			in = new Intent(this, Chat.class);
-			in.setData(mSelectedContact.toUri(resv));
-			item.getSubMenu().add(resv).setIntent(in);
-		    }
-		    result = true;
-		    break;
-		case R.id.contact_list_context_menu_call_item:
-		    try {
-			mXmppFacade.call(mSelectedContact.getJID() + "/psi");
-			result = true;
-		    } catch (RemoteException e) {
-			e.printStackTrace();
-		    }
-		    result = true;
-		    break;
-		case R.id.contact_list_context_menu_user_info:
-		    item.getSubMenu().setHeaderTitle(mSelectedContact.getJID());
-		    result = true;
-		    break;
-		case R.id.contact_list_context_menu_userinfo_alias:
-		    Dialog alias = new Alias(ContactList.this, mRoster, mSelectedContact).create();
-		    alias.show();
-		    result = true;
-		    break;
-		case R.id.contact_list_context_menu_userinfo_group:
-		    in = new Intent(this, GroupList.class);
-		    in.putExtra("contact", mSelectedContact);
-		    startActivity(in);
-		    result = true;
-		    break;
-		case R.id.contact_list_context_menu_userinfo_subscription:
-		    Dialog subscription = new ResendSubscription(ContactList.this, mXmppFacade, mSelectedContact)
-			.create();
-		    subscription.show();
-		    result = true;
-		    break;
-		case R.id.contact_list_context_menu_userinfo_block:
-		    result = true;
-		    break;
-		case R.id.contact_list_context_menu_userinfo_delete:
-		    Dialog delete = new DeleteContact(ContactList.this, mRoster, mSelectedContact).create();
-		    delete.show();
-		    result = true;
-		    break;
-		default:
-		    result = super.onContextItemSelected(item);
-		    break;
-	    }
-	    return result;
+	switch (item.getItemId()) {
+	    case R.id.contact_list_context_menu_chat_item:
+		//		    List<String> res = mSelectedContact.getMRes();
+		//		    if (res.isEmpty()) {
+		//			result = false;
+		//			break;
+		//		    }
+		//		    for (String resv : res) {
+		//			in = new Intent(this, Chat.class);
+		//			in.setData(mSelectedContact.toUri(resv));
+		//			item.getSubMenu().add(resv).setIntent(in);
+		//		    }
+		result = true;
+		break;
+	    case R.id.contact_list_context_menu_call_item:
+		//		    try {
+		//			mXmppFacade.call(mSelectedContact.getJID() + "/psi");
+		//			result = true;
+		//		    } catch (RemoteException e) {
+		//			e.printStackTrace();
+		//		    }
+		result = true;
+		break;
+	    case R.id.contact_list_context_menu_user_info:
+		//		    item.getSubMenu().setHeaderTitle(mSelectedContact.getJID());
+		result = true;
+		break;
+	    case R.id.contact_list_context_menu_userinfo_alias:
+		//		    Dialog alias = new Alias(ContactList.this, mRoster, mSelectedContact).create();
+		//		    alias.show();
+		result = true;
+		break;
+	    case R.id.contact_list_context_menu_userinfo_group:
+		//		    in = new Intent(this, GroupList.class);
+		//		    in.putExtra("contact", mSelectedContact);
+		//		    startActivity(in);
+		result = true;
+		break;
+	    case R.id.contact_list_context_menu_userinfo_subscription:
+		//		    Dialog subscription = new ResendSubscription(ContactList.this, mXmppFacade, mSelectedContact)
+		//			.create();
+		//		    subscription.show();
+		result = true;
+		break;
+	    case R.id.contact_list_context_menu_userinfo_block:
+		result = true;
+		break;
+	    case R.id.contact_list_context_menu_userinfo_delete:
+		//		    Dialog delete = new DeleteContact(ContactList.this, mRoster, mSelectedContact).create();
+		//		    delete.show();
+		result = true;
+		break;
+	    default:
+		result = super.onContextItemSelected(item);
+		break;
 	}
-	return super.onContextItemSelected(item);
+	return result;
     }
 
     /**
@@ -462,27 +441,6 @@
     }
 
     /**
-     * Comparator Contact by status and name.
-     */
-    private static class ComparatorContactListByStatusAndName<T> implements Comparator<T> {
-	/**
-	 * Constructor.
-	 */
-	public ComparatorContactListByStatusAndName() {
-	}
-
-	@Override
-	public int compare(T c1, T c2) {
-	    if (((Contact) c1).getStatus() < ((Contact) c2).getStatus()) {
-		return 1;
-	    } else if (((Contact) c1).getStatus() > ((Contact) c2).getStatus()) {
-		return -1;
-	    } else
-		return ((Contact) c1).getName().compareToIgnoreCase(((Contact) c2).getName());
-	}
-    }
-
-    /**
      * Event simple click on item of the contact list.
      */
     private class BeemContactListOnClick implements OnItemClickListener {
--- a/src/com/beem/project/beem/ui/GroupList.java	Sun Nov 06 00:15:35 2011 +0100
+++ b/src/com/beem/project/beem/ui/GroupList.java	Sun Nov 06 04:27:09 2011 +0100
@@ -50,25 +50,18 @@
 import android.content.ComponentName;
 import android.content.Intent;
 import android.content.IntentFilter;
-import android.content.ServiceConnection;
 import android.os.Bundle;
-import android.os.IBinder;
-import android.os.RemoteException;
 import android.view.KeyEvent;
 import android.view.View;
 import android.view.View.OnKeyListener;
 import android.widget.AdapterView;
+import android.widget.AdapterView.OnItemClickListener;
 import android.widget.ArrayAdapter;
 import android.widget.CheckedTextView;
 import android.widget.ListView;
 import android.widget.TextView;
-import android.widget.AdapterView.OnItemClickListener;
 
-import com.beem.project.beem.BeemService;
 import com.beem.project.beem.R;
-import com.beem.project.beem.service.Contact;
-import com.beem.project.beem.service.aidl.IRoster;
-import com.beem.project.beem.service.aidl.IXmppFacade;
 import com.beem.project.beem.utils.BeemBroadcastReceiver;
 
 /**
@@ -79,13 +72,11 @@
 
     private static final Intent SERVICE_INTENT = new Intent();
 
-    private final ServiceConnection mServConn = new BeemServiceConnection();
     private final BeemBroadcastReceiver mReceiver =  new BeemBroadcastReceiver();
-    private IXmppFacade mXmppFacade;
-    private IRoster mRoster;
+
     private String mJID;
     private ArrayAdapter<String> mGroups;
-    private Contact mContact;
+   
     private TextView mText;
     private final List<String> mStrings = new ArrayList<String>();
 
@@ -106,8 +97,8 @@
     public void onCreate(Bundle savedInstanceState) {
 	super.onCreate(savedInstanceState);
 	setContentView(R.layout.group_list);
-	mContact = getIntent().getParcelableExtra("contact");
-	mJID = mContact.getJID();
+//	mContact = getIntent().getParcelableExtra("contact");
+//	mJID = mContact.getJID();
 	final ListView listView = getListView();
 
 	listView.setItemsCanFocus(false);
@@ -125,7 +116,7 @@
     @Override
     protected void onResume() {
 	super.onResume();
-	bindService(new Intent(this, BeemService.class), mServConn, BIND_AUTO_CREATE);
+	//bindService(new Intent(this, BeemService.class), mServConn, BIND_AUTO_CREATE);
     }
 
     /**
@@ -134,7 +125,7 @@
     @Override
     protected void onPause() {
 	super.onPause();
-	unbindService(mServConn);
+	//unbindService(mServConn);
     }
 
     /* (non-Javadoc)
@@ -150,19 +141,19 @@
      * init activity list adapter.
      */
     private void setAdapter() {
-	try {
-	    for (String group : mRoster.getGroupsNames()) {
-		mStrings.add(group);
-	    }
-	    mGroups = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_multiple_choice, mStrings);
-	    setListAdapter(mGroups);
-	    mContact = mRoster.getContact(mJID);
-	    for (String group : mContact.getGroups()) {
-		getListView().setItemChecked(mGroups.getPosition(group), true);
-	    }
-	} catch (RemoteException e) {
-	    e.printStackTrace();
-	}
+//	try {
+//	    for (String group : mRoster.getGroupsNames()) {
+//		mStrings.add(group);
+//	    }
+//	    mGroups = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_multiple_choice, mStrings);
+//	    setListAdapter(mGroups);
+//	    mContact = mRoster.getContact(mJID);
+//	    for (String group : mContact.getGroups()) {
+//		getListView().setItemChecked(mGroups.getPosition(group), true);
+//	    }
+//	} catch (RemoteException e) {
+//	    e.printStackTrace();
+//	}
     }
 
     /**
@@ -213,51 +204,21 @@
 	@Override
 	public void onItemClick(AdapterView<?> arg0, View v, int arg2, long arg3) {
 	    CheckedTextView textView = (CheckedTextView) v;
-	    if (!textView.isChecked()) {
-		try {
-		    mRoster.addContactToGroup(textView.getText().toString(), mJID);
-		} catch (RemoteException e) {
-		    e.printStackTrace();
-		}
-	    } else {
-		try {
-		    mRoster.removeContactFromGroup(textView.getText().toString(), mJID);
-		} catch (RemoteException e) {
-		    e.printStackTrace();
-		}
-	    }
+//	    if (!textView.isChecked()) {
+//		try {
+//		    mRoster.addContactToGroup(textView.getText().toString(), mJID);
+//		} catch (RemoteException e) {
+//		    e.printStackTrace();
+//		}
+//	    } else {
+//		try {
+//		    mRoster.removeContactFromGroup(textView.getText().toString(), mJID);
+//		} catch (RemoteException e) {
+//		    e.printStackTrace();
+//		}
+//	    }
 
 	}
 
     }
-
-    /**
-     * The ServiceConnection used to connect to the Beem service.
-     */
-    private class BeemServiceConnection implements ServiceConnection {
-
-	/**
-	 * Constructor.
-	 */
-	public BeemServiceConnection() {
-	}
-
-	@Override
-	public void onServiceConnected(ComponentName name, IBinder service) {
-	    mXmppFacade = IXmppFacade.Stub.asInterface(service);
-	    try {
-		mRoster = mXmppFacade.getRoster();
-		setAdapter();
-	    } catch (RemoteException e) {
-		e.printStackTrace();
-	    }
-	}
-
-	@Override
-	public void onServiceDisconnected(ComponentName name) {
-	    mXmppFacade = null;
-	    mRoster = null;
-	}
-    }
-
 }
--- a/src/com/beem/project/beem/ui/PrivacyList.java	Sun Nov 06 00:15:35 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,361 +0,0 @@
-/*
-    BEEM is a videoconference application on the Android Platform.
-
-    Copyright (C) 2009 by Frederic-Charles Barthelery,
-                          Jean-Manuel Da Silva,
-                          Nikita Kozlov,
-                          Philippe Lago,
-                          Jean Baptiste Vergely,
-                          Vincent Veronis.
-
-    This file is part of BEEM.
-
-    BEEM is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    BEEM is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with BEEM.  If not, see <http://www.gnu.org/licenses/>.
-
-    Please send bug reports with examples or suggestions to
-    contact@beem-project.com or http://dev.beem-project.com/
-
-    Epitech, hereby disclaims all copyright interest in the program "Beem"
-    written by Frederic-Charles Barthelery,
-               Jean-Manuel Da Silva,
-               Nikita Kozlov,
-               Philippe Lago,
-               Jean Baptiste Vergely,
-               Vincent Veronis.
-
-    Nicolas Sadirac, November 26, 2009
-    President of Epitech.
-
-    Flavien Astraud, November 26, 2009
-    Head of the EIP Laboratory.
-
-*/
-package com.beem.project.beem.ui;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import android.app.Dialog;
-import android.app.ListActivity;
-import android.content.ComponentName;
-import android.content.DialogInterface;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.content.ServiceConnection;
-import android.content.DialogInterface.OnDismissListener;
-import android.os.Bundle;
-import android.os.Handler;
-import android.os.IBinder;
-import android.os.RemoteException;
-import android.util.Log;
-import android.view.ContextMenu;
-import android.view.Menu;
-import android.view.MenuInflater;
-import android.view.MenuItem;
-import android.view.View;
-import android.widget.AdapterView;
-import android.widget.ArrayAdapter;
-
-import com.beem.project.beem.R;
-import com.beem.project.beem.service.PrivacyListItem;
-import com.beem.project.beem.service.aidl.IPrivacyListListener;
-import com.beem.project.beem.service.aidl.IPrivacyListManager;
-import com.beem.project.beem.service.aidl.IXmppFacade;
-import com.beem.project.beem.ui.dialogs.builders.CreatePrivacyList;
-import com.beem.project.beem.ui.dialogs.builders.DeletePrivacyList;
-import com.beem.project.beem.utils.BeemBroadcastReceiver;
-
-/**
- * This class represents an activity which allows the user to manage his privacy lists.
- * @author Jean-Manuel Da Silva <dasilvj at beem-project dot com>
- */
-public class PrivacyList extends ListActivity {
-
-    private static final String TAG = "PrivacyList";
-    private static final Intent SERVICE_INTENT = new Intent();
-    static {
-	SERVICE_INTENT.setComponent(new ComponentName("com.beem.project.beem", "com.beem.project.beem.BeemService"));
-    }
-
-    private static final int DIALOG_CREATE = 0;
-    private static final int DIALOG_UPDATE_BUDDIES = 1;
-    private static final int DIALOG_UPDATE_GROUPS = 2;
-    private static final int DIALOG_DELETE = 3;
-
-    private static final String SAVED_INSTANCE_KEY_PRIVACY_LISTS = "PRIVACY_LISTS";
-
-    private Handler mHandler = new Handler();
-
-    private ArrayAdapter<String> mAdapter;
-    private final List<String> mPrivacyListNames = new ArrayList<String>();
-    private String mCurrPrivacyListName;
-
-    private final ServiceConnection mConn = new BeemServiceConnection();
-    private final BeemBroadcastReceiver mBroadcastReceiver = new BeemBroadcastReceiver();
-
-    private IPrivacyListManager mPrivacyListManager;
-    private IPrivacyListListener mPrivacyListListener;
-
-    /**
-     * Constructor.
-     */
-    public PrivacyList() {
-	super();
-    }
-
-    /**
-     * {@inheritDoc}.
-     */
-    @Override
-    protected void onSaveInstanceState(Bundle savedInstanceState) {
-	Log.d(TAG, "BEGIN onSaveInstanceState.");
-	savedInstanceState.putStringArrayList(SAVED_INSTANCE_KEY_PRIVACY_LISTS, (ArrayList<String>) mPrivacyListNames);
-	Log.d(TAG, "END onSaveInstanceState.");
-	super.onSaveInstanceState(savedInstanceState);
-    }
-
-    /**
-     * {@inheritDoc}.
-     */
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-	super.onCreate(savedInstanceState);
-	Log.d(TAG, "BEGIN onCreate.");
-
-	setContentView(R.layout.privacy_list);
-	registerForContextMenu(this.getListView());
-
-	mHandler = new Handler();
-
-	if (savedInstanceState != null && !savedInstanceState.isEmpty()) {
-	    mPrivacyListNames.addAll(savedInstanceState.getStringArrayList(SAVED_INSTANCE_KEY_PRIVACY_LISTS));
-	}
-
-	mAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, mPrivacyListNames);
-	setListAdapter(mAdapter);
-
-	bindService(SERVICE_INTENT, mConn, BIND_AUTO_CREATE);
-
-	mPrivacyListListener = new PrivacyListListener();
-	this.registerReceiver(mBroadcastReceiver, new IntentFilter(BeemBroadcastReceiver.BEEM_CONNECTION_CLOSED));
-
-	Log.d(TAG, "END onCreate.");
-    }
-
-    /**
-     * {@inheritDoc}.
-     */
-    @Override
-    protected void onDestroy() {
-	super.onDestroy();
-
-	Log.v(TAG, "BEGIN onDestroy.");
-
-	if (mPrivacyListManager != null) {
-	    try {
-		mPrivacyListManager.removePrivacyListListener(mPrivacyListListener);
-	    } catch (RemoteException e) {
-		Log.e(TAG, e.getMessage());
-	    }
-	}
-
-	this.unregisterReceiver(mBroadcastReceiver);
-	unbindService(mConn);
-
-	Log.v(TAG, "END onDestroy.");
-    }
-
-    /**
-     * {@inheritDoc}.
-     */
-    @Override
-    protected void onStart() {
-	super.onStart();
-
-	Log.v(TAG, "BEGIN onStart.");
-	Log.v(TAG, "END onStart.");
-    }
-
-    /**
-     * {@inheritDoc}.
-     */
-    @Override
-    protected void onStop() {
-	super.onStop();
-
-	Log.v(TAG, "BEGIN onStop.");
-	Log.v(TAG, "END onStop.");
-    }
-
-    /**
-     * {@inheritDoc}.
-     */
-    @Override
-    protected Dialog onCreateDialog(int id) {
-	Dialog dialog;
-	switch (id) {
-	    case DIALOG_CREATE:
-		dialog = new CreatePrivacyList(PrivacyList.this, mPrivacyListManager).create();
-		dialog.setOnDismissListener(new OnDismissListener() {
-
-		    @Override
-		    public void onDismiss(DialogInterface dialog) {
-			PrivacyList.this.removeDialog(DIALOG_CREATE);
-		    }
-		});
-		break;
-	    case DIALOG_DELETE:
-		dialog = new DeletePrivacyList(PrivacyList.this, mPrivacyListManager, mCurrPrivacyListName).create();
-		dialog.setOnDismissListener(new OnDismissListener() {
-
-		    @Override
-		    public void onDismiss(DialogInterface dialog) {
-			PrivacyList.this.removeDialog(DIALOG_DELETE);
-		    }
-
-		});
-		break;
-	    default:
-		dialog = null;
-	}
-	return dialog;
-    }
-
-    /**
-     * {@inheritDoc}.
-     */
-    @Override
-    public final boolean onCreateOptionsMenu(Menu menu) {
-	super.onCreateOptionsMenu(menu);
-
-	MenuInflater inflater = getMenuInflater();
-	inflater.inflate(R.menu.privacy_list, menu);
-	return true;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
-	super.onCreateContextMenu(menu, v, menuInfo);
-	MenuInflater inflater = getMenuInflater();
-	inflater.inflate(R.menu.privacy_list_context, menu);
-	mCurrPrivacyListName = mPrivacyListNames.get(((AdapterView.AdapterContextMenuInfo) menuInfo).position);
-	menu.setHeaderTitle(mCurrPrivacyListName);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public boolean onContextItemSelected(MenuItem item) {
-	switch (item.getItemId()) {
-	    case R.id.privacy_list_context_menu_buddies_item:
-		return true;
-	    case R.id.privacy_list_context_menu_groups_item:
-		return true;
-	    case R.id.privacy_list_context_menu_delete_item:
-		showDialog(DIALOG_DELETE);
-		return true;
-	    default:
-		return super.onContextItemSelected(item);
-	}
-    }
-
-    /**
-     * {@inheritDoc}.
-     */
-    @Override
-    public final boolean onOptionsItemSelected(MenuItem item) {
-	switch (item.getItemId()) {
-	    case R.id.privacy_list_menu_create:
-		showDialog(DIALOG_CREATE);
-		return true;
-	    default:
-		return false;
-	}
-    }
-
-    /**
-     * Service connection.
-     * @author jamu
-     */
-    private final class BeemServiceConnection implements ServiceConnection {
-
-	private IXmppFacade mXmppFacade;
-
-	@Override
-	public void onServiceConnected(ComponentName name, IBinder service) {
-	    Log.v(TAG, "BEGIN onServiceConnected.");
-	    mXmppFacade = IXmppFacade.Stub.asInterface(service);
-	    try {
-		mPrivacyListManager = mXmppFacade.getPrivacyListManager();
-		mPrivacyListManager.addPrivacyListListener(mPrivacyListListener);
-		mPrivacyListNames.clear();
-		mPrivacyListNames.addAll(mPrivacyListManager.getPrivacyLists());
-		mAdapter.notifyDataSetChanged();
-	    } catch (RemoteException e) {
-		Log.e(TAG, e.getMessage());
-	    }
-	    Log.v(TAG, "END onServiceConnected.");
-	}
-
-	@Override
-	public void onServiceDisconnected(ComponentName name) {
-	    Log.v(TAG, "BEGIN onServiceDisconnected.");
-	    mXmppFacade = null;
-	    try {
-		mPrivacyListManager.removePrivacyListListener(mPrivacyListListener);
-	    } catch (RemoteException e) {
-		Log.e(TAG, e.getMessage());
-	    }
-	    Log.v(TAG, "END onServiceDisconnected.");
-	}
-    }
-
-    /**
-     * Listener.
-     * @author jamu
-     */
-    private class PrivacyListListener extends IPrivacyListListener.Stub {
-
-	@Override
-	public void setPrivacyList(String listName, List<PrivacyListItem> listItem) throws RemoteException {
-	    Log.d(TAG, "BEGIN PrivacyListListener >> setPrivacyList.");
-	    Log.d(TAG, "> " + listName + " has been setted.");
-	    Log.d(TAG, "END PrivacyListListener >> setPrivacyList.");
-	}
-
-	@Override
-	public void updatedPrivacyList(final String listName) throws RemoteException {
-	    Log.d(TAG, "BEGIN PrivacyListListener >> updatedPrivacyList.");
-	    mHandler.post(new Runnable() {
-		@Override
-		public void run() {
-		    try {
-			mPrivacyListNames.clear();
-			// Not that much lists and require some server queries to know if the list has been
-			// updated/deleted or set to default/active by this activity or another IM client.
-			mPrivacyListNames.addAll(mPrivacyListManager.getPrivacyLists());
-		    } catch (RemoteException e) {
-			Log.e(TAG, e.getMessage());
-		    }
-		    mAdapter.notifyDataSetChanged();
-		}
-	    });
-	    Log.d(TAG, "END PrivacyListListener >> updatedPrivacyList.");
-	}
-    }
-}
--- a/src/com/beem/project/beem/ui/Settings.java	Sun Nov 06 00:15:35 2011 +0100
+++ b/src/com/beem/project/beem/ui/Settings.java	Sun Nov 06 04:27:09 2011 +0100
@@ -110,11 +110,7 @@
 	    case R.id.settings_menu_create_account:
 		i = new Intent(this, CreateAccount.class);
 		startActivity(i);
-		return true;
-	    case R.id.settings_menu_privacy_lists:
-		i = new Intent(this, PrivacyList.class);
-		startActivity(i);
-		return true;
+		return true;	  
 	    default:
 		return false;
 	}
--- a/src/com/beem/project/beem/ui/Subscription.java	Sun Nov 06 00:15:35 2011 +0100
+++ b/src/com/beem/project/beem/ui/Subscription.java	Sun Nov 06 04:27:09 2011 +0100
@@ -50,21 +50,13 @@
 import android.content.ComponentName;
 import android.content.Intent;
 import android.content.IntentFilter;
-import android.content.ServiceConnection;
 import android.os.Bundle;
-import android.os.IBinder;
-import android.os.RemoteException;
-import android.util.Log;
 import android.view.View;
 import android.view.View.OnClickListener;
 import android.widget.TextView;
 import android.widget.Toast;
 
-import com.beem.project.beem.BeemService;
 import com.beem.project.beem.R;
-import com.beem.project.beem.service.PresenceAdapter;
-import com.beem.project.beem.service.aidl.IXmppFacade;
-import com.beem.project.beem.service.Contact;
 import com.beem.project.beem.utils.BeemBroadcastReceiver;
 
 /**
@@ -75,9 +67,7 @@
 
     private static final Intent SERVICE_INTENT = new Intent();
     private static final String TAG = Subscription.class.getSimpleName();
-    private IXmppFacade mService;
     private String mContact;
-    private ServiceConnection mServConn = new BeemServiceConnection();
     private final BeemBroadcastReceiver mReceiver = new BeemBroadcastReceiver();
     private MyOnClickListener mClickListener = new MyOnClickListener();
 
@@ -100,8 +90,8 @@
 	setContentView(R.layout.subscription);
 	findViewById(R.id.SubscriptionAccept).setOnClickListener(mClickListener);
 	findViewById(R.id.SubscriptionRefuse).setOnClickListener(mClickListener);
-	Contact c = new Contact(getIntent().getData());
-	mContact = c.getJID();
+//	Contact c = new Contact(getIntent().getData());
+//	mContact = c.getJID();
 	TextView tv = (TextView) findViewById(R.id.SubscriptionText);
 	String str = String.format(getString(R.string.SubscriptText), mContact);
 	tv.setText(str);
@@ -114,7 +104,7 @@
     @Override
     protected void onResume() {
 	super.onResume();
-	bindService(new Intent(this, BeemService.class), mServConn, BIND_AUTO_CREATE);
+	//bindService(new Intent(this, BeemService.class), mServConn, BIND_AUTO_CREATE);
     }
 
     /* (non-Javadoc)
@@ -123,7 +113,7 @@
     @Override
     protected void onPause() {
 	super.onPause();
-	unbindService(mServConn);
+	//unbindService(mServConn);
     }
 
     /* (non-Javadoc)
@@ -141,12 +131,12 @@
      * @param p presence stanza
      */
     private void sendPresence(Presence p) {
-	PresenceAdapter preAdapt = new PresenceAdapter(p);
-	try {
-	    mService.sendPresencePacket(preAdapt);
-	} catch (RemoteException e) {
-	    Log.e(TAG, "Error while sending subscription response", e);
-	}
+//	PresenceAdapter preAdapt = new PresenceAdapter(p);
+//	try {
+//	    mService.sendPresencePacket(preAdapt);
+//	} catch (RemoteException e) {
+//	    Log.e(TAG, "Error while sending subscription response", e);
+//	}
     }
 
     /**
@@ -184,25 +174,4 @@
 	}
     };
 
-    /**
-     * The ServiceConnection used to connect to the Beem service.
-     */
-    private class BeemServiceConnection implements ServiceConnection {
-
-	/**
-	 * Constructor.
-	 */
-	public BeemServiceConnection() {
-	}
-
-	@Override
-	public void onServiceConnected(ComponentName name, IBinder service) {
-	    mService = IXmppFacade.Stub.asInterface(service);
-	}
-
-	@Override
-	public void onServiceDisconnected(ComponentName name) {
-	    mService = null;
-	}
-    }
 }
--- a/src/com/beem/project/beem/ui/dialogs/builders/Alias.java	Sun Nov 06 00:15:35 2011 +0100
+++ b/src/com/beem/project/beem/ui/dialogs/builders/Alias.java	Sun Nov 06 04:27:09 2011 +0100
@@ -40,21 +40,17 @@
     Flavien Astraud, November 26, 2009
     Head of the EIP Laboratory.
 
-*/
+ */
 package com.beem.project.beem.ui.dialogs.builders;
 
 import android.app.AlertDialog;
 import android.content.Context;
 import android.content.DialogInterface;
-import android.os.RemoteException;
-import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.widget.EditText;
 
 import com.beem.project.beem.R;
-import com.beem.project.beem.service.Contact;
-import com.beem.project.beem.service.aidl.IRoster;
 
 /**
  * Create dialog alias.
@@ -63,8 +59,7 @@
 
     private static final String TAG = "Dialogs.Builders > Alias";
 
-    private IRoster mRoster;
-    private Contact mContact;
+    //private Contact mContact;
     private EditText mEditTextAlias;
 
     /**
@@ -73,20 +68,19 @@
      * @param roster Beem roster.
      * @param contact the contact to modify.
      */
-    public Alias(final Context context, final IRoster roster, final Contact contact) {
+    //public Alias(final Context context, final IRoster roster, final Contact contact) {
+    public Alias(final Context context) {
 	super(context);
 
-	mRoster = roster;
-	mContact = contact;
+	//mRoster = roster;
+	//mContact = contact;
 
 	LayoutInflater factory = LayoutInflater.from(context);
-	final View textEntryView = factory.inflate(
-	    R.layout.contactdialogaliasdialog, null);
-	setTitle(mContact.getJID());
+	final View textEntryView = factory.inflate(R.layout.contactdialogaliasdialog, null);
+	//setTitle(mContact.getJID());
 	setView(textEntryView);
-	mEditTextAlias = (EditText) textEntryView.findViewById(
-	    R.id.CDAliasDialogName);
-	mEditTextAlias.setText(mContact.getName());
+	mEditTextAlias = (EditText) textEntryView.findViewById(R.id.CDAliasDialogName);
+	//mEditTextAlias.setText(mContact.getName());
 	setPositiveButton(R.string.OkButton, new DialogClickListener());
 	setNegativeButton(R.string.CancelButton, new DialogClickListener());
     }
@@ -102,19 +96,18 @@
 	public DialogClickListener() {
 	}
 
-
 	@Override
 	public void onClick(final DialogInterface dialog, final int which) {
 	    if (which == DialogInterface.BUTTON_POSITIVE) {
 		String name = mEditTextAlias.getText().toString();
-		if (name.length() == 0) {
-		    name = mContact.getJID();
-		}
-		try {
-		    mRoster.setContactName(mContact.getJID(), name);
-		} catch (RemoteException e) {
-		    Log.e(TAG, e.getMessage());
-		}
+		//		if (name.length() == 0) {
+		//		    name = mContact.getJID();
+		//		}
+		//		try {
+		//		    mRoster.setContactName(mContact.getJID(), name);
+		//		} catch (RemoteException e) {
+		//		    Log.e(TAG, e.getMessage());
+		//		}
 	    }
 	}
     }
--- a/src/com/beem/project/beem/ui/dialogs/builders/ChatList.java	Sun Nov 06 00:15:35 2011 +0100
+++ b/src/com/beem/project/beem/ui/dialogs/builders/ChatList.java	Sun Nov 06 04:27:09 2011 +0100
@@ -43,15 +43,8 @@
 */
 package com.beem.project.beem.ui.dialogs.builders;
 
-import java.util.List;
-
 import android.app.AlertDialog;
 import android.content.Context;
-import android.content.DialogInterface;
-import android.content.Intent;
-
-import com.beem.project.beem.R;
-import com.beem.project.beem.service.Contact;
 
 /**
  * Create the change chat dialog.
@@ -65,26 +58,27 @@
      * @param context context activity.
      * @param openedChats A list containing the JID of participants of the opened chats.
      */
-    public ChatList(final Context context, final List<Contact> openedChats) {
+    //public ChatList(final Context context, final List<Contact> openedChats) {
+    public ChatList(final Context context) {
 	super(context);
 
-	if (openedChats.size() > 0) {
-	    CharSequence[] items = new CharSequence[openedChats.size()];
-
-	    int i = 0;
-	    for (Contact c : openedChats) {
-		items[i++] = c.getName();
-	    }
-	    setTitle(R.string.chat_dialog_change_chat_title);
-	    setItems(items, new DialogInterface.OnClickListener() {
-		public void onClick(DialogInterface dialog, int item) {
-		    Intent chatIntent = new Intent(context, com.beem.project.beem.ui.Chat.class);
-		    chatIntent.setData((openedChats.get(item)).toUri());
-		    context.startActivity(chatIntent);
-		}
-	    });
-	} else {
-	    setMessage(R.string.chat_no_more_chats);
-	}
+//	if (openedChats.size() > 0) {
+//	    CharSequence[] items = new CharSequence[openedChats.size()];
+//
+//	    int i = 0;
+//	    for (Contact c : openedChats) {
+//		items[i++] = c.getName();
+//	    }
+//	    setTitle(R.string.chat_dialog_change_chat_title);
+//	    setItems(items, new DialogInterface.OnClickListener() {
+//		public void onClick(DialogInterface dialog, int item) {
+//		    Intent chatIntent = new Intent(context, com.beem.project.beem.ui.Chat.class);
+//		    chatIntent.setData((openedChats.get(item)).toUri());
+//		    context.startActivity(chatIntent);
+//		}
+//	    });
+//	} else {
+//	    setMessage(R.string.chat_no_more_chats);
+//	}
     }
 }
--- a/src/com/beem/project/beem/ui/dialogs/builders/CreatePrivacyList.java	Sun Nov 06 00:15:35 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +0,0 @@
-/*
-    BEEM is a videoconference application on the Android Platform.
-
-    Copyright (C) 2009 by Frederic-Charles Barthelery,
-                          Jean-Manuel Da Silva,
-                          Nikita Kozlov,
-                          Philippe Lago,
-                          Jean Baptiste Vergely,
-                          Vincent Veronis.
-
-    This file is part of BEEM.
-
-    BEEM is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    BEEM is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with BEEM.  If not, see <http://www.gnu.org/licenses/>.
-
-    Please send bug reports with examples or suggestions to
-    contact@beem-project.com or http://dev.beem-project.com/
-
-    Epitech, hereby disclaims all copyright interest in the program "Beem"
-    written by Frederic-Charles Barthelery,
-               Jean-Manuel Da Silva,
-               Nikita Kozlov,
-               Philippe Lago,
-               Jean Baptiste Vergely,
-               Vincent Veronis.
-
-    Nicolas Sadirac, November 26, 2009
-    President of Epitech.
-
-    Flavien Astraud, November 26, 2009
-    Head of the EIP Laboratory.
-
-*/
-package com.beem.project.beem.ui.dialogs.builders;
-
-import java.util.ArrayList;
-
-import android.app.AlertDialog;
-import android.content.Context;
-import android.content.DialogInterface;
-import android.os.RemoteException;
-import android.util.Log;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.widget.EditText;
-
-import com.beem.project.beem.R;
-import com.beem.project.beem.service.PrivacyListItem;
-import com.beem.project.beem.service.aidl.IPrivacyListManager;
-
-/**
- * Use this builder to build a dialog which handles a privacy list creation.
- * @author Jean-Manuel Da Silva <dasilvj at beem-project dot com>
- */
-public class CreatePrivacyList extends AlertDialog.Builder {
-
-    private static final String TAG = "Dialogs.Builders > CreatePrivacyList";
-
-    private final IPrivacyListManager mPrivacyListManager;
-    private final View mTextEntryView;
-    private EditText mListNameField;
-
-    /**
-     * Constructor.
-     * @param context context activity.
-     * @param privacyListManager the privacy list manager that will be use to create our list.
-     */
-    public CreatePrivacyList(final Context context, final IPrivacyListManager privacyListManager) {
-	super(context);
-
-	LayoutInflater factory = LayoutInflater.from(context);
-
-	mTextEntryView = factory.inflate(R.layout.privacy_list_create_dialog, null);
-	setView(mTextEntryView);
-
-	mPrivacyListManager = privacyListManager;
-	mListNameField = (EditText) mTextEntryView.findViewById(R.id.privacy_list_create_dialog_list_name);
-
-	setTitle(R.string.privacy_list_create_dialog_title);
-	setPositiveButton(R.string.privacy_list_create_dialog_create_button, new DialogClickListener());
-	setNegativeButton(R.string.CancelButton, new DialogClickListener());
-    }
-
-    /**
-     * Event click listener.
-     */
-    class DialogClickListener implements DialogInterface.OnClickListener {
-
-	/**
-	 * Constructor.
-	 */
-	public DialogClickListener() {
-	}
-
-	@Override
-	public void onClick(final DialogInterface dialog, final int which) {
-	    if (which == DialogInterface.BUTTON_POSITIVE) {
-		try {
-		    Log.d(TAG, "mPrivacyListManager ## " + mPrivacyListManager);
-		    Log.d(TAG, "listNameField ## " + mListNameField);
-		    Log.d(TAG, "listNameField.getText().toString() ## " + mListNameField.getText().toString());
-		    mPrivacyListManager.createPrivacyList(mListNameField.getText().toString(),
-			new ArrayList<PrivacyListItem>());
-		} catch (RemoteException e) {
-		    Log.e(TAG, e.getMessage());
-		}
-	    }
-	}
-    }
-}
--- a/src/com/beem/project/beem/ui/dialogs/builders/DeleteContact.java	Sun Nov 06 00:15:35 2011 +0100
+++ b/src/com/beem/project/beem/ui/dialogs/builders/DeleteContact.java	Sun Nov 06 04:27:09 2011 +0100
@@ -46,12 +46,8 @@
 import android.app.AlertDialog;
 import android.content.Context;
 import android.content.DialogInterface;
-import android.os.RemoteException;
-import android.util.Log;
 
 import com.beem.project.beem.R;
-import com.beem.project.beem.service.Contact;
-import com.beem.project.beem.service.aidl.IRoster;
 
 /**
  * Use this builder to build a dialog which allows you to delete a contact from a specific roster.
@@ -61,8 +57,8 @@
 
     private static final String TAG = "Dialogs.Builders > DeleteContact";
 
-    private IRoster mRoster;
-    private Contact mContact;
+    //private IRoster mRoster;
+    //private Contact mContact;
 
     /**
      * Constructor.
@@ -70,11 +66,12 @@
      * @param roster the roster which has the contact you want to delete.
      * @param contact the contact to delete.
      */
-    public DeleteContact(final Context context, final IRoster roster, final Contact contact) {
+    //public DeleteContact(final Context context, final IRoster roster, final Contact contact) {
+    public DeleteContact(final Context context) {
 	super(context);
 
-	mContact = contact;
-	mRoster = roster;
+	//mContact = contact;
+	//mRoster = roster;
 
 	setMessage(R.string.userinfo_sure2delete);
 	DialogClickListener dl = new DialogClickListener();
@@ -96,11 +93,11 @@
 	@Override
 	public void onClick(final DialogInterface dialog, final int which) {
 	    if (which == DialogInterface.BUTTON_POSITIVE) {
-		try {
-		    mRoster.deleteContact(mContact);
-		} catch (RemoteException e) {
-		    Log.e(TAG, e.getMessage());
-		}
+//		try {
+//		    mRoster.deleteContact(mContact);
+//		} catch (RemoteException e) {
+//		    Log.e(TAG, e.getMessage());
+//		}
 	    }
 	}
     }
--- a/src/com/beem/project/beem/ui/dialogs/builders/DeletePrivacyList.java	Sun Nov 06 00:15:35 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +0,0 @@
-/*
-    BEEM is a videoconference application on the Android Platform.
-
-    Copyright (C) 2009 by Frederic-Charles Barthelery,
-                          Jean-Manuel Da Silva,
-                          Nikita Kozlov,
-                          Philippe Lago,
-                          Jean Baptiste Vergely,
-                          Vincent Veronis.
-
-    This file is part of BEEM.
-
-    BEEM is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    BEEM is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with BEEM.  If not, see <http://www.gnu.org/licenses/>.
-
-    Please send bug reports with examples or suggestions to
-    contact@beem-project.com or http://dev.beem-project.com/
-
-    Epitech, hereby disclaims all copyright interest in the program "Beem"
-    written by Frederic-Charles Barthelery,
-               Jean-Manuel Da Silva,
-               Nikita Kozlov,
-               Philippe Lago,
-               Jean Baptiste Vergely,
-               Vincent Veronis.
-
-    Nicolas Sadirac, November 26, 2009
-    President of Epitech.
-
-    Flavien Astraud, November 26, 2009
-    Head of the EIP Laboratory.
-
-*/
-package com.beem.project.beem.ui.dialogs.builders;
-
-import android.app.AlertDialog;
-import android.content.Context;
-import android.content.DialogInterface;
-import android.os.RemoteException;
-import android.util.Log;
-
-import com.beem.project.beem.R;
-import com.beem.project.beem.service.aidl.IPrivacyListManager;
-
-/**
- * Use this builder to build a dialog which allows you to delete a privacy list.
- * @author Jean-Manuel Da Silva <dasilvj at beem-project dot com>
- */
-public class DeletePrivacyList extends AlertDialog.Builder {
-
-    private static final String TAG = "Dialogs.Builders > DeletePrivacyList";
-
-    private final IPrivacyListManager mPrivacyListManager;
-    private final String mPrivacyListName;
-
-    /**
-     * Constructor.
-     * @param context context activity.
-     * @param privacyListManager the privacy list manager managing the privacy list you want to delete.
-     * @param privacyListName the name of the privacy list you want to delete.
-     */
-    public DeletePrivacyList(final Context context, final IPrivacyListManager privacyListManager,
-	final String privacyListName) {
-	super(context);
-
-	mPrivacyListManager = privacyListManager;
-	mPrivacyListName = privacyListName;
-
-	setMessage(context.getString(R.string.privacy_list_delete_dialog_msg, privacyListName));
-	DialogClickListener dl = new DialogClickListener();
-	setPositiveButton(R.string.privacy_list_delete_dialog_yes, dl);
-	setNegativeButton(R.string.privacy_list_delete_dialog_no, dl);
-    }
-
-    /**
-     * Event click listener.
-     */
-    private class DialogClickListener implements DialogInterface.OnClickListener {
-
-	/**
-	 * Constructor.
-	 */
-	public DialogClickListener() {
-	}
-
-	@Override
-	public void onClick(final DialogInterface dialog, final int which) {
-	    if (which == DialogInterface.BUTTON_POSITIVE) {
-		try {
-		    mPrivacyListManager.removePrivacyList(mPrivacyListName);
-		} catch (RemoteException e) {
-		    Log.e(TAG, e.getMessage());
-		}
-	    }
-	}
-    }
-}
--- a/src/com/beem/project/beem/ui/dialogs/builders/ResendSubscription.java	Sun Nov 06 00:15:35 2011 +0100
+++ b/src/com/beem/project/beem/ui/dialogs/builders/ResendSubscription.java	Sun Nov 06 04:27:09 2011 +0100
@@ -43,19 +43,11 @@
 */
 package com.beem.project.beem.ui.dialogs.builders;
 
-import org.jivesoftware.smack.packet.Presence;
-
 import android.app.AlertDialog;
 import android.content.Context;
 import android.content.DialogInterface;
-import android.os.RemoteException;
-import android.util.Log;
-import android.widget.Toast;
 
 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.IXmppFacade;
 
 /**
  * Use this builder to build a dialog which allows you resend a subscription query to a contact.
@@ -66,8 +58,8 @@
     private static final String TAG = "Dialogs.Builders > ResendSubscription";
 
     private Context mContext;
-    private IXmppFacade mXmppFacade;
-    private Contact mContact;
+    //private IXmppFacade mXmppFacade;
+    //private Contact mContact;
 
     /**
      * Constructor.
@@ -75,12 +67,13 @@
      * @param xmppFacade the XMPP Facade used to send the query.
      * @param contact the receiver of the query.
      */
-    public ResendSubscription(final Context context, final IXmppFacade xmppFacade, final Contact contact) {
+    //public ResendSubscription(final Context context, final IXmppFacade xmppFacade, final Contact contact) {
+    public ResendSubscription(final Context context) {
 	super(context);
 
 	mContext = context;
-	mXmppFacade = xmppFacade;
-	mContact = contact;
+	//mXmppFacade = xmppFacade;
+	//mContact = contact;
 
 	setMessage(R.string.userinfo_sureresend);
 	DialogClickListener dl = new DialogClickListener();
@@ -102,14 +95,14 @@
 	@Override
 	public void onClick(final DialogInterface dialog, final int which) {
 	    if (which == DialogInterface.BUTTON_POSITIVE) {
-		Presence presencePacket = new Presence(Presence.Type.subscribe);
-		presencePacket.setTo(mContact.getJID());
-		try {
-		    mXmppFacade.sendPresencePacket(new PresenceAdapter(presencePacket));
-		    Toast.makeText(mContext, mContext.getString(R.string.userinfo_resend), Toast.LENGTH_SHORT).show();
-		} catch (RemoteException e) {
-		    Log.e(TAG, e.getMessage());
-		}
+//		Presence presencePacket = new Presence(Presence.Type.subscribe);
+//		presencePacket.setTo(mContact.getJID());
+//		try {
+//		    mXmppFacade.sendPresencePacket(new PresenceAdapter(presencePacket));
+//		    Toast.makeText(mContext, mContext.getString(R.string.userinfo_resend), Toast.LENGTH_SHORT).show();
+//		} catch (RemoteException e) {
+//		    Log.e(TAG, e.getMessage());
+//		}
 	    }
 	}