1 package com.lasalle.meeting;
3 import android.os.Bundle;
4 import android.os.Handler;
5 import android.os.Message;
6 import android.util.Log;
8 import org.json.JSONException;
9 import org.json.JSONObject;
11 import java.io.Serializable;
12 import java.util.Arrays;
13 import java.util.List;
32 private static final String
TAG =
"_EspaceDeTravail";
64 this.description =
"";
66 this.temperature = 0.;
67 this.indiceDeConfort = 0;
68 this.estReserve =
false;
70 this.estFavori =
false;
183 Log.d(TAG,
"setCode() " + code);
195 Log.d(TAG,
"setEstFavori() " + estFavori);
203 if(communication == null)
205 Log.d(TAG,
"reserver()");
208 List<String> parametres = Arrays.asList(
"0");
210 communication.
envoyer(trame, adresseIP);
220 if(communication == null)
222 Log.d(TAG,
"liberer()");
225 List<String> parametres = Arrays.asList(
"1", code);
227 communication.
envoyer(trame, adresseIP);
238 if(communication == null)
240 Log.d(TAG,
"modifierInformations()");
244 communication.
envoyer(trame, adresseIP);
258 trame = trame.replace(
"$",
"");
259 trame = trame.replace(
"\r\n",
"");
260 String[] champs = trame.split(
";");
275 this.estReserve =
false;
279 this.estReserve =
true;
291 Log.d(TAG,
"extraireInformations() nom : " + nom +
" - description : " + description +
" - lieu : " + lieu +
" - superficie : " + superficie +
" - estReserve : " + estReserve +
" - temperature : " + temperature +
" - indiceDeConfort : " + indiceDeConfort);
310 trame = trame.replace(
"$",
"");
311 trame = trame.replace(
"\r\n",
"");
312 String[] champs = trame.split(
";");
318 if (!champs[1].isEmpty())
323 Log.d(TAG,
"extraireCode() nom : " + nom +
" - code : " + code);
337 Log.d(TAG,
"initialiserCommunication()");
338 if(communication == null)
344 Thread tCommunicationUDP =
new Thread(communication,
getAdresseIP());
345 tCommunicationUDP.start();
351 communication = null;
369 JSONObject objet =
new JSONObject();
372 objet.put(
"code", this.code);
373 objet.put(
"estFavori", this.estFavori);
375 catch (JSONException e)
378 Log.i(TAG,
"toJSON() Erreur !");
382 return objet.toString();
394 JSONObject json =
new JSONObject(strJSON);
396 this.code = json.getString(
"code");
397 this.estFavori = json.getBoolean(
"estFavori");
399 catch (JSONException e)
402 Log.i(TAG,
"fromJSON() Erreur !");
void setCode(String code)
Mutateur de l'attribut code.
boolean getEstReserve()
Accesseur de l'attribut estReserve.
double temperature
Température de l'espace de travail.
int superficie
Superficie de l'espace de travail.
static final int INDICE_LEGEREMENT_TIEDE
static final int INDICE_NEUTRE
Communication entre l'application et le portier.
String getDescription()
Accesseur de l'attribut description.
static final int CHAMP_DISPONIBILITE
String fabriquerTrameDemande(int typeTrame)
Fabrique la trame de demande.
static final int CHAMP_LIEU
static void sauvegarderDonneesEspaceDeTravail(EspaceDeTravail espaceDeTravail)
Enregistre les données d'un espace de travail.
String getLieu()
Accesseur de l'attribut lieu.
static final int MODIFICATION_INFORMATIONS
void setEstReserve(boolean estReserve)
Mutateur de l'attribut estReserve.
String code
Code pour libérer l'espace de travail.
void modifierInformations(List< String > parametres)
Modifie les informations de l'espace de travail.
static String recupererDonneesEspaceDeTravail(EspaceDeTravail espaceDeTravail)
Récupère les données stockées d'un espace de travail.
String getCode()
Accesseur de l'attribut code.
void fromJSON(String strJSON)
Récupération de données JSON.
boolean extraireCode(String trame)
Extrait le code.
static final int NB_CHAMPS_DEMANDE_INFORMATIONS
static final int CHAMP_DESCRIPTION
static final int INDICE_CHAUD
String getAdresseIP()
Accesseur de l'attribut adresseIP.
static final int MODIFICATION_DISPONIBILITE
int indiceDeConfort
Indice de confort de l'espace de travail.
static final int DEMANDE_INFORMATIONS
static final int CHAMP_SUPERFICIE
boolean estReserve
Disponibilité de l'espace de travail.
void arreter()
Arrête la socket, donc la communication avec les portiers.
void liberer(String code)
Libère l'espace de travail.
static final int INDICE_FROID
L'activité principale de l'application Meeting.
String fabriquerTrameModification(int typeTrame, List< String > parametres)
Fabrique la trame de modification.
static final int INDICE_TIEDE
static final int NB_CHAMPS_MODIFICATION_DISPONIBILITE
boolean estFavori
Si l'espace de travail est en favori.
String nom
Nom de l'espace de travail.
int getIndiceDeConfort()
Accesseur de l'attribut indiceDeConfort.
int getSuperficie()
Accesseur de l'attribut superficie.
String adresseIP
Adresse IP du portier.
void envoyer(String trame, String adressePortier)
Envoyer la trame.
static final int CHAMP_NOM
void setHandler(Handler handler)
static final int CHAMP_TEMPERATURE
double getTemperature()
Accesseur de l'attribut temperature.
boolean getEstFavori()
Accesseur de l'attribut estFavori.
Communication communication
Attribut permettant d'envoyer des requêtes.
static final int INDICE_FRAIS
String toJSON()
Création de données JSON.
static final int CHAMP_CODE
void setEstFavori(boolean estFavori)
Mutateur de l'attribut estFavori.
String lieu
Lieu de l'espace de travail.
static final int INDICE_LEGEREMENT_FRAIS
String description
Description de l'espace de travail.
static final String TAG
TAG pour les logs.
EspaceDeTravail(String adresseIP)
Constructeur par défaut de la classe EspaceDeTravail.
void initialiserCommunication(Handler handler)
Initialise une communication.
static final int CHAMP_INDICE_DE_CONFORT
void demanderInformations()
Envoie une trame de demande d'informations au portier si clic sur bouton rafraîchir.
String getNom()
Accesseur de l'attribut nom.
void reserver()
Réserve l'espace de travail.
boolean extraireInformations(String trame)
Extrait les informations d'une trame DEMANDE_INFORMATIONS.