src/com/beem/project/beem/BeemService.java
author Nikita Kozlov <nikita@beem-project.com>
Tue, 23 Aug 2011 01:12:26 +0200
changeset 929 a4bbcfbd0a91
parent 885 7b5e29b3603b
child 934 6b30719f4de6
permissions -rwxr-xr-x
managing otr fingerprint authentication
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
929
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
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.ProviderManager;
772
d1db49d18275 fix #263
Da Risk <darisk972@gmail.com>
parents: 729
diff changeset
    52
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
    53
import org.jivesoftware.smackx.provider.DiscoverInfoProvider;
4fb9df09ffdf #286 : Initial implementation of XEP-0115 : Entity Capabilities
Da Risk <darisk972@gmail.com>
parents: 774
diff changeset
    54
import org.jivesoftware.smackx.provider.DiscoverItemsProvider;
772
d1db49d18275 fix #263
Da Risk <darisk972@gmail.com>
parents: 729
diff changeset
    55
import org.jivesoftware.smackx.packet.ChatStateExtension;
80
29f0d6a23321 Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents: 72
diff changeset
    56
import org.jivesoftware.smack.proxy.ProxyInfo;
29f0d6a23321 Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents: 72
diff changeset
    57
import org.jivesoftware.smack.proxy.ProxyInfo.ProxyType;
326
c5f000965df8 Reconnection
Marseille
parents: 315
diff changeset
    58
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
    59
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
    60
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
    61
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
    62
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
    63
17
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    64
import android.app.Notification;
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    65
import android.app.NotificationManager;
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    66
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
    67
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
    68
import android.content.Context;
17
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    69
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
    70
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
    71
import android.content.SharedPreferences;
377
5f60caa9f85c deplacement de l'eventListener cote service
Nikita Kozlov <nikita@beem-project.com>
parents: 375
diff changeset
    72
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
    73
import android.net.ConnectivityManager;
740
a91db9ddc46f Fixes a little bug in contactlist activity.
Da Risk <darisk972@gmail.com>
parents: 739
diff changeset
    74
import android.net.Uri;
17
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    75
import android.os.IBinder;
18
1063d4bde1aa commit pour test avec barbu
Da Risk <darisk972@gmail.com>
parents: 17
diff changeset
    76
import android.os.RemoteException;
404
3c8ca2a1a327 changement de la gestion des settings.
Nikita Kozlov <nikita@beem-project.com>
parents: 402
diff changeset
    77
import android.preference.PreferenceManager;
885
7b5e29b3603b Move some preferences key
Da Risk <da_risk@beem-project.com>
parents: 880
diff changeset
    78
