src/com/beem/project/beem/BeemService.java
author Da Risk <darisk972@gmail.com>
Tue, 14 Apr 2009 16:56:20 +0200
changeset 105 c6e4728ac9f7
parent 97 58622a0f9485
child 108 c60aa2237865
permissions -rw-r--r--
Passage sous cupcake :) Peu de modification de code, il faut juste creer des fichier aidl pour les classes parcelables. Sinon les fichier de build.xml ont ete completement modifiés, j'ai remplacé par les nouveaux. (il doit y avoir un manque de precision dans le fichier build.properties)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
17
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
     1
package com.beem.project.beem;
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
     2
80
29f0d6a23321 Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents: 72
diff changeset
     3
import org.jivesoftware.smack.ConnectionConfiguration;
94
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
     4
import org.jivesoftware.smack.PacketListener;
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
     5
import org.jivesoftware.smack.Roster;
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
     6
import org.jivesoftware.smack.XMPPConnection;
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
     7
import org.jivesoftware.smack.Roster.SubscriptionMode;
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
     8
import org.jivesoftware.smack.filter.AndFilter;
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
     9
import org.jivesoftware.smack.filter.PacketFilter;
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
    10
import org.jivesoftware.smack.filter.PacketTypeFilter;
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
    11
import org.jivesoftware.smack.packet.Packet;
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
    12
import org.jivesoftware.smack.packet.Presence;
80
29f0d6a23321 Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents: 72
diff changeset
    13
import org.jivesoftware.smack.proxy.ProxyInfo;
29f0d6a23321 Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents: 72
diff changeset
    14
import org.jivesoftware.smack.proxy.ProxyInfo.ProxyType;
17
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    15
import android.app.Notification;
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    16
import android.app.NotificationManager;
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    17
import android.app.Service;
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    18
import android.content.Intent;
19
213b84d2e743 Improve the service. It connect with a xmpp server running on the
Da Risk <darisk972@gmail.com>
parents: 18
diff changeset
    19
import android.content.SharedPreferences;
17
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    20
import android.os.IBinder;
18
1063d4bde1aa commit pour test avec barbu
Da Risk <darisk972@gmail.com>
parents: 17
diff changeset
    21
import android.os.RemoteException;
94
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
    22
import android.util.Log;
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
    23
67
8c3870db8e31 Rename some XMPP* classes in Xmpp*
Da Risk <darisk972@gmail.com>
parents: 55
diff changeset
    24
import com.beem.project.beem.service.XmppConnectionAdapter;
8c3870db8e31 Rename some XMPP* classes in Xmpp*
Da Risk <darisk972@gmail.com>
parents: 55
diff changeset
    25
import com.beem.project.beem.service.XmppFacade;
94
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
    26
import com.beem.project.beem.service.aidl.IBeemConnectionListener;
80
29f0d6a23321 Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents: 72
diff changeset
    27
import com.beem.project.beem.service.aidl.IXmppConnection;
67
8c3870db8e31 Rename some XMPP* classes in Xmpp*
Da Risk <darisk972@gmail.com>
parents: 55
diff changeset
    28
import com.beem.project.beem.service.aidl.IXmppFacade;
72
cdedc3a25d39 Show a progress dialog during connection with the server
Da Risk <darisk972@gmail.com>
parents: 67
diff changeset
    29
