Merge
authordasilvj
Fri, 23 Oct 2009 16:26:59 +0200
changeset 467 04e6c855e58e
parent 466 c689a113b9f8 (current diff)
parent 465 cdfe45072e7d (diff)
child 468 f2f16274b696
child 469 ddc7aaec916a
Merge
AndroidManifest.xml
--- a/.classpath	Fri Oct 23 16:24:42 2009 +0200
+++ b/.classpath	Fri Oct 23 16:26:59 2009 +0200
@@ -1,29 +1,29 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
-	<classpathentry kind="lib" path="libs/smackx-debug.jar"/>
-	<classpathentry kind="lib" path="libs/smackx-jingle.jar">
-		<attributes>
-			<attribute name="javadoc_location" value="file:/home/nikita/devel/smack_src_3_1_0/javadoc/"/>
-		</attributes>
-	</classpathentry>
-	<classpathentry kind="lib" path="libs/security.jar"/>
-	<classpathentry kind="lib" path="libs/smack.jar" sourcepath="/home/marseille/smack_src_3_1_0/source">
-		<attributes>
-			<attribute name="javadoc_location" value="file:/home/nikita/devel/smack_src_3_1_0/javadoc/org/"/>
-		</attributes>
-	</classpathentry>
-	<classpathentry kind="lib" path="libs/smackx.jar" sourcepath="/home/nikita/devel/smack">
-		<attributes>
-			<attribute name="javadoc_location" value="file:/home/nikita/devel/smack_src_3_1_0/javadoc/"/>
-		</attributes>
-	</classpathentry>
-	<classpathentry kind="lib" path="libs/jlibrtp.jar">
-		<attributes>
-			<attribute name="javadoc_location" value="file:/home/nikita/android/docs/reference/"/>
-		</attributes>
-	</classpathentry>
-	<classpathentry excluding="com/beem/project/beem/ui/pref.java" kind="src" path="src"/>
-	<classpathentry kind="src" path="gen"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
+	<classpathentry kind="lib" path="libs/smackx-debug.jar"/>
+	<classpathentry kind="lib" path="libs/smackx-jingle.jar" sourcepath="/home/marseille/smack_src_3_1_0/">
+		<attributes>
+			<attribute name="javadoc_location" value="file:/home/nikita/devel/smack_src_3_1_0/javadoc/"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="lib" path="libs/security.jar"/>
+	<classpathentry kind="lib" path="libs/smack.jar" sourcepath="/home/marseille/smack_src_3_1_0/source">
+		<attributes>
+			<attribute name="javadoc_location" value="file:/home/nikita/devel/smack_src_3_1_0/javadoc/org/"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="lib" path="libs/smackx.jar" sourcepath="/home/nikita/devel/smack">
+		<attributes>
+			<attribute name="javadoc_location" value="file:/home/nikita/devel/smack_src_3_1_0/javadoc/"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="lib" path="libs/jlibrtp.jar">
+		<attributes>
+			<attribute name="javadoc_location" value="file:/home/nikita/android/docs/reference/"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry excluding="com/beem/project/beem/ui/pref.java" kind="src" path="src"/>
+	<classpathentry kind="src" path="gen"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
--- a/AndroidManifest.xml	Fri Oct 23 16:24:42 2009 +0200
+++ b/AndroidManifest.xml	Fri Oct 23 16:26:59 2009 +0200
@@ -87,6 +87,6 @@
 	<uses-permission android:name="android.permission.VIBRATE"></uses-permission>
 	<uses-permission android:name="com.beem.project.beem.BEEM_SERVICE"></uses-permission>
 	<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"></uses-permission>
-	<uses-sdk android:minSdkVersion="4"></uses-sdk>
+	<uses-sdk android:minSdkVersion="3"></uses-sdk>
 
 </manifest> 
--- a/res/layout/changestatus.xml	Fri Oct 23 16:24:42 2009 +0200
+++ b/res/layout/changestatus.xml	Fri Oct 23 16:26:59 2009 +0200
@@ -13,8 +13,7 @@
 		android:textColor="@color/blue_sky" />
 
 	<EditText android:id="@+id/ChangeStatusText"
