Meeting  0.2
BTS SNIR LaSalle Avignon 2020
SalleActivity.java
Aller à la documentation de ce fichier.
1 package com.lasalle.meeting;
2 
3 import androidx.annotation.NonNull;
4 import androidx.appcompat.app.AppCompatActivity;
5 import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
6 
7 import android.content.Intent;
8 import android.graphics.Color;
9 import android.os.Bundle;
10 import android.util.Log;
11 import android.view.MenuItem;
12 import android.view.View;
13 import android.widget.Button;
14 import android.widget.TextView;
15 import android.widget.Toast;
16 
17 import com.google.android.material.bottomnavigation.BottomNavigationView;
18 
29 public class SalleActivity extends AppCompatActivity
30 {
34  private static final String TAG = "SalleActivity";
35 
38  private Button boutonChangeEtat;
39  private TextView textNom;
40  private TextView textEmplacement;
41  private TextView textLibre;
42  private TextView textConfort;
43  private TextView textSurface;
44  private TextView textTemperature;
45  private TextView textDescription;
46  private SwipeRefreshLayout swipeRefreshLayout;
47  private BottomNavigationView bottomNavigationView;
48 
51  private Salle maSalle = null;
52  private Communication communication = null;
53 
59  @Override
60  protected void onCreate(Bundle savedInstanceState)
61  {
62  super.onCreate(savedInstanceState);
63  Log.d(TAG, "onCreate()");
64 
65  setContentView(R.layout.activity_salle);
66 
67  Intent intent = getIntent();
68  maSalle = (Salle)intent.getSerializableExtra("Salle");
69 
70  if(maSalle == null)
71  Log.d(TAG, "Salle : " + maSalle.getNom());
72 
73  communication = MainActivity.getCommunication();
74 
78  setListener();
79  }
80 
85  public void setBoutonChangeEtat()
86  {
87  if (maSalle.getLibre() == true)
88  {
89  boutonChangeEtat.setText("Prendre");
90  boutonChangeEtat.setBackgroundColor(Color.rgb(39,195,26));
91  }
92  else
93  {
94  boutonChangeEtat.setText("Libérer");
95  boutonChangeEtat.setBackgroundColor(Color.rgb(222,55,25));
96  }
97  }
98 
104  {
105  textNom.setText(maSalle.getNom());
106  textNom.setTextSize(35);
107  textDescription.setText(maSalle.getDescription());
108  textDescription.setTextSize(25);
109  textEmplacement.setText(maSalle.getEmplacement());
110  textEmplacement.setTextSize(25);
111  textConfort.setText(maSalle.getConfortIHM());
112  textConfort.setTextSize(25);
113  textSurface.setText(Integer.toString(maSalle.getSurface()) + " m²");
114  textSurface.setTextSize(25);
115  textLibre.setTextSize(25);
116  if (maSalle.getLibre() == true)
117  {
118  textLibre.setText("État : Libre");
119  }
120  else
121  {
122  textLibre.setText("État : Occupée");
123  }
124  textTemperature.setText(Float.toString(maSalle.getTemperature()) + " °C");
125  textTemperature.setTextSize(25);
126  }
127 
132  public void setListener()
133  {
134 
135  boutonChangeEtat.setOnClickListener(
136  new View.OnClickListener()
137  {
138  @Override
139  public void onClick(View v)
140  {
141  maSalle.setLibre();
144 
145  if(communication != null)
146  {
147  communication.envoyer("$SET;3;" + maSalle.getLibreTrame() + "\r\n", maSalle.getAdresseIP());
148  }
149  }
150  }
151  );
152 
153  swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener()
154  {
155  @Override
156  public void onRefresh()
157  {
159  swipeRefreshLayout.setRefreshing(false);
160  }
161  });
162 
163  bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener()
164  {
165  @Override
166  public boolean onNavigationItemSelected(@NonNull MenuItem item)
167  {
168  switch (item.getItemId())
169  {
170  case R.id.Salle:
171  Toast.makeText(getApplicationContext(), "Salle", Toast.LENGTH_SHORT).show();
172  return true;
173  case R.id.Favoris:
174  Toast.makeText(getApplicationContext(), "La fonctionnalité favoris n'est pas encore disponible !", Toast.LENGTH_SHORT).show();
175  return true;
176  case R.id.Rechercher:
177  Toast.makeText(getApplicationContext(), "La fonctionnalité rechercher n'est pas encore disponible !", Toast.LENGTH_SHORT).show();
178  return true;
179  }
180  return false;
181  }
182  });
183  }
184 
190  {
191  boutonChangeEtat = (Button)findViewById(R.id.buttonChangeEtat);
192  textNom = (TextView)findViewById(R.id.textViewNom);
193  textEmplacement = (TextView)findViewById(R.id.textViewEmplacement);
194  textLibre = (TextView)findViewById(R.id.textViewLibre);
195  textConfort = (TextView)findViewById(R.id.textViewConfort);
196  textSurface = (TextView)findViewById(R.id.textViewSurface);
197  textTemperature = (TextView)findViewById(R.id.textViewTemperature);
198  textDescription = (TextView)findViewById(R.id.textViewDescription);
199  swipeRefreshLayout = (SwipeRefreshLayout)findViewById(R.id.swipeRefreshLayout);
200  bottomNavigationView = (BottomNavigationView) findViewById(R.id.bottomNavigationView);
201  }
202 
207  @Override
208  public void finish()
209  {
210  Log.d(TAG, "finish()");
211 
212  Intent intent = new Intent();
213 
214  intent.putExtra("salle", maSalle);
215 
216  setResult(RESULT_OK, intent);
217  super.finish();
218  }
219 }
final float getTemperature()
Accesseur get la température de la salle.
Definition: Salle.java:267
final String getDescription()
Accesseur get la description de la salle.
Definition: Salle.java:276
void afficherInformationSalle()
Méthode affichant les informations de la salle dans les layouts.
Déclaration de la classe Communication.
Communication communication
attribut permetant d'envoyer des requêtes
final String getEmplacement()
Accesseur get de l'emplacement de la salle.
Definition: Salle.java:156
TextView textLibre
layout texte de la disponibilité de la salle
final String getConfortIHM()
Accesseur get le confort de la salle.
Definition: Salle.java:233
static Communication getCommunication()
retourne mon attribut communication
static final String TAG
TAG utilisé pour les logs.
TextView textSurface
layout texte de la surface de la salle
TextView textConfort
layout texte du confort de la salle
void setLibre(int libre)
Accesseur set la disponibilité de la salle.
Definition: Salle.java:89
void setListener()
applique les listener sur les layouts approprié
final int getSurface()
Accesseur get la surface de la salle.
Definition: Salle.java:215
final String getLibreTrame()
Accesseur get de libre de la salle.
Definition: Salle.java:183
SwipeRefreshLayout swipeRefreshLayout
layout permettant de rafraichir
Déclaration de la classe SalleActivity.
Déclaration de la classe MainActivity.
void setBoutonChangeEtat()
Méthode changeant le bouton dépendant de la disponibilité de la salle.
Déclaration de la classe Salle.
Definition: Salle.java:17
void onCreate(Bundle savedInstanceState)
Méthode appelée à la création de l'activité SalleActivity.
TextView textNom
layout texte du nom de la salle
final boolean getLibre()
Accesseur get de libre de la salle.
Definition: Salle.java:174
final String getNom()
Accesseur get du nom de la salle.
Definition: Salle.java:165
void initialiserRessourceIHM()
Récupère et initialise les widgets du layout activity_salle.
void finish()
Méthode appelée à la fin de l'activité SalleActivity.
void envoyer(final String requete)
méthode envoyant une requête à l'adresse de multicast
TextView textEmplacement
layout texte de l'emplacement de la salle
TextView textTemperature
layout texte de la température de la salle
BottomNavigationView bottomNavigationView
layout permettant d'avoir un menu de navigation (en haut)
TextView textDescription
layout texte de la description de la salle
Button boutonChangeEtat
layout du prendre/liberer
final String getAdresseIP()
Accesseur get l'adresse IP de la salle.
Definition: Salle.java:285