17
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    30
/**
38
3e76846c48a9 We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents: 33
diff changeset
    31
 * This class is for the Beem service.
72
cdedc3a25d39 Show a progress dialog during connection with the server
Da Risk <darisk972@gmail.com>
parents: 67
diff changeset
    32
 * The connection to the xmpp server will be made asynchronously when the service
cdedc3a25d39 Show a progress dialog during connection with the server
Da Risk <darisk972@gmail.com>
parents: 67
diff changeset
    33
 * will start.
17
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    34
 * @author darisk
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    35
 */
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    36
public class BeemService extends Service {
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    37
72
cdedc3a25d39 Show a progress dialog during connection with the server
Da Risk <darisk972@gmail.com>
parents: 67
diff changeset
    38
    /**
cdedc3a25d39 Show a progress dialog during connection with the server
Da Risk <darisk972@gmail.com>
parents: 67
diff changeset
    39
     * The id to use for status notification.
cdedc3a25d39 Show a progress dialog during connection with the server
Da Risk <darisk972@gmail.com>
parents: 67
diff changeset
    40
     */
cdedc3a25d39 Show a progress dialog during connection with the server
Da Risk <darisk972@gmail.com>
parents: 67
diff changeset
    41
    public static final int NOTIFICATION_STATUS_ID = 1;
cdedc3a25d39 Show a progress dialog during connection with the server
Da Risk <darisk972@gmail.com>
parents: 67
diff changeset
    42
55
66732dd2cb77 Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents: 42
diff changeset
    43
    private NotificationManager mNotificationManager;
94
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
    44
    private XmppConnectionAdapter mConnection;
55
66732dd2cb77 Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents: 42
diff changeset
    45
    private SharedPreferences mSettings;
31
85faac00d92c Asynchronous service almost perfect.
Da Risk <darisk972@gmail.com>
parents: 29
diff changeset
    46
    private String mLogin;
85faac00d92c Asynchronous service almost perfect.
Da Risk <darisk972@gmail.com>
parents: 29
diff changeset
    47
    private String mPassword;
85faac00d92c Asynchronous service almost perfect.
Da Risk <darisk972@gmail.com>
parents: 29
diff changeset
    48
    private String mHost;
80
29f0d6a23321 Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents: 72
diff changeset
    49
    private ConnectionConfiguration mConnectionConfiguration;
29f0d6a23321 Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents: 72
diff changeset
    50
    private ProxyInfo mProxyInfo;
29f0d6a23321 Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents: 72
diff changeset
    51
    private boolean mUseProxy;
67
8c3870db8e31 Rename some XMPP* classes in Xmpp*
Da Risk <darisk972@gmail.com>
parents: 55
diff changeset
    52
    private IXmppFacade.Stub mBind;
21
b9f4a0ef574a Contact List OK.
marseille@marseille-desktop
parents: 19
diff changeset
    53
55
66732dd2cb77 Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents: 42
diff changeset
    54
    /**
72
cdedc3a25d39 Show a progress dialog during connection with the server
Da Risk <darisk972@gmail.com>
parents: 67
diff changeset
    55
     * Constructor.
cdedc3a25d39 Show a progress dialog during connection with the server
Da Risk <darisk972@gmail.com>
parents: 67
diff changeset
    56
     */
cdedc3a25d39 Show a progress dialog during connection with the server
Da Risk <darisk972@gmail.com>
parents: 67
diff changeset
    57
    public BeemService() {
cdedc3a25d39 Show a progress dialog during connection with the server
Da Risk <darisk972@gmail.com>
parents: 67
diff changeset
    58
    }
cdedc3a25d39 Show a progress dialog during connection with the server
Da Risk <darisk972@gmail.com>
parents: 67
diff changeset
    59
cdedc3a25d39 Show a progress dialog during connection with the server
Da Risk <darisk972@gmail.com>
parents: 67
diff changeset
    60
    /**
55
66732dd2cb77 Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents: 42
diff changeset
    61
     * {@inheritDoc}
17
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    62
     */
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    63
    @Override
29
a49d1556772c Starting work on the Service interface.
Da Risk <darisk972@gmail.com>
parents: 19
diff changeset
    64
    public IBinder onBind(Intent intent) {
38
3e76846c48a9 We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents: 33
diff changeset
    65
	return mBind;
31
85faac00d92c Asynchronous service almost perfect.
Da Risk <darisk972@gmail.com>
parents: 29
diff changeset
    66
	// to forbid a client to bind
85faac00d92c Asynchronous service almost perfect.
Da Risk <darisk972@gmail.com>
parents: 29
diff changeset
    67
	// return null;
17
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    68
    }
21
b9f4a0ef574a Contact List OK.
marseille@marseille-desktop
parents: 19
diff changeset
    69
55
66732dd2cb77 Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents: 42
diff changeset
    70
    /**
66732dd2cb77 Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents: 42
diff changeset
    71
     * {@inheritDoc}
66732dd2cb77 Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents: 42
diff changeset
    72
     */
29
a49d1556772c Starting work on the Service interface.
Da Risk <darisk972@gmail.com>
parents: 19
diff changeset
    73
    @Override
a49d1556772c Starting work on the Service interface.
Da Risk <darisk972@gmail.com>
parents: 19
diff changeset
    74
    public void onCreate() {
a49d1556772c Starting work on the Service interface.
Da Risk <darisk972@gmail.com>
parents: 19
diff changeset
    75
	super.onCreate();
72
cdedc3a25d39 Show a progress dialog during connection with the server
Da Risk <darisk972@gmail.com>
parents: 67
diff changeset
    76
	mSettings = getSharedPreferences(getString(R.string.PreferenceFileName), MODE_PRIVATE);
55
66732dd2cb77 Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents: 42
diff changeset
    77
	mLogin = mSettings.getString(getString(R.string.PreferenceLoginKey), "");
72
cdedc3a25d39 Show a progress dialog during connection with the server
Da Risk <darisk972@gmail.com>
parents: 67
diff changeset
    78
	mPassword = mSettings.getString(getString(R.string.PreferencePasswordKey), "");
55
66732dd2cb77 Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents: 42
diff changeset
    79
	mHost = mSettings.getString(getString(R.string.PreferenceHostKey), "");
105
c6e4728ac9f7 Passage sous cupcake :)
Da Risk <darisk972@gmail.com>
parents: 97
diff changeset
    80
	mHost = "10.0.2.2";
80
29f0d6a23321 Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents: 72
diff changeset
    81
	initConnectionConfig();
55
66732dd2cb77 Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents: 42
diff changeset
    82
	mNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
80
29f0d6a23321 Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents: 72
diff changeset
    83
	mConnection = new XmppConnectionAdapter(mConnectionConfiguration, mLogin, mPassword);
94
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
    84
	initRosterRequestListener();
72
cdedc3a25d39 Show a progress dialog during connection with the server
Da Risk <darisk972@gmail.com>
parents: 67
diff changeset
    85
	mBind = new XmppFacade(mConnection, this);
55
66732dd2cb77 Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents: 42
diff changeset
    86
    }
