src/com/beem/project/beem/BeemService.java
author Da Risk <darisk972@gmail.com>
Thu, 03 Jun 2010 21:43:32 +0200
changeset 762 56d44e5c7081
parent 741 af1c21ab7ab9
child 774 1b88edb34d96
permissions -rw-r--r--
Many little modifications. Clean strings.xml Disable use of preference for status notification. Fix a bug with the auto away feature.
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;
80
29f0d6a23321 Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents: 72
diff changeset
    53
import org.jivesoftware.smack.proxy.ProxyInfo;
29f0d6a23321 Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents: 72
diff changeset
    54
import org.jivesoftware.smack.proxy.ProxyInfo.ProxyType;
326
c5f000965df8 Reconnection
Marseille
parents: 315
diff changeset
    55
import org.jivesoftware.smack.util.StringUtils;
239
65369afd96d3 Rajout de Log dans le beem service pour les reconnections etc.
marseille@marseille-desktop
parents: 236
diff changeset
    56
17
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    57
import android.app.Notification;
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    58
import android.app.NotificationManager;
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    59
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
    60
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
    61
import android.content.Context;
17
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    62
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
    63
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
    64
import android.content.SharedPreferences;
377
5f60caa9f85c deplacement de l'eventListener cote service
Nikita Kozlov <nikita@beem-project.com>
parents: 375
diff changeset
    65
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
    66
import android.net.ConnectivityManager;
740
a91db9ddc46f Fixes a little bug in contactlist activity.
Da Risk <darisk972@gmail.com>
parents: 739
diff changeset
    67
import android.net.Uri;
17
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    68
import android.os.IBinder;
18
1063d4bde1aa commit pour test avec barbu
Da Risk <darisk972@gmail.com>
parents: 17
diff changeset
    69
import android.os.RemoteException;
404
3c8ca2a1a327 changement de la gestion des settings.
Nikita Kozlov <nikita@beem-project.com>
parents: 402
diff changeset
    70
import android.preference.PreferenceManager;
94
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
    71
import android.util.Log;
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
    72
67
8c3870db8e31 Rename some XMPP* classes in Xmpp*
Da Risk <darisk972@gmail.com>
parents: 55
diff changeset
    73
import com.beem.project.beem.service.XmppConnectionAdapter;
8c3870db8e31 Rename some XMPP* classes in Xmpp*
Da Risk <darisk972@gmail.com>
parents: 55
diff changeset
    74
import com.beem.project.beem.service.XmppFacade;
8c3870db8e31 Rename some XMPP* classes in Xmpp*
Da Risk <darisk972@gmail.com>
parents: 55
diff changeset
    75
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
    76
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
    77
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
    78
import com.beem.project.beem.utils.Status;
72
cdedc3a25d39 Show a progress dialog during connection with the server
Da Risk <darisk972@gmail.com>
parents: 67
diff changeset
    79
