src/com/beem/project/beem/ui/ChangeStatus.java
author Da Risk <darisk972@gmail.com>
Wed, 22 Apr 2009 19:39:39 +0200
changeset 140 f36049828552
parent 133 190a55f30e11
parent 116 dded6cd76f8c
child 152 f14b3fcf65c8
child 157 eab125573dee
permissions -rw-r--r--
merge avec barbi
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;
140
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
     4
127
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
     5
import android.content.Intent;
140
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
     6
116
dded6cd76f8c Changement de statuts ok sauvée dans les sharedpreferences
Philippe Lago <lago_p@epitech.net>
parents: 112
diff changeset
     7
import android.content.Context;
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;
140
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
    10
110
f9be2a11c4c1 Ajout de l'activité changement de status
Philippe Lago <lago_p@epitech.net>
parents:
diff changeset
    11
import android.os.Bundle;
127
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    12
import android.os.Handler;
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    13
import android.os.RemoteException;
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
    14
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
    15
import android.view.View.OnClickListener;
116
dded6cd76f8c Changement de statuts ok sauvée dans les sharedpreferences
Philippe Lago <lago_p@epitech.net>
parents: 112
diff changeset
    16
import android.widget.AdapterView;
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;
110
f9be2a11c4c1 Ajout de l'activité changement de status
Philippe Lago <lago_p@epitech.net>
parents:
diff changeset
    19
import android.widget.Spinner;
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
    20
import android.widget.TextView;
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;
dded6cd76f8c Changement de statuts ok sauvée dans les sharedpreferences
Philippe Lago <lago_p@epitech.net>
parents: 112
diff changeset
    22
import android.widget.AdapterView.OnItemSelectedListener;
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
    23
127
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    24
import com.beem.project.beem.BeemApplication;
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    25
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
    26
import com.beem.project.beem.R;
140
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
    27
127
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    28
import com.beem.project.beem.service.aidl.IXmppFacade;
116
dded6cd76f8c Changement de statuts ok sauvée dans les sharedpreferences
Philippe Lago <lago_p@epitech.net>
parents: 112
diff changeset
    29
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
    30
f9be2a11c4c1 Ajout de l'activité changement de status
Philippe Lago <lago_p@epitech.net>
parents:
diff changeset
    31
public class ChangeStatus extends Activity {
116
dded6cd76f8c Changement de statuts ok sauvée dans les sharedpreferences
Philippe Lago <lago_p@epitech.net>
parents: 112
diff changeset
    32
    private TextView mStatusText;
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
    33
    private Button mOk;
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
    34
    private Button mClear;
127
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    35
    private Handler mHandler;
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    36
    private BeemApplication mBeemApplication;
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    37
    private IXmppFacade mService = null;
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    38
    private Spinner mSpinner;
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    39
    private static final String[] STATUS = { "Available for chat", "Available", "Busy", "Away", "Unavailable",
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    40
	"Disconnected" };
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    41
    private static final int DISCONNECTED_IDX = 5;
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    42
    private static final int AVAILABLE_FOR_CHAT_IDX = 0;
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    43
    private static final int AVAILABLE_IDX = 1;
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    44
    private static final int BUSY_IDX = 2;
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    45
    private static final int AWAY_IDX = 3;
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    46
    private static final int UNAVAILABLE_IDX = 4;
116
dded6cd76f8c Changement de statuts ok sauvée dans les sharedpreferences
Philippe Lago <lago_p@epitech.net>
parents: 112
diff changeset
    47
    private SharedPreferences mSettings;
112
31be3d9613ef change status
Philippe Lago <lago_p@epitech.net>
parents: 111
diff changeset
    48
    private ArrayAdapter<String> mAdapter;
116
dded6cd76f8c Changement de statuts ok sauvée dans les sharedpreferences
Philippe Lago <lago_p@epitech.net>
parents: 112
diff changeset
    49
    private Context mContext = this;
dded6cd76f8c Changement de statuts ok sauvée dans les sharedpreferences
Philippe Lago <lago_p@epitech.net>
parents: 112
diff changeset
    50
    private Toast mToast;
127
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    51
110
f9be2a11c4c1 Ajout de l'activité changement de status
Philippe Lago <lago_p@epitech.net>
parents:
diff changeset
    52
    @Override
f9be2a11c4c1 Ajout de l'activité changement de status
Philippe Lago <lago_p@epitech.net>
parents:
diff changeset
    53
    protected void onCreate(Bundle savedInstanceState) {
127
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    54
	super.onCreate(savedInstanceState);
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    55
	setContentView(R.layout.changestatus);
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    56
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    57
	// Beem Application specific
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    58
	mHandler = new Handler();
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    59
	mBeemApplication = BeemApplication.getApplication(this);
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    60
140
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
    61
	mStatusText = (TextView) findViewById(R.id.ChangeStatusText);
127
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    62
	mOk = (Button) findViewById(R.id.ChangeStatusOk);
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    63
	mClear = (Button) findViewById(R.id.ChangeStatusClear);
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    64
	mOk.setOnClickListener(mOnClickOk);
140
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
    65
	mClear.setOnClickListener(mOnClickOk);
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
    66
	mSettings = getSharedPreferences(getString(R.string.PreferenceFileName), MODE_PRIVATE);
127
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    67
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    68
	mSpinner = (Spinner) findViewById(R.id.ChangeStatusSpinner);
140
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
    69
	mAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, STATUS);
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
    70
	mAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
    71
	mSpinner.setAdapter(mAdapter);
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
    72
	mToast = Toast.makeText(mContext, R.string.ChangeStatusOk, Toast.LENGTH_LONG);
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
    73
	showSettings();
110
f9be2a11c4c1 Ajout de l'activité changement de status
Philippe Lago <lago_p@epitech.net>
parents:
diff changeset
    74
    }
