multi account
problem when you want to acces another account, the contact list doenst
refresh
--- 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">
<intent-filter>
<action android:name="com.beem.project.beem.BeemService"></action>
- <action android:name="android.intent.action.SCREEN_OFF"></action>
- <action android:name="android.intent.action.SCREEN_ON"></action>
</intent-filter>
</service>
</application>
--- 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
--- 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
--- 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<String> 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<String, List<Contact>> map) {
for (Map.Entry<String, List<Contact>> entry : map.entrySet()) {
List<Contact> l = entry.getValue();
+ Log.e(TAG, "SORTED LIST" + entry.getValue());
entry.setValue(new SortedList<Contact>(l, mComparator));
}
}