17
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    80
/**
741
af1c21ab7ab9 refactor and clean up
Da Risk <darisk972@gmail.com>
parents: 740
diff changeset
    81
 * This class is for the Beem service.
af1c21ab7ab9 refactor and clean up
Da Risk <darisk972@gmail.com>
parents: 740
diff changeset
    82
 * 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
    83
 * 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
    84
 * will start.
17
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    85
 * @author darisk
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    86
 */
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    87
public class BeemService extends Service {
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
    88
567
896533b277d5 ajout des headers
Nikita Kozlov <nikita@beem-project.com>
parents: 563
diff changeset
    89
    /** The id to use for status notification. */
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    90
    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
    91
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 508
diff changeset
    92
    private static final String TAG = "BeemService";
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    93
    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
    94
    //private static final String COMMAND_NAMESPACE = "http://jabber.org/protocol/commands";
21
b9f4a0ef574a Contact List OK.
marseille@marseille-desktop
parents: 19
diff changeset
    95
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    96
    private NotificationManager mNotificationManager;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    97
    private XmppConnectionAdapter mConnection;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    98
    private SharedPreferences mSettings;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    99
    private String mLogin;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   100
    private String mPassword;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   101
    private String mHost;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   102
    private String mService;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   103
    private int mPort;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   104
    private ConnectionConfiguration mConnectionConfiguration;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   105
    private ProxyInfo mProxyInfo;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   106
    private boolean mUseProxy;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   107
    private IXmppFacade.Stub mBind;
72
cdedc3a25d39 Show a progress dialog during connection with the server
Da Risk <darisk972@gmail.com>
parents: 67
diff changeset
   108
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
   109
    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
   110
    private BeemServiceBroadcastReceiver mOnOffReceiver = new BeemServiceBroadcastReceiver();
680
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   111
    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
   112
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
   113
    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
   114
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   115
    /**
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   116
     * Constructor.
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   117
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   118
    public BeemService() {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   119
    }
99
8de21ac527ce revert pour refaire un push propre
nikita@nikita-rack
parents: 98
diff changeset
   120
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   121
    /**
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
   122
     * Initialize the connection.
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   123
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   124
    private void initConnectionConfig() {
739
106f089f8cde refactor use constants for proxy preference key.
Da Risk <darisk972@gmail.com>
parents: 729
diff changeset
   125
	mUseProxy = mSettings.getBoolean(BeemApplication.PROXY_USE_KEY, false);
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   126
	if (mUseProxy) {
739
106f089f8cde refactor use constants for proxy preference key.
Da Risk <darisk972@gmail.com>
parents: 729
diff changeset
   127
	    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
   128
	    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
   129
	    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
   130
	    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
   131
	    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
   132
	    ProxyInfo.ProxyType type = ProxyType.valueOf(stype);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   133
	    mProxyInfo = new ProxyInfo(type, phost, pport, puser, ppass);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   134
	} else {
668
f6c0888906e1 Remove the gmail option. Not necessary with asmack
Da Risk <darisk972@gmail.com>
parents: 657
diff changeset
   135
	    mProxyInfo = ProxyInfo.forNoProxy();
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   136
	}
668
f6c0888906e1 Remove the gmail option. Not necessary with asmack
Da Risk <darisk972@gmail.com>
parents: 657
diff changeset
   137
	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
   138
	    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
   139
	else
f6c0888906e1 Remove the gmail option. Not necessary with asmack
Da Risk <darisk972@gmail.com>
parents: 657
diff changeset
   140
	    mConnectionConfiguration = new ConnectionConfiguration(mService, mProxyInfo);
f6c0888906e1 Remove the gmail option. Not necessary with asmack
Da Risk <darisk972@gmail.com>
parents: 657
diff changeset
   141
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   142
	if (mSettings.getBoolean("settings_key_xmpp_tls_use", false)
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   143
	    || mSettings.getBoolean("settings_key_gmail", false)) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   144
	    mConnectionConfiguration.setSecurityMode(SecurityMode.required);
420
ecddfb6c0e2a Checkstyle
Da Risk <darisk972@gmail.com>
parents: 419
diff changeset
   145
	}
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   146
	mConnectionConfiguration.setDebuggerEnabled(false);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   147
	mConnectionConfiguration.setSendPresence(true);
721
3bedd1e275b8 Checkstyle
Da Risk <darisk972@gmail.com>
parents: 719
diff changeset
   148
	// 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
   149
	mConnectionConfiguration.setTruststoreType("BKS");
721
3bedd1e275b8 Checkstyle
Da Risk <darisk972@gmail.com>
parents: 719
diff changeset
   150
	mConnectionConfiguration.setTruststorePath("/system/etc/security/cacerts.bks");
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   151
    }
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 193
diff changeset
   152
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   153
    /**
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   154
     * {@inheritDoc}
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   155
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   156
    @Override
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   157
    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
   158
	Log.d(TAG, "ONBIND()");
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   159
	return mBind;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   160
    }
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   161
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   162
    @Override
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   163
    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
   164
	Log.d(TAG, "ONUNBIND()");
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   165
	if (!mConnection.getAdaptee().isConnected()) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   166
	    this.stopSelf();
502
3091acfe31f4 Ajout d´un status par default quelque soit l´activité.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 494
diff changeset
   167
	}
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   168
	return true;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   169
    }
680
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   170
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   171
503
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
     * {@inheritDoc}
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   174
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   175
    @Override
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   176
    public void onCreate() {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   177
	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
   178
	registerReceiver(mReceiver, new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION));
680
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   179
	mSettings = PreferenceManager.getDefaultSharedPreferences(this);
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   180
	mSettings.registerOnSharedPreferenceChangeListener(mPreferenceListener);
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   181
	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
   182
	    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
   183
	    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
   184
	    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
   185
	}
728
13d204a5c6fe Cleanup some preference key
Da Risk <darisk972@gmail.com>
parents: 721
diff changeset
   186
	String tmpJid = mSettings.getString(BeemApplication.ACCOUNT_USERNAME_KEY, "");
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   187
	mLogin = StringUtils.parseName(tmpJid);
728
13d204a5c6fe Cleanup some preference key
Da Risk <darisk972@gmail.com>
parents: 721
diff changeset
   188
	mPassword = mSettings.getString(BeemApplication.ACCOUNT_PASSWORD_KEY, "");
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   189
	mPort = DEFAULT_XMPP_PORT;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   190
	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
   191
	mHost = mService;
bbd54153f92c Bug #249 and a small debug on AccountConfigure.java
Nikita Kozlov <nikita@beem-project.com>
parents: 708
diff changeset
   192
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   193
	if (mSettings.getBoolean("settings_key_specific_server", false)) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   194
	    mHost = mSettings.getString("settings_key_xmpp_server", "");
650
f98ef87c34b8 Bug correction.
Marseille
parents: 614
diff changeset
   195
	    if ("".equals(mHost))
f98ef87c34b8 Bug correction.
Marseille
parents: 614
diff changeset
   196
		mHost = StringUtils.parseServer(tmpJid);
f98ef87c34b8 Bug correction.
Marseille
parents: 614
diff changeset
   197
	    String tmpPort = mSettings.getString("settings_key_xmpp_port", "5222");
682
9a7a89e5e966 some checkstyle
nikita@nikita-laptop
parents: 680
diff changeset
   198
	    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
   199
	}
668
f6c0888906e1 Remove the gmail option. Not necessary with asmack
Da Risk <darisk972@gmail.com>
parents: 657
diff changeset
   200
	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
   201
	    mLogin = tmpJid;
404
3c8ca2a1a327 changement de la gestion des settings.
Nikita Kozlov <nikita@beem-project.com>
parents: 402
diff changeset
   202
	}
3c8ca2a1a327 changement de la gestion des settings.
Nikita Kozlov <nikita@beem-project.com>
parents: 402
diff changeset
   203
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   204
	initConnectionConfig();
528
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   205
	configure(ProviderManager.getInstance());
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   206
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   207
	mNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   208
	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
   209
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   210
	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
   211
	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
   212
	Log.d(TAG, "ONCREATE");
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   213
    }
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 193
diff changeset
   214
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   215
    /**
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   216
     * {@inheritDoc}
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   217
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   218
    @Override
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   219
    public void onDestroy() {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   220
	super.onDestroy();
729
a24a98c1e019 Add a disconnect entry on the contact list menu.
Da Risk <darisk972@gmail.com>
parents: 728
diff changeset
   221
	resetStatus();
562
5e48a0729411 Delete all notification when service destroy.
Vincent Veronis <veroni_v@epitech.net>
parents: 539
diff changeset
   222
	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
   223
	unregisterReceiver(mReceiver);
680
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   224
	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
   225
	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
   226
	    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
   227
	if (mConnection.isAuthentificated() && BeemConnectivity.isConnected(this))
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   228
	    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
   229
	Log.d(TAG, "ONDESTROY");
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   230
    }
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 193
diff changeset
   231
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   232
    /**
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   233
     * {@inheritDoc}
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   234
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   235
    @Override
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   236
    public void onStart(Intent intent, int startId) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   237
	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
   238
	Log.d(TAG, "onStart");
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   239
	try {
609
47e559a5410a checkstyle
Nikita Kozlov <nikita@mbdsys.com>
parents: 608
diff changeset
   240
	    mConnection.connectAsync();
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   241
	} catch (RemoteException e) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   242
	    e.printStackTrace();
502
3091acfe31f4 Ajout d´un status par default quelque soit l´activité.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 494
diff changeset
   243
	}
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   244
    }
502
3091acfe31f4 Ajout d´un status par default quelque soit l´activité.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 494
diff changeset
   245
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   246
    /**
740
a91db9ddc46f Fixes a little bug in contactlist activity.
Da Risk <darisk972@gmail.com>
parents: 739
diff changeset
   247
     * 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
   248
     * @param id the id of the notification.
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   249
     * @param notif the notification to show
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   250
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   251
    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
   252
	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
   253
	    notif.defaults |= Notification.DEFAULT_VIBRATE;
a91db9ddc46f Fixes a little bug in contactlist activity.
Da Risk <darisk972@gmail.com>
parents: 739
diff changeset
   254
	notif.defaults |= Notification.DEFAULT_LIGHTS;
a91db9ddc46f Fixes a little bug in contactlist activity.
Da Risk <darisk972@gmail.com>
parents: 739
diff changeset
   255
	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
   256
	notif.sound = Uri.parse(ringtoneStr);
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   257
	mNotificationManager.notify(id, notif);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   258
    }
94
904759c1bd62 Draft de reception d'une demande d'ajout.
Da Risk <darisk972@gmail.com>
parents: 83
diff changeset
   259
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   260
    /**
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   261
     * Delete a notification.
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   262
     * @param id the id of the notification
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   263
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   264
    public void deleteNotification(int id) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   265
	mNotificationManager.cancel(id);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   266
    }
419
88e1a96ee8da Retrait des notifications quand on ouvre le chat d'une personne qui vient
Da Risk <darisk972@gmail.com>
parents: 412
diff changeset
   267
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   268
    /**
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
   269
     * Reset the status to online after a disconnect.
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   270
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   271
    public void resetStatus() {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   272
	Editor edit = mSettings.edit();
728
13d204a5c6fe Cleanup some preference key
Da Risk <darisk972@gmail.com>
parents: 721
diff changeset
   273
	edit.putInt(BeemApplication.STATUS_KEY, 1);
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   274
	edit.commit();
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   275
    }
377
5f60caa9f85c deplacement de l'eventListener cote service
Nikita Kozlov <nikita@beem-project.com>
parents: 375
diff changeset
   276
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   277
    /**
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
   278
     * 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
   279
     * @param adaptee XmppConnection used for jingle.
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   280
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   281
    public void initJingle(XMPPConnection adaptee) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   282
    }
524
e1a9ba4611dc Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents: 508
diff changeset
   283
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
   284
    /**
c5d0b38dd35f Mise a jour de la JavaDoc et corrections des erreurs de CheckStyle.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 508
diff changeset
   285
     * 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
   286
     * @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
   287
     */
508
7d8da3df2907 Ajout d'un chat switcher dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj at gmail dot com>
parents: 503
diff changeset
   288
    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
   289
	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
   290
    }