-		android:layout_width="fill_parent" android:layout_height="wrap_content"
-		android:lines="6" />
+		android:layout_width="fill_parent" android:layout_height="wrap_content"/>
 
 	<LinearLayout android:orientation="horizontal"
 		android:layout_width="fill_parent" android:layout_height="wrap_content">
--- a/res/layout/jingle_call_activity.xml	Fri Oct 23 16:24:42 2009 +0200
+++ b/res/layout/jingle_call_activity.xml	Fri Oct 23 16:26:59 2009 +0200
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-	android:layout_width="wrap_content" android:layout_height="wrap_content"
+	android:layout_width="fill_parent" android:layout_height="wrap_content"
 	android:orientation="vertical">
 	<TextView android:text="Jid:" android:id="@+id/jingledemocalljidlabel"
 		android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
--- a/res/values-en/strings.xml	Fri Oct 23 16:24:42 2009 +0200
+++ b/res/values-en/strings.xml	Fri Oct 23 16:26:59 2009 +0200
@@ -48,6 +48,7 @@
 	<string name="AddCContactAddedError">Error Contact not added</string>
 	<string name="AddCContactAddedLoginError">Error Login</string>
 	<string name="AddCBadForm">Bad form</string>
+	<string name="AddCContactAlready">Contact already exist</string>
 
 	<!--  SendIM class -->
 	<string name="SendIMActTitle">Beem - Chat</string>
@@ -86,7 +87,7 @@
 	<string name="SettingsProxyUser">Optional, allow to authenticate yourself on the proxy server</string>
 	<string name="SettingsProxyPassword">Optional, allow to authenticate yourself on the proxy server</string>
 	<string name="SettingsAdvanced">Advanced option</string>
-	<string name="SettingsAdvancedOptions">Use specific proxy specific option</string>
+	<string name="SettingsAdvancedOptions">Use advanced option</string>
 	<string name="SettingsAdvancedSpecOpt">Check this box if you want to use different option for your connection</string>
 	<string name="SettingsAdvancedAddOpt">Allow to edit the server address</string>
 	<string name="SettingsAdvancedPortOpt">Allow to edit the server port</string>
@@ -240,4 +241,4 @@
 	<string name="userinfo_no">No</string>
 	<string name="userinfo_sureresend">Are you sure you want to resend invit?</string>
 
-</resources>
+</resources>
\ No newline at end of file
--- a/res/values-fr/strings.xml	Fri Oct 23 16:24:42 2009 +0200
+++ b/res/values-fr/strings.xml	Fri Oct 23 16:26:59 2009 +0200
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources>
 	<string name="app_name">Beem</string>
-	<string name="OkButton">Ok</string>
+	<string name="OkButton">Valider</string>
 	<string name="ClearButton">Annuler</string>
 	<string name="AcceptButton">Accepter</string>
 	<string name="RefuseButton">Refuser</string>
@@ -35,7 +35,7 @@
 
 	<!--  ContactDialog class -->
 	<string name="CDChat">Chat</string>
-	<string name="CDCall">Appeller</string>
+	<string name="CDCall">Appeler</string>
 	<string name="CDInfos">Gestion utilisateur</string>
 
 	<!-- AddContact class -->
@@ -45,9 +45,10 @@
 	<string name="AddCGroup">Groupe :</string>
 	<string name="AddCOkButton">Ok</string>
 	<string name="AddCContactAdded">Contact ajouté</string>
-	<string name="AddCContactAddedError">Erreur Contact pas ajouté</string>
+	<string name="AddCContactAddedError">Erreur Contact non ajouté</string>
 	<string name="AddCContactAddedLoginError">Error Nom d\'utilisateur</string>
 	<string name="AddCBadForm">Mauvais formulaire</string>
+	<string name="AddCContactAlready">Contact déjà ajouté</string>
 
 	<!--  SendIM class -->
 	<string name="SendIMActTitle">Beem - Chat</string>
@@ -59,7 +60,7 @@
 	<string name="SendIMErrorMsg">Erreur : %s\n</string>
 	<string name="SendIMFrom">et est entrain de parler depuis : </string>
 	<string name="SendIMSmiley">Insérer un sourire</string>
