author | Nikita Kozlov <nikita@mbdsys.com> |
Sun, 05 Dec 2010 18:45:47 +0100 | |
changeset 811 | 6cbb9b3117b7 |
parent 809 | 2655ee22df9f |
child 848 | 0d604b75d5ae |
permissions | -rwxr-xr-x |
577 | 1 |
/* |
567 | 2 |
BEEM is a videoconference application on the Android Platform. |
3 |
||
4 |
Copyright (C) 2009 by Frederic-Charles Barthelery, |
|
5 |
Jean-Manuel Da Silva, |
|
6 |
Nikita Kozlov, |
|
7 |
Philippe Lago, |
|
8 |
Jean Baptiste Vergely, |
|
577 | 9 |
Vincent Veronis. |
567 | 10 |
|
11 |
This file is part of BEEM. |
|
12 |
||
13 |
BEEM is free software: you can redistribute it and/or modify |
|
14 |
it under the terms of the GNU General Public License as published by |
|
15 |
the Free Software Foundation, either version 3 of the License, or |
|
16 |
(at your option) any later version. |
|
17 |
||
18 |
BEEM is distributed in the hope that it will be useful, |
|
19 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
20 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
21 |
GNU General Public License for more details. |
|
22 |
||
23 |
You should have received a copy of the GNU General Public License |
|
24 |
along with BEEM. If not, see <http://www.gnu.org/licenses/>. |
|
25 |
||
26 |
Please send bug reports with examples or suggestions to |
|
27 |
contact@beem-project.com or http://dev.beem-project.com/ |
|
28 |
||
577 | 29 |
Epitech, hereby disclaims all copyright interest in the program "Beem" |
567 | 30 |
written by Frederic-Charles Barthelery, |
31 |
Jean-Manuel Da Silva, |
|
32 |
Nikita Kozlov, |
|
33 |
Philippe Lago, |
|
34 |
Jean Baptiste Vergely, |
|
35 |
Vincent Veronis. |
|
36 |
||
37 |
Nicolas Sadirac, November 26, 2009 |
|
38 |
President of Epitech. |
|
39 |
||
40 |
Flavien Astraud, November 26, 2009 |
|
41 |
Head of the EIP Laboratory. |
|
42 |
||
665
01f3b7160f4b
add a hide group options
Nikita Kozlov <nikita@beem-project.com>
parents:
658
diff
changeset
|
43 |
*/ |
29
a49d1556772c
Starting work on the Service interface.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
44 |
package com.beem.project.beem.service; |
a49d1556772c
Starting work on the Service interface.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
45 |
|
a49d1556772c
Starting work on the Service interface.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
46 |
import org.jivesoftware.smack.ConnectionConfiguration; |
31
85faac00d92c
Asynchronous service almost perfect.
Da Risk <darisk972@gmail.com>
parents:
30
diff
changeset
|
47 |
import org.jivesoftware.smack.ConnectionListener; |
375 | 48 |
import org.jivesoftware.smack.PacketListener; |
262 | 49 |
import org.jivesoftware.smack.PrivacyListManager; |
38
3e76846c48a9
We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents:
36
diff
changeset
|
50 |
import org.jivesoftware.smack.Roster; |
29
a49d1556772c
Starting work on the Service interface.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
51 |
import org.jivesoftware.smack.XMPPConnection; |
a49d1556772c
Starting work on the Service interface.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
52 |
import org.jivesoftware.smack.XMPPException; |
377
5f60caa9f85c
deplacement de l'eventListener cote service
Nikita Kozlov <nikita@beem-project.com>
parents:
376
diff
changeset
|
53 |
import org.jivesoftware.smack.filter.PacketFilter; |
375 | 54 |
import org.jivesoftware.smack.packet.Packet; |
55 |
import org.jivesoftware.smack.packet.Presence; |
|
123 | 56 |
import org.jivesoftware.smackx.ChatStateManager; |
35 | 57 |
import org.jivesoftware.smackx.ServiceDiscoveryManager; |
799
b2a796654230
Implementation of XEP-084 which loads avatar from http.
Da Risk <darisk972@gmail.com>
parents:
795
diff
changeset
|
58 |
import org.jivesoftware.smackx.packet.DiscoverInfo; |
212 | 59 |
|
375 | 60 |
import android.app.Notification; |
61 |
import android.app.PendingIntent; |
|
685
bd5bddda04dd
Improve the launching of Beem when already connected.
Da Risk <darisk972@gmail.com>
parents:
666
diff
changeset
|
62 |
import android.content.Context; |
375 | 63 |
import android.content.Intent; |
524
e1a9ba4611dc
Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents:
506
diff
changeset
|
64 |
import android.content.SharedPreferences; |
31
85faac00d92c
Asynchronous service almost perfect.
Da Risk <darisk972@gmail.com>
parents:
30
diff
changeset
|
65 |
import android.os.RemoteCallbackList; |
30
7057a9d3657a
Add some adapter for smack classes
Da Risk <darisk972@gmail.com>
parents:
29
diff
changeset
|
66 |
import android.os.RemoteException; |
799
b2a796654230
Implementation of XEP-084 which loads avatar from http.
Da Risk <darisk972@gmail.com>
parents:
795
diff
changeset
|
67 |
import android.os.Environment; |
38
3e76846c48a9
We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents:
36
diff
changeset
|
68 |
import android.util.Log; |
212 | 69 |
|
799
b2a796654230
Implementation of XEP-084 which loads avatar from http.
Da Risk <darisk972@gmail.com>
parents:
795
diff
changeset
|
70 |
import java.util.Iterator; |
b2a796654230
Implementation of XEP-084 which loads avatar from http.
Da Risk <darisk972@gmail.com>
parents:
795
diff
changeset
|
71 |
import java.io.File; |
b2a796654230
Implementation of XEP-084 which loads avatar from http.
Da Risk <darisk972@gmail.com>
parents:
795
diff
changeset
|
72 |
|
412
5031fb756b29
gestion de ConnectionClosedOnError
Nikita Kozlov <nikita@beem-project.com>
parents:
411
diff
changeset
|
73 |
import com.beem.project.beem.BeemService; |
402
4684a42ae0ad
pas mal de cleannance et aussi du debug sur les decos
Nikita Kozlov <nikita@beem-project.com>
parents:
396
diff
changeset
|
74 |
import com.beem.project.beem.R; |
685
bd5bddda04dd
Improve the launching of Beem when already connected.
Da Risk <darisk972@gmail.com>
parents:
666
diff
changeset
|
75 |
import com.beem.project.beem.BeemApplication; |
31
85faac00d92c
Asynchronous service almost perfect.
Da Risk <darisk972@gmail.com>
parents:
30
diff
changeset
|
76 |
import com.beem.project.beem.service.aidl.IBeemConnectionListener; |
57
c91278dda166
La facade et la connexion permette de recuperer une instance de ChatManager
Da Risk <darisk972@gmail.com>
parents:
55
diff
changeset
|
77 |
import com.beem.project.beem.service.aidl.IChatManager; |
30
7057a9d3657a
Add some adapter for smack classes
Da Risk <darisk972@gmail.com>
parents:
29
diff
changeset
|
78 |
import com.beem.project.beem.service.aidl.IRoster; |
55
66732dd2cb77
Add an interface for sending im message.
Da Risk <darisk972@gmail.com>
parents:
38
diff
changeset
|
79 |
import com.beem.project.beem.service.aidl.IXmppConnection; |
550
443a5937ad7a
Finitions modification login de bart.
Vincent Veronis <veroni_v@epitech.net>
parents:
545
diff
changeset
|
80 |
import com.beem.project.beem.ui.ChangeStatus; |
375 | 81 |
import com.beem.project.beem.ui.Subscription; |
412
5031fb756b29
gestion de ConnectionClosedOnError
Nikita Kozlov <nikita@beem-project.com>
parents:
411
diff
changeset
|
82 |
import com.beem.project.beem.utils.BeemBroadcastReceiver; |
524
e1a9ba4611dc
Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents:
506
diff
changeset
|
83 |
import com.beem.project.beem.utils.Status; |
808
98d220b7fe9d
Add a way to display the avatar of a contact.
Da Risk <darisk972@gmail.com>
parents:
807
diff
changeset
|
84 |
import com.beem.project.beem.smack.pep.PepSubManager; |
799
b2a796654230
Implementation of XEP-084 which loads avatar from http.
Da Risk <darisk972@gmail.com>
parents:
795
diff
changeset
|
85 |
import com.beem.project.beem.smack.avatar.AvatarCache; |
b2a796654230
Implementation of XEP-084 which loads avatar from http.
Da Risk <darisk972@gmail.com>
parents:
795
diff
changeset
|
86 |
import com.beem.project.beem.smack.avatar.FileAvatarCache; |
b2a796654230
Implementation of XEP-084 which loads avatar from http.
Da Risk <darisk972@gmail.com>
parents:
795
diff
changeset
|
87 |
import com.beem.project.beem.smack.avatar.AvatarManager; |
29
a49d1556772c
Starting work on the Service interface.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
88 |
|
a49d1556772c
Starting work on the Service interface.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
89 |
/** |
38
3e76846c48a9
We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents:
36
diff
changeset
|
90 |
* This class implements an adapter for XMPPConnection. |
29
a49d1556772c
Starting work on the Service interface.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
91 |
* @author darisk |
a49d1556772c
Starting work on the Service interface.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
92 |
*/ |
67
8c3870db8e31
Rename some XMPP* classes in Xmpp*
Da Risk <darisk972@gmail.com>
parents:
57
diff
changeset
|
93 |
public class XmppConnectionAdapter extends IXmppConnection.Stub { |
31
85faac00d92c
Asynchronous service almost perfect.
Da Risk <darisk972@gmail.com>
parents:
30
diff
changeset
|
94 |
|
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
95 |
/** |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
96 |
* Beem connection closed Intent name. |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
97 |
*/ |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
98 |
|
600 | 99 |
private static final int SMACK_PRIORITY_MIN = -128; |
100 |
private static final int SMACK_PRIORITY_MAX = 128; |
|
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
101 |
private static final String TAG = "XMPPConnectionAdapter"; |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
102 |
private final XMPPConnection mAdaptee; |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
103 |
private IChatManager mChatManager; |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
104 |
private final String mLogin; |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
105 |
private final String mPassword; |
524
e1a9ba4611dc
Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents:
506
diff
changeset
|
106 |
private String mResource; |
545
0de3d7f3fa81
Debut du nouvel activite de Login.
Da Risk <darisk972@gmail.com>
parents:
543
diff
changeset
|
107 |
private String mErrorMsg; |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
108 |
private RosterAdapter mRoster; |
524
e1a9ba4611dc
Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents:
506
diff
changeset
|
109 |
private int mPreviousPriority; |
678
d1a599ccf879
Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents:
666
diff
changeset
|
110 |
private int mPreviousMode; |
d1a599ccf879
Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents:
666
diff
changeset
|
111 |
private String mPreviousStatus; |
518
6b8089c9b834
Creation de l'activite PrivacyList et d'une interface PrivacyListListener ainsi que son implementation.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
506
diff
changeset
|
112 |
private PrivacyListManagerAdapter mPrivacyListManager; |
704
e310d3275d5d
Finish reception of Chat State message.
Da Risk <darisk972@gmail.com>
parents:
696
diff
changeset
|
113 |
private ChatStateManager mChatStateManager; |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
114 |
private final BeemService mService; |
685
bd5bddda04dd
Improve the launching of Beem when already connected.
Da Risk <darisk972@gmail.com>
parents:
666
diff
changeset
|
115 |
private BeemApplication mApplication; |
808
98d220b7fe9d
Add a way to display the avatar of a contact.
Da Risk <darisk972@gmail.com>
parents:
807
diff
changeset
|
116 |
private AvatarManager mAvatarManager; |
98d220b7fe9d
Add a way to display the avatar of a contact.
Da Risk <darisk972@gmail.com>
parents:
807
diff
changeset
|
117 |
private PepSubManager mPepManager; |
704
e310d3275d5d
Finish reception of Chat State message.
Da Risk <darisk972@gmail.com>
parents:
696
diff
changeset
|
118 |
private final RemoteCallbackList<IBeemConnectionListener> mRemoteConnListeners = |
e310d3275d5d
Finish reception of Chat State message.
Da Risk <darisk972@gmail.com>
parents:
696
diff
changeset
|
119 |
new RemoteCallbackList<IBeemConnectionListener>(); |
625
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
120 |
private final SubscribePacketListener mSubscribePacketListener = new SubscribePacketListener(); |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
121 |
|
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
122 |
private final ConnexionListenerAdapter mConListener = new ConnexionListenerAdapter(); |
262 | 123 |
|
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
124 |
/** |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
125 |
* Constructor. |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
126 |
* @param config Configuration to use in order to connect |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
127 |
* @param login login to use on connect |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
128 |
* @param password password to use on connect |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
129 |
* @param service the background service associated with the connection. |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
130 |
*/ |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
131 |
public XmppConnectionAdapter(final ConnectionConfiguration config, final String login, final String password, |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
132 |
final BeemService service) { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
133 |
this(new XMPPConnection(config), login, password, service); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
134 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
135 |
|
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
136 |
/** |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
137 |
* Constructor. |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
138 |
* @param serviceName name of the service to connect to |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
139 |
* @param login login to use on connect |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
140 |
* @param password password to use on connect |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
141 |
* @param service the background service associated with the connection. |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
142 |
*/ |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
143 |
public XmppConnectionAdapter(final String serviceName, final String login, final String password, |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
144 |
final BeemService service) { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
145 |
this(new XMPPConnection(serviceName), login, password, service); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
146 |
} |
262 | 147 |
|
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
148 |
/** |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
149 |
* Constructor. |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
150 |
* @param con The connection to adapt |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
151 |
* @param login The login to use |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
152 |
* @param password The password to use |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
153 |
* @param service the background service associated with the connection. |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
154 |
*/ |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
155 |
public XmppConnectionAdapter(final XMPPConnection con, final String login, final String password, |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
156 |
final BeemService service) { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
157 |
mAdaptee = con; |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
158 |
PrivacyListManager.getInstanceFor(mAdaptee); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
159 |
mLogin = login; |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
160 |
mPassword = password; |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
161 |
mService = service; |
685
bd5bddda04dd
Improve the launching of Beem when already connected.
Da Risk <darisk972@gmail.com>
parents:
666
diff
changeset
|
162 |
Context ctx = mService.getApplicationContext(); |
bd5bddda04dd
Improve the launching of Beem when already connected.
Da Risk <darisk972@gmail.com>
parents:
666
diff
changeset
|
163 |
if (ctx instanceof BeemApplication) { |
bd5bddda04dd
Improve the launching of Beem when already connected.
Da Risk <darisk972@gmail.com>
parents:
666
diff
changeset
|
164 |
mApplication = (BeemApplication) ctx; |
bd5bddda04dd
Improve the launching of Beem when already connected.
Da Risk <darisk972@gmail.com>
parents:
666
diff
changeset
|
165 |
} |
524
e1a9ba4611dc
Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents:
506
diff
changeset
|
166 |
SharedPreferences pref = mService.getServicePreference(); |
e1a9ba4611dc
Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents:
506
diff
changeset
|
167 |
try { |
e1a9ba4611dc
Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents:
506
diff
changeset
|
168 |
mPreviousPriority = Integer.parseInt(pref.getString("settings_key_priority", "0")); |
e1a9ba4611dc
Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents:
506
diff
changeset
|
169 |
mResource = pref.getString("settings_key_resource", "BEEM"); |
e1a9ba4611dc
Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents:
506
diff
changeset
|
170 |
} catch (NumberFormatException ex) { |
e1a9ba4611dc
Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents:
506
diff
changeset
|
171 |
mPreviousPriority = 0; |
e1a9ba4611dc
Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents:
506
diff
changeset
|
172 |
} |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
173 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
174 |
|
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
175 |
/** |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
176 |
* {@inheritDoc} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
177 |
*/ |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
178 |
@Override |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
179 |
public void addConnectionListener(IBeemConnectionListener listen) throws RemoteException { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
180 |
if (listen != null) |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
181 |
mRemoteConnListeners.register(listen); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
182 |
} |
262 | 183 |
|
625
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
184 |
@Override |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
185 |
public boolean connect() throws RemoteException { |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
186 |
if (mAdaptee.isConnected()) |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
187 |
return true; |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
188 |
else { |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
189 |
try { |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
190 |
mAdaptee.connect(); |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
191 |
mAdaptee.addConnectionListener(mConListener); |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
192 |
return true; |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
193 |
} catch (XMPPException e) { |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
194 |
Log.e(TAG, "Error while connecting", e); |
658
baaee1877b2b
add more explicit error message during login
Nikita Kozlov <nikita@beem-project.com>
parents:
627
diff
changeset
|
195 |
try { |
664 | 196 |
//TODO NIKITA DOES SOME SHIT !!! Fix this monstruosity |
658
baaee1877b2b
add more explicit error message during login
Nikita Kozlov <nikita@beem-project.com>
parents:
627
diff
changeset
|
197 |
String str = mService.getResources().getString( |
baaee1877b2b
add more explicit error message during login
Nikita Kozlov <nikita@beem-project.com>
parents:
627
diff
changeset
|
198 |
mService.getResources().getIdentifier( |
baaee1877b2b
add more explicit error message during login
Nikita Kozlov <nikita@beem-project.com>
parents:
627
diff
changeset
|
199 |
e.getXMPPError().getCondition().replace("-", "_"), "string", "com.beem.project.beem")); |
baaee1877b2b
add more explicit error message during login
Nikita Kozlov <nikita@beem-project.com>
parents:
627
diff
changeset
|
200 |
mErrorMsg = str; |
682 | 201 |
} catch (NullPointerException e2) { |
658
baaee1877b2b
add more explicit error message during login
Nikita Kozlov <nikita@beem-project.com>
parents:
627
diff
changeset
|
202 |
if (!"".equals(e.getMessage())) |
baaee1877b2b
add more explicit error message during login
Nikita Kozlov <nikita@beem-project.com>
parents:
627
diff
changeset
|
203 |
mErrorMsg = e.getMessage(); |
baaee1877b2b
add more explicit error message during login
Nikita Kozlov <nikita@beem-project.com>
parents:
627
diff
changeset
|
204 |
else |
baaee1877b2b
add more explicit error message during login
Nikita Kozlov <nikita@beem-project.com>
parents:
627
diff
changeset
|
205 |
mErrorMsg = e.toString(); |
baaee1877b2b
add more explicit error message during login
Nikita Kozlov <nikita@beem-project.com>
parents:
627
diff
changeset
|
206 |
} |
625
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
207 |
} |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
208 |
return false; |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
209 |
} |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
210 |
} |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
211 |
|
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
212 |
@Override |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
213 |
public boolean login() throws RemoteException { |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
214 |
if (mAdaptee.isAuthenticated()) |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
215 |
return true; |
752
0e16dee2bd4c
use a LevelListDrawable for status icon
Da Risk <darisk972@gmail.com>
parents:
708
diff
changeset
|
216 |
if (!mAdaptee.isConnected()) |
0e16dee2bd4c
use a LevelListDrawable for status icon
Da Risk <darisk972@gmail.com>
parents:
708
diff
changeset
|
217 |
return false; |
625
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
218 |
try { |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
219 |
|
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
220 |
this.initFeatures(); // pour declarer les features xmpp qu'on |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
221 |
// supporte |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
222 |
|
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
223 |
PacketFilter filter = new PacketFilter() { |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
224 |
|
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
225 |
@Override |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
226 |
public boolean accept(Packet packet) { |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
227 |
if (packet instanceof Presence) { |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
228 |
Presence pres = (Presence) packet; |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
229 |
if (pres.getType() == Presence.Type.subscribe) |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
230 |
return true; |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
231 |
} |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
232 |
return false; |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
233 |
} |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
234 |
}; |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
235 |
|
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
236 |
mAdaptee.addPacketListener(mSubscribePacketListener, filter); |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
237 |
|
793
4fb9df09ffdf
#286 : Initial implementation of XEP-0115 : Entity Capabilities
Da Risk <darisk972@gmail.com>
parents:
762
diff
changeset
|
238 |
mAdaptee.login(mLogin, mPassword, mResource); |
4fb9df09ffdf
#286 : Initial implementation of XEP-0115 : Entity Capabilities
Da Risk <darisk972@gmail.com>
parents:
762
diff
changeset
|
239 |
mChatManager = new BeemChatManager(mAdaptee.getChatManager(), mService); |
4fb9df09ffdf
#286 : Initial implementation of XEP-0115 : Entity Capabilities
Da Risk <darisk972@gmail.com>
parents:
762
diff
changeset
|
240 |
mPrivacyListManager = new PrivacyListManagerAdapter(PrivacyListManager.getInstanceFor(mAdaptee)); |
625
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
241 |
mService.resetStatus(); |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
242 |
mService.initJingle(mAdaptee); |
799
b2a796654230
Implementation of XEP-084 which loads avatar from http.
Da Risk <darisk972@gmail.com>
parents:
795
diff
changeset
|
243 |
discoverServerFeatures(); |
625
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
244 |
|
808
98d220b7fe9d
Add a way to display the avatar of a contact.
Da Risk <darisk972@gmail.com>
parents:
807
diff
changeset
|
245 |
mRoster = new RosterAdapter(mAdaptee.getRoster(), mService, mAvatarManager); |
685
bd5bddda04dd
Improve the launching of Beem when already connected.
Da Risk <darisk972@gmail.com>
parents:
666
diff
changeset
|
246 |
mApplication.setConnected(true); |
625
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
247 |
changeStatus(Status.CONTACT_STATUS_AVAILABLE, mService.getServicePreference().getString("status_text", "")); |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
248 |
return true; |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
249 |
} catch (XMPPException e) { |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
250 |
Log.e(TAG, "Error while connecting", e); |
658
baaee1877b2b
add more explicit error message during login
Nikita Kozlov <nikita@beem-project.com>
parents:
627
diff
changeset
|
251 |
mErrorMsg = mService.getString(R.string.error_login_authentication); |
625
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
252 |
return false; |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
253 |
} |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
254 |
} |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
255 |
|
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
256 |
/** |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
257 |
* {@inheritDoc} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
258 |
*/ |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
259 |
@Override |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
260 |
public final void connectAsync() throws RemoteException { |
543 | 261 |
if (mAdaptee.isConnected() || mAdaptee.isAuthenticated()) |
262 |
return; |
|
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
263 |
Thread t = new Thread(new Runnable() { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
264 |
|
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
265 |
@Override |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
266 |
public void run() { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
267 |
try { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
268 |
connectSync(); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
269 |
} catch (RemoteException e) { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
270 |
Log.e(TAG, "Error while connecting asynchronously", e); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
271 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
272 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
273 |
}); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
274 |
t.start(); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
275 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
276 |
|
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
277 |
/** |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
278 |
* {@inheritDoc} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
279 |
*/ |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
280 |
@Override |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
281 |
public boolean connectSync() throws RemoteException { |
625
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
282 |
if (connect()) |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
283 |
return login(); |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
284 |
return false; |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
285 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
286 |
|
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
287 |
/** |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
288 |
* {@inheritDoc} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
289 |
*/ |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
290 |
@Override |
524
e1a9ba4611dc
Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents:
506
diff
changeset
|
291 |
public void changeStatusAndPriority(int status, String msg, int priority) { |
e1a9ba4611dc
Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents:
506
diff
changeset
|
292 |
Presence pres = new Presence(Presence.Type.available); |
530 | 293 |
String m; |
524
e1a9ba4611dc
Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents:
506
diff
changeset
|
294 |
if (msg != null) |
530 | 295 |
m = msg; |
524
e1a9ba4611dc
Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents:
506
diff
changeset
|
296 |
else |
678
d1a599ccf879
Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents:
666
diff
changeset
|
297 |
m = mPreviousStatus; |
530 | 298 |
pres.setStatus(m); |
678
d1a599ccf879
Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents:
666
diff
changeset
|
299 |
mPreviousStatus = m; |
524
e1a9ba4611dc
Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents:
506
diff
changeset
|
300 |
Presence.Mode mode = Status.getPresenceModeFromStatus(status); |
678
d1a599ccf879
Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents:
666
diff
changeset
|
301 |
if (mode != null) { |
524
e1a9ba4611dc
Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents:
506
diff
changeset
|
302 |
pres.setMode(mode); |
678
d1a599ccf879
Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents:
666
diff
changeset
|
303 |
mPreviousMode = status; |
d1a599ccf879
Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents:
666
diff
changeset
|
304 |
} else { |
d1a599ccf879
Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents:
666
diff
changeset
|
305 |
pres.setMode(Status.getPresenceModeFromStatus(mPreviousMode)); |
d1a599ccf879
Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents:
666
diff
changeset
|
306 |
} |
530 | 307 |
int p = priority; |
600 | 308 |
if (priority < SMACK_PRIORITY_MIN) |
309 |
p = SMACK_PRIORITY_MIN; |
|
310 |
if (priority > SMACK_PRIORITY_MAX) |
|
311 |
p = SMACK_PRIORITY_MAX; |
|
530 | 312 |
mPreviousPriority = p; |
313 |
pres.setPriority(p); |
|
524
e1a9ba4611dc
Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents:
506
diff
changeset
|
314 |
mAdaptee.sendPacket(pres); |
530 | 315 |
updateNotification(m); |
524
e1a9ba4611dc
Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents:
506
diff
changeset
|
316 |
} |
682 | 317 |
|
524
e1a9ba4611dc
Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents:
506
diff
changeset
|
318 |
/** |
e1a9ba4611dc
Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents:
506
diff
changeset
|
319 |
* {@inheritDoc} |
e1a9ba4611dc
Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents:
506
diff
changeset
|
320 |
*/ |
e1a9ba4611dc
Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents:
506
diff
changeset
|
321 |
@Override |
e1a9ba4611dc
Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents:
506
diff
changeset
|
322 |
public void changeStatus(int status, String msg) { |
678
d1a599ccf879
Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents:
666
diff
changeset
|
323 |
changeStatusAndPriority(status, msg, mPreviousPriority); |
d1a599ccf879
Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents:
666
diff
changeset
|
324 |
} |
682 | 325 |
|
809 | 326 |
/** |
327 |
* Get the AvatarManager of this connection. |
|
328 |
* |
|
329 |
* @return the AvatarManager or null if there is not |
|
330 |
*/ |
|
808
98d220b7fe9d
Add a way to display the avatar of a contact.
Da Risk <darisk972@gmail.com>
parents:
807
diff
changeset
|
331 |
public AvatarManager getAvatarManager() { |
98d220b7fe9d
Add a way to display the avatar of a contact.
Da Risk <darisk972@gmail.com>
parents:
807
diff
changeset
|
332 |
return mAvatarManager; |
98d220b7fe9d
Add a way to display the avatar of a contact.
Da Risk <darisk972@gmail.com>
parents:
807
diff
changeset
|
333 |
} |
98d220b7fe9d
Add a way to display the avatar of a contact.
Da Risk <darisk972@gmail.com>
parents:
807
diff
changeset
|
334 |
|
682 | 335 |
/** |
683 | 336 |
* get the previous status. |
337 |
* @return previous status. |
|
682 | 338 |
*/ |
678
d1a599ccf879
Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents:
666
diff
changeset
|
339 |
public String getPreviousStatus() { |
d1a599ccf879
Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents:
666
diff
changeset
|
340 |
return mPreviousStatus; |
d1a599ccf879
Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents:
666
diff
changeset
|
341 |
} |
682 | 342 |
|
343 |
/** |
|
683 | 344 |
* get the previous mode. |
345 |
* @return previous mode. |
|
682 | 346 |
*/ |
678
d1a599ccf879
Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents:
666
diff
changeset
|
347 |
public int getPreviousMode() { |
d1a599ccf879
Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents:
666
diff
changeset
|
348 |
return mPreviousMode; |
524
e1a9ba4611dc
Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents:
506
diff
changeset
|
349 |
} |
e1a9ba4611dc
Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents:
506
diff
changeset
|
350 |
|
530 | 351 |
/** |
352 |
* Update the notification for the Beem status. |
|
353 |
* @param text the text to display. |
|
354 |
*/ |
|
524
e1a9ba4611dc
Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents:
506
diff
changeset
|
355 |
private void updateNotification(String text) { |
528
a77a7b4e7f34
ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
526
diff
changeset
|
356 |
Notification mStatusNotification; |
524
e1a9ba4611dc
Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents:
506
diff
changeset
|
357 |
mStatusNotification = new Notification(com.beem.project.beem.R.drawable.beem_status_icon, text, System |
e1a9ba4611dc
Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents:
506
diff
changeset
|
358 |
.currentTimeMillis()); |
e1a9ba4611dc
Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents:
506
diff
changeset
|
359 |
mStatusNotification.defaults = Notification.DEFAULT_LIGHTS; |
e1a9ba4611dc
Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents:
506
diff
changeset
|
360 |
mStatusNotification.flags = Notification.FLAG_NO_CLEAR | Notification.FLAG_ONGOING_EVENT; |
e1a9ba4611dc
Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents:
506
diff
changeset
|
361 |
|
567 | 362 |
mStatusNotification.setLatestEventInfo(mService, "Beem Status", text, PendingIntent.getActivity(mService, 0, |
363 |
new Intent(mService, ChangeStatus.class), 0)); |
|
762 | 364 |
// bypass the preferences for notification |
365 |
mService.getNotificationManager().notify(BeemService.NOTIFICATION_STATUS_ID, mStatusNotification); |
|
524
e1a9ba4611dc
Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents:
506
diff
changeset
|
366 |
} |
e1a9ba4611dc
Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents:
506
diff
changeset
|
367 |
|
e1a9ba4611dc
Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents:
506
diff
changeset
|
368 |
/** |
e1a9ba4611dc
Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents:
506
diff
changeset
|
369 |
* {@inheritDoc} |
e1a9ba4611dc
Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents:
506
diff
changeset
|
370 |
*/ |
e1a9ba4611dc
Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents:
506
diff
changeset
|
371 |
@Override |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
372 |
public boolean disconnect() { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
373 |
if (mAdaptee != null && mAdaptee.isConnected()) |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
374 |
mAdaptee.disconnect(); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
375 |
return true; |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
376 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
377 |
|
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
378 |
/** |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
379 |
* Get the Smack XmppConnection. |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
380 |
* @return Smack XmppConnection |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
381 |
*/ |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
382 |
public XMPPConnection getAdaptee() { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
383 |
return mAdaptee; |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
384 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
385 |
|
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
386 |
/** |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
387 |
* {@inheritDoc} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
388 |
*/ |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
389 |
@Override |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
390 |
public IChatManager getChatManager() throws RemoteException { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
391 |
return mChatManager; |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
392 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
393 |
|
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
394 |
/** |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
395 |
* {@inheritDoc} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
396 |
*/ |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
397 |
@Override |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
398 |
public IRoster getRoster() throws RemoteException { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
399 |
if (mRoster != null) |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
400 |
return mRoster; |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
401 |
Roster adap = mAdaptee.getRoster(); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
402 |
if (adap == null) |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
403 |
return null; |
808
98d220b7fe9d
Add a way to display the avatar of a contact.
Da Risk <darisk972@gmail.com>
parents:
807
diff
changeset
|
404 |
mRoster = new RosterAdapter(adap, mService, mAvatarManager); |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
405 |
return mRoster; |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
406 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
407 |
|
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
408 |
|
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
409 |
/** |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
410 |
* Returns true if currently authenticated by successfully calling the login method. |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
411 |
* @return true when successfully authenticated |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
412 |
*/ |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
413 |
public boolean isAuthentificated() { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
414 |
return mAdaptee.isAuthenticated(); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
415 |
} |
262 | 416 |
|
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
417 |
/** |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
418 |
* {@inheritDoc} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
419 |
*/ |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
420 |
@Override |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
421 |
public void removeConnectionListener(IBeemConnectionListener listen) throws RemoteException { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
422 |
if (listen != null) |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
423 |
mRemoteConnListeners.unregister(listen); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
424 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
425 |
|
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
426 |
/** |
518
6b8089c9b834
Creation de l'activite PrivacyList et d'une interface PrivacyListListener ainsi que son implementation.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
506
diff
changeset
|
427 |
* PrivacyListManagerAdapter mutator. |
567 | 428 |
* @param privacyListManager the privacy list manager |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
429 |
*/ |
518
6b8089c9b834
Creation de l'activite PrivacyList et d'une interface PrivacyListListener ainsi que son implementation.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
506
diff
changeset
|
430 |
public void setPrivacyListManager(PrivacyListManagerAdapter privacyListManager) { |
6b8089c9b834
Creation de l'activite PrivacyList et d'une interface PrivacyListListener ainsi que son implementation.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
506
diff
changeset
|
431 |
this.mPrivacyListManager = privacyListManager; |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
432 |
} |
269 | 433 |
|
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
434 |
/** |
518
6b8089c9b834
Creation de l'activite PrivacyList et d'une interface PrivacyListListener ainsi que son implementation.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
506
diff
changeset
|
435 |
* PrivacyListManagerAdapter accessor. |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
436 |
* @return the mPrivacyList |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
437 |
*/ |
518
6b8089c9b834
Creation de l'activite PrivacyList et d'une interface PrivacyListListener ainsi que son implementation.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
506
diff
changeset
|
438 |
public PrivacyListManagerAdapter getPrivacyListManager() { |
6b8089c9b834
Creation de l'activite PrivacyList et d'une interface PrivacyListListener ainsi que son implementation.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
506
diff
changeset
|
439 |
return mPrivacyListManager; |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
440 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
441 |
|
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
442 |
/** |
545
0de3d7f3fa81
Debut du nouvel activite de Login.
Da Risk <darisk972@gmail.com>
parents:
543
diff
changeset
|
443 |
* {@inheritDoc} |
0de3d7f3fa81
Debut du nouvel activite de Login.
Da Risk <darisk972@gmail.com>
parents:
543
diff
changeset
|
444 |
*/ |
0de3d7f3fa81
Debut du nouvel activite de Login.
Da Risk <darisk972@gmail.com>
parents:
543
diff
changeset
|
445 |
@Override |
0de3d7f3fa81
Debut du nouvel activite de Login.
Da Risk <darisk972@gmail.com>
parents:
543
diff
changeset
|
446 |
public String getErrorMessage() { |
0de3d7f3fa81
Debut du nouvel activite de Login.
Da Risk <darisk972@gmail.com>
parents:
543
diff
changeset
|
447 |
return mErrorMsg; |
0de3d7f3fa81
Debut du nouvel activite de Login.
Da Risk <darisk972@gmail.com>
parents:
543
diff
changeset
|
448 |
} |
0de3d7f3fa81
Debut du nouvel activite de Login.
Da Risk <darisk972@gmail.com>
parents:
543
diff
changeset
|
449 |
|
802 | 450 |
/** |
451 |
* Initialize the features provided by beem. |
|
452 |
*/ |
|
453 |
private void initFeatures() { |
|
454 |
ServiceDiscoveryManager.setIdentityName("Beem"); |
|
455 |
ServiceDiscoveryManager.setIdentityType("phone"); |
|
456 |
ServiceDiscoveryManager sdm = ServiceDiscoveryManager.getInstanceFor(mAdaptee); |
|
457 |
if (sdm == null) |
|
458 |
sdm = new ServiceDiscoveryManager(mAdaptee); |
|
459 |
||
460 |
sdm.addFeature("http://jabber.org/protocol/disco#info"); |
|
461 |
sdm.addFeature("jabber:iq:privacy"); |
|
462 |
sdm.addFeature("http://jabber.org/protocol/caps"); |
|
463 |
sdm.addFeature("urn:xmpp:avatar:metadata"); |
|
464 |
sdm.addFeature("urn:xmpp:avatar:metadata+notify"); |
|
465 |
sdm.addFeature("urn:xmpp:avatar:data"); |
|
466 |
sdm.addFeature("http://jabber.org/protocol/nick"); |
|
467 |
sdm.addFeature("http://jabber.org/protocol/nick+notify"); |
|
468 |
||
469 |
mChatStateManager = ChatStateManager.getInstance(mAdaptee); |
|
470 |
BeemCapsManager caps = new BeemCapsManager(sdm, mAdaptee, mService); |
|
471 |
caps.setNode("http://www.beem-project.com"); |
|
472 |
} |
|
473 |
||
474 |
/** |
|
475 |
* Discover the features provided by the server. |
|
476 |
*/ |
|
477 |
private void discoverServerFeatures() { |
|
478 |
try { |
|
479 |
// jid et server |
|
480 |
ServiceDiscoveryManager sdm = ServiceDiscoveryManager.getInstanceFor(mAdaptee); |
|
481 |
DiscoverInfo info = sdm.discoverInfo("elyzion.net"); |
|
482 |
Iterator<DiscoverInfo.Identity> it = info.getIdentities(); |
|
483 |
while (it.hasNext()) { |
|
484 |
DiscoverInfo.Identity identity = it.next(); |
|
485 |
if ("pubsub".equals(identity.getCategory()) && "pep".equals(identity.getType())) { |
|
486 |
initPEP(); |
|
487 |
} |
|
488 |
} |
|
489 |
} catch (XMPPException e) { |
|
490 |
// No Pep |
|
491 |
} |
|
492 |
} |
|
493 |
||
494 |
/** |
|
495 |
* Initialize PEP. |
|
496 |
*/ |
|
799
b2a796654230
Implementation of XEP-084 which loads avatar from http.
Da Risk <darisk972@gmail.com>
parents:
795
diff
changeset
|
497 |
private void initPEP() { |
802 | 498 |
// Enable pep sending |
499 |
// API 8 |
|
500 |
// mService.getExternalCacheDir() |
|
808
98d220b7fe9d
Add a way to display the avatar of a contact.
Da Risk <darisk972@gmail.com>
parents:
807
diff
changeset
|
501 |
mPepManager = new PepSubManager(mAdaptee); |
802 | 502 |
File cacheDir = Environment.getExternalStorageDirectory(); |
503 |
cacheDir = new File(cacheDir, "/Android/data/com.beem.project.beem/cache/"); |
|
504 |
AvatarCache avatarCache = new FileAvatarCache(cacheDir); |
|
808
98d220b7fe9d
Add a way to display the avatar of a contact.
Da Risk <darisk972@gmail.com>
parents:
807
diff
changeset
|
505 |
mAvatarManager = new AvatarManager(mAdaptee, mPepManager, avatarCache, true); |
799
b2a796654230
Implementation of XEP-084 which loads avatar from http.
Da Risk <darisk972@gmail.com>
parents:
795
diff
changeset
|
506 |
} |
b2a796654230
Implementation of XEP-084 which loads avatar from http.
Da Risk <darisk972@gmail.com>
parents:
795
diff
changeset
|
507 |
|
545
0de3d7f3fa81
Debut du nouvel activite de Login.
Da Risk <darisk972@gmail.com>
parents:
543
diff
changeset
|
508 |
/** |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
509 |
* Listener for XMPP connection events. It will calls the remote listeners for connection events. |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
510 |
* @author darisk |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
511 |
*/ |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
512 |
private class ConnexionListenerAdapter implements ConnectionListener { |
31
85faac00d92c
Asynchronous service almost perfect.
Da Risk <darisk972@gmail.com>
parents:
30
diff
changeset
|
513 |
|
38
3e76846c48a9
We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents:
36
diff
changeset
|
514 |
/** |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
515 |
* Defaut constructor. |
38
3e76846c48a9
We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents:
36
diff
changeset
|
516 |
*/ |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
517 |
public ConnexionListenerAdapter() { |
38
3e76846c48a9
We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents:
36
diff
changeset
|
518 |
} |
3e76846c48a9
We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents:
36
diff
changeset
|
519 |
|
3e76846c48a9
We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents:
36
diff
changeset
|
520 |
/** |
3e76846c48a9
We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents:
36
diff
changeset
|
521 |
* {@inheritDoc} |
3e76846c48a9
We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents:
36
diff
changeset
|
522 |
*/ |
31
85faac00d92c
Asynchronous service almost perfect.
Da Risk <darisk972@gmail.com>
parents:
30
diff
changeset
|
523 |
@Override |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
524 |
public void connectionClosed() { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
525 |
Log.d(TAG, "closing connection"); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
526 |
mRoster = null; |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
527 |
Intent intent = new Intent(BeemBroadcastReceiver.BEEM_CONNECTION_CLOSED); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
528 |
intent.putExtra("message", mService.getString(R.string.BeemBroadcastReceiverDisconnect)); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
529 |
intent.putExtra("normally", true); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
530 |
mService.sendBroadcast(intent); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
531 |
mService.stopSelf(); |
685
bd5bddda04dd
Improve the launching of Beem when already connected.
Da Risk <darisk972@gmail.com>
parents:
666
diff
changeset
|
532 |
mApplication.setConnected(false); |
31
85faac00d92c
Asynchronous service almost perfect.
Da Risk <darisk972@gmail.com>
parents:
30
diff
changeset
|
533 |
} |
85faac00d92c
Asynchronous service almost perfect.
Da Risk <darisk972@gmail.com>
parents:
30
diff
changeset
|
534 |
|
38
3e76846c48a9
We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents:
36
diff
changeset
|
535 |
/** |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
536 |
* {@inheritDoc} |
38
3e76846c48a9
We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents:
36
diff
changeset
|
537 |
*/ |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
538 |
@Override |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
539 |
public void connectionClosedOnError(Exception exception) { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
540 |
Log.d(TAG, "connectionClosedOnError"); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
541 |
mRoster = null; |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
542 |
Intent intent = new Intent(BeemBroadcastReceiver.BEEM_CONNECTION_CLOSED); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
543 |
intent.putExtra("message", exception.getMessage()); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
544 |
mService.sendBroadcast(intent); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
545 |
mService.stopSelf(); |
685
bd5bddda04dd
Improve the launching of Beem when already connected.
Da Risk <darisk972@gmail.com>
parents:
666
diff
changeset
|
546 |
mApplication.setConnected(false); |
31
85faac00d92c
Asynchronous service almost perfect.
Da Risk <darisk972@gmail.com>
parents:
30
diff
changeset
|
547 |
} |
85faac00d92c
Asynchronous service almost perfect.
Da Risk <darisk972@gmail.com>
parents:
30
diff
changeset
|
548 |
|
402
4684a42ae0ad
pas mal de cleannance et aussi du debug sur les decos
Nikita Kozlov <nikita@beem-project.com>
parents:
396
diff
changeset
|
549 |
/** |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
550 |
* Connection failed callback. |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
551 |
* @param errorMsg smack failure message |
402
4684a42ae0ad
pas mal de cleannance et aussi du debug sur les decos
Nikita Kozlov <nikita@beem-project.com>
parents:
396
diff
changeset
|
552 |
*/ |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
553 |
public void connectionFailed(String errorMsg) { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
554 |
Log.d(TAG, "Connection Failed"); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
555 |
final int n = mRemoteConnListeners.beginBroadcast(); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
556 |
|
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
557 |
for (int i = 0; i < n; i++) { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
558 |
IBeemConnectionListener listener = mRemoteConnListeners.getBroadcastItem(i); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
559 |
try { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
560 |
if (listener != null) |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
561 |
listener.connectionFailed(errorMsg); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
562 |
} catch (RemoteException e) { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
563 |
// The RemoteCallbackList will take care of removing the |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
564 |
// dead listeners. |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
565 |
Log.w(TAG, "Error while triggering remote connection listeners", e); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
566 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
567 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
568 |
mRemoteConnListeners.finishBroadcast(); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
569 |
mService.stopSelf(); |
685
bd5bddda04dd
Improve the launching of Beem when already connected.
Da Risk <darisk972@gmail.com>
parents:
666
diff
changeset
|
570 |
mApplication.setConnected(false); |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
571 |
} |
212 | 572 |
|
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
573 |
/** |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
574 |
* {@inheritDoc} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
575 |
*/ |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
576 |
@Override |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
577 |
public void reconnectingIn(int arg0) { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
578 |
Log.d(TAG, "reconnectingIn"); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
579 |
final int n = mRemoteConnListeners.beginBroadcast(); |
31
85faac00d92c
Asynchronous service almost perfect.
Da Risk <darisk972@gmail.com>
parents:
30
diff
changeset
|
580 |
|
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
581 |
for (int i = 0; i < n; i++) { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
582 |
IBeemConnectionListener listener = mRemoteConnListeners.getBroadcastItem(i); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
583 |
try { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
584 |
if (listener != null) |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
585 |
listener.reconnectingIn(arg0); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
586 |
} catch (RemoteException e) { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
587 |
// The RemoteCallbackList will take care of removing the |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
588 |
// dead listeners. |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
589 |
Log.w(TAG, "Error while triggering remote connection listeners", e); |
31
85faac00d92c
Asynchronous service almost perfect.
Da Risk <darisk972@gmail.com>
parents:
30
diff
changeset
|
590 |
} |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
591 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
592 |
mRemoteConnListeners.finishBroadcast(); |
31
85faac00d92c
Asynchronous service almost perfect.
Da Risk <darisk972@gmail.com>
parents:
30
diff
changeset
|
593 |
} |
85faac00d92c
Asynchronous service almost perfect.
Da Risk <darisk972@gmail.com>
parents:
30
diff
changeset
|
594 |
|
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
595 |
/** |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
596 |
* {@inheritDoc} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
597 |
*/ |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
598 |
@Override |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
599 |
public void reconnectionFailed(Exception arg0) { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
600 |
Log.d(TAG, "reconnectionFailed"); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
601 |
final int r = mRemoteConnListeners.beginBroadcast(); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
602 |
|
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
603 |
for (int i = 0; i < r; i++) { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
604 |
IBeemConnectionListener listener = mRemoteConnListeners.getBroadcastItem(i); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
605 |
try { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
606 |
if (listener != null) |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
607 |
listener.reconnectionFailed(); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
608 |
} catch (RemoteException e) { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
609 |
// The RemoteCallbackList will take care of removing the |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
610 |
// dead listeners. |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
611 |
Log.w(TAG, "Error while triggering remote connection listeners", e); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
612 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
613 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
614 |
mRemoteConnListeners.finishBroadcast(); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
615 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
616 |
|
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
617 |
/** |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
618 |
* {@inheritDoc} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
619 |
*/ |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
620 |
@Override |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
621 |
public void reconnectionSuccessful() { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
622 |
Log.d(TAG, "reconnectionSuccessful"); |
685
bd5bddda04dd
Improve the launching of Beem when already connected.
Da Risk <darisk972@gmail.com>
parents:
666
diff
changeset
|
623 |
mApplication.setConnected(true); |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
624 |
PacketFilter filter = new PacketFilter() { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
625 |
|
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
626 |
@Override |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
627 |
public boolean accept(Packet packet) { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
628 |
if (packet instanceof Presence) { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
629 |
Presence pres = (Presence) packet; |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
630 |
if (pres.getType() == Presence.Type.subscribe) |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
631 |
return true; |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
632 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
633 |
return false; |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
634 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
635 |
}; |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
636 |
|
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
637 |
mAdaptee.addPacketListener(new PacketListener() { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
638 |
|
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
639 |
@Override |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
640 |
public void processPacket(Packet packet) { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
641 |
String from = packet.getFrom(); |
567 | 642 |
Notification notif = new Notification(android.R.drawable.stat_notify_more, mService.getString( |
643 |
R.string.AcceptContactRequest, from), System.currentTimeMillis()); |
|
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
644 |
notif.flags = Notification.FLAG_AUTO_CANCEL; |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
645 |
Intent intent = new Intent(mService, Subscription.class); |
740
a91db9ddc46f
Fixes a little bug in contactlist activity.
Da Risk <darisk972@gmail.com>
parents:
708
diff
changeset
|
646 |
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) |
a91db9ddc46f
Fixes a little bug in contactlist activity.
Da Risk <darisk972@gmail.com>
parents:
708
diff
changeset
|
647 |
.putExtra("from", from); |
567 | 648 |
notif.setLatestEventInfo(mService, from, mService |
649 |
.getString(R.string.AcceptContactRequestFrom, from), PendingIntent.getActivity(mService, 0, |
|
600 | 650 |
intent, PendingIntent.FLAG_ONE_SHOT)); |
503
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
651 |
int id = packet.hashCode(); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
652 |
mService.sendNotification(id, notif); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
653 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
654 |
}, filter); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
655 |
|
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
656 |
final int n = mRemoteConnListeners.beginBroadcast(); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
657 |
|
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
658 |
for (int i = 0; i < n; i++) { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
659 |
IBeemConnectionListener listener = mRemoteConnListeners.getBroadcastItem(i); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
660 |
try { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
661 |
if (listener != null) |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
662 |
listener.reconnectionSuccessful(); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
663 |
} catch (RemoteException e) { |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
664 |
// The RemoteCallbackList will take care of removing the |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
665 |
// dead listeners. |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
666 |
Log.w(TAG, "Error while triggering remote connection listeners", e); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
667 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
668 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
669 |
mRemoteConnListeners.finishBroadcast(); |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
670 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
671 |
} |
93e5d2d9953f
Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents:
502
diff
changeset
|
672 |
|
625
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
673 |
/** |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
674 |
* This PacketListener will set a notification when you got a subscribtion request. |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
675 |
* @author Da Risk <da_risk@elyzion.net> |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
676 |
*/ |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
677 |
private class SubscribePacketListener implements PacketListener { |
627 | 678 |
|
679 |
/** |
|
680 |
* Constructor. |
|
681 |
*/ |
|
682 |
public SubscribePacketListener() { |
|
683 |
} |
|
684 |
||
625
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
685 |
@Override |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
686 |
public void processPacket(Packet packet) { |
627 | 687 |
if (!(packet instanceof Presence)) |
625
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
688 |
return; |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
689 |
Presence p = (Presence) packet; |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
690 |
if (p.getType() != Presence.Type.subscribe) |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
691 |
return; |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
692 |
String from = p.getFrom(); |
708
915b3dde9851
adding notification preference for invite notifications
Nikita Kozlov <nikita@beem-project.com>
parents:
704
diff
changeset
|
693 |
Notification notification = new Notification(android.R.drawable.stat_notify_more, mService.getString( |
625
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
694 |
R.string.AcceptContactRequest, from), System.currentTimeMillis()); |
708
915b3dde9851
adding notification preference for invite notifications
Nikita Kozlov <nikita@beem-project.com>
parents:
704
diff
changeset
|
695 |
notification.flags = Notification.FLAG_AUTO_CANCEL; |
625
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
696 |
Intent intent = new Intent(mService, Subscription.class); |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
697 |
intent.putExtra("from", from); |
708
915b3dde9851
adding notification preference for invite notifications
Nikita Kozlov <nikita@beem-project.com>
parents:
704
diff
changeset
|
698 |
notification.setLatestEventInfo(mService, from, mService |
625
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
699 |
.getString(R.string.AcceptContactRequestFrom, from), PendingIntent.getActivity(mService, 0, |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
700 |
intent, PendingIntent.FLAG_ONE_SHOT)); |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
701 |
int id = p.hashCode(); |
708
915b3dde9851
adding notification preference for invite notifications
Nikita Kozlov <nikita@beem-project.com>
parents:
704
diff
changeset
|
702 |
mService.sendNotification(id, notification); |
625
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
703 |
} |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
704 |
} |
fd6d31c4460e
Create an extern AsyncTask for the Login.
Da Risk <darisk972@gmail.com>
parents:
600
diff
changeset
|
705 |
|
29
a49d1556772c
Starting work on the Service interface.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
706 |
} |