author | Nikita Kozlov <nikita@elyzion.net> |
Sun, 06 Nov 2011 21:22:00 +0100 | |
changeset 918 | 80d2be82fa84 |
parent 917 | f7cfc4a68225 |
child 920 | 68372d462902 |
permissions | -rw-r--r-- |
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 |
||
872 | 43 |
*/ |
17 | 44 |
package com.beem.project.beem; |
45 |
||
873
cdf001e43dce
Multi Account on the beem service OK but doesnt connect
"Vincent Veronis"
parents:
872
diff
changeset
|
46 |
import java.util.HashMap; |
cdf001e43dce
Multi Account on the beem service OK but doesnt connect
"Vincent Veronis"
parents:
872
diff
changeset
|
47 |
import java.util.Map; |
872 | 48 |
|
94
904759c1bd62
Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents:
83
diff
changeset
|
49 |
import org.jivesoftware.smack.Roster; |
905
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
50 |
import org.jivesoftware.smack.Roster.SubscriptionMode; |
381
166db9c93335
Bundle pour debug avec nikita.
Vincent Veronis <veroni_v@epitech.net>
parents:
377
diff
changeset
|
51 |
import org.jivesoftware.smack.XMPPConnection; |
528
a77a7b4e7f34
ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents:
526
diff
changeset
|
52 |
import org.jivesoftware.smack.provider.ProviderManager; |
872 | 53 |
import org.jivesoftware.smackx.packet.ChatStateExtension; |
772 | 54 |
import org.jivesoftware.smackx.provider.DelayInfoProvider; |
793
4fb9df09ffdf
#286 : Initial implementation of XEP-0115 : Entity Capabilities
Da Risk <darisk972@gmail.com>
parents:
774
diff
changeset
|
55 |
import org.jivesoftware.smackx.provider.DiscoverInfoProvider; |
4fb9df09ffdf
#286 : Initial implementation of XEP-0115 : Entity Capabilities
Da Risk <darisk972@gmail.com>
parents:
774
diff
changeset
|
56 |
import org.jivesoftware.smackx.provider.DiscoverItemsProvider; |
872 | 57 |
import org.jivesoftware.smackx.pubsub.provider.EventProvider; |
58 |
import org.jivesoftware.smackx.pubsub.provider.ItemProvider; |
|
59 |
import org.jivesoftware.smackx.pubsub.provider.ItemsProvider; |
|
799
b2a796654230
Implementation of XEP-084 which loads avatar from http.
Da Risk <darisk972@gmail.com>
parents:
793
diff
changeset
|
60 |
import org.jivesoftware.smackx.pubsub.provider.PubSubProvider; |
239
65369afd96d3
Rajout de Log dans le beem service pour les reconnections etc.
marseille@marseille-desktop
parents:
236
diff
changeset
|
61 |
|
17 | 62 |
import android.app.Notification; |
63 |
import android.app.Service; |
|
679
47cd386089b3
use the settings_away_chk pref at startup, i need to add a listener for runtime now
nikita@nikita-laptop
parents:
678
diff
changeset
|
64 |
import android.content.BroadcastReceiver; |
918
80d2be82fa84
Update request in contactlist.ui
Nikita Kozlov <nikita@elyzion.net>
parents:
917
diff
changeset
|
65 |
import android.content.ContentValues; |
678
d1a599ccf879
Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents:
671
diff
changeset
|
66 |
import android.content.Context; |
17 | 67 |
import android.content.Intent; |
607
52e24c3386f3
SDK target set to 6 since google have said that 2.0 will be totaly replaced the 1st 2010
Nikita Kozlov <nikita@mbdsys.com>
parents:
594
diff
changeset
|
68 |
import android.content.IntentFilter; |
19
213b84d2e743
Improve the service. It connect with a xmpp server running on the
Da Risk <darisk972@gmail.com>
parents:
18
diff
changeset
|
69 |
import android.content.SharedPreferences; |
377
5f60caa9f85c
deplacement de l'eventListener cote service
Nikita Kozlov <nikita@beem-project.com>
parents:
375
diff
changeset
|
70 |
import android.content.SharedPreferences.Editor; |
918
80d2be82fa84
Update request in contactlist.ui
Nikita Kozlov <nikita@elyzion.net>
parents:
917
diff
changeset
|
71 |
import android.database.ContentObserver; |
80d2be82fa84
Update request in contactlist.ui
Nikita Kozlov <nikita@elyzion.net>
parents:
917
diff
changeset
|
72 |
import android.database.Cursor; |
607
52e24c3386f3
SDK target set to 6 since google have said that 2.0 will be totaly replaced the 1st 2010
Nikita Kozlov <nikita@mbdsys.com>
parents:
594
diff
changeset
|
73 |
import android.net.ConnectivityManager; |
897
07de7eb304b6
New Concept service from da_risk but not up to date.
"Vincent Veronis"
parents:
896
diff
changeset
|
74 |
import android.os.Bundle; |
07de7eb304b6
New Concept service from da_risk but not up to date.
"Vincent Veronis"
parents:
896
diff
changeset
|
75 |
import android.os.Handler; |
07de7eb304b6
New Concept service from da_risk but not up to date.
"Vincent Veronis"
parents:
896
diff
changeset
|
76 |
import android.os.HandlerThread; |
17 | 77 |
import android.os.IBinder; |
897
07de7eb304b6
New Concept service from da_risk but not up to date.
"Vincent Veronis"
parents:
896
diff
changeset
|
78 |
import android.os.Looper; |
07de7eb304b6
New Concept service from da_risk but not up to date.
"Vincent Veronis"
parents:
896
diff
changeset
|
79 |
import android.os.Message; |
18 | 80 |
import android.os.RemoteException; |
918
80d2be82fa84
Update request in contactlist.ui
Nikita Kozlov <nikita@elyzion.net>
parents:
917
diff
changeset
|
81 |
import android.provider.ContactsContract; |
80d2be82fa84
Update request in contactlist.ui
Nikita Kozlov <nikita@elyzion.net>
parents:
917
diff
changeset
|
82 |
import android.provider.ContactsContract.RawContacts; |
94
904759c1bd62
Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents:
83
diff
changeset
|
83 |
import android.util.Log; |
904759c1bd62
Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents:
83
diff
changeset
|
84 |
|
67
8c3870db8e31
Rename some XMPP* classes in Xmpp*
Da Risk <darisk972@gmail.com>
parents:
55
diff
changeset
|
85 |
import com.beem.project.beem.service.XmppConnectionAdapter; |
802 | 86 |
import com.beem.project.beem.smack.avatar.AvatarMetadataProvider; |
803
8a3a48e85b63
add an Xmpp Avatar Retriever and a HttpClient avatar retriever.
Da Risk <darisk972@gmail.com>
parents:
802
diff
changeset
|
87 |
import com.beem.project.beem.smack.avatar.AvatarProvider; |
793
4fb9df09ffdf
#286 : Initial implementation of XEP-0115 : Entity Capabilities
Da Risk <darisk972@gmail.com>
parents:
774
diff
changeset
|
88 |
import com.beem.project.beem.smack.caps.CapsProvider; |
909 | 89 |
import com.beem.project.beem.ui.BeemNotification; |
872 | 90 |
import com.beem.project.beem.utils.BeemBroadcastReceiver; |
91 |
import com.beem.project.beem.utils.BeemConnectivity; |
|
92 |
import com.beem.project.beem.utils.Status; |
|
72
cdedc3a25d39
Show a progress dialog during connection with the server
Da Risk <darisk972@gmail.com>
parents:
67
diff
changeset
|
93 |
|
17 | 94 |
/** |
872 | 95 |
* This class is for the Beem service. It must contains every global informations needed to maintain the background |
96 |
* service. The connection to the xmpp server will be made asynchronously when the service will start. |
|
17 | 97 |
* @author darisk |
98 |
*/ |
|
99 |
public class BeemService extends Service { |
|
100 |
||
905
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
101 |
/** The id to use for status notification. */ |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
102 |
public static final int NOTIFICATION_STATUS_ID = 100; |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
103 |
|
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
104 |
private static final String TAG = "BeemService"; |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
105 |
private static final int MESSAGE_CONNECT = 0x1; |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
106 |
private static final int MESSAGE_DISCONNECT = 0x2; |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
107 |
private static final int MESSAGE_SEND_MSG = 0x3; |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
108 |
private static final int MESSAGE_SYNC = 0x4; |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
109 |
|
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
110 |
private Map<String, XmppConnectionAdapter> mConnection = new HashMap<String, XmppConnectionAdapter>(); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
111 |
private Map<String, BeemConnection> mBeemConnection = new HashMap<String, BeemConnection>(); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
112 |
|
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
113 |
private boolean mOnOffReceiverIsRegistered; |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
114 |
private Handler mHandler; |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
115 |
private Looper mServiceLooper; |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
116 |
private BeemBroadcastReceiver mReceiver = new BeemBroadcastReceiver(); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
117 |
private BeemServicePreferenceListener mPreferenceListener = new BeemServicePreferenceListener(); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
118 |
private BeemServiceBroadcastReceiver mOnOffReceiver = new BeemServiceBroadcastReceiver(); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
119 |
|
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
120 |
/** |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
121 |
* Constructor. |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
122 |
*/ |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
123 |
public BeemService() { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
124 |
} |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
125 |
|
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
126 |
@Override |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
127 |
public int onStartCommand(Intent intent, int flags, int startId) { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
128 |
if (intent != null) { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
129 |
handleIntent(intent); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
130 |
} |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
131 |
return Service.START_STICKY; |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
132 |
} |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
133 |
|
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
134 |
/** |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
135 |
* {@inheritDoc} |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
136 |
*/ |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
137 |
@Override |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
138 |
public IBinder onBind(Intent intent) { |
906 | 139 |
return null; |
905
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
140 |
} |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
141 |
|
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
142 |
@Override |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
143 |
public boolean onUnbind(Intent intent) { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
144 |
Log.d(TAG, "ONUNBIND()"); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
145 |
boolean isConnected = true; |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
146 |
for (XmppConnectionAdapter connection : mConnection.values()) { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
147 |
if (!connection.getAdaptee().isConnected()) |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
148 |
isConnected = false; |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
149 |
} |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
150 |
if (!isConnected) { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
151 |
this.stopSelf(); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
152 |
} |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
153 |
return true; |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
154 |
} |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
155 |
|
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
156 |
/** |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
157 |
* {@inheritDoc} |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
158 |
*/ |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
159 |
@Override |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
160 |
public void onCreate() { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
161 |
super.onCreate(); |
907 | 162 |
Log.d(TAG, "ONCREATE"); |
905
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
163 |
HandlerThread thread = new HandlerThread("BeemServiceThread"); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
164 |
thread.start(); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
165 |
mServiceLooper = thread.getLooper(); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
166 |
mHandler = new BeemServiceHandler(mServiceLooper); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
167 |
registerReceiver(mReceiver, new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION)); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
168 |
configure(ProviderManager.getInstance()); |
909 | 169 |
BeemNotification.BindNotification(this); |
905
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
170 |
Roster.setDefaultSubscriptionMode(SubscriptionMode.manual); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
171 |
} |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
172 |
|
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
173 |
/** |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
174 |
* {@inheritDoc} |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
175 |
*/ |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
176 |
@Override |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
177 |
public void onDestroy() { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
178 |
super.onDestroy(); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
179 |
unregisterReceiver(mReceiver); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
180 |
|
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
181 |
if (mOnOffReceiverIsRegistered) |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
182 |
unregisterReceiver(mOnOffReceiver); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
183 |
for (XmppConnectionAdapter connection : mConnection.values()) { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
184 |
if (connection.isAuthentificated() && BeemConnectivity.isConnected(this)) |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
185 |
connection.disconnect(); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
186 |
} |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
187 |
Log.d(TAG, "ONDESTROY"); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
188 |
} |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
189 |
|
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
190 |
public XmppConnectionAdapter getConnection(String accountName) { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
191 |
return mConnection.get(accountName); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
192 |
} |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
193 |
|
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
194 |
/** |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
195 |
* Show a notification using the preference of the user. |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
196 |
* @param id the id of the notification. |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
197 |
* @param notif the notification to show |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
198 |
*/ |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
199 |
public void sendNotification(int id, Notification notif) { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
200 |
// if (mSettings.getBoolean(BeemApplication.NOTIFICATION_VIBRATE_KEY, true)) |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
201 |
// notif.defaults |= Notification.DEFAULT_VIBRATE; |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
202 |
// notif.defaults |= Notification.DEFAULT_LIGHTS; |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
203 |
// String ringtoneStr = mSettings.getString(BeemApplication.NOTIFICATION_SOUND_KEY, ""); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
204 |
// notif.sound = Uri.parse(ringtoneStr); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
205 |
// mNotificationManager.notify(id, notif); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
206 |
} |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
207 |
|
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
208 |
/** |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
209 |
* Reset the status to online after a disconnect. |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
210 |
*/ |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
211 |
public void resetStatus() { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
212 |
for (BeemConnection beemco : mBeemConnection.values()) { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
213 |
Editor edit = beemco.getSettings().edit(); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
214 |
edit.putInt(BeemApplication.STATUS_KEY, 1); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
215 |
edit.commit(); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
216 |
} |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
217 |
|
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
218 |
} |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
219 |
|
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
220 |
/** |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
221 |
* Initialize Jingle from an XmppConnectionAdapter. |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
222 |
* @param adaptee XmppConnection used for jingle. |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
223 |
*/ |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
224 |
public void initJingle(XMPPConnection adaptee) { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
225 |
} |
419
88e1a96ee8da
Retrait des notifications quand on ouvre le chat d'une personne qui vient
Da Risk <darisk972@gmail.com>
parents:
412
diff
changeset
|
226 |
|
905
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
227 |
/** |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
228 |
* Get the preference of the service. |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
229 |
* @return the preference |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
230 |
*/ |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
231 |
public SharedPreferences getServicePreference(String accountName) { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
232 |
Log.e(TAG, "Account name:" + accountName); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
233 |
return mBeemConnection.get(accountName).getSettings(); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
234 |
} |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
235 |
|
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
236 |
/** |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
237 |
* A sort of patch from this thread: http://www.igniterealtime.org/community/thread/31118. Avoid ClassCastException |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
238 |
* by bypassing the classloading shit of Smack. |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
239 |
* @param pm The ProviderManager. |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
240 |
*/ |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
241 |
private void configure(ProviderManager pm) { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
242 |
Log.d(TAG, "configure"); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
243 |
// Service Discovery # Items |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
244 |
pm.addIQProvider("query", "http://jabber.org/protocol/disco#items", new DiscoverItemsProvider()); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
245 |
// Service Discovery # Info |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
246 |
pm.addIQProvider("query", "http://jabber.org/protocol/disco#info", new DiscoverInfoProvider()); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
247 |
|
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
248 |
// Privacy |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
249 |
//pm.addIQProvider("query", "jabber:iq:privacy", new PrivacyProvider()); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
250 |
// Delayed Delivery only the new version |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
251 |
pm.addExtensionProvider("delay", "urn:xmpp:delay", new DelayInfoProvider()); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
252 |
|
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
253 |
// Service Discovery # Items |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
254 |
pm.addIQProvider("query", "http://jabber.org/protocol/disco#items", new DiscoverItemsProvider()); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
255 |
// Service Discovery # Info |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
256 |
pm.addIQProvider("query", "http://jabber.org/protocol/disco#info", new DiscoverInfoProvider()); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
257 |
|
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
258 |
// Chat State |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
259 |
ChatStateExtension.Provider chatState = new ChatStateExtension.Provider(); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
260 |
pm.addExtensionProvider("active", "http://jabber.org/protocol/chatstates", chatState); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
261 |
pm.addExtensionProvider("composing", "http://jabber.org/protocol/chatstates", chatState); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
262 |
pm.addExtensionProvider("paused", "http://jabber.org/protocol/chatstates", chatState); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
263 |
pm.addExtensionProvider("inactive", "http://jabber.org/protocol/chatstates", chatState); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
264 |
pm.addExtensionProvider("gone", "http://jabber.org/protocol/chatstates", chatState); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
265 |
// capabilities |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
266 |
pm.addExtensionProvider("c", "http://jabber.org/protocol/caps", new CapsProvider()); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
267 |
//Pubsub |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
268 |
pm.addIQProvider("pubsub", "http://jabber.org/protocol/pubsub", new PubSubProvider()); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
269 |
pm.addExtensionProvider("items", "http://jabber.org/protocol/pubsub", new ItemsProvider()); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
270 |
pm.addExtensionProvider("items", "http://jabber.org/protocol/pubsub", new ItemsProvider()); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
271 |
pm.addExtensionProvider("item", "http://jabber.org/protocol/pubsub", new ItemProvider()); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
272 |
|
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
273 |
pm.addExtensionProvider("items", "http://jabber.org/protocol/pubsub#event", new ItemsProvider()); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
274 |
pm.addExtensionProvider("item", "http://jabber.org/protocol/pubsub#event", new ItemProvider()); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
275 |
pm.addExtensionProvider("event", "http://jabber.org/protocol/pubsub#event", new EventProvider()); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
276 |
//TODO rajouter les manquants pour du full pubsub |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
277 |
|
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
278 |
//PEP avatar |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
279 |
pm.addExtensionProvider("metadata", "urn:xmpp:avatar:metadata", new AvatarMetadataProvider()); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
280 |
pm.addExtensionProvider("data", "urn:xmpp:avatar:data", new AvatarProvider()); |
799
b2a796654230
Implementation of XEP-084 which loads avatar from http.
Da Risk <darisk972@gmail.com>
parents:
793
diff
changeset
|
281 |
|
905
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
282 |
// PEPProvider pep = new PEPProvider(); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
283 |
// AvatarMetadataProvider avaMeta = new AvatarMetadataProvider(); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
284 |
// pep.registerPEPParserExtension("urn:xmpp:avatar:metadata", avaMeta); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
285 |
// pm.addExtensionProvider("event", "http://jabber.org/protocol/pubsub#event", pep); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
286 |
|
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
287 |
/* |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
288 |
* // Private Data Storage pm.addIQProvider("query", "jabber:iq:private", new |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
289 |
* PrivateDataManager.PrivateDataIQProvider()); // Time try { pm.addIQProvider("query", "jabber:iq:time", |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
290 |
* Class.forName("org.jivesoftware.smackx.packet.Time")); } catch (ClassNotFoundException e) { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
291 |
* Log.w("TestClient", "Can't load class for org.jivesoftware.smackx.packet.Time"); } // Roster Exchange |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
292 |
* pm.addExtensionProvider("x", "jabber:x:roster", new RosterExchangeProvider()); // Message Events |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
293 |
* pm.addExtensionProvider("x", "jabber:x:event", new MessageEventProvider()); // XHTML |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
294 |
* pm.addExtensionProvider("html", "http://jabber.org/protocol/xhtml-im", new XHTMLExtensionProvider()); // |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
295 |
* Group Chat Invitations pm.addExtensionProvider("x", "jabber:x:conference", new |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
296 |
* GroupChatInvitation.Provider()); // Data Forms pm.addExtensionProvider("x", "jabber:x:data", new |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
297 |
* DataFormProvider()); // MUC User pm.addExtensionProvider("x", "http://jabber.org/protocol/muc#user", new |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
298 |
* MUCUserProvider()); // MUC Admin pm.addIQProvider("query", "http://jabber.org/protocol/muc#admin", new |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
299 |
* MUCAdminProvider()); // MUC Owner pm.addIQProvider("query", "http://jabber.org/protocol/muc#owner", new |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
300 |
* MUCOwnerProvider()); // Version try { pm.addIQProvider("query", "jabber:iq:version", |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
301 |
* Class.forName("org.jivesoftware.smackx.packet.Version")); } catch (ClassNotFoundException e) { // Not sure |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
302 |
* what's happening here. Log.w("TestClient", "Can't load class for org.jivesoftware.smackx.packet.Version"); } |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
303 |
* // VCard pm.addIQProvider("vCard", "vcard-temp", new VCardProvider()); // Offline Message Requests |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
304 |
* pm.addIQProvider("offline", "http://jabber.org/protocol/offline", new OfflineMessageRequest.Provider()); // |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
305 |
* Offline Message Indicator pm.addExtensionProvider("offline", "http://jabber.org/protocol/offline", new |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
306 |
* OfflineMessageInfo.Provider()); // Last Activity pm.addIQProvider("query", "jabber:iq:last", new |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
307 |
* LastActivity.Provider()); // User Search pm.addIQProvider("query", "jabber:iq:search", new |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
308 |
* UserSearch.Provider()); // SharedGroupsInfo pm.addIQProvider("sharedgroup", |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
309 |
* "http://www.jivesoftware.org/protocol/sharedgroup", new SharedGroupsInfo.Provider()); // JEP-33: Extended |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
310 |
* Stanza Addressing pm.addExtensionProvider("addresses", "http://jabber.org/protocol/address", new |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
311 |
* MultipleAddressesProvider()); // FileTransfer pm.addIQProvider("si", "http://jabber.org/protocol/si", new |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
312 |
* StreamInitiationProvider()); pm.addIQProvider("query", "http://jabber.org/protocol/bytestreams", new |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
313 |
* BytestreamsProvider()); pm.addIQProvider("open", "http://jabber.org/protocol/ibb", new IBBProviders.Open()); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
314 |
* pm.addIQProvider("close", "http://jabber.org/protocol/ibb", new IBBProviders.Close()); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
315 |
* pm.addExtensionProvider("data", "http://jabber.org/protocol/ibb", new IBBProviders.Data()); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
316 |
* pm.addIQProvider("command", COMMAND_NAMESPACE, new AdHocCommandDataProvider()); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
317 |
* pm.addExtensionProvider("malformed-action", COMMAND_NAMESPACE, new |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
318 |
* AdHocCommandDataProvider.MalformedActionError()); pm.addExtensionProvider("bad-locale", COMMAND_NAMESPACE, |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
319 |
* new AdHocCommandDataProvider.BadLocaleError()); pm.addExtensionProvider("bad-payload", COMMAND_NAMESPACE, new |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
320 |
* AdHocCommandDataProvider.BadPayloadError()); pm.addExtensionProvider("bad-sessionid", COMMAND_NAMESPACE, new |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
321 |
* AdHocCommandDataProvider.BadSessionIDError()); pm.addExtensionProvider("session-expired", COMMAND_NAMESPACE, |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
322 |
* new AdHocCommandDataProvider.SessionExpiredError()); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
323 |
*/ |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
324 |
} |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
325 |
|
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
326 |
/** |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
327 |
* Listen on preference changes. |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
328 |
*/ |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
329 |
public class BeemServicePreferenceListener implements SharedPreferences.OnSharedPreferenceChangeListener { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
330 |
|
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
331 |
/** |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
332 |
* ctor. |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
333 |
*/ |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
334 |
public BeemServicePreferenceListener() { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
335 |
} |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
336 |
|
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
337 |
@Override |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
338 |
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
339 |
if ("settings_away_chk".equals(key)) { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
340 |
if (sharedPreferences.getBoolean("settings_away_chk", false)) { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
341 |
mOnOffReceiverIsRegistered = true; |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
342 |
registerReceiver(mOnOffReceiver, new IntentFilter(Intent.ACTION_SCREEN_OFF)); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
343 |
registerReceiver(mOnOffReceiver, new IntentFilter(Intent.ACTION_SCREEN_ON)); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
344 |
} else { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
345 |
mOnOffReceiverIsRegistered = false; |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
346 |
unregisterReceiver(mOnOffReceiver); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
347 |
} |
909 | 348 |
} else if (BeemApplication.STATUS_TEXT_KEY.equals(key)) { |
349 |
BeemNotification.BindNotification(BeemService.this); |
|
905
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
350 |
} |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
351 |
} |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
352 |
} |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
353 |
|
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
354 |
/** |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
355 |
* Listen on some Intent broadcast, ScreenOn and ScreenOff. |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
356 |
*/ |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
357 |
private class BeemServiceBroadcastReceiver extends BroadcastReceiver { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
358 |
|
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
359 |
private String mOldStatus; |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
360 |
private int mOldMode; |
679
47cd386089b3
use the settings_away_chk pref at startup, i need to add a listener for runtime now
nikita@nikita-laptop
parents:
678
diff
changeset
|
361 |
|
682 | 362 |
/** |
741 | 363 |
* Constructor. |
682 | 364 |
*/ |
905
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
365 |
public BeemServiceBroadcastReceiver() { |
678
d1a599ccf879
Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents:
671
diff
changeset
|
366 |
} |
d1a599ccf879
Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents:
671
diff
changeset
|
367 |
|
d1a599ccf879
Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents:
671
diff
changeset
|
368 |
@Override |
905
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
369 |
public void onReceive(final Context context, final Intent intent) { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
370 |
String intentAction = intent.getAction(); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
371 |
if (intentAction.equals(Intent.ACTION_SCREEN_OFF)) { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
372 |
for (Map.Entry<String, XmppConnectionAdapter> item : mConnection.entrySet()) { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
373 |
XmppConnectionAdapter connection = item.getValue(); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
374 |
mOldMode = connection.getPreviousMode(); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
375 |
mOldStatus = connection.getPreviousStatus(); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
376 |
if (connection.isAuthentificated()) |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
377 |
connection.changeStatus(Status.CONTACT_STATUS_AWAY, mBeemConnection.get(item.getKey()) |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
378 |
.getSettings().getString("settings_away_message", "Away")); |
872 | 379 |
} |
905
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
380 |
} else if (intentAction.equals(Intent.ACTION_SCREEN_ON)) { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
381 |
for (XmppConnectionAdapter connection : mConnection.values()) { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
382 |
if (connection.isAuthentificated()) |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
383 |
connection.changeStatus(mOldMode, mOldStatus); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
384 |
} |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
385 |
} |
678
d1a599ccf879
Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents:
671
diff
changeset
|
386 |
} |
905
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
387 |
} |
897
07de7eb304b6
New Concept service from da_risk but not up to date.
"Vincent Veronis"
parents:
896
diff
changeset
|
388 |
|
905
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
389 |
private void handleIntent(Intent intent) { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
390 |
Message msg = null; |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
391 |
String action = intent.getAction(); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
392 |
if (BeemIntent.ACTION_CONNECT.equals(action)) { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
393 |
msg = mHandler.obtainMessage(MESSAGE_CONNECT, intent.getExtras()); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
394 |
} else if (BeemIntent.ACTION_DISCONNECT.equals(action)) { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
395 |
msg = mHandler.obtainMessage(MESSAGE_DISCONNECT, intent.getExtras()); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
396 |
} else if (BeemIntent.ACTION_SEND_MESSAGE.equals(action)) { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
397 |
msg = mHandler.obtainMessage(MESSAGE_SEND_MSG, intent.getExtras()); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
398 |
} else if (BeemIntent.ACTION_SYNC.equals(action)) { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
399 |
msg = mHandler.obtainMessage(MESSAGE_SYNC, intent.getExtras()); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
400 |
} else { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
401 |
Log.w(TAG, "Unknown intent " + intent); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
402 |
} |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
403 |
if (msg != null) |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
404 |
mHandler.sendMessage(msg); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
405 |
} |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
406 |
|
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
407 |
private class BeemServiceHandler extends Handler { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
408 |
|
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
409 |
public BeemServiceHandler(Looper looper) { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
410 |
super(looper); |
897
07de7eb304b6
New Concept service from da_risk but not up to date.
"Vincent Veronis"
parents:
896
diff
changeset
|
411 |
} |
07de7eb304b6
New Concept service from da_risk but not up to date.
"Vincent Veronis"
parents:
896
diff
changeset
|
412 |
|
07de7eb304b6
New Concept service from da_risk but not up to date.
"Vincent Veronis"
parents:
896
diff
changeset
|
413 |
@Override |
905
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
414 |
public void handleMessage(Message msg) { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
415 |
Bundle b = (Bundle) msg.obj; |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
416 |
switch (msg.what) { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
417 |
case MESSAGE_CONNECT: |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
418 |
handleConnect(b.getString(BeemIntent.EXTRA_ACCOUNT)); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
419 |
break; |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
420 |
case MESSAGE_DISCONNECT: |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
421 |
handleDisconnect(b); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
422 |
break; |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
423 |
case MESSAGE_SEND_MSG: |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
424 |
String account = b.getString(BeemIntent.EXTRA_ACCOUNT); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
425 |
XmppConnectionAdapter con = mConnection.get(account); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
426 |
if (con != null) { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
427 |
con.handleMessage(msg); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
428 |
} |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
429 |
break; |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
430 |
case MESSAGE_SYNC: |
911
e5c194ea9307
Change notification icon status when sync roster
"Vincent Veronis"
parents:
909
diff
changeset
|
431 |
BeemNotification.StartSyncNotification(getBaseContext()); |
905
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
432 |
String accountName = b.getString(BeemIntent.EXTRA_ACCOUNT); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
433 |
//TODO: Connect with option to not show status |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
434 |
handleConnect(accountName); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
435 |
XmppConnectionAdapter co = mConnection.get(accountName); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
436 |
if (co != null) { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
437 |
BeemSync sync = new BeemSync(getBaseContext()); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
438 |
if (co.getAdaptee() != null) |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
439 |
sync.manageRoster(co.getAdaptee().getRoster(), accountName); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
440 |
} |
911
e5c194ea9307
Change notification icon status when sync roster
"Vincent Veronis"
parents:
909
diff
changeset
|
441 |
BeemNotification.StopSyncNotification(getBaseContext()); |
905
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
442 |
break; |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
443 |
default: |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
444 |
Log.w(TAG, "Unknown message " + msg); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
445 |
} |
897
07de7eb304b6
New Concept service from da_risk but not up to date.
"Vincent Veronis"
parents:
896
diff
changeset
|
446 |
} |
905
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
447 |
} |
899 | 448 |
|
905
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
449 |
private void handleConnect(String accountName) { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
450 |
Intent res = new Intent(BeemIntent.ACTION_DISCONNECTED); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
451 |
res.putExtra(BeemIntent.EXTRA_MESSAGE, R.string.contact_status_msg_offline); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
452 |
res.putExtra(BeemIntent.EXTRA_ACCOUNT, accountName); |
904 | 453 |
|
905
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
454 |
if (mConnection.containsKey(accountName)) { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
455 |
res.setAction(BeemIntent.ACTION_CONNECTED); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
456 |
} else { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
457 |
if (accountName == null) { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
458 |
//connect all |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
459 |
} else { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
460 |
BeemConnection beemco = new BeemConnection(BeemService.this.getSharedPreferences(accountName, |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
461 |
MODE_PRIVATE), mPreferenceListener); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
462 |
if (beemco.getSettings().getBoolean("settings_away_chk", false)) { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
463 |
mOnOffReceiverIsRegistered = true; |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
464 |
registerReceiver(mOnOffReceiver, new IntentFilter(Intent.ACTION_SCREEN_OFF)); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
465 |
registerReceiver(mOnOffReceiver, new IntentFilter(Intent.ACTION_SCREEN_ON)); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
466 |
} |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
467 |
mBeemConnection.put(accountName, beemco); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
468 |
XmppConnectionAdapter beemcoAdapter = new XmppConnectionAdapter(beemco.getConnectionConfiguration(), |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
469 |
beemco.getJid(), beemco.getPassword(), this); |
897
07de7eb304b6
New Concept service from da_risk but not up to date.
"Vincent Veronis"
parents:
896
diff
changeset
|
470 |
|
905
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
471 |
try { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
472 |
Log.i(TAG, "Starting connection of " + accountName); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
473 |
if (beemcoAdapter.connectSync()) { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
474 |
mConnection.put(accountName, beemcoAdapter); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
475 |
res.setAction(BeemIntent.ACTION_CONNECTED); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
476 |
Log.e(TAG, "Account configuration : " + accountName + " DONE"); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
477 |
} else { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
478 |
Log.w(TAG, "Unable to connect " + accountName); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
479 |
res.putExtra(BeemIntent.EXTRA_MESSAGE, beemcoAdapter.getErrorMessage()); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
480 |
} |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
481 |
} catch (RemoteException e) { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
482 |
res.putExtra(BeemIntent.EXTRA_MESSAGE, beemcoAdapter.getErrorMessage()); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
483 |
Log.e(TAG, "Unable to connect " + accountName, e); |
899 | 484 |
} |
897
07de7eb304b6
New Concept service from da_risk but not up to date.
"Vincent Veronis"
parents:
896
diff
changeset
|
485 |
|
905
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
486 |
} |
897
07de7eb304b6
New Concept service from da_risk but not up to date.
"Vincent Veronis"
parents:
896
diff
changeset
|
487 |
} |
905
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
488 |
sendBroadcast(res); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
489 |
} |
897
07de7eb304b6
New Concept service from da_risk but not up to date.
"Vincent Veronis"
parents:
896
diff
changeset
|
490 |
|
905
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
491 |
private void handleDisconnect(Bundle b) { |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
492 |
Intent res = new Intent(BeemIntent.ACTION_DISCONNECTED); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
493 |
String account = b.getString(BeemIntent.EXTRA_ACCOUNT); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
494 |
mConnection.remove(account); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
495 |
sendBroadcast(res); |
dfbc48b4eae1
Correction bug cursor adapter when groups are empty.
"Vincent Veronis"
parents:
904
diff
changeset
|
496 |
} |
17 | 497 |
} |