-	<string name="SendIMLoginHint">nom d'uilisateur</string>
+	<string name="SendIMLoginHint">nom d\'utilisateur</string>
 	<string name="SendIMNoStatusSet">Aucun statut défini</string>
 	
 	<!--  ChangeStatus class -->
@@ -67,7 +68,7 @@
 	<string name="ChangeStatusActTitle">Beem - Changer statut</string>
 	<string name="MenuAddContact">Ajouter un nouveau contact</string>
 	<string name="MenuAccountAbout">Beem Project</string>
-	<string name="MenuAccountCreate">Créé un compte</string>
+	<string name="MenuAccountCreate">Créer un compte</string>
 	<string name="MenuConnection">Modifier compte</string>
 	<string name="ChangeStatusOk">Mise à jour du statut</string>
 	<string name="ChangeStatusNoChange">Rien à changer</string>
@@ -92,9 +93,9 @@
 	<string name="SettingsAdvancedPortOpt">Permet d'éditer le port du serveur</string>
 	
 	<!-- Subscription class -->
-	<string name="SubscriptAccept">Abonnement accepté</string>
-	<string name="SubscriptError">Erreur d\'abonnement</string>
-	<string name="SubscriptRefused">Abonnement refusé</string>
+	<string name="SubscriptAccept">Inscription accepté</string>
+	<string name="SubscriptError">Erreur d\'inscription</string>
+	<string name="SubscriptRefused">Inscription refusé</string>
 	<string name="SubscriptText">Vous avez une requête d\'ajout de la part de %s. Souhaitez-vous l\'accepter ?</string>
 	
 	<!-- ContactList class -->
@@ -145,8 +146,8 @@
 	<string name="login_close_dialog_button">Fermer</string>
 	<string name="login_menu_create_account">Créer un compte</string>
 	<string name="login_menu_settings">Paramètres</string>
-	<string name="login_menu_about">À propos</string>
-	<string name="login_about_title">À propos</string>
+	<string name="login_menu_about">A propos</string>
+	<string name="login_about_title">A propos</string>
 	<string name="login_about_msg">
 		BEEM est un EPITECH Innovative Project. Rencontrez nous sur http://www.beem-project.com !
 	</string>
@@ -209,12 +210,12 @@
 	<string name="create_account_err_dialog_title">Créer un compte - Erreur</string>
 	<string name="create_account_err_dialog_settings_button">Changer mes paramètres</string>
 	<string name="create_account_close_dialog_button">Fermer</string>
-	<string name="create_account_successfull_after">a été créé avec succès</string>
+	<string name="create_account_successfull_after">A été créé avec succès</string>
 	<string name="create_account_err_username">Mauvais JabberID</string>
 	<string name="create_account_err_passwords">Les mots de passe ne correspondent pas</string>
 	<string name="create_account_username">Nom d\'utilisateur</string>
 	<string name="create_account_password">Mot de passe</string>
-	<string name="create_account_confirm_password">Confirmer le mot de passe</string>
+	<string name="create_account_confirm_password">Confirmation du mot de passe</string>
 	
 	<!--
 		ContactList Activity 
@@ -224,17 +225,18 @@
 	 <string name="contact_list_all_contact">Tous les contacts</string>
 	 <string name="contact_list_no_group">Aucun groupe</string>
 
+
 	<!-- 
 		UserInfo Activity
 	-->
 	<string name="userinfo_label_alias">Alias</string>
 	<string name="userinfo_label_chg_group">Modifier groupe</string>
-	<string name="userinfo_label_re_suscription">Renvoyer l'invitation</string>
+	<string name="userinfo_label_re_suscription">Renvoyer l\'invitation</string>
 	<string name="userinfo_label_block">Bloquer</string>
 	<string name="userinfo_label_delete">Supprimer</string>
 	<string name="userinfo_resend">Souscription réenvoyée</string>
-	<string name="userinfo_sure2delete">Etes vous sur de vouloir supprimer ce contact?</string>
+	<string name="userinfo_sure2delete">Etes vous sûr de vouloir supprimer ce contact?</string>
 	<string name="userinfo_yes">Oui</string>
 	<string name="userinfo_no">Non</string>