66732dd2cb77 Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents: 42
diff changeset
    87
66732dd2cb77 Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents: 42
diff changeset
    88
    /**
66732dd2cb77 Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents: 42
diff changeset
    89
     * {@inheritDoc}
66732dd2cb77 Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents: 42
diff changeset
    90
     */
66732dd2cb77 Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents: 42
diff changeset
    91
    @Override
66732dd2cb77 Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents: 42
diff changeset
    92
    public void onStart(Intent intent, int startId) {
66732dd2cb77 Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents: 42
diff changeset
    93
	try {
72
cdedc3a25d39 Show a progress dialog during connection with the server
Da Risk <darisk972@gmail.com>
parents: 67
diff changeset
    94
	    mConnection.connectAsync();
55
66732dd2cb77 Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents: 42
diff changeset
    95
	} catch (RemoteException e) {
66732dd2cb77 Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents: 42
diff changeset
    96
	    // TODO Auto-generated catch block
66732dd2cb77 Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents: 42
diff changeset
    97
	    e.printStackTrace();
66732dd2cb77 Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents: 42
diff changeset
    98
	}
17
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    99
    }
38
3e76846c48a9 We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents: 33
diff changeset
   100
55
66732dd2cb77 Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents: 42
diff changeset
   101
    /**
66732dd2cb77 Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents: 42
diff changeset
   102
     * {@inheritDoc}
66732dd2cb77 Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents: 42
diff changeset
   103
     */
