# HG changeset patch # User nikita@nikita-lab # Date 1243003549 -7200 # Node ID dbc0c467c3e62f041c1cbe1a15c105e0223ce396 # Parent e707f2adc40a525d25d1c59155dea6668f99f9ef ajout de la gestion du resend de la subscription request diff -r e707f2adc40a -r dbc0c467c3e6 src/com/beem/project/beem/service/RosterAdapter.java --- 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} diff -r e707f2adc40a -r dbc0c467c3e6 src/com/beem/project/beem/service/XmppConnectionAdapter.java --- 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} */ diff -r e707f2adc40a -r dbc0c467c3e6 src/com/beem/project/beem/ui/AddContact.java --- 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(); } diff -r e707f2adc40a -r dbc0c467c3e6 src/com/beem/project/beem/ui/ContactDialog.java --- 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(); } - + } } diff -r e707f2adc40a -r dbc0c467c3e6 src/com/beem/project/beem/ui/ContactList.java --- 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(); }