src/com/beem/project/beem/BeemService.java
author Da Risk <darisk972@gmail.com>
Sun, 02 Jan 2011 17:00:53 +0100
changeset 856 5437786281e3
parent 819 4b36a3c452e6
child 857 53a2e0015adb
permissions -rw-r--r--
Add an option to enable the smack debugger
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
577
29ac85113420 fix some headers
Da Risk <darisk972@gmail.com>
parents: 567
diff changeset
     1
/*
567
896533b277d5 ajout des headers
Nikita Kozlov <nikita@beem-project.com>
parents: 563
diff changeset
     2
    BEEM is a videoconference application on the Android Platform.
896533b277d5 ajout des headers
Nikita Kozlov <nikita@beem-project.com>
parents: 563
diff changeset
     3
896533b277d5 ajout des headers
Nikita Kozlov <nikita@beem-project.com>
parents: 563
diff changeset
     4
    Copyright (C) 2009 by Frederic-Charles Barthelery,
896533b277d5 ajout des headers
Nikita Kozlov <nikita@beem-project.com>
parents: 563
diff changeset
     5
                          Jean-Manuel Da Silva,
896533b277d5 ajout des headers
Nikita Kozlov <nikita@beem-project.com>
parents: 563
diff changeset
     6
                          Nikita Kozlov,
896533b277d5 ajout des headers
Nikita Kozlov <nikita@beem-project.com>
parents: 563
diff changeset
     7
                          Philippe Lago,
896533b277d5 ajout des headers
Nikita Kozlov <nikita@beem-project.com>
parents: 563
diff changeset
     8
                          Jean Baptiste Vergely,
577
29ac85113420 fix some headers
Da Risk <darisk972@gmail.com>
parents: 567
diff changeset
     9
                          Vincent Veronis.
567
896533b277d5 ajout des headers
Nikita Kozlov <nikita@beem-project.com>
parents: 563
diff changeset
    10
896533b277d5 ajout des headers
Nikita Kozlov <nikita@beem-project.com>
parents: 563
diff changeset
    11
    This file is part of BEEM.
896533b277d5 ajout des headers
Nikita Kozlov <nikita@beem-project.com>
parents: 563
diff changeset
    12
896533b277d5 ajout des headers
Nikita Kozlov <nikita@beem-project.com>
parents: 563
diff changeset
    13
    BEEM is free software: you can redistribute it and/or modify
896533b277d5 ajout des headers
Nikita Kozlov <nikita@beem-project.com>
parents: 563
diff changeset
    14
    it under the terms of the GNU General Public License as published by
896533b277d5 ajout des headers
Nikita Kozlov <nikita@beem-project.com>
parents: 563
diff changeset
    15
    the Free Software Foundation, either version 3 of the License, or
896533b277d5 ajout des headers
Nikita Kozlov <nikita@beem-project.com>
parents: 563
diff changeset
    16
    (at your option) any later version.
896533b277d5 ajout des headers
Nikita Kozlov <nikita@beem-project.com>
parents: 563
diff changeset
    17
896533b277d5 ajout des headers
Nikita Kozlov <nikita@beem-project.com>
parents: 563
diff changeset
    18
    BEEM is distributed in the hope that it will be useful,
896533b277d5 ajout des headers
Nikita Kozlov <nikita@beem-project.com>
parents: 563
diff changeset
    19
    but WITHOUT ANY WARRANTY; without even the implied warranty of
896533b277d5 ajout des headers
Nikita Kozlov <nikita@beem-project.com>
parents: 563
diff changeset
    20
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
896533b277d5 ajout des headers
Nikita Kozlov <nikita@beem-project.com>
parents: 563
diff changeset
    21
    GNU General Public License for more details.
896533b277d5 ajout des headers
Nikita Kozlov <nikita@beem-project.com>
parents: 563
diff changeset
    22
896533b277d5 ajout des headers
Nikita Kozlov <nikita@beem-project.com>
parents: 563
diff changeset
    23
    You should have received a copy of the GNU General Public License
896533b277d5 ajout des headers
Nikita Kozlov <nikita@beem-project.com>
parents: 563
diff changeset
    24
    along with BEEM.  If not, see <http://www.gnu.org/licenses/>.
896533b277d5 ajout des headers
Nikita Kozlov <nikita@beem-project.com>
parents: 563
diff changeset
    25
896533b277d5 ajout des headers
Nikita Kozlov <nikita@beem-project.com>
parents: 563
diff changeset
    26
    Please send bug reports with examples or suggestions to
896533b277d5 ajout des headers
Nikita Kozlov <nikita@beem-project.com>
parents: 563
diff changeset
    27
    contact@beem-project.com or http://dev.beem-project.com/
896533b277d5 ajout des headers
Nikita Kozlov <nikita@beem-project.com>
parents: 563
diff changeset
    28
577
29ac85113420 fix some headers
Da Risk <darisk972@gmail.com>
parents: 567
diff changeset
    29
    Epitech, hereby disclaims all copyright interest in the program "Beem"
567
896533b277d5 ajout des headers
Nikita Kozlov <nikita@beem-project.com>
parents: 563
diff changeset
    30
    written by Frederic-Charles Barthelery,
896533b277d5 ajout des headers
Nikita Kozlov <nikita@beem-project.com>
parents: 563
diff changeset
    31
               Jean-Manuel Da Silva,
896533b277d5 ajout des headers
Nikita Kozlov <nikita@beem-project.com>
parents: 563
diff changeset
    32
               Nikita Kozlov,
896533b277d5 ajout des headers
Nikita Kozlov <nikita@beem-project.com>
parents: 563
diff changeset
    33
               Philippe Lago,
896533b277d5 ajout des headers
Nikita Kozlov <nikita@beem-project.com>
parents: 563
diff changeset
    34
               Jean Baptiste Vergely,
896533b277d5 ajout des headers
Nikita Kozlov <nikita@beem-project.com>
parents: 563
diff changeset
    35
               Vincent Veronis.
896533b277d5 ajout des headers
Nikita Kozlov <nikita@beem-project.com>
parents: 563
diff changeset
    36
896533b277d5 ajout des headers
Nikita Kozlov <nikita@beem-project.com>
parents: 563
diff changeset
    37
    Nicolas Sadirac, November 26, 2009
896533b277d5 ajout des headers
Nikita Kozlov <nikita@beem-project.com>
parents: 563
diff changeset
    38
    President of Epitech.
896533b277d5 ajout des headers
Nikita Kozlov <nikita@beem-project.com>
parents: 563
diff changeset
    39
896533b277d5 ajout des headers
Nikita Kozlov <nikita@beem-project.com>
parents: 563
diff changeset
    40
    Flavien Astraud, November 26, 2009
896533b277d5 ajout des headers
Nikita Kozlov <nikita@beem-project.com>
parents: 563
diff changeset
    41
    Head of the EIP Laboratory.
896533b277d5 ajout des headers
Nikita Kozlov <nikita@beem-project.com>
parents: 563
diff changeset
    42
682
9a7a89e5e966 some checkstyle
nikita@nikita-laptop
parents: 680
diff changeset
    43
*/
17
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    44
package com.beem.project.beem;
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    45
80
29f0d6a23321 Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents: 72
diff changeset
    46