66732dd2cb77 Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents: 42
diff changeset
   104
    @Override
66732dd2cb77 Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents: 42
diff changeset
   105
    public void onDestroy() {
66732dd2cb77 Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents: 42
diff changeset
   106
	closeConnection();
72
cdedc3a25d39 Show a progress dialog during connection with the server
Da Risk <darisk972@gmail.com>
parents: 67
diff changeset
   107
	mNotificationManager.cancel(NOTIFICATION_STATUS_ID);
55
66732dd2cb77 Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents: 42
diff changeset
   108
    }
66732dd2cb77 Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents: 42
diff changeset
   109
66732dd2cb77 Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents: 42
diff changeset
   110
    /**
72
cdedc3a25d39 Show a progress dialog during connection with the server
Da Risk <darisk972@gmail.com>
parents: 67
diff changeset
   111
     * Show a notification.
cdedc3a25d39 Show a progress dialog during connection with the server
Da Risk <darisk972@gmail.com>
parents: 67
diff changeset
   112
     * @param id 	the id of the notification.
cdedc3a25d39 Show a progress dialog during connection with the server
Da Risk <darisk972@gmail.com>
parents: 67
diff changeset
   113
     * @param notif	the notification to show
55
66732dd2cb77 Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents: 42
diff changeset
   114
     */
72
cdedc3a25d39 Show a progress dialog during connection with the server
Da Risk <darisk972@gmail.com>
parents: 67
diff changeset
   115
    public void sendNotification(int id, Notification notif) {
cdedc3a25d39 Show a progress dialog during connection with the server
Da Risk <darisk972@gmail.com>
parents: 67
diff changeset
   116
	mNotificationManager.notify(id, notif);
17
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
   117
    }
94
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
   118
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
   119
    /**
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
   120
     * Initialise la configuration de la connexion.
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
   121
     */
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
   122
    private void initConnectionConfig() {
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
   123
	//TODO mettre a false par defaut et remplacer les valeurs par defaut
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
   124
	mUseProxy = mSettings.getBoolean(getString(R.string.PreferenceUseProxy), false);
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
   125
	if (mUseProxy) {
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
   126
	    String stype = mSettings.getString(getString(R.string.PreferenceProxyType),
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
   127
		getString(R.string.PreferenceProxyTypeHttp));
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
   128
	    String phost = mSettings.getString(getString(R.string.PreferenceProxyHost), "");
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
   129
	    String puser = mSettings.getString(getString(R.string.PreferenceProxyUser), "");
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
   130
	    String ppass = mSettings.getString(getString(R.string.PreferenceProxyPassword), "");
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
   131
	    int pport =  mSettings.getInt(getString(R.string.PreferenceProxyPort), 3128);
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
   132
	    ProxyInfo.ProxyType type = ProxyType.valueOf(stype);
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
   133
	    mProxyInfo = new ProxyInfo(type, phost, pport, puser, ppass);
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
   134
	    mConnectionConfiguration = new ConnectionConfiguration(mHost, mProxyInfo);
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
   135
	} else {
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
   136
	    mConnectionConfiguration = new ConnectionConfiguration(mHost);
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
   137
	}
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
   138
	mConnectionConfiguration.setSendPresence(true);
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
   139
    }