-	<string name="userinfo_sureresend">Etes vous sur de vouloir renvoyer l'invitation?</string>
+	<string name="userinfo_sureresend">Etes vous sûr de vouloir renvoyer l'invitation?</string>
 </resources>
--- a/src/com/beem/project/beem/jingle/demo/JingleCallActivity.java	Fri Oct 23 16:24:42 2009 +0200
+++ b/src/com/beem/project/beem/jingle/demo/JingleCallActivity.java	Fri Oct 23 16:26:59 2009 +0200
@@ -47,8 +47,8 @@
 	java.security.Security.addProvider(new com.sun.security.sasl.Provider());
 	super.onCreate(savedInstanceState);
 	setContentView(R.layout.jingle_call_activity);
-	// localhost mConf = new ConnectionConfiguration("10.0.2.2", 5222);
-	mConf = new ConnectionConfiguration("elyzion.net", DEFAULT_XMPP_PORT);
+	mConf = new ConnectionConfiguration("10.0.2.2", 5222);
+	//mConf = new ConnectionConfiguration("elyzion.net", DEFAULT_XMPP_PORT);
 	mConf.setSecurityMode(SecurityMode.required);
 	mEdJID = (EditText) findViewById(R.id.jingledemocalljid);
 	mEdPassword = (EditText) findViewById(R.id.jingledemocallpassword);
--- a/src/com/beem/project/beem/service/RosterAdapter.java	Fri Oct 23 16:24:42 2009 +0200
+++ b/src/com/beem/project/beem/service/RosterAdapter.java	Fri Oct 23 16:26:59 2009 +0200
@@ -101,7 +101,6 @@
 	try {
 	    mAdaptee.createGroup(groupname);
 	} catch (IllegalArgumentException e) {
-	    // pas grave, plus simple a gerer comme ca.
 	    Log.e(TAG, "Error while creating group", e);
 	}
     }