127
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    75
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    76
    @Override
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    77
    protected void onStart() {
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    78
	super.onStart();
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    79
	mBeemApplication.startBeemService();
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    80
    }
116
dded6cd76f8c Changement de statuts ok sauvée dans les sharedpreferences
Philippe Lago <lago_p@epitech.net>
parents: 112
diff changeset
    81
127
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    82
    @Override
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    83
    protected void onResume() {
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    84
	super.onResume();
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    85
	mBeemApplication.callWhenConnectedToServer(mHandler, new Runnable() {
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    86
	    @Override
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    87
	    public void run() {
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    88
		mService = mBeemApplication.getXmppFacade();
116
dded6cd76f8c Changement de statuts ok sauvée dans les sharedpreferences
Philippe Lago <lago_p@epitech.net>
parents: 112
diff changeset
    89
	    }
127
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    90
	});
110
f9be2a11c4c1 Ajout de l'activité changement de status
Philippe Lago <lago_p@epitech.net>
parents:
diff changeset
    91
    }
140
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
    92
127
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    93
    @Override
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    94
    protected void onDestroy() {
140
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
    95
	super.onDestroy();
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
    96
	mBeemApplication.unbindBeemService();
127
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    97
    }
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
    98
140
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
    99
    private void showSettings() {
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
   100
	mStatusText.setText(getPreferenceString(R.string.PreferenceStatusText));
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
   101
	mSpinner.setSelection(getPreferenceStatusIndex());
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
   102
    }
127
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
   103
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
   104
    private int getStatusForService(String item) {
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
   105
	int res = Status.CONTACT_STATUS_AVAILABLE;
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
   106
	for (int i = 0; i < ChangeStatus.STATUS.length; i++) {
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
   107
	    String str = ChangeStatus.STATUS[i];
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
   108
	    if (str.equals(item)) {
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
   109
		switch (i) {
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
   110
		    case ChangeStatus.DISCONNECTED_IDX:
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
   111
			return Status.CONTACT_STATUS_DISCONNECT;
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
   112
		    case ChangeStatus.AVAILABLE_FOR_CHAT_IDX:
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
   113
			return Status.CONTACT_STATUS_AVAILABLE_FOR_CHAT;
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
   114
		    case ChangeStatus.AVAILABLE_IDX:
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
   115
			return Status.CONTACT_STATUS_AVAILABLE;
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
   116
		    case ChangeStatus.AWAY_IDX:
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
   117
			return Status.CONTACT_STATUS_AWAY;
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
   118
		    case ChangeStatus.BUSY_IDX:
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
   119
			return Status.CONTACT_STATUS_BUSY;
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
   120
		    case ChangeStatus.UNAVAILABLE_IDX:
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
   121
			return Status.CONTACT_STATUS_UNAVAILABLE;
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
   122
		    default:
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
   123
			res = Status.CONTACT_STATUS_AVAILABLE;
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
   124
			break;
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
   125
		}
116
dded6cd76f8c Changement de statuts ok sauvée dans les sharedpreferences
Philippe Lago <lago_p@epitech.net>
parents: 112
diff changeset
   126
	    }
112
31be3d9613ef change status
Philippe Lago <lago_p@epitech.net>
parents: 111
diff changeset
   127
	}
127
395f1beb409f deconnexion et fin du service presque ok
Da Risk <darisk972@gmail.com>
parents: 111
diff changeset
   128
	return res;
116
dded6cd76f8c Changement de statuts ok sauvée dans les sharedpreferences
Philippe Lago <lago_p@epitech.net>
parents: 112
diff changeset
   129
    }
