1 package com.lasalle.meeting;
3 import androidx.appcompat.app.AppCompatActivity;
5 import android.app.AlertDialog;
6 import android.content.DialogInterface;
7 import android.content.Intent;
8 import android.graphics.Color;
9 import android.os.Bundle;
10 import android.os.Handler;
11 import android.os.Message;
12 import android.util.Log;
13 import android.view.LayoutInflater;
14 import android.view.View;
15 import android.widget.EditText;
16 import android.widget.ImageView;
17 import android.widget.TextView;
18 import android.widget.Button;
20 import java.io.Serializable;
39 private static final String
TAG =
"_AffichageEspaceTravail";
50 protected void onCreate(Bundle savedInstanceState)
52 super.onCreate(savedInstanceState);
53 setContentView(R.layout.activity_affichage_espace_de_travail);
54 Intent intent = getIntent();
55 espaceDeTravail = (
EspaceDeTravail)intent.getSerializableExtra(
"unEspaceDeTravail");
83 TextView affichageAdresseIP = (TextView)findViewById(R.id.affichageAdresseIP);
84 affichageAdresseIP.setText(espaceDeTravail.
getAdresseIP());
86 Log.d(TAG,
"afficherAdresseIP() " + espaceDeTravail.
getAdresseIP());
94 TextView affichageNom = (TextView)findViewById(R.id.affichageNom);
95 affichageNom.setText(espaceDeTravail.
getNom());
97 Log.d(TAG,
"afficherNom() " + espaceDeTravail.
getNom());
105 TextView affichageLieu = (TextView)findViewById(R.id.affichageLieu);
106 affichageLieu.setText(espaceDeTravail.
getLieu());
108 Log.d(TAG,
"afficherLieu() " + espaceDeTravail.
getLieu());
116 TextView affichageDescription = (TextView)findViewById(R.id.affichageDescription);
119 Log.d(TAG,
"afficherDescription() " + espaceDeTravail.
getDescription());
127 TextView affichageSuperficie = (TextView)findViewById(R.id.affichageSuperficie);
128 affichageSuperficie.setText(String.valueOf(espaceDeTravail.
getSuperficie()));
130 Log.d(TAG,
"afficherSuperficie() " + espaceDeTravail.
getSuperficie());
138 TextView affichageTemperature = (TextView)findViewById(R.id.affichageTemperature);
139 affichageTemperature.setText(String.valueOf(espaceDeTravail.
getTemperature()));
141 Log.d(TAG,
"afficherTemperature() " + espaceDeTravail.
getTemperature());
149 TextView affichageIndiceDeConfort = (TextView)findViewById(R.id.affichageIndiceDeConfort);
154 affichageIndiceDeConfort.setText(
"Chaud");
158 affichageIndiceDeConfort.setText(
"Tiède");
162 affichageIndiceDeConfort.setText(
"Légèrement tiède");
166 affichageIndiceDeConfort.setText(
"Neutre");
170 affichageIndiceDeConfort.setText(
"Légèrement frais");
174 affichageIndiceDeConfort.setText(
"Frais");
178 affichageIndiceDeConfort.setText(
"Froid");
190 ImageView iconeFavori = (ImageView)findViewById(R.id.iconeFavori);
194 Log.d(TAG,
"afficherFavori() Non favori");
195 iconeFavori.setVisibility(View.INVISIBLE);
199 Log.d(TAG,
"afficherFavori() Favori");
200 iconeFavori.setVisibility(View.VISIBLE);
203 Log.d(TAG,
"afficherFavori() " + espaceDeTravail.
getEstFavori());
211 TextView affichageDisponibilite = (TextView)findViewById(R.id.affichageDisponibilite);
215 Log.d(TAG,
"afficherDisponibilite() Libre");
216 affichageDisponibilite.setText(
"Libre");
217 affichageDisponibilite.setTextColor(Color.parseColor(
"#00FF00"));
221 Log.d(TAG,
"afficherDisponibilite() Occupé");
222 affichageDisponibilite.setText(
"Occupé");
223 affichageDisponibilite.setTextColor(Color.rgb(255,0,0));
226 Log.d(TAG,
"afficherDisponibilite() " + espaceDeTravail.
getEstReserve());
234 Button boutonReserver = (Button)findViewById(R.id.boutonReserver);
235 Button boutonLiberer = (Button)findViewById(R.id.boutonLiberer);
236 Button boutonModifier = (Button)findViewById(R.id.boutonModifier);
237 Button boutonAjouterFavori = (Button)findViewById(R.id.boutonAjouterFavori);
238 Button boutonRetirerFavori = (Button)findViewById(R.id.boutonRetirerFavori);
240 boutonReserver.setOnClickListener(
241 new View.OnClickListener()
243 public void onClick(View v)
252 boutonLiberer.setOnClickListener(
253 new View.OnClickListener()
255 public void onClick(View v)
266 boutonReserver.setVisibility(View.VISIBLE);
267 boutonLiberer.setVisibility(View.GONE);
271 boutonReserver.setVisibility(View.GONE);
272 boutonLiberer.setVisibility(View.VISIBLE);
275 boutonModifier.setOnClickListener(
276 new View.OnClickListener()
278 public void onClick(View v)
282 intent.putExtra(
"unEspaceDeTravail", (Serializable)espaceDeTravail);
283 startActivityForResult(intent, 0);
288 boutonAjouterFavori.setOnClickListener(
289 new View.OnClickListener()
291 public void onClick(View v)
300 boutonRetirerFavori.setOnClickListener(
301 new View.OnClickListener()
303 public void onClick(View v)
314 boutonAjouterFavori.setVisibility(View.VISIBLE);
315 boutonRetirerFavori.setVisibility(View.GONE);
319 boutonAjouterFavori.setVisibility(View.GONE);
320 boutonRetirerFavori.setVisibility(View.VISIBLE);
329 AlertDialog.Builder boiteLiberation =
new AlertDialog.Builder(
this);
330 boiteLiberation.setTitle(
"Libérer l'espace de travail");
331 boiteLiberation.setMessage(
"Saisissez le code pour libérer l'espace de travail :");
332 LayoutInflater inflater = this.getLayoutInflater();
333 View vue = inflater.inflate(R.layout.boite_liberation, null);
334 boiteLiberation.setView(vue);
336 boiteLiberation.setPositiveButton(
"Libérer",
new DialogInterface.OnClickListener()
338 public void onClick(DialogInterface dialog,
int which)
340 EditText saisieCode = (EditText) ((AlertDialog) dialog).findViewById(R.id.saisieCode);
341 Log.d(TAG,
"onClick() code = " + saisieCode.getText().toString());
342 espaceDeTravail.
liberer(saisieCode.getText().toString());
345 boiteLiberation.setNegativeButton(
"Annuler",
new DialogInterface.OnClickListener()
347 public void onClick(DialogInterface dialog,
int which)
353 boiteLiberation.show();
362 super.onActivityResult(requestCode, resultCode, data);
363 Log.d(TAG,
"onActivityResult() requestCode=" + requestCode +
" - resultCode=" + resultCode +
"");
374 Log.d(TAG,
"finish()");
376 Intent intent =
new Intent();
378 setResult(RESULT_OK, intent);
384 public void handleMessage(Message msg)
386 super.handleMessage(msg);
387 Bundle b = msg.getData();
388 Log.d(TAG,
"handleMessage() " + b);
393 String trame = b.getString(
"donnees");
394 Log.d(TAG,
"handleMessage() Réception [" + b.getString(
"adresseIP") +
":" + b.getInt(
"port") +
"] -> " + trame);
396 String[] champs = trame.split(
";");
403 if(espaceDeTravail.
getAdresseIP().equals(b.getString(
"adresseIP")))
407 if(espaceDeTravail.
getCode().isEmpty())
418 if(espaceDeTravail.
getAdresseIP().equals(b.getString(
"adresseIP")))
434 Log.d(TAG,
"handleMessage() : type de trame inconnu !");
438 Log.d(TAG,
"handleMessage() : code inconnu ! ");
boolean getEstReserve()
Accesseur de l'attribut estReserve.
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.
void afficherTemperature()
Affiche la température de l'espace de travail.
String getLieu()
Accesseur de l'attribut lieu.
static final int MODIFICATION_INFORMATIONS
void setEstReserve(boolean estReserve)
Mutateur de l'attribut estReserve.
void afficherDescription()
Affiche la description de l'espace de travail.
void afficherAdresseIP()
Affiche l'adresse IP du portier.
String getCode()
Accesseur de l'attribut code.
static int recupererTypeTrame(String[] champs)
Détermine le type de trame.
boolean extraireCode(String trame)
Extrait le code.
static final int INDICE_CHAUD
String getAdresseIP()
Accesseur de l'attribut adresseIP.
static final int MODIFICATION_DISPONIBILITE
void onActivityResult(int requestCode, int resultCode, Intent data)
Traite le retour de l'activité de modification d'un espace de travail.
void liberer(String code)
Libère l'espace de travail.
static final int INDICE_FROID
void afficherDisponibilite()
Affiche la disponibilité de l'espace de travail.
static final int INDICE_TIEDE
int getIndiceDeConfort()
Accesseur de l'attribut indiceDeConfort.
int getSuperficie()
Accesseur de l'attribut superficie.
void afficher()
Affiche les propriétés de l'espace de travail.
void onCreate(Bundle savedInstanceState)
Méthode appelée à la création de l'activité
void afficherFavori()
Affiche si l'espace de travail est en favori.
L'activité de modification d'un espace de travail de l'application Meeting.
EspaceDeTravail espaceDeTravail
L'espace de travail.
double getTemperature()
Accesseur de l'attribut temperature.
boolean getEstFavori()
Accesseur de l'attribut estFavori.
void afficherBoutons()
Affiche les boutons "Réserver", "Libérer", "Editer les informations", "Ajouter aux favoris" et "Retir...
static final int TYPE_RECEPTION
Code du message indiquant une réception de données.
static final int INDICE_FRAIS
void afficherBoiteLiberation()
Affiche la boîte de dialogue de saisie du code de libération.
void finish()
Termine l'activité d'affichage d'un espace de travail.
void afficherIndiceDeConfort()
Affiche l'indice de confort de l'espace de travail.
void setEstFavori(boolean estFavori)
Mutateur de l'attribut estFavori.
void afficherNom()
Affiche le nom de l'espace de travail.
static final int INDICE_LEGEREMENT_FRAIS
L'activité d'affichage d'un espace de travail de l'application Meeting.
static final String TAG
TAG pour les logs.
void initialiserCommunication(Handler handler)
Initialise une communication.
void afficherLieu()
Affiche le lieu de l'espace de travail.
String getNom()
Accesseur de l'attribut nom.
void reserver()
Réserve l'espace de travail.
void afficherSuperficie()
Affiche la superficie de l'espace de travail.
boolean extraireInformations(String trame)
Extrait les informations d'une trame DEMANDE_INFORMATIONS.