--- a/src/com/beem/project/beem/ui/AddContact.java	Fri Oct 23 16:24:42 2009 +0200
+++ b/src/com/beem/project/beem/ui/AddContact.java	Fri Oct 23 16:26:59 2009 +0200
@@ -136,10 +136,16 @@
 		if (mXmppFacade != null) {
 		    if (mXmppFacade.getRoster().getContact(login) != null)
 			mGroup.addAll(mXmppFacade.getRoster().getContact(login).getGroups());
+		    if (mXmppFacade.getRoster().getContact(login) != null) { 
+			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();
--- a/src/com/beem/project/beem/ui/ChangeStatus.java	Fri Oct 23 16:24:42 2009 +0200
+++ b/src/com/beem/project/beem/ui/ChangeStatus.java	Fri Oct 23 16:26:59 2009 +0200
@@ -10,6 +10,8 @@
 import android.os.Bundle;
 import android.os.IBinder;
 import android.os.RemoteException;
+import android.preference.PreferenceManager;
+import android.util.Log;
 import android.view.View;
 import android.view.View.OnClickListener;
 import android.widget.ArrayAdapter;
@@ -55,12 +57,60 @@
     private BeemBroadcastReceiver mReceiver;
 
     /**
-     * constructor.
+     * Constructor.
      */
     public ChangeStatus() {
     }
 
     /**
+     * {@inheritDoc}
+     */
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+	super.onCreate(savedInstanceState);
+
+	setContentView(R.layout.changestatus);
+	mStatusText = (TextView) findViewById(R.id.ChangeStatusText);
+	mOk = (Button) findViewById(R.id.ChangeStatusOk);
+	mClear = (Button) findViewById(R.id.ChangeStatusClear);
+	mOk.setOnClickListener(mOnClickOk);
+	mClear.setOnClickListener(mOnClickOk);
+	mSettings = PreferenceManager.getDefaultSharedPreferences(this);
+
+	mSpinner = (Spinner) findViewById(R.id.ChangeStatusSpinner);
+	mAdapter = ArrayAdapter.createFromResource(this, R.array.status_types, android.R.layout.simple_spinner_item);
+	mAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
+	mSpinner.setAdapter(mAdapter);
+	mToast = Toast.makeText(this, R.string.ChangeStatusOk, Toast.LENGTH_LONG);
+	mReceiver = new BeemBroadcastReceiver(mServConn);
+	mStatusText.setText(getPreferenceString(R.string.PreferenceStatusText));
+	mSpinner.setSelection(getPreferenceStatusIndex());
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    protected void onResume() {
+	super.onResume();
+	bindService(new Intent(this, BeemService.class), mServConn, BIND_AUTO_CREATE);
+	mReceiver.setBinded();
+	this.registerReceiver(mReceiver, new IntentFilter(BeemBroadcastReceiver.BEEM_CONNECTION_CLOSED));
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    protected void onPause() {
+	super.onPause();
+	Log.d("TAG", "pause");
+	this.unregisterReceiver(mReceiver);
+	if (mReceiver.isBinded())
+	    unbindService(mServConn);
+    }
+
+    /**
      * Return the status index from status the settings.
      * @return the status index from status the settings.
      */
@@ -101,52 +151,8 @@
 	}
     }
 
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-	super.onCreate(savedInstanceState);
-
-	setContentView(R.layout.changestatus);
-	mStatusText = (TextView) findViewById(R.id.ChangeStatusText);
-	mOk = (Button) findViewById(R.id.ChangeStatusOk);
-	mClear = (Button) findViewById(R.id.ChangeStatusClear);
-	mOk.setOnClickListener(mOnClickOk);
-	mClear.setOnClickListener(mOnClickOk);
-	mSettings = getSharedPreferences(getString(R.string.settings_filename), MODE_PRIVATE);
 
-	mSpinner = (Spinner) findViewById(R.id.ChangeStatusSpinner);
-	mAdapter = ArrayAdapter.createFromResource(this, R.array.status_types, android.R.layout.simple_spinner_item);
-	mAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
-	mSpinner.setAdapter(mAdapter);
-	mToast = Toast.makeText(this, R.string.ChangeStatusOk, Toast.LENGTH_LONG);
-	mReceiver = new BeemBroadcastReceiver(mServConn);
-	mStatusText.setText(getPreferenceString(R.string.PreferenceStatusText));
-	mSpinner.setSelection(getPreferenceStatusIndex());
-    }
 
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    protected void onResume() {
-	super.onResume();
-	bindService(new Intent(this, BeemService.class), mServConn, BIND_AUTO_CREATE);
-	mReceiver.setBinded();
-	this.registerReceiver(mReceiver, new IntentFilter(BeemBroadcastReceiver.BEEM_CONNECTION_CLOSED));
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    protected void onPause() {
-	super.onPause();
-	this.unregisterReceiver(mReceiver);
-	if (mReceiver.isBinded())
-	    unbindService(mServConn);
-    }
 
     /**
      * connection to service.
@@ -202,6 +208,7 @@
 		    edit.commit();
 		    if (status == Status.CONTACT_STATUS_DISCONNECT) {
 			stopService(new Intent(ChangeStatus.this, BeemService.class));
+			startActivity(new Intent(ChangeStatus.this, Login.class));
 		    } else {
 			try {
 			    mXmppFacade.changeStatus(status, msg.toString());
--- a/src/com/beem/project/beem/ui/ContactDialog.java	Fri Oct 23 16:24:42 2009 +0200
+++ b/src/com/beem/project/beem/ui/ContactDialog.java	Fri Oct 23 16:26:59 2009 +0200
@@ -9,6 +9,7 @@
 import android.content.ServiceConnection;
 import android.os.IBinder;
 import android.os.RemoteException;
+import android.util.Log;
 import android.view.View;
 import android.widget.Button;
 
@@ -76,7 +77,7 @@
 	    try {
 		// TODO permettre a l'user de choisir a quel ressource il veut
 		// faire le call.
-		mXmppFacade.call(mContact.getJID() + "/BEEM");
+		mXmppFacade.call(mContact.getJID() + "/psi");		
 	    } catch (RemoteException e) {
 		e.printStackTrace();
 	    }
@@ -120,6 +121,7 @@
 	public void onClick(View v) {
 	    Activity a = ContactDialog.this.getOwnerActivity();
 	    Intent i = new Intent(mContext, UserInfo.class);
+	    Log.i("OOO", mContact.getJID());
 	    i.putExtra("contact_contactdialog", mContact.getJID());
 	    a.startActivity(i);
 	    dismiss();
--- a/src/com/beem/project/beem/ui/ContactList.java	Fri Oct 23 16:24:42 2009 +0200
+++ b/src/com/beem/project/beem/ui/ContactList.java	Fri Oct 23 16:26:59 2009 +0200
@@ -23,7 +23,6 @@
 import android.os.Handler;
 import android.os.IBinder;
 import android.os.RemoteException;
-import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.Menu;
 import android.view.MenuInflater;
@@ -169,7 +168,6 @@
      */
     @Override
     protected void onStop() {
-	Log.d("CONTACTLIST", "onStop");
 	super.onStop();
 	if (mReceiver.isBinded())
 	    unbindService(mServConn);
@@ -366,7 +364,7 @@
 			    mContactOnGroup.put(group, tmplist);
 			}
 			mContactOnGroup.get(group).add(c);
-			if (group.equals(mCurGroup))
+			if (group.equals(mCurGroup) && !mListContact.contains(c))
 			    mListContact.add(c);
 		    }
 		}