import android.provider.Settings;
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
/**
929
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
    92
 * This class is for the Beem service. It must contains every global informations needed to maintain the background
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
    93
 * service. The connection to the xmpp server will be made asynchronously when the service will start.
17
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    94
 * @author darisk
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    95
 */
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    96
public class BeemService extends Service {
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    97
567
896533b277d5 ajout des headers
Nikita Kozlov <nikita@beem-project.com>
parents: 563
diff changeset
    98
    /** The id to use for status notification. */
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    99
    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
   100
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 508
diff changeset
   101
    private static final String TAG = "BeemService";
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   102
    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
   103
    //private static final String COMMAND_NAMESPACE = "http://jabber.org/protocol/commands";
21
b9f4a0ef574a Contact List OK.
marseille@marseille-desktop
parents: 19
diff changeset
   104
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   105
    private NotificationManager mNotificationManager;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   106
    private XmppConnectionAdapter mConnection;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   107
    private SharedPreferences mSettings;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   108
    private String mLogin;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   109
    private String mPassword;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   110
    private String mHost;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   111
    private String mService;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   112
    private int mPort;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   113
    private ConnectionConfiguration mConnectionConfiguration;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   114
    private ProxyInfo mProxyInfo;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   115
    private boolean mUseProxy;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   116
    private IXmppFacade.Stub mBind;
72
cdedc3a25d39 Show a progress dialog during connection with the server
Da Risk <darisk972@gmail.com>
parents: 67
diff changeset
   117
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
   118
    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
   119
    private BeemServiceBroadcastReceiver mOnOffReceiver = new BeemServiceBroadcastReceiver();
680
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   120
    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
   121
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
   122
    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
   123
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   124
    /**
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   125
     * Constructor.
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   126
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   127
    public BeemService() {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   128
    }
99
8de21ac527ce revert pour refaire un push propre
nikita@nikita-rack
parents: 98
diff changeset
   129
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   130
    /**
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
   131
     * Initialize the connection.
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   132
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   133
    private void initConnectionConfig() {
874
b2c242da8a1e Add a trim() to remove extra spaces in jid and host
Da Risk <darisk972@gmail.com>
parents: 871
diff changeset
   134
	// TODO add an option for this ?
929
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
   135
	//         SmackConfiguration.setPacketReplyTimeout(30000);
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
	}
835
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
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   183
    /**
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   184
     * {@inheritDoc}
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   185
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   186
    @Override
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   187
    public void onCreate() {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   188
	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
   189
	registerReceiver(mReceiver, new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION));
680
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   190
	mSettings = PreferenceManager.getDefaultSharedPreferences(this);
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   191
	mSettings.registerOnSharedPreferenceChangeListener(mPreferenceListener);
885
7b5e29b3603b Move some preferences key
Da Risk <da_risk@beem-project.com>
parents: 880
diff changeset
   192
	if (mSettings.getBoolean(BeemApplication.USE_AUTO_AWAY_KEY, 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
   193
	    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
   194
	    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
   195
	    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
   196
	}
874
b2c242da8a1e Add a trim() to remove extra spaces in jid and host
Da Risk <darisk972@gmail.com>
parents: 871
diff changeset
   197
	String tmpJid = mSettings.getString(BeemApplication.ACCOUNT_USERNAME_KEY, "").trim();
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   198
	mLogin = StringUtils.parseName(tmpJid);
728
13d204a5c6fe Cleanup some preference key
Da Risk <darisk972@gmail.com>
parents: 721
diff changeset
   199
	mPassword = mSettings.getString(BeemApplication.ACCOUNT_PASSWORD_KEY, "");
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   200
	mPort = DEFAULT_XMPP_PORT;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   201
	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
   202
	mHost = mService;
bbd54153f92c Bug #249 and a small debug on AccountConfigure.java
Nikita Kozlov <nikita@beem-project.com>
parents: 708
diff changeset
   203
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   204
	if (mSettings.getBoolean("settings_key_specific_server", false)) {
874
b2c242da8a1e Add a trim() to remove extra spaces in jid and host
Da Risk <darisk972@gmail.com>
parents: 871
diff changeset
   205
	    mHost = mSettings.getString("settings_key_xmpp_server", "").trim();
650
f98ef87c34b8 Bug correction.
Marseille
parents: 614
diff changeset
   206
	    if ("".equals(mHost))
836
53a2e0015adb Add an option to use the full jid as login for google talk google apps server.
Da Risk <darisk972@gmail.com>
parents: 835
diff changeset
   207
		mHost = mService;
650
f98ef87c34b8 Bug correction.
Marseille
parents: 614
diff changeset
   208
	    String tmpPort = mSettings.getString("settings_key_xmpp_port", "5222");
877
e81a14d9d569 Checkstyle again :(
Da Risk <darisk972@gmail.com>
parents: 876
diff changeset
   209
	    if (!"".equals(tmpPort))
e81a14d9d569 Checkstyle again :(
Da Risk <darisk972@gmail.com>
parents: 876
diff changeset
   210
		mPort = Integer.parseInt(tmpPort);
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   211
	}
929
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
   212
	if (mSettings.getBoolean(BeemApplication.FULL_JID_LOGIN_KEY, false) || "gmail.com".equals(mService)
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
   213
	    || "googlemail.com".equals(mService)) {
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   214
	    mLogin = tmpJid;
404
3c8ca2a1a327 changement de la gestion des settings.
Nikita Kozlov <nikita@beem-project.com>
parents: 402
diff changeset
   215
	}
3c8ca2a1a327 changement de la gestion des settings.
Nikita Kozlov <nikita@beem-project.com>
parents: 402
diff changeset
   216
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   217
	initConnectionConfig();
528
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   218
	configure(ProviderManager.getInstance());
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   219
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   220
	mNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
880
1f3c76bf3756 Use the user jid send by the server cause it can be different than the user
Da Risk <darisk972@gmail.com>
parents: 877
diff changeset
   221
	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
   222
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   223
	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
   224
	mBind = new XmppFacade(mConnection);
885
7b5e29b3603b Move some preferences key
Da Risk <da_risk@beem-project.com>
parents: 880
diff changeset
   225
	Log.d(TAG, "Create BeemService");
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   226
    }
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 193
diff changeset
   227
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   228
    /**
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   229
     * {@inheritDoc}
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   230
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   231
    @Override
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   232
    public void onDestroy() {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   233
	super.onDestroy();
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();
885
7b5e29b3603b Move some preferences key
Da Risk <da_risk@beem-project.com>
parents: 880
diff changeset
   241
	Log.i(TAG, "Stopping the service");
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;
929
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
   267
	String ringtoneStr = mSettings.getString(BeemApplication.NOTIFICATION_SOUND_KEY,
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
   268
	    Settings.System.DEFAULT_NOTIFICATION_URI.toString());
740
a91db9ddc46f Fixes a little bug in contactlist activity.
Da Risk <darisk972@gmail.com>
parents: 739
diff changeset
   269
	notif.sound = Uri.parse(ringtoneStr);
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   270
	mNotificationManager.notify(id, notif);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   271
    }
94
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
   272
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   273
    /**
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   274
     * Delete a notification.
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   275
     * @param id the id of the notification
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   276
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   277
    public void deleteNotification(int id) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   278
	mNotificationManager.cancel(id);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   279
    }
419
88e1a96ee8da Retrait des notifications quand on ouvre le chat d'une personne qui vient
Da Risk <darisk972@gmail.com>
parents: 412
diff changeset
   280
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   281
    /**
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
   282
     * Reset the status to online after a disconnect.
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   283
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   284
    public void resetStatus() {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   285
	Editor edit = mSettings.edit();
728
13d204a5c6fe Cleanup some preference key
Da Risk <darisk972@gmail.com>
parents: 721
diff changeset
   286
	edit.putInt(BeemApplication.STATUS_KEY, 1);
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   287
	edit.commit();
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   288
    }
377
5f60caa9f85c deplacement de l'eventListener cote service
Nikita Kozlov <nikita@beem-project.com>
parents: 375
diff changeset
   289
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   290
    /**
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
   291
     * 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
   292
     * @param adaptee XmppConnection used for jingle.
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   293
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   294
    public void initJingle(XMPPConnection adaptee) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   295
    }
524
e1a9ba4611dc Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents: 508
diff changeset
   296
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
   297
    /**
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 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
     * @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
   300
     */
508
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   301
    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
   302
	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
   303
    }
