src/com/beem/project/beem/ui/ChangeStatus.java
author Nikita Kozlov <nikita@beem-project.com>
Fri, 04 Dec 2009 17:01:36 +0100
changeset 565 9bc335cd3a0d
parent 517 fd6c52c23165
child 567 896533b277d5
permissions -rw-r--r--
petit oubli
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
110
f9be2a11c4c1 Ajout de l'activité changement de status
Philippe Lago <lago_p@epitech.net>
parents:
diff changeset
     1
package com.beem.project.beem.ui;
f9be2a11c4c1 Ajout de l'activité changement de status
Philippe Lago <lago_p@epitech.net>
parents:
diff changeset
     2
f9be2a11c4c1 Ajout de l'activité changement de status
Philippe Lago <lago_p@epitech.net>
parents:
diff changeset
     3
import android.app.Activity;
242
11f8de688fcb Suppression beemapplication dans la notification changestatus.
marseille@marseille-desktop
parents: 212
diff changeset
     4
import android.content.ComponentName;
127
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
     5
import android.content.Intent;
392
Nikita Kozlov <nikita@beem-project.com>
parents: 353
diff changeset
     6
import android.content.IntentFilter;
242
11f8de688fcb Suppression beemapplication dans la notification changestatus.
marseille@marseille-desktop
parents: 212
diff changeset
     7
import android.content.ServiceConnection;
116
dded6cd76f8c Changement de statuts ok sauvée dans les sharedpreferences
Philippe Lago <lago_p@epitech.net>
parents: 112
diff changeset
     8
import android.content.SharedPreferences;
dded6cd76f8c Changement de statuts ok sauvée dans les sharedpreferences
Philippe Lago <lago_p@epitech.net>
parents: 112
diff changeset
     9
import android.content.SharedPreferences.Editor;
110
f9be2a11c4c1 Ajout de l'activité changement de status
Philippe Lago <lago_p@epitech.net>
parents:
diff changeset
    10
import android.os.Bundle;
242
11f8de688fcb Suppression beemapplication dans la notification changestatus.
marseille@marseille-desktop
parents: 212
diff changeset
    11
import android.os.IBinder;
127
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    12
import android.os.RemoteException;
457
73179276b4ae Bug: #204 resolution
Nikita Kozlov <nikita@beem-project.com>
parents: 412
diff changeset
    13
import android.preference.PreferenceManager;
73179276b4ae Bug: #204 resolution
Nikita Kozlov <nikita@beem-project.com>
parents: 412
diff changeset
    14
import android.util.Log;
111
d0fab932cb6e Class et layout ChangeStatus pour bart + modification des layout pour gerer le mode paysage
Philippe Lago <lago_p@epitech.net>
parents: 110
diff changeset
    15
import android.view.View;
d0fab932cb6e Class et layout ChangeStatus pour bart + modification des layout pour gerer le mode paysage
Philippe Lago <lago_p@epitech.net>
parents: 110
diff changeset
    16
import android.view.View.OnClickListener;
110
f9be2a11c4c1 Ajout de l'activité changement de status
Philippe Lago <lago_p@epitech.net>
parents:
diff changeset
    17
import android.widget.ArrayAdapter;
111
d0fab932cb6e Class et layout ChangeStatus pour bart + modification des layout pour gerer le mode paysage
Philippe Lago <lago_p@epitech.net>
parents: 110
diff changeset
    18
import android.widget.Button;
506
8e33a89c21a3 Homogeneisation de l'UI et correction de certains bugs d'affichage
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 503
diff changeset
    19
import android.widget.EditText;
110
f9be2a11c4c1 Ajout de l'activité changement de status
Philippe Lago <lago_p@epitech.net>
parents:
diff changeset
    20
import android.widget.Spinner;
116
dded6cd76f8c Changement de statuts ok sauvée dans les sharedpreferences
Philippe Lago <lago_p@epitech.net>
parents: 112
diff changeset
    21