@@ -402,6 +400,14 @@
 	 */
 	@Override
 	public void onEntriesUpdated(List<String> addresses) throws RemoteException {
+	    for (String adr : addresses) {
+		Contact c = mRoster.getContact(adr);
+		if (c.getGroups() != null) {
+		    if (mContactOnGroup.get(getString(R.string.contact_list_no_group)).contains(c)) {
+			mContactOnGroup.get(getString(R.string.contact_list_no_group)).remove(c);
+		    }
+		}
+	    }
 	    mHandler.post(new RunnableChange());
 	}
 
--- a/src/com/beem/project/beem/ui/GroupList.java	Fri Oct 23 16:24:42 2009 +0200
+++ b/src/com/beem/project/beem/ui/GroupList.java	Fri Oct 23 16:26:59 2009 +0200
@@ -161,7 +161,6 @@
 	    CheckedTextView textView = (CheckedTextView) v;
 	    if (!textView.isChecked()) {
 		try {
-		    mRoster.createGroup(textView.getText().toString());
 		    mRoster.addContactToGroup(textView.getText().toString(), mJID);
 		} catch (RemoteException e) {
 		    e.printStackTrace();
--- a/src/com/beem/project/beem/ui/UserInfo.java	Fri Oct 23 16:24:42 2009 +0200
+++ b/src/com/beem/project/beem/ui/UserInfo.java	Fri Oct 23 16:26:59 2009 +0200
@@ -307,6 +307,7 @@
 			    } catch (RemoteException e) {
 				e.printStackTrace();
 			    }
+			    finish();
 			}
 		    }).setNegativeButton(UserInfo.this.getString(R.string.userinfo_no),
 		    new DialogInterface.OnClickListener() {
@@ -340,7 +341,10 @@
 		mRoster = mXmppFacade.getRoster();
 		mJID = getIntent().getStringExtra("contact_contactdialog");
 		mContact = mRoster.getContact(mJID);
-		mTextAlias.setText(mContact.getName());
+		if (mContact.getName() != null)
+		    mTextAlias.setText(mContact.getName());
+		else
+		    mTextAlias.setText(mContact.getJID());
 		mGalleryGroups.setAdapter(new BeemGroups(UserInfo.this, mContact.getGroups()));
 		setTitle(mJID);
 	    } catch (RemoteException e) {
--- a/src/com/beem/project/beem/utils/BeemBroadcastReceiver.java	Fri Oct 23 16:24:42 2009 +0200
+++ b/src/com/beem/project/beem/utils/BeemBroadcastReceiver.java	Fri Oct 23 16:26:59 2009 +0200
@@ -4,6 +4,7 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.ServiceConnection;
+import android.util.Log;
 import android.widget.Toast;
 
 import com.beem.project.beem.ui.Login;
@@ -35,6 +36,7 @@
      */
     @Override
     public void onReceive(Context context, Intent intent) {
+	Log.d("Broadcast","onREceive");
 	context.unbindService(mService);
 	mIsBinded = false;
 	context.startActivity(new Intent(context, Login.class));