140
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
   130
116
dded6cd76f8c Changement de statuts ok sauvée dans les sharedpreferences
Philippe Lago <lago_p@epitech.net>
parents: 112
diff changeset
   131
    private String getPreferenceString(int id) {
dded6cd76f8c Changement de statuts ok sauvée dans les sharedpreferences
Philippe Lago <lago_p@epitech.net>
parents: 112
diff changeset
   132
	return mSettings.getString(getString(id), "");
dded6cd76f8c Changement de statuts ok sauvée dans les sharedpreferences
Philippe Lago <lago_p@epitech.net>
parents: 112
diff changeset
   133
    }
140
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
   134
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
   135
    private int getPreferenceStatusIndex() {
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
   136
	return mSettings.getInt(getString(R.string.PreferenceStatus), 0);
116
dded6cd76f8c Changement de statuts ok sauvée dans les sharedpreferences
Philippe Lago <lago_p@epitech.net>
parents: 112
diff changeset
   137
    }
140
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
   138
116
dded6cd76f8c Changement de statuts ok sauvée dans les sharedpreferences
Philippe Lago <lago_p@epitech.net>
parents: 112
diff changeset
   139
    
140
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
   140
    private OnClickListener mOnClickOk = new OnClickListener() {
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
   141
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
   142
	private boolean textHasChanged() {
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
   143
	    return (!mStatusText.getText().toString().equals(getPreferenceString(R.string.PreferenceStatusText)));
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
   144
	}
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
   145
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
   146
	private boolean statusHasChanged() {
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
   147
	    return (mSettings.getInt(getString(R.string.PreferenceStatus), 0) != mSpinner.getSelectedItemPosition());
116
dded6cd76f8c Changement de statuts ok sauvée dans les sharedpreferences
Philippe Lago <lago_p@epitech.net>
parents: 112
diff changeset
   148
	}
140
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
   149
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
   150
	public void onClick(View v) {
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
   151
	    if (v == mOk) {
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
   152
		if (textHasChanged() || statusHasChanged()) {
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
   153
		    String msg = mStatusText.getText().toString();
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
   154
		    int status = getStatusForService( (String) mSpinner.getSelectedItem());
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
   155
		    Editor edit = mSettings.edit();
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
   156
		    edit.putString(getString(R.string.PreferenceStatusText), msg);
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
   157
		    edit.putInt(getString(R.string.PreferenceStatus), mSpinner.getSelectedItemPosition());
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
   158
		    edit.commit();
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
   159
		    if (status == Status.CONTACT_STATUS_DISCONNECT) {
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
   160
			stopService(new Intent(ChangeStatus.this, BeemService.class));
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
   161
		    } else {
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
   162
			try {
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
   163
			    mService.changeStatus(status, msg.toString());
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
   164
			} catch (RemoteException e) {
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
   165
			    // TODO Auto-generated catch block
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
   166
			    e.printStackTrace();
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
   167
			}
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
   168
			mToast.show();
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
   169
		    }
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
   170
		}
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
   171
		ChangeStatus.this.finish();
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
   172
	    } else if (v == mClear) {
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
   173
		mStatusText.setText(null);
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
   174
	    }
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
   175
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
   176
	}
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
   177
    };
f36049828552 merge avec barbi
Da Risk <darisk972@gmail.com>
parents: 133 116
diff changeset
   178
110
f9be2a11c4c1 Ajout de l'activité changement de status
Philippe Lago <lago_p@epitech.net>
parents:
diff changeset
   179
}