--- a/src/com/beem/project/beem/service/RosterAdapter.java Fri May 22 15:55:08 2009 +0200
+++ b/src/com/beem/project/beem/service/RosterAdapter.java Fri May 22 16:45:49 2009 +0200
@@ -80,7 +80,7 @@
Log.e(TAG, "Error while adding new contact", e);
return null;
}
- }
+ }
/**
* {@inheritDoc}
--- a/src/com/beem/project/beem/service/XmppConnectionAdapter.java Fri May 22 15:55:08 2009 +0200
+++ b/src/com/beem/project/beem/service/XmppConnectionAdapter.java Fri May 22 16:45:49 2009 +0200
@@ -8,6 +8,7 @@
import org.jivesoftware.smack.Roster;
import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.XMPPException;
+import org.jivesoftware.smack.packet.Presence;
import org.jivesoftware.smackx.ChatStateManager;
import org.jivesoftware.smackx.ServiceDiscoveryManager;
import org.jivesoftware.smackx.jingle.JingleManager;
@@ -137,7 +138,7 @@
});
t.start();
}
-
+
/**
* {@inheritDoc}
*/
--- a/src/com/beem/project/beem/ui/AddContact.java Fri May 22 15:55:08 2009 +0200
+++ b/src/com/beem/project/beem/ui/AddContact.java Fri May 22 16:45:49 2009 +0200
@@ -36,7 +36,6 @@
super.onCreate(savedInstanceState);
setContentView(R.layout.addcontact);
Button ok = (Button) findViewById(R.id.addc_ok);
- //mAccountManager = new AccountManager();
ok.setOnClickListener(mOkListener);
mService = BeemApplication.getApplication(this).getXmppFacade();
}
--- a/src/com/beem/project/beem/ui/ContactDialog.java Fri May 22 15:55:08 2009 +0200
+++ b/src/com/beem/project/beem/ui/ContactDialog.java Fri May 22 16:45:49 2009 +0200
@@ -1,27 +1,36 @@
package com.beem.project.beem.ui;
+import org.jivesoftware.smack.packet.Presence;
+
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.content.Intent;
+import android.os.RemoteException;
+import android.util.Log;
import android.view.View;
import android.widget.Button;
-import android.widget.TextView;
+import com.beem.project.beem.BeemApplication;
import com.beem.project.beem.R;
import com.beem.project.beem.service.Contact;
+import com.beem.project.beem.service.PresenceAdapter;
+import com.beem.project.beem.service.aidl.IXmppFacade;
public class ContactDialog extends Dialog {
+ public static final String TAG = "Option Dialog";
private Contact mContact;
private Context mContext;
+ private IXmppFacade mService;
public ContactDialog(final Context context, Contact curContact) {
- super(context);
- mContext = context;
+ super(context);
+ mContext = context;
+
setContentView(R.layout.contactdialog);
mContact = curContact;
- setTitle(curContact.getJID());
+ setTitle(curContact.getJID());
Button chat = (Button) findViewById(R.id.CDChat);
chat.setOnClickListener(new chatListener());
@@ -34,6 +43,10 @@
Button infos = (Button) findViewById(R.id.CDInfos);
infos.setOnClickListener(new infosListener());
}
+
+ public void initService() {
+ mService = BeemApplication.getApplication(ContactDialog.this.getOwnerActivity()).getXmppFacade();
+ }
class chatListener implements View.OnClickListener {
@@ -55,9 +68,9 @@
// TODO Auto-generated method stub
dismiss();
}
-
+
}
-
+
class groupListener implements View.OnClickListener {
@Override
@@ -65,19 +78,25 @@
// TODO Auto-generated method stub
dismiss();
}
-
+
}
-
+
class resendListener implements View.OnClickListener {
@Override
public void onClick(View v) {
- // TODO Auto-generated method stub
+ Presence presencePacket = new Presence(Presence.Type.subscribe);
+ presencePacket.setTo(mContact.getJID());
+ try {
+ mService.sendPresencePacket(new PresenceAdapter(presencePacket));
+ } catch (RemoteException e) {
+ Log.e(TAG, "resend subscription error", e);
+ }
dismiss();
}
-
+
}
-
+
class infosListener implements View.OnClickListener {
@Override
@@ -85,7 +104,7 @@
// TODO Auto-generated method stub
dismiss();
}
-
+
}
}
--- a/src/com/beem/project/beem/ui/ContactList.java Fri May 22 15:55:08 2009 +0200
+++ b/src/com/beem/project/beem/ui/ContactList.java Fri May 22 16:45:49 2009 +0200
@@ -225,8 +225,9 @@
}
void createDialog(Contact contact) {
- Dialog dialogContact= new ContactDialog(ContactList.this, contact);
+ ContactDialog dialogContact= new ContactDialog(ContactList.this, contact);
dialogContact.setOwnerActivity(ContactList.this);
+ dialogContact.initService();
dialogContact.show();
}