# HG changeset patch # User "Vincent Veronis" # Date 1300622731 -3600 # Node ID 1860ce45ce09f390dca50655753e2f03e4d07077 # Parent 56a04fcdd3fdfdf0c6d5bbbe4e487fe34c4b29ef multi account problem when you want to acces another account, the contact list doenst refresh diff -r 56a04fcdd3fd -r 1860ce45ce09 AndroidManifest.xml --- a/AndroidManifest.xml Sun Mar 20 04:57:15 2011 +0100 +++ b/AndroidManifest.xml Sun Mar 20 13:05:31 2011 +0100 @@ -91,8 +91,6 @@ android:label="Beem Service" android:permission="com.beem.project.beem.BEEM_SERVICE"> - - diff -r 56a04fcdd3fd -r 1860ce45ce09 src/com/beem/project/beem/BeemService.java --- a/src/com/beem/project/beem/BeemService.java Sun Mar 20 04:57:15 2011 +0100 +++ b/src/com/beem/project/beem/BeemService.java Sun Mar 20 13:05:31 2011 +0100 @@ -123,8 +123,15 @@ @Override public IBinder onBind(Intent intent) { Log.d(TAG, "ONBIND()"); - Log.e(TAG, intent.getStringExtra("account_name")); - return (IBinder) mBind.get(intent.getStringExtra("account_name")); + String accountName = intent.getStringExtra("account_name"); + Log.e(TAG, accountName); + try { + for (XmppConnectionAdapter connection : mConnection.values()) + connection.connect(); + } catch (RemoteException e) { + Log.w(TAG, "Error while connecting", e); + } + return (IBinder) mBind.get(accountName); } @Override diff -r 56a04fcdd3fd -r 1860ce45ce09 src/com/beem/project/beem/service/XmppConnectionAdapter.java --- a/src/com/beem/project/beem/service/XmppConnectionAdapter.java Sun Mar 20 04:57:15 2011 +0100 +++ b/src/com/beem/project/beem/service/XmppConnectionAdapter.java Sun Mar 20 13:05:31 2011 +0100 @@ -43,6 +43,8 @@ */ package com.beem.project.beem.service; +import java.util.Iterator; + import org.jivesoftware.smack.ConnectionConfiguration; import org.jivesoftware.smack.ConnectionListener; import org.jivesoftware.smack.PacketListener; @@ -67,22 +69,20 @@ import android.os.RemoteException; import android.util.Log; -import java.util.Iterator; - +import com.beem.project.beem.BeemApplication; import com.beem.project.beem.BeemService; import com.beem.project.beem.R; -import com.beem.project.beem.BeemApplication; 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; +import com.beem.project.beem.smack.pep.PepSubManager; import com.beem.project.beem.ui.ChangeStatus; import com.beem.project.beem.ui.Subscription; import com.beem.project.beem.utils.BeemBroadcastReceiver; import com.beem.project.beem.utils.Status; -import com.beem.project.beem.smack.pep.PepSubManager; -import com.beem.project.beem.smack.avatar.AvatarCache; -import com.beem.project.beem.smack.avatar.AvatarManager; /** * This class implements an adapter for XMPPConnection. @@ -234,7 +234,7 @@ }; mAdaptee.addPacketListener(mSubscribePacketListener, filter); - + Log.e(TAG, mLogin + mPassword + mResource); mAdaptee.login(mLogin, mPassword, mResource); mChatManager = new BeemChatManager(mAdaptee.getChatManager(), mService); //nikita: I commented this line because of the logs provided in http://www.beem-project.com/issues/321 diff -r 56a04fcdd3fd -r 1860ce45ce09 src/com/beem/project/beem/ui/ContactList.java --- a/src/com/beem/project/beem/ui/ContactList.java Sun Mar 20 04:57:15 2011 +0100 +++ b/src/com/beem/project/beem/ui/ContactList.java Sun Mar 20 13:05:31 2011 +0100 @@ -42,6 +42,8 @@ */ package com.beem.project.beem.ui; +import java.io.IOException; +import java.io.InputStream; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; @@ -49,8 +51,6 @@ import java.util.LinkedList; import java.util.List; import java.util.Map; -import java.io.InputStream; -import java.io.IOException; import org.jivesoftware.smack.util.StringUtils; @@ -61,6 +61,8 @@ import android.content.IntentFilter; import android.content.ServiceConnection; import android.content.SharedPreferences; +import android.graphics.drawable.Drawable; +import android.graphics.drawable.LayerDrawable; import android.net.Uri; import android.os.Bundle; import android.os.Handler; @@ -77,8 +79,6 @@ import android.view.ViewGroup; import android.view.ViewStub; import android.widget.AdapterView; -import android.widget.AdapterView.AdapterContextMenuInfo; -import android.widget.AdapterView.OnItemClickListener; import android.widget.BaseAdapter; import android.widget.Filter; import android.widget.Filterable; @@ -87,8 +87,8 @@ import android.widget.LinearLayout; import android.widget.ListView; import android.widget.TextView; -import android.graphics.drawable.Drawable; -import android.graphics.drawable.LayerDrawable; +import android.widget.AdapterView.AdapterContextMenuInfo; +import android.widget.AdapterView.OnItemClickListener; import com.beem.project.beem.R; import com.beem.project.beem.providers.AvatarProvider; @@ -284,8 +284,6 @@ mSettings = PreferenceManager.getDefaultSharedPreferences(this); setContentView(R.layout.contactlist); - mAccountName = getIntent().getStringExtra("account_name"); - this.registerReceiver(mReceiver, new IntentFilter(BeemBroadcastReceiver.BEEM_CONNECTION_CLOSED)); mInflater = getLayoutInflater(); @@ -305,6 +303,7 @@ Log.e(TAG, "ON RESUME"); Intent i = new Intent(SERVICE_INTENT); i.putExtras(getIntent()); + mAccountName = i.getStringExtra("account_name"); Log.e(TAG, i.getStringExtra("account_name")); mBinded = bindService(i, mServConn, BIND_AUTO_CREATE); } @@ -800,8 +799,7 @@ mXmppFacade = IXmppFacade.Stub.asInterface(service); try { mRoster = mXmppFacade.getRoster(); - if (mRoster != null) { - Log.e(TAG, "ROSTER"); + //if (mRoster != null) { List tmpGroupList = mRoster.getGroupsNames(); for (String string : tmpGroupList) { @@ -823,7 +821,7 @@ mRoster.addRosterListener(mBeemRosterListener); Log.d(TAG, "add roster listener"); mChatManager = mXmppFacade.getChatManager(); - } + //} } catch (RemoteException e) { e.printStackTrace(); } @@ -885,6 +883,7 @@ private void makeSortedList(Map> map) { for (Map.Entry> entry : map.entrySet()) { List l = entry.getValue(); + Log.e(TAG, "SORTED LIST" + entry.getValue()); entry.setValue(new SortedList(l, mComparator)); } }