524
e1a9ba4611dc Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents: 508
diff changeset
   291
e1a9ba4611dc Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents: 508
diff changeset
   292
    /**
e1a9ba4611dc Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents: 508
diff changeset
   293
     * 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
   294
     * @return the preference
e1a9ba4611dc Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents: 508
diff changeset
   295
     */
e1a9ba4611dc Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents: 508
diff changeset
   296
    public SharedPreferences getServicePreference() {
e1a9ba4611dc Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents: 508
diff changeset
   297
	return mSettings;
e1a9ba4611dc Ajout d'options pour definir sa ressource et sa priorité
Da Risk <darisk972@gmail.com>
parents: 508
diff changeset
   298
    }
528
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   299
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   300
    /**
762
56d44e5c7081 Many little modifications.
Da Risk <darisk972@gmail.com>
parents: 741
diff changeset
   301
     * Get the notification manager system service.
56d44e5c7081 Many little modifications.
Da Risk <darisk972@gmail.com>
parents: 741
diff changeset
   302
     *
56d44e5c7081 Many little modifications.
Da Risk <darisk972@gmail.com>
parents: 741
diff changeset
   303
     * @return the notification manager service.
56d44e5c7081 Many little modifications.
Da Risk <darisk972@gmail.com>
parents: 741
diff changeset
   304
     */