import org.jivesoftware.smack.ConnectionConfiguration;
94
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
    47
import org.jivesoftware.smack.Roster;
381
166db9c93335 Bundle pour debug avec nikita.
Vincent Veronis <veroni_v@epitech.net>
parents: 377
diff changeset
    48
import org.jivesoftware.smack.XMPPConnection;
315
151b1b64f407 ajout de la fonctionnalite require ssl/tls dans le service
nikita@localhost
parents: 313
diff changeset
    49
import org.jivesoftware.smack.ConnectionConfiguration.SecurityMode;
94
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
    50
import org.jivesoftware.smack.Roster.SubscriptionMode;
528
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
    51
import org.jivesoftware.smack.provider.PrivacyProvider;
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
    52
import org.jivesoftware.smack.provider.ProviderManager;
772
d1db49d18275 fix #263
Da Risk <darisk972@gmail.com>
parents: 729
diff changeset
    53
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
    54
import org.jivesoftware.smackx.provider.DiscoverInfoProvider;
4fb9df09ffdf #286 : Initial implementation of XEP-0115 : Entity Capabilities
Da Risk <darisk972@gmail.com>
parents: 774
diff changeset
    55
import org.jivesoftware.smackx.provider.DiscoverItemsProvider;
772
d1db49d18275 fix #263
Da Risk <darisk972@gmail.com>
parents: 729
diff changeset
    56
import org.jivesoftware.smackx.packet.ChatStateExtension;
80
29f0d6a23321 Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents: 72
diff changeset
    57
import org.jivesoftware.smack.proxy.ProxyInfo;
29f0d6a23321 Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents: 72
diff changeset
    58
import org.jivesoftware.smack.proxy.ProxyInfo.ProxyType;
326
c5f000965df8 Reconnection
Marseille
parents: 315
diff changeset
    59
import org.jivesoftware.smack.util.StringUtils;
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;
b2a796654230 Implementation of XEP-084 which loads avatar from http.
Da Risk <darisk972@gmail.com>
parents: 793
diff changeset
    61
import org.jivesoftware.smackx.pubsub.provider.ItemsProvider;
b2a796654230 Implementation of XEP-084 which loads avatar from http.
Da Risk <darisk972@gmail.com>
parents: 793
diff changeset
    62
import org.jivesoftware.smackx.pubsub.provider.ItemProvider;
800
1eefc5da624a Port the avatar manager on smackx.pubsub.* instead of PEPManager.
Da Risk <darisk972@gmail.com>
parents: 799
diff changeset
    63
import org.jivesoftware.smackx.pubsub.provider.EventProvider;
239
65369afd96d3 Rajout de Log dans le beem service pour les reconnections etc.
marseille@marseille-desktop
parents: 236
diff changeset
    64
17
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    65
import android.app.Notification;
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    66
import android.app.NotificationManager;
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    67
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
    68
import android.content.BroadcastReceiver;
678
d1a599ccf879 Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents: 671
diff changeset
    69
import android.content.Context;
17
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    70
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
    71
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
    72
import android.content.SharedPreferences;
377
5f60caa9f85c deplacement de l'eventListener cote service
Nikita Kozlov <nikita@beem-project.com>
parents: 375
diff changeset
    73
import android.content.SharedPreferences.Editor;
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
    74
import android.net.ConnectivityManager;
740
a91db9ddc46f Fixes a little bug in contactlist activity.
Da Risk <darisk972@gmail.com>
parents: 739
diff changeset
    75
import android.net.Uri;
17
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    76
import android.os.IBinder;
18
1063d4bde1aa commit pour test avec barbu
Da Risk <darisk972@gmail.com>
parents: 17
diff changeset
    77
import android.os.RemoteException;
404
3c8ca2a1a327 changement de la gestion des settings.
Nikita Kozlov <nikita@beem-project.com>
parents: 402
diff changeset
    78
import android.preference.PreferenceManager;
94
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
    79
import android.util.Log;
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
    80
67
8c3870db8e31 Rename some XMPP* classes in Xmpp*
Da Risk <darisk972@gmail.com>
parents: 55
diff changeset
    81
import com.beem.project.beem.service.XmppConnectionAdapter;
8c3870db8e31 Rename some XMPP* classes in Xmpp*
Da Risk <darisk972@gmail.com>
parents: 55
diff changeset
    82
import com.beem.project.beem.service.XmppFacade;
8c3870db8e31 Rename some XMPP* classes in Xmpp*
Da Risk <darisk972@gmail.com>
parents: 55
diff changeset
    83
import com.beem.project.beem.service.aidl.IXmppFacade;
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
    84
import com.beem.project.beem.utils.BeemBroadcastReceiver;
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
    85
import com.beem.project.beem.utils.BeemConnectivity;
678
d1a599ccf879 Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents: 671
diff changeset
    86
import com.beem.project.beem.utils.Status;
802
20308ad77837 Checkstyle and javadoc.
Da Risk <darisk972@gmail.com>
parents: 800
diff changeset
    87
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
    88
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
    89
import com.beem.project.beem.smack.caps.CapsProvider;
72
cdedc3a25d39 Show a progress dialog during connection with the server
Da Risk <darisk972@gmail.com>
parents: 67
diff changeset
    90