96
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   140
94
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
   141
    private void initRosterRequestListener() {
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
   142
	Roster.setDefaultSubscriptionMode(SubscriptionMode.manual);
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
   143
	final XMPPConnection con =  mConnection.getAdaptee();
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
   144
	try {
95
da27ef678b0f I am thinking about a correct way to handle the PresenceRequestPacketFilter
Da Risk <darisk972@gmail.com>
parents: 94
diff changeset
   145
	    // l'ajout d'un packet listener ne peut etre effectuer que lorsqu'on est connecte au serveur
94
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
   146
	    mConnection.addConnectionListener(new IBeemConnectionListener.Stub() {
96
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   147
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   148
		@Override
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   149
		public void reconnectionSuccessful() throws RemoteException {
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   150
		    // TODO Auto-generated method stub
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   151
		    PacketFilter filter = new PacketFilter() {
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   152
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   153
			@Override
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   154
			public boolean accept(Packet packet) {
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   155
			    if (packet instanceof Presence) {
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   156
				Presence pres = (Presence) packet;
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   157
				if (pres.getType() == Presence.Type.subscribe)
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   158
				    return true;
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   159
			    }
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   160
			    return false;
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   161
			}
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   162
		    };
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   163
		    con.addPacketListener(new PacketListener() {
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   164
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   165
			@Override
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   166
			public void processPacket(Packet packet) {
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   167
			    // TODO Auto-generated method stub
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   168
			    Log.i("TEST", "Une demande recue");
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   169
			}
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   170
		    }, filter);
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   171
		}
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   172
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   173
		@Override
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   174
		public void reconnectionFailed() throws RemoteException {
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   175
		    // TODO Auto-generated method stub
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   176
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   177
		}
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   178
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   179
		@Override
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   180
		public void reconnectingIn(int seconds) throws RemoteException {
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   181
		    // TODO Auto-generated method stub
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   182
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   183
		}
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   184
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   185
		@Override
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   186
		public void onConnect() throws RemoteException {
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   187
		    // TODO Auto-generated method stub
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   188
		    PacketFilter filter = new PacketFilter() {
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   189
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   190
			@Override
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   191
			public boolean accept(Packet packet) {
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   192
			    if (packet instanceof Presence) {
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   193
				Presence pres = (Presence) packet;
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   194
				if (pres.getType() == Presence.Type.subscribe)
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   195
				    return true;
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   196
			    }
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   197
			    return false;
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   198
			}
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   199
		    };
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   200
		    con.addPacketListener(new PacketListener() {
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   201
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   202
			@Override
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   203
			public void processPacket(Packet packet) {
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   204
			    // TODO Auto-generated method stub
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   205
			    Log.i("TEST", "Une demande recue");
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   206
			}
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   207
		    }, filter);
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   208
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   209
		}
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   210
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   211
		@Override
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   212
		public void connectionClosedOnError() throws RemoteException {
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   213
		    // TODO Auto-generated method stub
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   214
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   215
		}
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   216
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   217
		@Override
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   218
		public void connectionClosed() throws RemoteException {
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   219
		    // TODO Auto-generated method stub
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   220
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   221
		}
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   222
97
58622a0f9485 petites majs sur le TimeOut
nikita@nikita-rack
parents: 96
diff changeset
   223
96
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   224
		@Override
97
58622a0f9485 petites majs sur le TimeOut
nikita@nikita-rack
parents: 96
diff changeset
   225
		public void connectionFailed(String errorMsg) throws RemoteException {
58622a0f9485 petites majs sur le TimeOut
nikita@nikita-rack
parents: 96
diff changeset
   226
		    // TODO Auto-generated method stub
58622a0f9485 petites majs sur le TimeOut
nikita@nikita-rack
parents: 96
diff changeset
   227
		    
96
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   228
		}
94
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
   229
	    });
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
   230
	} catch (RemoteException e) {
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
   231
	    // TODO Auto-generated catch block
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
   232
	    e.printStackTrace();
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
   233
	}
96
e0eabd2266fe ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents: 95
diff changeset
   234
94
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
   235
    }
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
   236
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
   237
    /**
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
   238
     * Close the connection to the xmpp server.
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
   239
     */
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
   240
    private void closeConnection() {
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
   241
	if (mConnection != null)
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
   242
	    mConnection.disconnect();
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
   243
    }
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
   244
17
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
   245
}