524
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
    /**
e1a9ba4611dc Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents: 508
diff changeset
   306
     * 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
   307
     * @return the preference
e1a9ba4611dc Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents: 508
diff changeset
   308
     */
e1a9ba4611dc Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents: 508
diff changeset
   309
    public SharedPreferences getServicePreference() {
e1a9ba4611dc Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents: 508
diff changeset
   310
	return mSettings;
e1a9ba4611dc Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents: 508
diff changeset
   311
    }
528
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   312
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   313
    /**
762
56d44e5c7081 Many little modifications.
Da Risk <darisk972@gmail.com>
parents: 741
diff changeset
   314
     * Get the notification manager system service.
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
844
30d32b73be7c fix Bug #321
Nikita Kozlov <nikita@beem-project.com>
parents: 842
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);
929
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
   346
	pm.addExtensionProvider("composing", "http://jabber.org/protocol/chatstates", chatState);
772
d1db49d18275 fix #263
Da Risk <darisk972@gmail.com>
parents: 729
diff changeset
   347
	pm.addExtensionProvider("paused", "http://jabber.org/protocol/chatstates", chatState);
d1db49d18275 fix #263
Da Risk <darisk972@gmail.com>
parents: 729
diff changeset
   348
	pm.addExtensionProvider("inactive", "http://jabber.org/protocol/chatstates", chatState);
d1db49d18275 fix #263
Da Risk <darisk972@gmail.com>
parents: 729
diff changeset
   349
	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
   350
	// capabilities
793
4fb9df09ffdf #286 : Initial implementation of XEP-0115 : Entity Capabilities
Da Risk <darisk972@gmail.com>
parents: 774
diff changeset
   351
	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
   352
	//Pubsub
1eefc5da624a Port the avatar manager on smackx.pubsub.* instead of PEPManager.
Da Risk <darisk972@gmail.com>
parents: 799
diff changeset
   353
	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
   354
	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
   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("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
   357
800
1eefc5da624a Port the avatar manager on smackx.pubsub.* instead of PEPManager.
Da Risk <darisk972@gmail.com>
parents: 799
diff changeset
   358
	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
   359
	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
   360
	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
   361
	//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
   362
799
b2a796654230 Implementation of XEP-084 which loads avatar from http.
Da Risk <darisk972@gmail.com>
parents: 793
diff changeset
   363
	//PEP avatar
800
1eefc5da624a Port the avatar manager on smackx.pubsub.* instead of PEPManager.
Da Risk <darisk972@gmail.com>
parents: 799
diff changeset
   364
	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
   365
	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
   366
929
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
   367
	//         PEPProvider pep  = new PEPProvider();
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
   368
	//         AvatarMetadataProvider avaMeta  = new AvatarMetadataProvider();
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
   369
	//         pep.registerPEPParserExtension("urn:xmpp:avatar:metadata", avaMeta);
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
   370
	//         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
   371
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
   372
	/*
929
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
   373
	 * // Private Data Storage pm.addIQProvider("query", "jabber:iq:private", new
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
   374
	 * PrivateDataManager.PrivateDataIQProvider()); // Time try { pm.addIQProvider("query", "jabber:iq:time",
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
   375
	 * Class.forName("org.jivesoftware.smackx.packet.Time")); } catch (ClassNotFoundException e) {
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
   376
	 * Log.w("TestClient", "Can't load class for org.jivesoftware.smackx.packet.Time"); } // Roster Exchange
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
   377
	 * pm.addExtensionProvider("x", "jabber:x:roster", new RosterExchangeProvider()); // Message Events
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
   378
	 * pm.addExtensionProvider("x", "jabber:x:event", new MessageEventProvider()); // XHTML
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
   379
	 * pm.addExtensionProvider("html", "http://jabber.org/protocol/xhtml-im", new XHTMLExtensionProvider()); //
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
   380
	 * Group Chat Invitations pm.addExtensionProvider("x", "jabber:x:conference", new
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
   381
	 * GroupChatInvitation.Provider()); // Data Forms pm.addExtensionProvider("x", "jabber:x:data", new
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
   382
	 * DataFormProvider()); // MUC User pm.addExtensionProvider("x", "http://jabber.org/protocol/muc#user", new
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
   383
	 * MUCUserProvider()); // MUC Admin pm.addIQProvider("query", "http://jabber.org/protocol/muc#admin", new
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
   384
	 * MUCAdminProvider()); // MUC Owner pm.addIQProvider("query", "http://jabber.org/protocol/muc#owner", new
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
   385
	 * MUCOwnerProvider()); // Version try { pm.addIQProvider("query", "jabber:iq:version",
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
   386
	 * Class.forName("org.jivesoftware.smackx.packet.Version")); } catch (ClassNotFoundException e) { // Not sure
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
   387
	 * what's happening here. Log.w("TestClient", "Can't load class for org.jivesoftware.smackx.packet.Version"); }
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
   388
	 * // VCard pm.addIQProvider("vCard", "vcard-temp", new VCardProvider()); // Offline Message Requests
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
   389
	 * pm.addIQProvider("offline", "http://jabber.org/protocol/offline", new OfflineMessageRequest.Provider()); //
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
   390
	 * Offline Message Indicator pm.addExtensionProvider("offline", "http://jabber.org/protocol/offline", new
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
   391
	 * OfflineMessageInfo.Provider()); // Last Activity pm.addIQProvider("query", "jabber:iq:last", new
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
   392
	 * LastActivity.Provider()); // User Search pm.addIQProvider("query", "jabber:iq:search", new
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
   393
	 * UserSearch.Provider()); // SharedGroupsInfo pm.addIQProvider("sharedgroup",
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
   394
	 * "http://www.jivesoftware.org/protocol/sharedgroup", new SharedGroupsInfo.Provider()); // JEP-33: Extended
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
   395
	 * Stanza Addressing pm.addExtensionProvider("addresses", "http://jabber.org/protocol/address", new
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
   396
	 * MultipleAddressesProvider()); // FileTransfer pm.addIQProvider("si", "http://jabber.org/protocol/si", new
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
   397
	 * StreamInitiationProvider()); pm.addIQProvider("query", "http://jabber.org/protocol/bytestreams", new
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
   398
	 * BytestreamsProvider()); pm.addIQProvider("open", "http://jabber.org/protocol/ibb", new IBBProviders.Open());
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
   399
	 * pm.addIQProvider("close", "http://jabber.org/protocol/ibb", new IBBProviders.Close());
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
   400
	 * pm.addExtensionProvider("data", "http://jabber.org/protocol/ibb", new IBBProviders.Data());
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
   401
	 * pm.addIQProvider("command", COMMAND_NAMESPACE, new AdHocCommandDataProvider());
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
   402
	 * pm.addExtensionProvider("malformed-action", COMMAND_NAMESPACE, new
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
   403
	 * AdHocCommandDataProvider.MalformedActionError()); pm.addExtensionProvider("bad-locale", COMMAND_NAMESPACE,
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
   404
	 * new AdHocCommandDataProvider.BadLocaleError()); pm.addExtensionProvider("bad-payload", COMMAND_NAMESPACE, new
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
   405
	 * AdHocCommandDataProvider.BadPayloadError()); pm.addExtensionProvider("bad-sessionid", COMMAND_NAMESPACE, new
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
   406
	 * AdHocCommandDataProvider.BadSessionIDError()); pm.addExtensionProvider("session-expired", COMMAND_NAMESPACE,
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
   407
	 * new AdHocCommandDataProvider.SessionExpiredError());
665
01f3b7160f4b add a hide group options
Nikita Kozlov <nikita@beem-project.com>
parents: 657
diff changeset
   408
	 */