import android.widget.Toast;
111
d0fab932cb6e Class et layout ChangeStatus pour bart + modification des layout pour gerer le mode paysage
Philippe Lago <lago_p@epitech.net>
parents: 110
diff changeset
    22
127
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    23
import com.beem.project.beem.BeemService;
111
d0fab932cb6e Class et layout ChangeStatus pour bart + modification des layout pour gerer le mode paysage
Philippe Lago <lago_p@epitech.net>
parents: 110
diff changeset
    24
import com.beem.project.beem.R;
127
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    25
import com.beem.project.beem.service.aidl.IXmppFacade;
396
1a8a0d152c28 netoyage du broadcast et petit debug
Nikita Kozlov <nikita@beem-project.com>
parents: 392
diff changeset
    26
import com.beem.project.beem.utils.BeemBroadcastReceiver;
116
dded6cd76f8c Changement de statuts ok sauvée dans les sharedpreferences
Philippe Lago <lago_p@epitech.net>
parents: 112
diff changeset
    27
import com.beem.project.beem.utils.Status;
110
f9be2a11c4c1 Ajout de l'activité changement de status
Philippe Lago <lago_p@epitech.net>
parents:
diff changeset
    28
401
551bc80197f5 bundle de depart
Nikita Kozlov <nikita@beem-project.com>
parents: 396
diff changeset
    29
/**
551bc80197f5 bundle de depart
Nikita Kozlov <nikita@beem-project.com>
parents: 396
diff changeset
    30
 * This Activity is used to change the status.
551bc80197f5 bundle de depart
Nikita Kozlov <nikita@beem-project.com>
parents: 396
diff changeset
    31
 * @author nikita
551bc80197f5 bundle de depart
Nikita Kozlov <nikita@beem-project.com>
parents: 396
diff changeset
    32
 */
110
f9be2a11c4c1 Ajout de l'activité changement de status
Philippe Lago <lago_p@epitech.net>
parents:
diff changeset
    33