17
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    91
/**
741
af1c21ab7ab9 refactor and clean up
Da Risk <darisk972@gmail.com>
parents: 740
diff changeset
    92
 * This class is for the Beem service.
af1c21ab7ab9 refactor and clean up
Da Risk <darisk972@gmail.com>
parents: 740
diff changeset
    93
 * It must contains every global informations needed to maintain the background service.
af1c21ab7ab9 refactor and clean up
Da Risk <darisk972@gmail.com>
parents: 740
diff changeset
    94
 * The connection to the xmpp server will be made asynchronously when the service
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    95
 * will start.
17
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    96
 * @author darisk
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    97
 */
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    98
public class BeemService extends Service {
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    99
567
896533b277d5 ajout des headers
Nikita Kozlov <nikita@beem-project.com>
parents: 563
diff changeset
   100
    /** The id to use for status notification. */
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   101
    public static final int NOTIFICATION_STATUS_ID = 100;
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 508
diff changeset
   102
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 508
diff changeset
   103
    private static final String TAG = "BeemService";
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   104
    private static final int DEFAULT_XMPP_PORT = 5222;
678
d1a599ccf879 Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents: 671
diff changeset
   105
    //private static final String COMMAND_NAMESPACE = "http://jabber.org/protocol/commands";
21
b9f4a0ef574a Contact List OK.
marseille@marseille-desktop
parents: 19
diff changeset
   106
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   107
    private NotificationManager mNotificationManager;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   108
    private XmppConnectionAdapter mConnection;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   109
    private SharedPreferences mSettings;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   110
    private String mLogin;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   111
    private String mPassword;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   112
    private String mHost;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   113
    private String mService;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   114
    private int mPort;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   115
    private ConnectionConfiguration mConnectionConfiguration;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   116
    private ProxyInfo mProxyInfo;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   117
    private boolean mUseProxy;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   118
    private IXmppFacade.Stub mBind;
72
cdedc3a25d39 Show a progress dialog during connection with the server
Da Risk <darisk972@gmail.com>
parents: 67
diff changeset
   119
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
   120
    private BeemBroadcastReceiver mReceiver = new BeemBroadcastReceiver();
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
   121
    private BeemServiceBroadcastReceiver mOnOffReceiver = new BeemServiceBroadcastReceiver();
680
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   122
    private BeemServicePreferenceListener mPreferenceListener = new BeemServicePreferenceListener();
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
   123
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
   124
    private boolean mOnOffReceiverIsRegistered;
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
   125
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   126
    /**
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   127
     * Constructor.
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   128
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   129
    public BeemService() {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   130
    }
99
8de21ac527ce revert pour refaire un push propre
nikita@nikita-rack
parents: 98
diff changeset
   131
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   132
    /**
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
   133
     * Initialize the connection.
503
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
    private void initConnectionConfig() {
739
106f089f8cde refactor use constants for proxy preference key.
Da Risk <darisk972@gmail.com>
parents: 729
diff changeset
   136
	mUseProxy = mSettings.getBoolean(BeemApplication.PROXY_USE_KEY, false);
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   137
	if (mUseProxy) {
739
106f089f8cde refactor use constants for proxy preference key.
Da Risk <darisk972@gmail.com>
parents: 729
diff changeset
   138
	    String stype = mSettings.getString(BeemApplication.PROXY_TYPE_KEY, "HTTP");
106f089f8cde refactor use constants for proxy preference key.
Da Risk <darisk972@gmail.com>
parents: 729
diff changeset
   139
	    String phost = mSettings.getString(BeemApplication.PROXY_SERVER_KEY, "");
106f089f8cde refactor use constants for proxy preference key.
Da Risk <darisk972@gmail.com>
parents: 729
diff changeset
   140
	    String puser = mSettings.getString(BeemApplication.PROXY_USERNAME_KEY, "");
106f089f8cde refactor use constants for proxy preference key.
Da Risk <darisk972@gmail.com>
parents: 729
diff changeset
   141
	    String ppass = mSettings.getString(BeemApplication.PROXY_PASSWORD_KEY, "");
106f089f8cde refactor use constants for proxy preference key.
Da Risk <darisk972@gmail.com>
parents: 729
diff changeset
   142
	    int pport = Integer.parseInt(mSettings.getString(BeemApplication.PROXY_PORT_KEY, "1080"));
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   143
	    ProxyInfo.ProxyType type = ProxyType.valueOf(stype);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   144
	    mProxyInfo = new ProxyInfo(type, phost, pport, puser, ppass);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   145
	} else {
668
f6c0888906e1 Remove the gmail option. Not necessary with asmack
Da Risk <darisk972@gmail.com>
parents: 657
diff changeset
   146
	    mProxyInfo = ProxyInfo.forNoProxy();
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   147
	}
668
f6c0888906e1 Remove the gmail option. Not necessary with asmack
Da Risk <darisk972@gmail.com>
parents: 657
diff changeset
   148
	if (mSettings.getBoolean("settings_key_specific_server", false))
f6c0888906e1 Remove the gmail option. Not necessary with asmack
Da Risk <darisk972@gmail.com>
parents: 657
diff changeset
   149
	    mConnectionConfiguration = new ConnectionConfiguration(mHost, mPort, mService, mProxyInfo);
f6c0888906e1 Remove the gmail option. Not necessary with asmack
Da Risk <darisk972@gmail.com>
parents: 657
diff changeset
   150
	else
f6c0888906e1 Remove the gmail option. Not necessary with asmack
Da Risk <darisk972@gmail.com>
parents: 657
diff changeset
   151
	    mConnectionConfiguration = new ConnectionConfiguration(mService, mProxyInfo);
f6c0888906e1 Remove the gmail option. Not necessary with asmack
Da Risk <darisk972@gmail.com>
parents: 657
diff changeset
   152
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   153
	if (mSettings.getBoolean("settings_key_xmpp_tls_use", false)
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   154
	    || mSettings.getBoolean("settings_key_gmail", false)) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   155
	    mConnectionConfiguration.setSecurityMode(SecurityMode.required);
420
ecddfb6c0e2a Checkstyle
Da Risk <darisk972@gmail.com>
parents: 419
diff changeset
   156
	}
856
5437786281e3 Add an option to enable the smack debugger
Da Risk <darisk972@gmail.com>
parents: 819
diff changeset
   157
	if (mSettings.getBoolean(BeemApplication.SMACK_DEBUG_KEY, false))
5437786281e3 Add an option to enable the smack debugger
Da Risk <darisk972@gmail.com>
parents: 819
diff changeset
   158
	    mConnectionConfiguration.setDebuggerEnabled(true);
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   159
	mConnectionConfiguration.setSendPresence(true);
721
3bedd1e275b8 Checkstyle
Da Risk <darisk972@gmail.com>
parents: 719
diff changeset
   160
	// maybe not the universal path, but it works on most devices (Samsung Galaxy, Google Nexus One)
713
b4333628a4a3 beginning on chat by resource integration and a small fix for the TrustStore
Nikita Kozlov <nikita@beem-project.com>
parents: 712
diff changeset
   161
	mConnectionConfiguration.setTruststoreType("BKS");
721
3bedd1e275b8 Checkstyle
Da Risk <darisk972@gmail.com>
parents: 719
diff changeset
   162
	mConnectionConfiguration.setTruststorePath("/system/etc/security/cacerts.bks");
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   163
    }
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 193
diff changeset
   164
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   165
    /**
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   166
     * {@inheritDoc}
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   167
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   168
    @Override
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   169
    public IBinder onBind(Intent intent) {
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 508
diff changeset
   170
	Log.d(TAG, "ONBIND()");
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   171
	return mBind;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   172
    }
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
    @Override
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   175
    public boolean onUnbind(Intent intent) {
518
6b8089c9b834 Creation de l'activite PrivacyList et d'une interface PrivacyListListener ainsi que son implementation.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 514
diff changeset
   176
	Log.d(TAG, "ONUNBIND()");
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   177
	if (!mConnection.getAdaptee().isConnected()) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   178
	    this.stopSelf();
502
3091acfe31f4 Ajout d´un status par default quelque soit l´activité.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 494
diff changeset
   179
	}
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   180
	return true;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   181
    }
680
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   182
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   183
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   184
    /**
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   185
     * {@inheritDoc}
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   186
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   187
    @Override
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   188
    public void onCreate() {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   189
	super.onCreate();
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
   190
	registerReceiver(mReceiver, new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION));
680
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   191
	mSettings = PreferenceManager.getDefaultSharedPreferences(this);
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   192
	mSettings.registerOnSharedPreferenceChangeListener(mPreferenceListener);
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   193
	if (mSettings.getBoolean("settings_away_chk", false)) {
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
   194
	    mOnOffReceiverIsRegistered = true;
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
   195
	    registerReceiver(mOnOffReceiver, new IntentFilter(Intent.ACTION_SCREEN_OFF));
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
   196
	    registerReceiver(mOnOffReceiver, new IntentFilter(Intent.ACTION_SCREEN_ON));
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
   197
	}
728
13d204a5c6fe Cleanup some preference key
Da Risk <darisk972@gmail.com>
parents: 721
diff changeset
   198
	String tmpJid = mSettings.getString(BeemApplication.ACCOUNT_USERNAME_KEY, "");
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   199
	mLogin = StringUtils.parseName(tmpJid);
728
13d204a5c6fe Cleanup some preference key
Da Risk <darisk972@gmail.com>
parents: 721
diff changeset
   200
	mPassword = mSettings.getString(BeemApplication.ACCOUNT_PASSWORD_KEY, "");
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   201
	mPort = DEFAULT_XMPP_PORT;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   202
	mService = StringUtils.parseServer(tmpJid);
712
bbd54153f92c Bug #249 and a small debug on AccountConfigure.java
Nikita Kozlov <nikita@beem-project.com>
parents: 708
diff changeset
   203
	mHost = mService;
bbd54153f92c Bug #249 and a small debug on AccountConfigure.java
Nikita Kozlov <nikita@beem-project.com>
parents: 708
diff changeset
   204
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   205
	if (mSettings.getBoolean("settings_key_specific_server", false)) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   206
	    mHost = mSettings.getString("settings_key_xmpp_server", "");
650
f98ef87c34b8 Bug correction.
Marseille
parents: 614
diff changeset
   207
	    if ("".equals(mHost))
f98ef87c34b8 Bug correction.
Marseille
parents: 614
diff changeset
   208
		mHost = StringUtils.parseServer(tmpJid);
f98ef87c34b8 Bug correction.
Marseille
parents: 614
diff changeset
   209
	    String tmpPort = mSettings.getString("settings_key_xmpp_port", "5222");
682
9a7a89e5e966 some checkstyle
nikita@nikita-laptop
parents: 680
diff changeset
   210
	    mPort = ("".equals(tmpPort)) ? DEFAULT_XMPP_PORT : Integer.parseInt(tmpPort);
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   211
	}
668
f6c0888906e1 Remove the gmail option. Not necessary with asmack
Da Risk <darisk972@gmail.com>
parents: 657
diff changeset
   212
	if ("gmail.com".equals(mService) || "googlemail.com".equals(mService))  {
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   213
	    mLogin = tmpJid;
404
3c8ca2a1a327 changement de la gestion des settings.
Nikita Kozlov <nikita@beem-project.com>
parents: 402
diff changeset
   214
	}
3c8ca2a1a327 changement de la gestion des settings.
Nikita Kozlov <nikita@beem-project.com>
parents: 402
diff changeset
   215
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   216
	initConnectionConfig();
528
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   217
	configure(ProviderManager.getInstance());
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   218
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   219
	mNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   220
	mConnection = new XmppConnectionAdapter(mConnectionConfiguration, mLogin, mPassword, this);
402
4684a42ae0ad pas mal de cleannance et aussi du debug sur les decos
Nikita Kozlov <nikita@beem-project.com>
parents: 396
diff changeset
   221
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   222
	Roster.setDefaultSubscriptionMode(SubscriptionMode.manual);
671
25f6fded204a i have temporarly deleted jingle features from the trunk, report you to http://beem-project.com/hg/beem-audio/ if you are interested
nikita@nikita-laptop
parents: 669
diff changeset
   223
	mBind = new XmppFacade(mConnection);
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 508
diff changeset
   224
	Log.d(TAG, "ONCREATE");
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   225
    }
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 193
diff changeset
   226
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   227
    /**
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   228
     * {@inheritDoc}
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   229
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   230
    @Override
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   231
    public void onDestroy() {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   232
	super.onDestroy();
729
a24a98c1e019 Add a disconnect entry on the contact list menu.
Da Risk <darisk972@gmail.com>
parents: 728
diff changeset
   233
	resetStatus();
562
5e48a0729411 Delete all notification when service destroy.
Vincent Veronis <veroni_v@epitech.net>
parents: 539
diff changeset
   234
	mNotificationManager.cancelAll();
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
   235
	unregisterReceiver(mReceiver);
680
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   236
	mSettings.unregisterOnSharedPreferenceChangeListener(mPreferenceListener);
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
   237
	if (mOnOffReceiverIsRegistered)
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
   238
	    unregisterReceiver(mOnOffReceiver);
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
   239
	if (mConnection.isAuthentificated() && BeemConnectivity.isConnected(this))
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   240
	    mConnection.disconnect();
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 508
diff changeset
   241
	Log.d(TAG, "ONDESTROY");
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   242
    }
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 193
diff changeset
   243
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   244
    /**
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   245
     * {@inheritDoc}
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   246
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   247
    @Override
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   248
    public void onStart(Intent intent, int startId) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   249
	super.onStart(intent, startId);
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 508
diff changeset
   250
	Log.d(TAG, "onStart");
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   251
	try {
609
47e559a5410a checkstyle
Nikita Kozlov <nikita@mbdsys.com>
parents: 608
diff changeset
   252
	    mConnection.connectAsync();
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   253
	} catch (RemoteException e) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   254
	    e.printStackTrace();
502
3091acfe31f4 Ajout d´un status par default quelque soit l´activité.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 494
diff changeset
   255
	}
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   256
    }
502
3091acfe31f4 Ajout d´un status par default quelque soit l´activité.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 494
diff changeset
   257
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   258
    /**
740
a91db9ddc46f Fixes a little bug in contactlist activity.
Da Risk <darisk972@gmail.com>
parents: 739
diff changeset
   259
     * Show a notification using the preference of the user.
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   260
     * @param id the id of the notification.
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   261
     * @param notif the notification to show
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   262
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   263
    public void sendNotification(int id, Notification notif) {
740
a91db9ddc46f Fixes a little bug in contactlist activity.
Da Risk <darisk972@gmail.com>
parents: 739
diff changeset
   264
	if (mSettings.getBoolean(BeemApplication.NOTIFICATION_VIBRATE_KEY, true))
a91db9ddc46f Fixes a little bug in contactlist activity.
Da Risk <darisk972@gmail.com>
parents: 739
diff changeset
   265
	    notif.defaults |= Notification.DEFAULT_VIBRATE;
a91db9ddc46f Fixes a little bug in contactlist activity.
Da Risk <darisk972@gmail.com>
parents: 739
diff changeset
   266
	notif.defaults |= Notification.DEFAULT_LIGHTS;
a91db9ddc46f Fixes a little bug in contactlist activity.
Da Risk <darisk972@gmail.com>
parents: 739
diff changeset
   267
	String ringtoneStr = mSettings.getString(BeemApplication.NOTIFICATION_SOUND_KEY, "");
a91db9ddc46f Fixes a little bug in contactlist activity.
Da Risk <darisk972@gmail.com>
parents: 739
diff changeset
   268
	notif.sound = Uri.parse(ringtoneStr);
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   269
	mNotificationManager.notify(id, notif);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   270
    }
94
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
   271
503
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
     * Delete a notification.
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   274
     * @param id the id of the notification
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
    public void deleteNotification(int id) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   277
	mNotificationManager.cancel(id);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   278
    }
419
88e1a96ee8da Retrait des notifications quand on ouvre le chat d'une personne qui vient
Da Risk <darisk972@gmail.com>
parents: 412
diff changeset
   279
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   280
    /**
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
   281
     * Reset the status to online after a disconnect.
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   282
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   283
    public void resetStatus() {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   284
	Editor edit = mSettings.edit();
728
13d204a5c6fe Cleanup some preference key
Da Risk <darisk972@gmail.com>
parents: 721
diff changeset
   285
	edit.putInt(BeemApplication.STATUS_KEY, 1);
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   286
	edit.commit();
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   287
    }
377
5f60caa9f85c deplacement de l'eventListener cote service
Nikita Kozlov <nikita@beem-project.com>
parents: 375
diff changeset
   288
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   289
    /**
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 508
diff changeset
   290
     * Initialize Jingle from an XmppConnectionAdapter.
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 508
diff changeset
   291
     * @param adaptee XmppConnection used for jingle.
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   292
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   293
    public void initJingle(XMPPConnection adaptee) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   294
    }
524
e1a9ba4611dc Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents: 508
diff changeset
   295
514
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 508
diff changeset
   296
    /**
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 508
diff changeset
   297
     * Return a bind to an XmppFacade instance.
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 508
diff changeset
   298
     * @return IXmppFacade a bind to an XmppFacade instance
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 508
diff changeset
   299
     */
508
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   300
    public IXmppFacade getBind() {
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   301
	return mBind;
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   302
    }
524
e1a9ba4611dc Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents: 508
diff changeset
   303
e1a9ba4611dc Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents: 508
diff changeset
   304
    /**
e1a9ba4611dc Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents: 508
diff changeset
   305
     * Get the preference of the service.
e1a9ba4611dc Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents: 508
diff changeset
   306
     * @return the preference
e1a9ba4611dc Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents: 508
diff changeset
   307
     */
e1a9ba4611dc Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents: 508
diff changeset
   308
    public SharedPreferences getServicePreference() {
e1a9ba4611dc Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents: 508
diff changeset
   309
	return mSettings;
e1a9ba4611dc Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents: 508
diff changeset
   310
    }
528
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   311
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   312
    /**
762
56d44e5c7081 Many little modifications.
Da Risk <darisk972@gmail.com>
parents: 741
diff changeset
   313
     * Get the notification manager system service.
56d44e5c7081 Many little modifications.
Da Risk <darisk972@gmail.com>
parents: 741
diff changeset
   314
     *
56d44e5c7081 Many little modifications.
Da Risk <darisk972@gmail.com>
parents: 741
diff changeset
   315
     * @return the notification manager service.
56d44e5c7081 Many little modifications.
Da Risk <darisk972@gmail.com>
parents: 741
diff changeset
   316
     */
56d44e5c7081 Many little modifications.
Da Risk <darisk972@gmail.com>
parents: 741
diff changeset
   317
    public NotificationManager getNotificationManager() {
56d44e5c7081 Many little modifications.
Da Risk <darisk972@gmail.com>
parents: 741
diff changeset
   318
	return mNotificationManager;
56d44e5c7081 Many little modifications.
Da Risk <darisk972@gmail.com>
parents: 741
diff changeset
   319
    }
56d44e5c7081 Many little modifications.
Da Risk <darisk972@gmail.com>
parents: 741
diff changeset
   320
56d44e5c7081 Many little modifications.
Da Risk <darisk972@gmail.com>
parents: 741
diff changeset
   321
    /**
528
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   322
     * A sort of patch from this thread: http://www.igniterealtime.org/community/thread/31118. Avoid ClassCastException
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   323
     * by bypassing the classloading shit of Smack.
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   324
     * @param pm The ProviderManager.
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   325
     */
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   326
    private void configure(ProviderManager pm) {
799
b2a796654230 Implementation of XEP-084 which loads avatar from http.
Da Risk <darisk972@gmail.com>
parents: 793
diff changeset
   327
	Log.d(TAG, "configure");
b2a796654230 Implementation of XEP-084 which loads avatar from http.
Da Risk <darisk972@gmail.com>
parents: 793
diff changeset
   328
	// Service Discovery # Items
b2a796654230 Implementation of XEP-084 which loads avatar from http.
Da Risk <darisk972@gmail.com>
parents: 793
diff changeset
   329
	pm.addIQProvider("query", "http://jabber.org/protocol/disco#items", new DiscoverItemsProvider());
b2a796654230 Implementation of XEP-084 which loads avatar from http.
Da Risk <darisk972@gmail.com>
parents: 793
diff changeset
   330
	// Service Discovery # Info
b2a796654230 Implementation of XEP-084 which loads avatar from http.
Da Risk <darisk972@gmail.com>
parents: 793
diff changeset
   331
	pm.addIQProvider("query", "http://jabber.org/protocol/disco#info", new DiscoverInfoProvider());
b2a796654230 Implementation of XEP-084 which loads avatar from http.
Da Risk <darisk972@gmail.com>
parents: 793
diff changeset
   332
657
f0ee4f04b3ac i have commented some extensions in the ProviderManager, since we don't use them yet
Nikita Kozlov <nikita@beem-project.com>
parents: 655
diff changeset
   333
	// Privacy
f0ee4f04b3ac i have commented some extensions in the ProviderManager, since we don't use them yet
Nikita Kozlov <nikita@beem-project.com>
parents: 655
diff changeset
   334
	pm.addIQProvider("query", "jabber:iq:privacy", new PrivacyProvider());
772
d1db49d18275 fix #263
Da Risk <darisk972@gmail.com>
parents: 729
diff changeset
   335
	// Delayed Delivery only the new version
d1db49d18275 fix #263
Da Risk <darisk972@gmail.com>
parents: 729
diff changeset
   336
	pm.addExtensionProvider("delay", "urn:xmpp:delay", new DelayInfoProvider());
665
01f3b7160f4b add a hide group options
Nikita Kozlov <nikita@beem-project.com>
parents: 657
diff changeset
   337
793
4fb9df09ffdf #286 : Initial implementation of XEP-0115 : Entity Capabilities
Da Risk <darisk972@gmail.com>
parents: 774
diff changeset
   338
	// Service Discovery # Items
4fb9df09ffdf #286 : Initial implementation of XEP-0115 : Entity Capabilities
Da Risk <darisk972@gmail.com>
parents: 774
diff changeset
   339
	pm.addIQProvider("query", "http://jabber.org/protocol/disco#items", new DiscoverItemsProvider());
4fb9df09ffdf #286 : Initial implementation of XEP-0115 : Entity Capabilities
Da Risk <darisk972@gmail.com>
parents: 774
diff changeset
   340
	// Service Discovery # Info
4fb9df09ffdf #286 : Initial implementation of XEP-0115 : Entity Capabilities
Da Risk <darisk972@gmail.com>
parents: 774
diff changeset
   341
	pm.addIQProvider("query", "http://jabber.org/protocol/disco#info", new DiscoverInfoProvider());
4fb9df09ffdf #286 : Initial implementation of XEP-0115 : Entity Capabilities
Da Risk <darisk972@gmail.com>
parents: 774
diff changeset
   342
772
d1db49d18275 fix #263
Da Risk <darisk972@gmail.com>
parents: 729
diff changeset
   343
	// Chat State
d1db49d18275 fix #263
Da Risk <darisk972@gmail.com>
parents: 729
diff changeset
   344
	ChatStateExtension.Provider chatState = new ChatStateExtension.Provider();
d1db49d18275 fix #263
Da Risk <darisk972@gmail.com>
parents: 729
diff changeset
   345
	pm.addExtensionProvider("active", "http://jabber.org/protocol/chatstates", chatState);
773
489fde4ab7d4 Cleanup
Da Risk <darisk972@gmail.com>
parents: 772
diff changeset
   346
	pm.addExtensionProvider("composing", "http://jabber.org/protocol/chatstates",
772
d1db49d18275 fix #263
Da Risk <darisk972@gmail.com>
parents: 729
diff changeset
   347
	    chatState);
d1db49d18275 fix #263
Da Risk <darisk972@gmail.com>
parents: 729
diff changeset
   348
	pm.addExtensionProvider("paused", "http://jabber.org/protocol/chatstates", chatState);
d1db49d18275 fix #263
Da Risk <darisk972@gmail.com>
parents: 729
diff changeset
   349
	pm.addExtensionProvider("inactive", "http://jabber.org/protocol/chatstates", chatState);
d1db49d18275 fix #263
Da Risk <darisk972@gmail.com>
parents: 729
diff changeset
   350
	pm.addExtensionProvider("gone", "http://jabber.org/protocol/chatstates", chatState);
799
b2a796654230 Implementation of XEP-084 which loads avatar from http.
Da Risk <darisk972@gmail.com>
parents: 793
diff changeset
   351
	// capabilities
793
4fb9df09ffdf #286 : Initial implementation of XEP-0115 : Entity Capabilities
Da Risk <darisk972@gmail.com>
parents: 774
diff changeset
   352
	pm.addExtensionProvider("c", "http://jabber.org/protocol/caps", new CapsProvider());
800
1eefc5da624a Port the avatar manager on smackx.pubsub.* instead of PEPManager.
Da Risk <darisk972@gmail.com>
parents: 799
diff changeset
   353
	//Pubsub
1eefc5da624a Port the avatar manager on smackx.pubsub.* instead of PEPManager.
Da Risk <darisk972@gmail.com>
parents: 799
diff changeset
   354
	pm.addIQProvider("pubsub", "http://jabber.org/protocol/pubsub", new PubSubProvider());
1eefc5da624a Port the avatar manager on smackx.pubsub.* instead of PEPManager.
Da Risk <darisk972@gmail.com>
parents: 799
diff changeset
   355
	pm.addExtensionProvider("items", "http://jabber.org/protocol/pubsub", new ItemsProvider());
1eefc5da624a Port the avatar manager on smackx.pubsub.* instead of PEPManager.
Da Risk <darisk972@gmail.com>
parents: 799
diff changeset
   356
	pm.addExtensionProvider("items", "http://jabber.org/protocol/pubsub", new ItemsProvider());
1eefc5da624a Port the avatar manager on smackx.pubsub.* instead of PEPManager.
Da Risk <darisk972@gmail.com>
parents: 799
diff changeset
   357
	pm.addExtensionProvider("item", "http://jabber.org/protocol/pubsub", new ItemProvider());
799
b2a796654230 Implementation of XEP-084 which loads avatar from http.
Da Risk <darisk972@gmail.com>
parents: 793
diff changeset
   358
800
1eefc5da624a Port the avatar manager on smackx.pubsub.* instead of PEPManager.
Da Risk <darisk972@gmail.com>
parents: 799
diff changeset
   359
	pm.addExtensionProvider("items", "http://jabber.org/protocol/pubsub#event", new ItemsProvider());
1eefc5da624a Port the avatar manager on smackx.pubsub.* instead of PEPManager.
Da Risk <darisk972@gmail.com>
parents: 799
diff changeset
   360
	pm.addExtensionProvider("item", "http://jabber.org/protocol/pubsub#event", new ItemProvider());
1eefc5da624a Port the avatar manager on smackx.pubsub.* instead of PEPManager.
Da Risk <darisk972@gmail.com>
parents: 799
diff changeset
   361
	pm.addExtensionProvider("event", "http://jabber.org/protocol/pubsub#event", new EventProvider());
1eefc5da624a Port the avatar manager on smackx.pubsub.* instead of PEPManager.
Da Risk <darisk972@gmail.com>
parents: 799
diff changeset
   362
	//TODO rajouter les manquants pour du full pubsub
1eefc5da624a Port the avatar manager on smackx.pubsub.* instead of PEPManager.
Da Risk <darisk972@gmail.com>
parents: 799
diff changeset
   363
1eefc5da624a Port the avatar manager on smackx.pubsub.* instead of PEPManager.
Da Risk <darisk972@gmail.com>
parents: 799
diff changeset
   364
799
b2a796654230 Implementation of XEP-084 which loads avatar from http.
Da Risk <darisk972@gmail.com>
parents: 793
diff changeset
   365
	//PEP avatar
800
1eefc5da624a Port the avatar manager on smackx.pubsub.* instead of PEPManager.
Da Risk <darisk972@gmail.com>
parents: 799
diff changeset
   366
	pm.addExtensionProvider("metadata", "urn:xmpp:avatar:metadata", new AvatarMetadataProvider());
803
8a3a48e85b63 add an Xmpp Avatar Retriever and a HttpClient avatar retriever.
Da Risk <darisk972@gmail.com>
parents: 802
diff changeset
   367
	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
   368
800
1eefc5da624a Port the avatar manager on smackx.pubsub.* instead of PEPManager.
Da Risk <darisk972@gmail.com>
parents: 799
diff changeset
   369
//         PEPProvider pep  = new PEPProvider();
1eefc5da624a Port the avatar manager on smackx.pubsub.* instead of PEPManager.
Da Risk <darisk972@gmail.com>
parents: 799
diff changeset
   370
//         AvatarMetadataProvider avaMeta  = new AvatarMetadataProvider();
1eefc5da624a Port the avatar manager on smackx.pubsub.* instead of PEPManager.
Da Risk <darisk972@gmail.com>
parents: 799
diff changeset
   371
//         pep.registerPEPParserExtension("urn:xmpp:avatar:metadata", avaMeta);
1eefc5da624a Port the avatar manager on smackx.pubsub.* instead of PEPManager.
Da Risk <darisk972@gmail.com>
parents: 799
diff changeset
   372
//         pm.addExtensionProvider("event", "http://jabber.org/protocol/pubsub#event", pep);
799
b2a796654230 Implementation of XEP-084 which loads avatar from http.
Da Risk <darisk972@gmail.com>
parents: 793
diff changeset
   373
657
f0ee4f04b3ac i have commented some extensions in the ProviderManager, since we don't use them yet
Nikita Kozlov <nikita@beem-project.com>
parents: 655
diff changeset
   374
	/*
528
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   375
	// Private Data Storage
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   376
	pm.addIQProvider("query", "jabber:iq:private", new PrivateDataManager.PrivateDataIQProvider());
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   377
	// Time
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   378
	try {
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   379
	    pm.addIQProvider("query", "jabber:iq:time", Class.forName("org.jivesoftware.smackx.packet.Time"));
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   380
	} catch (ClassNotFoundException e) {
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   381
	    Log.w("TestClient", "Can't load class for org.jivesoftware.smackx.packet.Time");
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   382
	}
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   383
	// Roster Exchange
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   384
	pm.addExtensionProvider("x", "jabber:x:roster", new RosterExchangeProvider());
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   385
	// Message Events
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   386
	pm.addExtensionProvider("x", "jabber:x:event", new MessageEventProvider());
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   387
	// XHTML
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   388
	pm.addExtensionProvider("html", "http://jabber.org/protocol/xhtml-im", new XHTMLExtensionProvider());
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   389
	// Group Chat Invitations
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   390
	pm.addExtensionProvider("x", "jabber:x:conference", new GroupChatInvitation.Provider());
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   391
	// Data Forms
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   392
	pm.addExtensionProvider("x", "jabber:x:data", new DataFormProvider());
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   393
	// MUC User
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   394
	pm.addExtensionProvider("x", "http://jabber.org/protocol/muc#user", new MUCUserProvider());
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   395
	// MUC Admin
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   396
	pm.addIQProvider("query", "http://jabber.org/protocol/muc#admin", new MUCAdminProvider());
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   397
	// MUC Owner
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   398
	pm.addIQProvider("query", "http://jabber.org/protocol/muc#owner", new MUCOwnerProvider());
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   399
	// Version
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   400
	try {
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   401
	    pm.addIQProvider("query", "jabber:iq:version", Class.forName("org.jivesoftware.smackx.packet.Version"));
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   402
	} catch (ClassNotFoundException e) {
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   403
	    // Not sure what's happening here.
593
54a7d59a3f09 checkstyle
Da Risk <darisk972@gmail.com>
parents: 577
diff changeset
   404
	    Log.w("TestClient", "Can't load class for org.jivesoftware.smackx.packet.Version");
528
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   405
	}
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   406
	// VCard
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   407
	pm.addIQProvider("vCard", "vcard-temp", new VCardProvider());
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   408
	// Offline Message Requests
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   409
	pm.addIQProvider("offline", "http://jabber.org/protocol/offline", new OfflineMessageRequest.Provider());
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   410
	// Offline Message Indicator
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   411
	pm.addExtensionProvider("offline", "http://jabber.org/protocol/offline", new OfflineMessageInfo.Provider());
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   412
	// Last Activity
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   413
	pm.addIQProvider("query", "jabber:iq:last", new LastActivity.Provider());
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   414
	// User Search
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   415
	pm.addIQProvider("query", "jabber:iq:search", new UserSearch.Provider());
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   416
	// SharedGroupsInfo
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   417
	pm.addIQProvider("sharedgroup", "http://www.jivesoftware.org/protocol/sharedgroup",
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   418
	    new SharedGroupsInfo.Provider());
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   419
	// JEP-33: Extended Stanza Addressing
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   420
	pm.addExtensionProvider("addresses", "http://jabber.org/protocol/address", new MultipleAddressesProvider());
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   421
	// FileTransfer
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   422
	pm.addIQProvider("si", "http://jabber.org/protocol/si", new StreamInitiationProvider());
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   423
	pm.addIQProvider("query", "http://jabber.org/protocol/bytestreams", new BytestreamsProvider());
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   424
	pm.addIQProvider("open", "http://jabber.org/protocol/ibb", new IBBProviders.Open());
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   425
	pm.addIQProvider("close", "http://jabber.org/protocol/ibb", new IBBProviders.Close());
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   426
	pm.addExtensionProvider("data", "http://jabber.org/protocol/ibb", new IBBProviders.Data());
657
f0ee4f04b3ac i have commented some extensions in the ProviderManager, since we don't use them yet
Nikita Kozlov <nikita@beem-project.com>
parents: 655
diff changeset
   427
593
54a7d59a3f09 checkstyle
Da Risk <darisk972@gmail.com>
parents: 577
diff changeset
   428
	pm.addIQProvider("command", COMMAND_NAMESPACE, new AdHocCommandDataProvider());
594
02c8fd26d82b checkstyle
Da Risk <darisk972@gmail.com>
parents: 593
diff changeset
   429
	pm.addExtensionProvider("malformed-action", COMMAND_NAMESPACE,
528
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   430
	    new AdHocCommandDataProvider.MalformedActionError());
593
54a7d59a3f09 checkstyle
Da Risk <darisk972@gmail.com>
parents: 577
diff changeset
   431
	pm.addExtensionProvider("bad-locale", COMMAND_NAMESPACE,
528
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   432
	    new AdHocCommandDataProvider.BadLocaleError());
593
54a7d59a3f09 checkstyle
Da Risk <darisk972@gmail.com>
parents: 577
diff changeset
   433
	pm.addExtensionProvider("bad-payload", COMMAND_NAMESPACE,
528
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   434
	    new AdHocCommandDataProvider.BadPayloadError());
593
54a7d59a3f09 checkstyle
Da Risk <darisk972@gmail.com>
parents: 577
diff changeset
   435
	pm.addExtensionProvider("bad-sessionid", COMMAND_NAMESPACE,
528
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   436
	    new AdHocCommandDataProvider.BadSessionIDError());
593
54a7d59a3f09 checkstyle
Da Risk <darisk972@gmail.com>
parents: 577
diff changeset
   437
	pm.addExtensionProvider("session-expired", COMMAND_NAMESPACE,
528
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   438
	    new AdHocCommandDataProvider.SessionExpiredError());
665
01f3b7160f4b add a hide group options
Nikita Kozlov <nikita@beem-project.com>
parents: 657
diff changeset
   439
	 */
528
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   440
    }
678
d1a599ccf879 Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents: 671
diff changeset
   441
682
9a7a89e5e966 some checkstyle
nikita@nikita-laptop
parents: 680
diff changeset
   442
    /**
683
ec60b1bbeb79 some checkstyle
nikita@nikita-laptop
parents: 682
diff changeset
   443
     * Listen on preference changes.
682
9a7a89e5e966 some checkstyle
nikita@nikita-laptop
parents: 680
diff changeset
   444
     */
680
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   445
    private class BeemServicePreferenceListener implements SharedPreferences.OnSharedPreferenceChangeListener {
683
ec60b1bbeb79 some checkstyle
nikita@nikita-laptop
parents: 682
diff changeset
   446
682
9a7a89e5e966 some checkstyle
nikita@nikita-laptop
parents: 680
diff changeset
   447
	/**
683
ec60b1bbeb79 some checkstyle
nikita@nikita-laptop
parents: 682
diff changeset
   448
	 * ctor.
682
9a7a89e5e966 some checkstyle
nikita@nikita-laptop
parents: 680
diff changeset
   449
	 */
9a7a89e5e966 some checkstyle
nikita@nikita-laptop
parents: 680
diff changeset
   450
	public BeemServicePreferenceListener() {
9a7a89e5e966 some checkstyle
nikita@nikita-laptop
parents: 680
diff changeset
   451
	}
9a7a89e5e966 some checkstyle
nikita@nikita-laptop
parents: 680
diff changeset
   452
680
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   453
	@Override
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   454
	public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
684
99931d858ac0 some checkstyle
nikita@nikita-laptop
parents: 683
diff changeset
   455
	    if ("settings_away_chk".equals(key)) {
680
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   456
		if (sharedPreferences.getBoolean("settings_away_chk", false)) {
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   457
		    mOnOffReceiverIsRegistered = true;
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   458
		    registerReceiver(mOnOffReceiver, new IntentFilter(Intent.ACTION_SCREEN_OFF));
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   459
		    registerReceiver(mOnOffReceiver, new IntentFilter(Intent.ACTION_SCREEN_ON));
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   460
		} else {
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   461
		    mOnOffReceiverIsRegistered = false;
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   462
		    unregisterReceiver(mOnOffReceiver);
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   463
		}
682
9a7a89e5e966 some checkstyle
nikita@nikita-laptop
parents: 680
diff changeset
   464
	    }
9a7a89e5e966 some checkstyle
nikita@nikita-laptop
parents: 680
diff changeset
   465
	}
680
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   466
    }