56d44e5c7081 Many little modifications.
Da Risk <darisk972@gmail.com>
parents: 741
diff changeset
   305
    public NotificationManager getNotificationManager() {
56d44e5c7081 Many little modifications.
Da Risk <darisk972@gmail.com>
parents: 741
diff changeset
   306
	return mNotificationManager;
56d44e5c7081 Many little modifications.
Da Risk <darisk972@gmail.com>
parents: 741
diff changeset
   307
    }
56d44e5c7081 Many little modifications.
Da Risk <darisk972@gmail.com>
parents: 741
diff changeset
   308
56d44e5c7081 Many little modifications.
Da Risk <darisk972@gmail.com>
parents: 741
diff changeset
   309
    /**
528
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   310
     * 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
   311
     * by bypassing the classloading shit of Smack.
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   312
     * @param pm The ProviderManager.
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   313
     */
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   314
    private void configure(ProviderManager pm) {
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
   315
	// 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
   316
	pm.addIQProvider("query", "jabber:iq:privacy", new PrivacyProvider());
665
01f3b7160f4b add a hide group options
Nikita Kozlov <nikita@beem-project.com>
parents: 657
diff changeset
   317
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
   318
	/*
528
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   319
	// Private Data Storage
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   320
	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
   321
	// Time
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   322
	try {
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   323
	    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
   324
	} catch (ClassNotFoundException e) {
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   325
	    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
   326
	}
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   327
	// Roster Exchange
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   328
	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
   329
	// Message Events
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   330
	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
   331
	// Chat State
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   332
	pm.addExtensionProvider("active", "http://jabber.org/protocol/chatstates", new ChatStateExtension.Provider());
567
896533b277d5 ajout des headers
Nikita Kozlov <nikita@beem-project.com>
parents: 563
diff changeset
   333
	pm
613
58b8abc8719b checkstyle
nikita@nikita-laptop
parents: 609
diff changeset
   334
	.addExtensionProvider("composing", "http://jabber.org/protocol/chatstates",
58b8abc8719b checkstyle
nikita@nikita-laptop
parents: 609
diff changeset
   335
	    new ChatStateExtension.Provider());
528
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   336
	pm.addExtensionProvider("paused", "http://jabber.org/protocol/chatstates", new ChatStateExtension.Provider());
567
896533b277d5 ajout des headers
Nikita Kozlov <nikita@beem-project.com>
parents: 563
diff changeset
   337
	pm.addExtensionProvider("inactive", "http://jabber.org/protocol/chatstates", new ChatStateExtension.Provider());
528
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   338
	pm.addExtensionProvider("gone", "http://jabber.org/protocol/chatstates", new ChatStateExtension.Provider());
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   339
	// XHTML
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   340
	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
   341
	// Group Chat Invitations
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   342
	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
   343
	// Service Discovery # Items
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   344
	pm.addIQProvider("query", "http://jabber.org/protocol/disco#items", new DiscoverItemsProvider());
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   345
	// Service Discovery # Info
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   346
	pm.addIQProvider("query", "http://jabber.org/protocol/disco#info", new DiscoverInfoProvider());
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   347
	// Data Forms
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   348
	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
   349
	// MUC User
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   350
	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
   351
	// MUC Admin
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   352
	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
   353
	// MUC Owner
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   354
	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
   355
	// Delayed Delivery
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   356
	pm.addExtensionProvider("x", "jabber:x:delay", new DelayInformationProvider());
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   357
	// Version
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   358
	try {
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   359
	    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
   360
	} catch (ClassNotFoundException e) {
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   361
	    // Not sure what's happening here.
593
54a7d59a3f09 checkstyle
Da Risk <darisk972@gmail.com>
parents: 577
diff changeset
   362
	    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
   363
	}
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   364
	// VCard
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   365
	pm.addIQProvider("vCard", "vcard-temp", new VCardProvider());
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   366
	// Offline Message Requests
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   367
	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
   368
	// Offline Message Indicator
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   369
	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
   370
	// Last Activity
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   371
	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
   372
	// User Search
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   373
	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
   374
	// SharedGroupsInfo
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   375
	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
   376
	    new SharedGroupsInfo.Provider());
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   377
	// JEP-33: Extended Stanza Addressing
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   378
	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
   379
	// FileTransfer
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   380
	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
   381
	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
   382
	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
   383
	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
   384
	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
   385
593
54a7d59a3f09 checkstyle
Da Risk <darisk972@gmail.com>
parents: 577
diff changeset
   386
	pm.addIQProvider("command", COMMAND_NAMESPACE, new AdHocCommandDataProvider());
594
02c8fd26d82b checkstyle
Da Risk <darisk972@gmail.com>
parents: 593
diff changeset
   387
	pm.addExtensionProvider("malformed-action", COMMAND_NAMESPACE,
528
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   388
	    new AdHocCommandDataProvider.MalformedActionError());
593
54a7d59a3f09 checkstyle
Da Risk <darisk972@gmail.com>
parents: 577
diff changeset
   389
	pm.addExtensionProvider("bad-locale", COMMAND_NAMESPACE,
528
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   390
	    new AdHocCommandDataProvider.BadLocaleError());
593
54a7d59a3f09 checkstyle
Da Risk <darisk972@gmail.com>
parents: 577
diff changeset
   391
	pm.addExtensionProvider("bad-payload", COMMAND_NAMESPACE,
528
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   392
	    new AdHocCommandDataProvider.BadPayloadError());
593
54a7d59a3f09 checkstyle
Da Risk <darisk972@gmail.com>
parents: 577
diff changeset
   393
	pm.addExtensionProvider("bad-sessionid", COMMAND_NAMESPACE,
528
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   394
	    new AdHocCommandDataProvider.BadSessionIDError());
593
54a7d59a3f09 checkstyle
Da Risk <darisk972@gmail.com>
parents: 577
diff changeset
   395
	pm.addExtensionProvider("session-expired", COMMAND_NAMESPACE,
528
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   396
	    new AdHocCommandDataProvider.SessionExpiredError());
665
01f3b7160f4b add a hide group options
Nikita Kozlov <nikita@beem-project.com>
parents: 657
diff changeset
   397
	 */
528
a77a7b4e7f34 ClassCastException resolved, PrivacyList creation fixed.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 526
diff changeset
   398
    }