528
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   409
    }
678
d1a599ccf879 Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents: 671
diff changeset
   410
682
9a7a89e5e966 some checkstyle
nikita@nikita-laptop
parents: 680
diff changeset
   411
    /**
683
ec60b1bbeb79 some checkstyle
nikita@nikita-laptop
parents: 682
diff changeset
   412
     * Listen on preference changes.
682
9a7a89e5e966 some checkstyle
nikita@nikita-laptop
parents: 680
diff changeset
   413
     */
680
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   414
    private class BeemServicePreferenceListener implements SharedPreferences.OnSharedPreferenceChangeListener {
683
ec60b1bbeb79 some checkstyle
nikita@nikita-laptop
parents: 682
diff changeset
   415
682
9a7a89e5e966 some checkstyle
nikita@nikita-laptop
parents: 680
diff changeset
   416
	/**
683
ec60b1bbeb79 some checkstyle
nikita@nikita-laptop
parents: 682
diff changeset
   417
	 * ctor.
682
9a7a89e5e966 some checkstyle
nikita@nikita-laptop
parents: 680
diff changeset
   418
	 */
9a7a89e5e966 some checkstyle
nikita@nikita-laptop
parents: 680
diff changeset
   419
	public BeemServicePreferenceListener() {
9a7a89e5e966 some checkstyle
nikita@nikita-laptop
parents: 680
diff changeset
   420
	}
9a7a89e5e966 some checkstyle
nikita@nikita-laptop
parents: 680
diff changeset
   421
680
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   422
	@Override
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   423
	public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
885
7b5e29b3603b Move some preferences key
Da Risk <da_risk@beem-project.com>
parents: 880
diff changeset
   424
	    if (BeemApplication.USE_AUTO_AWAY_KEY.equals(key)) {
7b5e29b3603b Move some preferences key
Da Risk <da_risk@beem-project.com>
parents: 880
diff changeset
   425
		if (sharedPreferences.getBoolean(BeemApplication.USE_AUTO_AWAY_KEY, false)) {
680
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   426
		    mOnOffReceiverIsRegistered = true;
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   427
		    registerReceiver(mOnOffReceiver, new IntentFilter(Intent.ACTION_SCREEN_OFF));
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   428
		    registerReceiver(mOnOffReceiver, new IntentFilter(Intent.ACTION_SCREEN_ON));
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   429
		} else {
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   430
		    mOnOffReceiverIsRegistered = false;
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   431
		    unregisterReceiver(mOnOffReceiver);
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   432
		}
682
9a7a89e5e966 some checkstyle
nikita@nikita-laptop
parents: 680
diff changeset
   433
	    }
9a7a89e5e966 some checkstyle
nikita@nikita-laptop
parents: 680
diff changeset
   434
	}