683
ec60b1bbeb79 some checkstyle
nikita@nikita-laptop
parents: 682
diff changeset
   467
682
9a7a89e5e966 some checkstyle
nikita@nikita-laptop
parents: 680
diff changeset
   468
    /**
683
ec60b1bbeb79 some checkstyle
nikita@nikita-laptop
parents: 682
diff changeset
   469
     * Listen on some Intent broadcast, ScreenOn and ScreenOff.
682
9a7a89e5e966 some checkstyle
nikita@nikita-laptop
parents: 680
diff changeset
   470
     */
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
   471
    private class BeemServiceBroadcastReceiver extends BroadcastReceiver {
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
   472
678
d1a599ccf879 Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents: 671
diff changeset
   473
	private String mOldStatus;
d1a599ccf879 Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents: 671
diff changeset
   474
	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
   475
682
9a7a89e5e966 some checkstyle
nikita@nikita-laptop
parents: 680
diff changeset
   476
	/**
741
af1c21ab7ab9 refactor and clean up
Da Risk <darisk972@gmail.com>
parents: 740
diff changeset
   477
	 * Constructor.
682
9a7a89e5e966 some checkstyle
nikita@nikita-laptop
parents: 680
diff changeset
   478
	 */
678
d1a599ccf879 Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents: 671
diff changeset
   479
	public BeemServiceBroadcastReceiver() {
d1a599ccf879 Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents: 671
diff changeset
   480
	}
d1a599ccf879 Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents: 671
diff changeset
   481
d1a599ccf879 Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents: 671
diff changeset
   482
	@Override
d1a599ccf879 Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents: 671
diff changeset
   483
	public void onReceive(final Context context, final Intent intent) {
d1a599ccf879 Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents: 671
diff changeset
   484
	    String intentAction = intent.getAction();
d1a599ccf879 Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents: 671
diff changeset
   485
	    if (intentAction.equals(Intent.ACTION_SCREEN_OFF)) {
d1a599ccf879 Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents: 671
diff changeset
   486
		mOldMode = mConnection.getPreviousMode();
d1a599ccf879 Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents: 671
diff changeset
   487
		mOldStatus = mConnection.getPreviousStatus();
762
56d44e5c7081 Many little modifications.
Da Risk <darisk972@gmail.com>
parents: 741
diff changeset
   488
		if (mConnection.isAuthentificated())
56d44e5c7081 Many little modifications.
Da Risk <darisk972@gmail.com>
parents: 741
diff changeset
   489
		    mConnection.changeStatus(Status.CONTACT_STATUS_AWAY,
56d44e5c7081 Many little modifications.
Da Risk <darisk972@gmail.com>
parents: 741
diff changeset
   490
			    mSettings.getString("settings_away_message", "Away"));
678
d1a599ccf879 Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents: 671
diff changeset
   491
	    } else if (intentAction.equals(Intent.ACTION_SCREEN_ON)) {
762
56d44e5c7081 Many little modifications.
Da Risk <darisk972@gmail.com>
parents: 741
diff changeset
   492
		if (mConnection.isAuthentificated())
56d44e5c7081 Many little modifications.
Da Risk <darisk972@gmail.com>
parents: 741
diff changeset
   493
		    mConnection.changeStatus(mOldMode, mOldStatus);
678
d1a599ccf879 Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents: 671
diff changeset
   494
	    }
d1a599ccf879 Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents: 671
diff changeset
   495
	}
d1a599ccf879 Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents: 671
diff changeset
   496
    }
17
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
   497
}
594
02c8fd26d82b checkstyle
Da Risk <darisk972@gmail.com>
parents: 593
diff changeset
   498