678
d1a599ccf879 Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents: 671
diff changeset
   399
682
9a7a89e5e966 some checkstyle
nikita@nikita-laptop
parents: 680
diff changeset
   400
    /**
683
ec60b1bbeb79 some checkstyle
nikita@nikita-laptop
parents: 682
diff changeset
   401
     * Listen on preference changes.
682
9a7a89e5e966 some checkstyle
nikita@nikita-laptop
parents: 680
diff changeset
   402
     */
680
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   403
    private class BeemServicePreferenceListener implements SharedPreferences.OnSharedPreferenceChangeListener {
683
ec60b1bbeb79 some checkstyle
nikita@nikita-laptop
parents: 682
diff changeset
   404
682
9a7a89e5e966 some checkstyle
nikita@nikita-laptop
parents: 680
diff changeset
   405
	/**
683
ec60b1bbeb79 some checkstyle
nikita@nikita-laptop
parents: 682
diff changeset
   406
	 * ctor.
682
9a7a89e5e966 some checkstyle
nikita@nikita-laptop
parents: 680
diff changeset
   407
	 */
9a7a89e5e966 some checkstyle
nikita@nikita-laptop
parents: 680
diff changeset
   408
	public BeemServicePreferenceListener() {
9a7a89e5e966 some checkstyle
nikita@nikita-laptop
parents: 680
diff changeset
   409
	}
9a7a89e5e966 some checkstyle
nikita@nikita-laptop
parents: 680
diff changeset
   410
680
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   411
	@Override
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   412
	public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
684
99931d858ac0 some checkstyle
nikita@nikita-laptop
parents: 683
diff changeset
   413
	    if ("settings_away_chk".equals(key)) {
680
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   414
		if (sharedPreferences.getBoolean("settings_away_chk", false)) {
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   415
		    mOnOffReceiverIsRegistered = true;
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   416
		    registerReceiver(mOnOffReceiver, new IntentFilter(Intent.ACTION_SCREEN_OFF));
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   417
		    registerReceiver(mOnOffReceiver, new IntentFilter(Intent.ACTION_SCREEN_ON));
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   418
		} else {
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   419
		    mOnOffReceiverIsRegistered = false;
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   420
		    unregisterReceiver(mOnOffReceiver);
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   421
		}
682
9a7a89e5e966 some checkstyle
nikita@nikita-laptop
parents: 680
diff changeset
   422
	    }
9a7a89e5e966 some checkstyle
nikita@nikita-laptop
parents: 680
diff changeset
   423
	}