680
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   435
    }
683
ec60b1bbeb79 some checkstyle
nikita@nikita-laptop
parents: 682
diff changeset
   436
682
9a7a89e5e966 some checkstyle
nikita@nikita-laptop
parents: 680
diff changeset
   437
    /**
683
ec60b1bbeb79 some checkstyle
nikita@nikita-laptop
parents: 682
diff changeset
   438
     * Listen on some Intent broadcast, ScreenOn and ScreenOff.
682
9a7a89e5e966 some checkstyle
nikita@nikita-laptop
parents: 680
diff changeset
   439
     */
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
   440
    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
   441
678
d1a599ccf879 Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents: 671
diff changeset
   442
	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
   443
	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
   444
682
9a7a89e5e966 some checkstyle
nikita@nikita-laptop
parents: 680
diff changeset
   445
	/**
741
af1c21ab7ab9 refactor and clean up
Da Risk <darisk972@gmail.com>
parents: 740
diff changeset
   446
	 * Constructor.
682
9a7a89e5e966 some checkstyle
nikita@nikita-laptop
parents: 680
diff changeset
   447
	 */
678
d1a599ccf879 Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents: 671
diff changeset
   448
	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
   449
	}
d1a599ccf879 Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents: 671
diff changeset
   450
d1a599ccf879 Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents: 671
diff changeset
   451
	@Override