public class ChangeStatus extends Activity {
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 186
diff changeset
    34
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    35
    private static final Intent SERVICE_INTENT = new Intent();
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    36
    static {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    37
	SERVICE_INTENT.setComponent(new ComponentName("com.beem.project.beem", "com.beem.project.beem.BeemService"));
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    38
    }
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    39
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    40
    private static final int AVAILABLE_FOR_CHAT_IDX = 0;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    41
    private static final int AVAILABLE_IDX = 1;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    42
    private static final int BUSY_IDX = 2;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    43
    private static final int AWAY_IDX = 3;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    44
    private static final int UNAVAILABLE_IDX = 4;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    45
    private static final int DISCONNECTED_IDX = 5;
517
fd6c52c23165 Ajout du bouton "Envoyer" dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 506
diff changeset
    46
506
8e33a89c21a3 Homogeneisation de l'UI et correction de certains bugs d'affichage
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 503
diff changeset
    47
    private EditText mStatusMessageEditText;
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    48
    private Toast mToast;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    49
    private Button mOk;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    50
    private Button mClear;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    51
    private Spinner mSpinner;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    52
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    53
    private SharedPreferences mSettings;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    54
    private ArrayAdapter<CharSequence> mAdapter;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    55
    private IXmppFacade mXmppFacade;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    56
    private final ServiceConnection mServConn = new BeemServiceConnection();
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    57
    private final OnClickListener mOnClickOk = new MyOnClickListener();
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    58
    private BeemBroadcastReceiver mReceiver;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    59
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    60
    /**
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    61
     * Constructor.
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    62
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    63
    public ChangeStatus() {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    64
    }
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    65
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    66
    /**
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    67
     * {@inheritDoc}
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    68
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    69
    @Override
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    70
    protected void onCreate(Bundle savedInstanceState) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    71
	super.onCreate(savedInstanceState);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    72
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    73
	setContentView(R.layout.changestatus);
506
8e33a89c21a3 Homogeneisation de l'UI et correction de certains bugs d'affichage
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 503
diff changeset
    74
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    75
	mOk = (Button) findViewById(R.id.ChangeStatusOk);
506
8e33a89c21a3 Homogeneisation de l'UI et correction de certains bugs d'affichage
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 503
diff changeset
    76
	mOk.setOnClickListener(mOnClickOk);
517
fd6c52c23165 Ajout du bouton "Envoyer" dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 506
diff changeset
    77
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    78
	mClear = (Button) findViewById(R.id.ChangeStatusClear);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    79
	mClear.setOnClickListener(mOnClickOk);
517
fd6c52c23165 Ajout du bouton "Envoyer" dans l'activite Chat.
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 506
diff changeset
    80
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    81
	mSettings = PreferenceManager.getDefaultSharedPreferences(this);
506
8e33a89c21a3 Homogeneisation de l'UI et correction de certains bugs d'affichage
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 503
diff changeset
    82
	mStatusMessageEditText = (EditText) findViewById(R.id.ChangeStatusMessage);
8e33a89c21a3 Homogeneisation de l'UI et correction de certains bugs d'affichage
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 503
diff changeset
    83
	mStatusMessageEditText.setText(getPreferenceString(R.string.PreferenceStatusText));
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    84
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    85
	mSpinner = (Spinner) findViewById(R.id.ChangeStatusSpinner);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    86
	mAdapter = ArrayAdapter.createFromResource(this, R.array.status_types, android.R.layout.simple_spinner_item);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    87
	mAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    88
	mSpinner.setAdapter(mAdapter);
506
8e33a89c21a3 Homogeneisation de l'UI et correction de certains bugs d'affichage
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 503
diff changeset
    89
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    90
	mToast = Toast.makeText(this, R.string.ChangeStatusOk, Toast.LENGTH_LONG);
506
8e33a89c21a3 Homogeneisation de l'UI et correction de certains bugs d'affichage
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 503
diff changeset
    91
	mSpinner.setSelection(getPreferenceStatusIndex());
8e33a89c21a3 Homogeneisation de l'UI et correction de certains bugs d'affichage
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 503
diff changeset
    92
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    93
	mReceiver = new BeemBroadcastReceiver(mServConn);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    94
	this.registerReceiver(mReceiver, new IntentFilter(BeemBroadcastReceiver.BEEM_CONNECTION_CLOSED));
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    95
    }
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    96
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    97
    /**
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    98
     * {@inheritDoc}
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
    99
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   100
    @Override
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   101
    protected void onResume() {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   102
	super.onResume();
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   103
	bindService(new Intent(this, BeemService.class), mServConn, BIND_AUTO_CREATE);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   104
	mReceiver.setBinded(true);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   105
    }
457
73179276b4ae Bug: #204 resolution
Nikita Kozlov <nikita@beem-project.com>
parents: 412
diff changeset
   106
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   107
    /**
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   108
     * {@inheritDoc}
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   109
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   110
    @Override
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   111
    protected void onPause() {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   112
	super.onPause();
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   113
	Log.d("TAG", "pause");
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   114
	if (mReceiver.isBinded()) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   115
	    unbindService(mServConn);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   116
	    mReceiver.setBinded(false);
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
    }
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   119
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   120
    @Override
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   121
    protected void onDestroy() {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   122
	super.onDestroy();
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   123
	this.unregisterReceiver(mReceiver);
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
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
     * Return the status index from status the settings.
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   128
     * @return the status index from status the settings.
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   129
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   130
    private int getPreferenceStatusIndex() {
565
9bc335cd3a0d petit oubli
Nikita Kozlov <nikita@beem-project.com>
parents: 517
diff changeset
   131
	return mSettings.getInt("PreferenceStatus", 0);
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   132
    }
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 186
diff changeset
   133
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   134
    /**
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   135
     * Return the status text from status the settings.
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   136
     * @param id status text id.
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   137
     * @return the status text from status the settings.
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   138
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   139
    private String getPreferenceString(int id) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   140
	return mSettings.getString(getString(id), "");
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   141
    }
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 186
diff changeset
   142
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   143
    /**
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   144
     * convert status text to.
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   145
     * @param item selected item text.
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   146
     * @return item position in the array.
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   147
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   148
    private int getStatusForService(String item) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   149
	switch (mAdapter.getPosition(item)) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   150
	    case ChangeStatus.DISCONNECTED_IDX:
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   151
		return Status.CONTACT_STATUS_DISCONNECT;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   152
	    case ChangeStatus.AVAILABLE_FOR_CHAT_IDX:
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   153
		return Status.CONTACT_STATUS_AVAILABLE_FOR_CHAT;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   154
	    case ChangeStatus.AVAILABLE_IDX:
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   155
		return Status.CONTACT_STATUS_AVAILABLE;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   156
	    case ChangeStatus.AWAY_IDX:
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   157
		return Status.CONTACT_STATUS_AWAY;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   158
	    case ChangeStatus.BUSY_IDX:
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   159
		return Status.CONTACT_STATUS_BUSY;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   160
	    case ChangeStatus.UNAVAILABLE_IDX:
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   161
		return Status.CONTACT_STATUS_UNAVAILABLE;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   162
	    default:
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   163
		return Status.CONTACT_STATUS_AVAILABLE;
212
bbc0b169cdf0 Issues #124, #67, #88
dasilvj
parents: 186
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
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
     * connection to service.
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   169
     * @author nikita
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   170
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   171
    private class BeemServiceConnection implements ServiceConnection {
242
11f8de688fcb Suppression beemapplication dans la notification changestatus.
marseille@marseille-desktop
parents: 212
diff changeset
   172
402
4684a42ae0ad pas mal de cleannance et aussi du debug sur les decos
Nikita Kozlov <nikita@beem-project.com>
parents: 401
diff changeset
   173
	/**
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   174
	 * constructor.
402
4684a42ae0ad pas mal de cleannance et aussi du debug sur les decos
Nikita Kozlov <nikita@beem-project.com>
parents: 401
diff changeset
   175
	 */
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   176
	public BeemServiceConnection() {
402
4684a42ae0ad pas mal de cleannance et aussi du debug sur les decos
Nikita Kozlov <nikita@beem-project.com>
parents: 401
diff changeset
   177
	}
4684a42ae0ad pas mal de cleannance et aussi du debug sur les decos
Nikita Kozlov <nikita@beem-project.com>
parents: 401
diff changeset
   178
4684a42ae0ad pas mal de cleannance et aussi du debug sur les decos
Nikita Kozlov <nikita@beem-project.com>
parents: 401
diff changeset
   179
	/**
4684a42ae0ad pas mal de cleannance et aussi du debug sur les decos
Nikita Kozlov <nikita@beem-project.com>
parents: 401
diff changeset
   180
	 * {@inheritDoc}
4684a42ae0ad pas mal de cleannance et aussi du debug sur les decos
Nikita Kozlov <nikita@beem-project.com>
parents: 401
diff changeset
   181
	 */
242
11f8de688fcb Suppression beemapplication dans la notification changestatus.
marseille@marseille-desktop
parents: 212
diff changeset
   182
	@Override
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   183
	public void onServiceConnected(ComponentName name, IBinder service) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   184
	    mXmppFacade = IXmppFacade.Stub.asInterface(service);
502
3091acfe31f4 Ajout d´un status par default quelque soit l´activité.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 472
diff changeset
   185
	}