680
803a4f1dc590 better settings integration for autoaway
nikita@nikita-laptop
parents: 679
diff changeset
   424
    }
683
ec60b1bbeb79 some checkstyle
nikita@nikita-laptop
parents: 682
diff changeset
   425
682
9a7a89e5e966 some checkstyle
nikita@nikita-laptop
parents: 680
diff changeset
   426
    /**
683
ec60b1bbeb79 some checkstyle
nikita@nikita-laptop
parents: 682
diff changeset
   427
     * Listen on some Intent broadcast, ScreenOn and ScreenOff.
682
9a7a89e5e966 some checkstyle
nikita@nikita-laptop
parents: 680
diff changeset
   428
     */
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
   429
    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
   430
678
d1a599ccf879 Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents: 671
diff changeset
   431
	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
   432
	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
   433
682
9a7a89e5e966 some checkstyle
nikita@nikita-laptop
parents: 680
diff changeset
   434
	/**
741
af1c21ab7ab9 refactor and clean up
Da Risk <darisk972@gmail.com>
parents: 740
diff changeset
   435
	 * Constructor.
682
9a7a89e5e966 some checkstyle
nikita@nikita-laptop
parents: 680
diff changeset
   436
	 */
678
d1a599ccf879 Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents: 671
diff changeset
   437
	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
   438
	}