d1a599ccf879 Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents: 671
diff changeset
   452
	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
   453
	    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
   454
	    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
   455
		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
   456
		mOldStatus = mConnection.getPreviousStatus();
762
56d44e5c7081 Many little modifications.
Da Risk <darisk972@gmail.com>
parents: 741
diff changeset
   457
		if (mConnection.isAuthentificated())
56d44e5c7081 Many little modifications.
Da Risk <darisk972@gmail.com>
parents: 741
diff changeset
   458
		    mConnection.changeStatus(Status.CONTACT_STATUS_AWAY,
929
a4bbcfbd0a91 managing otr fingerprint authentication
Nikita Kozlov <nikita@beem-project.com>
parents: 885
diff changeset
   459
			mSettings.getString(BeemApplication.AUTO_AWAY_MSG_KEY, "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
   460
	    } else if (intentAction.equals(Intent.ACTION_SCREEN_ON)) {
762
56d44e5c7081 Many little modifications.
Da Risk <darisk972@gmail.com>
parents: 741
diff changeset
   461
		if (mConnection.isAuthentificated())
56d44e5c7081 Many little modifications.
Da Risk <darisk972@gmail.com>
parents: 741
diff changeset
   462
		    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
   463
	    }
d1a599ccf879 Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents: 671
diff changeset
   464
	}
d1a599ccf879 Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents: 671
diff changeset
   465
    }
17
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
   466
}