3091acfe31f4 Ajout d´un status par default quelque soit l´activité.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 472
diff changeset
   186
3091acfe31f4 Ajout d´un status par default quelque soit l´activité.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 472
diff changeset
   187
	/**
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   188
	 * {@inheritDoc}
502
3091acfe31f4 Ajout d´un status par default quelque soit l´activité.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 472
diff changeset
   189
	 */
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   190
	@Override
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   191
	public void onServiceDisconnected(ComponentName name) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   192
	    mXmppFacade = null;
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   193
	}
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   194
    }
502
3091acfe31f4 Ajout d´un status par default quelque soit l´activité.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 472
diff changeset
   195
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   196
    /**
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   197
     * User have clicked on ok.
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   198
     * @author nikita
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   199
     */
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   200
    private class MyOnClickListener implements OnClickListener {
502
3091acfe31f4 Ajout d´un status par default quelque soit l´activité.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 472
diff changeset
   201
3091acfe31f4 Ajout d´un status par default quelque soit l´activité.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 472
diff changeset
   202
	/**
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   203
	 * constructor.
502
3091acfe31f4 Ajout d´un status par default quelque soit l´activité.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 472
diff changeset
   204
	 */
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   205
	public MyOnClickListener() {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   206
	}
502
3091acfe31f4 Ajout d´un status par default quelque soit l´activité.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 472
diff changeset
   207
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   208
	@Override
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   209
	public void onClick(View v) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   210
	    if (v == mOk) {
506
8e33a89c21a3 Homogeneisation de l'UI et correction de certains bugs d'affichage
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 503
diff changeset
   211
		if (!mStatusMessageEditText.getText().toString().equals(
8e33a89c21a3 Homogeneisation de l'UI et correction de certains bugs d'affichage
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 503
diff changeset
   212
		    getPreferenceString(R.string.PreferenceStatusText))
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   213
		    || getPreferenceStatusIndex() != mSpinner.getSelectedItemPosition()) {
506
8e33a89c21a3 Homogeneisation de l'UI et correction de certains bugs d'affichage
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 503
diff changeset
   214
		    String msg = mStatusMessageEditText.getText().toString();
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   215
		    int status = getStatusForService((String) mSpinner.getSelectedItem());
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   216
		    Editor edit = mSettings.edit();
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   217
		    edit.putString(getString(R.string.PreferenceStatusText), msg);
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   218
		    edit.putInt(getString(R.string.PreferenceStatus), mSpinner.getSelectedItemPosition());
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   219
		    edit.commit();
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   220
		    if (status == Status.CONTACT_STATUS_DISCONNECT) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   221
			stopService(new Intent(ChangeStatus.this, BeemService.class));
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   222
		    } else {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   223
			try {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   224
			    mXmppFacade.changeStatus(status, msg.toString());
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   225
			} catch (RemoteException e) {
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   226
			    e.printStackTrace();
242
11f8de688fcb Suppression beemapplication dans la notification changestatus.
marseille@marseille-desktop
parents: 212
diff changeset
   227
			}
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   228
			mToast.show();
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   229
		    }
242
11f8de688fcb Suppression beemapplication dans la notification changestatus.
marseille@marseille-desktop
parents: 212
diff changeset
   230
		}
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   231
		ChangeStatus.this.finish();
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   232
	    } else if (v == mClear) {
506
8e33a89c21a3 Homogeneisation de l'UI et correction de certains bugs d'affichage
Jean-Manuel Da Silva <dasilvj@gmail.com>
parents: 503
diff changeset
   233
		mStatusMessageEditText.setText(null);
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   234
	    }
242
11f8de688fcb Suppression beemapplication dans la notification changestatus.
marseille@marseille-desktop
parents: 212
diff changeset
   235
	}
503
93e5d2d9953f Le formatter a encore frappé.
Jean-Manuel ¨dasilvj¨ Da Silva
parents: 502
diff changeset
   236
    }
110
f9be2a11c4c1 Ajout de l'activité changement de status
Philippe Lago <lago_p@epitech.net>
parents:
diff changeset
   237
}