d1a599ccf879 Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents: 671
diff changeset
   439
d1a599ccf879 Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents: 671
diff changeset
   440
	@Override
d1a599ccf879 Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents: 671
diff changeset
   441
	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
   442
	    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
   443
	    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
   444
		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
   445
		mOldStatus = mConnection.getPreviousStatus();
762
56d44e5c7081 Many little modifications.
Da Risk <darisk972@gmail.com>
parents: 741
diff changeset
   446
		if (mConnection.isAuthentificated())
56d44e5c7081 Many little modifications.
Da Risk <darisk972@gmail.com>
parents: 741
diff changeset
   447
		    mConnection.changeStatus(Status.CONTACT_STATUS_AWAY,
56d44e5c7081 Many little modifications.
Da Risk <darisk972@gmail.com>
parents: 741
diff changeset
   448
			    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
   449
	    } else if (intentAction.equals(Intent.ACTION_SCREEN_ON)) {
762
56d44e5c7081 Many little modifications.
Da Risk <darisk972@gmail.com>
parents: 741
diff changeset
   450
		if (mConnection.isAuthentificated())
56d44e5c7081 Many little modifications.
Da Risk <darisk972@gmail.com>
parents: 741
diff changeset
   451
		    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
   452
	    }
d1a599ccf879 Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents: 671
diff changeset
   453
	}
d1a599ccf879 Adding of an 'Auto-Away' option, there is still some more work/translation to do
nikita@nikita-laptop
parents: 671
diff changeset
   454
    }
17
afd3a080d318 On a un service qui se lance.
Da Risk <darisk972@gmail.com>
parents:
diff changeset
   455
}
594
02c8fd26d82b checkstyle
Da Risk <darisk972@gmail.com>
parents: 593
diff changeset
   456