Mobile-AREA  1.1
BTS SNIR LaSalle Avignon 2021
IHMGestionRencontre.java
Aller à la documentation de ce fichier.
1 package com.example.area;
2 
3 import androidx.annotation.NonNull;
4 import androidx.annotation.Nullable;
5 import androidx.appcompat.app.AlertDialog;
6 import androidx.appcompat.app.AppCompatActivity;
7 
8 import android.content.Context;
9 import android.content.DialogInterface;
10 import android.content.Intent;
11 import android.os.Bundle;
12 import android.os.Handler;
13 import android.os.Message;
14 import android.text.Html;
15 import android.util.Log;
16 import android.view.LayoutInflater;
17 import android.view.View;
18 import android.view.ViewGroup;
19 import android.widget.AdapterView;
20 import android.widget.ArrayAdapter;
21 import android.widget.Button;
22 import android.widget.CheckedTextView;
23 import android.widget.ListView;
24 
25 import java.util.ArrayList;
26 import java.util.ListIterator;
27 import java.util.Vector;
28 
41 public class IHMGestionRencontre extends AppCompatActivity
42 {
46  private static final String TAG = "_IHMGestionRencontre";
47  public static final int DEMARRAGE_PARTIE = 0;
48  private static final String TEXTE_BOUTON_DEMARRER_PARTIE = "Démarrer";
49  public static final String ID_INTENT_LANCEMENT_PARTIE = "Partie";
50  public static final String TITRE_ALERT_DIALOG_DEMANDER_SERVEUR = "Veuillez sélectionner le premier joueur à servir :";
51  public static final String TITRE_ACTIVITE = "Liste des parties pour la rencontre : ";
52  public static final String ID_INTENT_FIN_PARTIE = "PartieFinie";
53  public static final String ID_INTENT_POSITION_INVERSE = "PositionInverse";
54  private static final CharSequence[] POSITIONS = {"Gauche","Droite"};
55 
59  private Button boutonDemarrerPartie;
60  private AlertDialog.Builder alertDialogBuilderDemanderServeur;
61  private AlertDialog alertDialogDemanderServeur;
62  private ListView listeParties;
63  private AlertDialog.Builder alertDialogBuilderDemanderCote;
64  private AlertDialog alertDialogDemanderCote;
65 
70  private Handler handler = null;
72  private BaseDeDonnees baseDeDonnees = null;
73 
77  @Override
78  protected void onCreate(Bundle savedInstanceState)
79  {
80  super.onCreate(savedInstanceState);
81  setContentView(R.layout.ihm_gestion_rencontre);
82  Log.d(TAG, "onCreate()");
83 
84  baseDeDonnees = new BaseDeDonnees(this);
85 
86  rencontre = (Rencontre) getIntent().getSerializableExtra(IHMLancementRencontre.ID_INTENT_LANCEMENT_RENCONTRE);
87 
89 
91 
93 
95 
97  }
98 
102  @Override
103  protected void onStart()
104  {
105  super.onStart();
106  Log.d(TAG, "onStart()");
107  }
108 
112  @Override
113  protected void onResume()
114  {
115  super.onResume();
116  Log.d(TAG, "onResume()");
117  }
118 
122  @Override
123  protected void onPause()
124  {
125  super.onPause();
126  Log.d(TAG, "onPause()");
127  }
128 
132  @Override
133  protected void onStop()
134  {
135  super.onStop();
136  Log.d(TAG, "onStop()");
137  liaisonModuleAfficheur.deconnecter();
138  }
139 
143  @Override
144  protected void onDestroy()
145  {
146  super.onDestroy();
147  Log.d(TAG, "onDestroy()");
148  }
149 
153  private void initialiserHandler()
154  {
155  this.handler = new Handler(this.getMainLooper())
156  {
157  @Override
158  public void handleMessage(@NonNull Message message)
159  {
160  Log.d(TAG, "[Handler] id du message = " + message.what);
161  Log.d(TAG, "[Handler] contenu du message = " + message.obj.toString());
162 
163  switch (message.what)
164  {
166  Log.d(TAG, "[Handler] CREATION_SOCKET = " + message.obj.toString());
167  break;
169  Log.d(TAG, "[Handler] CONNEXION_SOCKET = " + message.obj.toString());
170  liaisonModuleAfficheur.envoyer(ProtocolAREA.fabriquerTrameAfficheurRencontre(rencontre));
171  try
172  {
173  Thread.holdsLock(this);
174  Thread.sleep(500);
175  }
176  catch (InterruptedException e)
177  {
178  e.printStackTrace();
179  }
181  break;
183  Log.d(TAG, "[Handler] DECONNEXION_SOCKET = " + message.obj.toString());
184  break;
186  Log.d(TAG, "[Handler] RECEPTION_TRAME = " + message.obj.toString());
187  break;
188  }
189  }
190  };
191  }
192 
197  {
198  Log.d(TAG,"initialiserLiaisonBluetooth()");
199  liaisonModuleAfficheur = new LiaisonBluetooth(ProtocolAREA.NOM_MODULE_AFFICHEUR_AREA, handler);
200  liaisonModuleAfficheur.connecter();
201  }
202 
206  private void envoyerPartiesAfficheur()
207  {
208  Log.d(TAG,"envoyerPartiesAfficheur()");
209  Vector<Partie> parties = rencontre.getParties();
210 
211  for (int i = 0; i < parties.size(); i++)
212  {
213  liaisonModuleAfficheur.envoyer(ProtocolAREA.fabriquerTrameAfficheur(ProtocolAREA.TRAME_AFFICHEUR_INFO_PARTIE,parties.elementAt(i)));
214  }
215  }
216 
220  private void recupererRessourcesIHM()
221  {
222  Log.d(TAG,"recupererRessourcesIHM()");
223  boutonDemarrerPartie = findViewById(R.id.boutonDemarrerPartie);
224  alertDialogBuilderDemanderServeur = new AlertDialog.Builder(this);
225  listeParties = findViewById(R.id.listeParties);
226  alertDialogBuilderDemanderCote = new AlertDialog.Builder(this);
227  }
228 
233  {
234  Log.d(TAG,"initialiserRessourcesIHM()");
235  boutonDemarrerPartie.setText(TEXTE_BOUTON_DEMARRER_PARTIE);
236 
237  alertDialogBuilderDemanderServeur.setTitle(TITRE_ALERT_DIALOG_DEMANDER_SERVEUR);
238 
239  alertDialogDemanderServeur = alertDialogBuilderDemanderServeur.create();
240 
241  alertDialogDemanderCote = alertDialogBuilderDemanderCote.create();
242 
243  afficherParties();
244 
245  getSupportActionBar().setTitle( TITRE_ACTIVITE + rencontre.getEquipeA().getNomClub() + " VS " + rencontre.getEquipeB().getNomClub());
246  }
247 
251  private void connecterBoutons()
252  {
253  Log.d(TAG,"connecterBoutons()");
254  boutonDemarrerPartie.setOnClickListener(new View.OnClickListener()
255  {
256  public void onClick(View v)
257  {
258  Log.d(TAG,"onClickBoutonDemarrerPartie()");
259  if(listeParties.getCheckedItemPosition() != AdapterView.INVALID_POSITION)
260  {
261  demanderServeur(rencontre.getParties().elementAt(listeParties.getCheckedItemPosition()));
262  }
263  }
264  });
265 
266  listeParties.setOnItemClickListener(new AdapterView.OnItemClickListener()
267  {
268  @Override
269  public void onItemClick(AdapterView<?> parent, View view, int position, long id)
270  {
271  Log.d(TAG,"onItemClickListeParties() position = " + position);
272  listeParties.setItemChecked(position,true);
273  }
274  });
275  }
276 
280  @Override
281  protected void onActivityResult(int requestCode, int resultCode, Intent data)
282  {
283  super.onActivityResult(requestCode, resultCode, data);
284  Log.d(TAG, "onActivityResult() resultCode : " + resultCode);
285 
286  // Exemple
287  if(requestCode == DEMARRAGE_PARTIE && resultCode == RESULT_OK)
288  {
289  Log.d(TAG, "onActivityResult() IHMGestionPartie s'est terminée avec succès !");
290 
291  Partie partie = (Partie) data.getSerializableExtra(IHMGestionRencontre.ID_INTENT_FIN_PARTIE);
292  if (partie.estFinie())
293  {
294  Log.d(TAG, "onActivityResult() position = " + listeParties.getCheckedItemPosition());
295  Log.d(TAG,"onActivityResult() childCount = " + listeParties.getChildCount());
296 
297  baseDeDonnees.terminerPartie(partie.getId());
298  afficherParties();
299 
300  if(partie.getJoueursA() == partie.getVainqueur())
302  else
304  }
305  }
306  }
307 
311  private void demanderServeur(Partie partie)
312  {
313  Log.d(TAG,"demanderServeur()");
314  Vector<Joueur> joueursA = partie.getJoueursA();
315  Vector<Joueur> joueursB = partie.getJoueursB();
316  CharSequence[] nomJoueurs = recupererNomsJoueurs(joueursA, joueursB);
317 
318  alertDialogBuilderDemanderServeur.setItems(nomJoueurs, new DialogInterface.OnClickListener()
319  {
320  public void onClick(DialogInterface dialog, int numeroJoueur)
321  {
322  Log.d(TAG,"onClickDemanderServeur()");
323  // Partie simple ?
324  if(partie.getNbJoueurs() == 2)
325  {
326  if(numeroJoueur == 0)
327  {
328  Log.d(TAG,"Serveur dans équipe A à la position : " + numeroJoueur + " (" + joueursA.elementAt(numeroJoueur).getNom() + ")");
329  joueursA.elementAt(numeroJoueur).setEstServeur(true);
330  partie.setJoueursA(joueursA);
331 
332  }
333  else
334  {
335  Log.d(TAG,"Serveur dans équipe B à la position : " + (numeroJoueur-1) + " (" + joueursB.elementAt(numeroJoueur-1).getNom() + ")");
336  joueursB.elementAt(numeroJoueur-1).setEstServeur(true);
337  partie.setJoueursB(joueursB);
338  }
339  }
340  else if(partie.getNbJoueurs() == 4) // Partie double ?
341  {
342  if(numeroJoueur < 2)
343  {
344  Log.d(TAG,"Serveur dans équipe A à la position : " + numeroJoueur + " (" + joueursA.elementAt(numeroJoueur).getNom() + ")");
345  joueursA.elementAt(numeroJoueur).setEstServeur(true);
346  partie.setJoueursA(joueursA);
347  }
348  else
349  {
350  Log.d(TAG,"Serveur dans équipe B à la position : " + (numeroJoueur-2) + " (" + joueursB.elementAt(numeroJoueur-2).getNom() + ")");
351  joueursB.elementAt(numeroJoueur-2).setEstServeur(true);
352  partie.setJoueursB(joueursB);
353  }
354  }
355  else
356  {
357  Log.e(TAG,"Le nombre de joueurs dans cette partie est invalide !");
358  }
359 
360  demanderCote(partie);
361  }
362  });
363 
365  }
366 
370  private void afficherChoixServeur()
371  {
372  Log.d(TAG,"afficherChoixServeur()");
373  alertDialogDemanderServeur = alertDialogBuilderDemanderServeur.create();
374 
375  alertDialogDemanderServeur.show();
376  }
377 
381  private void demanderCote(Partie partie)
382  {
383  Log.d(TAG,"demanderCote()");
384  // Partie simple ?
385  if (partie.getNbJoueurs() == 2)
386  {
387  alertDialogBuilderDemanderCote.setTitle("Veuillez sélectionner le coté de " + partie.getJoueursA().firstElement().getNom() + partie.getJoueursA().firstElement().getPrenom());
388  }
389  else if (partie.getNbJoueurs() == 4) // Partie double ?
390  {
391  alertDialogBuilderDemanderCote.setTitle("Veuillez sélectionner le coté de " + partie.getJoueursA().firstElement().getNom() + " " + partie.getJoueursA().firstElement().getPrenom() + " et " + partie.getJoueursA().elementAt(Partie.POSITION_DEUXIEME_JOUEUR).getNom() + " " + partie.getJoueursA().elementAt(Partie.POSITION_DEUXIEME_JOUEUR).getPrenom());
392  }
393 
394  alertDialogBuilderDemanderCote.setItems(POSITIONS, new DialogInterface.OnClickListener()
395  {
396  public void onClick(DialogInterface dialog, int numeroCote)
397  {
398  Log.d(TAG,"onClickDemanderCote()");
399  if (numeroCote == 0)
400  lancerPartie(partie,false);
401  else
402  lancerPartie(partie,true);
403  }
404  });
405 
407  }
408 
412  private void afficherChoixCote()
413  {
414  Log.d(TAG,"afficherChoixCote()");
415  alertDialogDemanderCote = alertDialogBuilderDemanderCote.create();
416 
417  alertDialogDemanderCote.show();
418  }
419 
423  private CharSequence[] recupererNomsJoueurs(Vector<Joueur> joueursA, Vector<Joueur> joueursB)
424  {
425  Log.d(TAG,"recupererNomsJoueurs()");
426  int nbJoueurs = joueursA.size() + joueursB.size();
427  CharSequence nomJoueurs[] = new CharSequence[nbJoueurs];
428  ListIterator<Joueur> it = joueursA.listIterator();
429  int i = 0;
430  Joueur joueur;
431 
432  while (it.hasNext())
433  {
434  joueur = it.next();
435  nomJoueurs[i] = "[ " + rencontre.getEquipeA().getNomClub() + "] " + joueur.getNom()+ " " + joueur.getPrenom();
436  i++;
437  }
438 
439  it = joueursB.listIterator();
440 
441  while (it.hasNext())
442  {
443  joueur = it.next();
444  nomJoueurs[i] = "[ " + rencontre.getEquipeB().getNomClub() + "] " + joueur.getNom()+ " " + joueur.getPrenom();
445  i++;
446  }
447  return nomJoueurs;
448  }
449 
454  private void lancerPartie(Partie partie, boolean positionInverse)
455  {
456  Log.d(TAG,"lancerPartie()");
457  final Intent intent = new Intent(IHMGestionRencontre.this, IHMGestionPartie.class);
458  intent.putExtra(ID_INTENT_LANCEMENT_PARTIE, partie);
459  intent.putExtra(ID_INTENT_POSITION_INVERSE, positionInverse);
460  Log.d(TAG,"Lancement de l'activité IHMGestionPartie");
461  startActivityForResult(intent, DEMARRAGE_PARTIE);
462  }
463 
467  private void afficherParties()
468  {
469  Log.d(TAG,"afficherParties()");
470 
471  rencontre.setParties(baseDeDonnees.getParties(rencontre.getId()));
472  Vector<Partie> parties = rencontre.getParties();
473  ListIterator<Partie> it = parties.listIterator();
474  ArrayList<String> arrayListParties = new ArrayList<String>();
475  AdapterListe adapter = null;
476  Partie partie = null;
477  int i = 0;
478 
479  adapter = new AdapterListe(this, android.R.layout.simple_list_item_single_choice, arrayListParties);
480 
481  while(it.hasNext())
482  {
483  partie = it.next();
484  arrayListParties.add(formaterPartie(partie));
485  if (partie.estFinie())
486  adapter.desactiverItem(i);
487  i++;
488  }
489 
490  adapter.setNotifyOnChange(false);
491  listeParties.setAdapter(adapter);
492  }
493 
497  private String formaterPartie(Partie partie)
498  {
499  Log.d(TAG,"formaterPartie()");
500  String partieFormatee = new String();
501  Vector<Joueur> joueursA = partie.getJoueursA();
502  Vector<Joueur> joueursB = partie.getJoueursB();
503  ListIterator<Joueur> it = joueursA.listIterator();
504  Joueur joueur = null;
505 
506  Log.d(TAG,"formaterPartie() : nbJoueursA = " + Integer.toString(joueursA.size()));
507  Log.d(TAG,"formaterPartie() : nbJoueursB = " + Integer.toString(joueursB.size()));
508 
509  if ((partie.getVainqueur() != null) && partie.getVainqueur().equals(joueursA))
510  partieFormatee += "<b>";
511 
512  while (it.hasNext())
513  {
514  joueur = it.next();
515  partieFormatee += joueur.getNom() + " " + joueur.getPrenom() + " ";
516 
517  }
518 
519  if ((partie.getVainqueur() != null) && partie.getVainqueur().equals(joueursA))
520  partieFormatee += "</b>";
521 
522  it = joueursB.listIterator();
523  partieFormatee += " VS ";
524 
525  if ((partie.getVainqueur() != null) && partie.getVainqueur().equals(joueursB))
526  partieFormatee += "<b>";
527 
528  while (it.hasNext())
529  {
530  joueur = it.next();
531  partieFormatee += joueur.getNom() + " " + joueur.getPrenom() + " ";
532  }
533 
534  if ((partie.getVainqueur() != null) && partie.getVainqueur().equals(joueursB))
535  partieFormatee += "</b>";
536 
537  Log.d(TAG,"formaterPartie() : Nb sets = " + Integer.toString(partie.getManches().size()));
538  Log.d(TAG,"formaterPartie() : " + partieFormatee);
539 
540  return partieFormatee;
541  }
542 
543  private class AdapterListe extends ArrayAdapter<String>
544  {
545  private Vector<Integer> positionsDesactivees = null;
546  LayoutInflater inflater = null;
547  int ressource = 0;
548 
549  public AdapterListe(Context context, int ressource, ArrayList<String> donnees)
550  {
551  super(context,ressource,donnees);
552  this.positionsDesactivees = new Vector<>();
553  this.inflater = LayoutInflater.from(context);
554  this.ressource = ressource;
555  }
556 
557  @Override
558  public View getView(int position, @Nullable View convertView, ViewGroup parent)
559  {
560  Log.d(TAG,"getView()");
561  if (convertView == null)
562  {
563  convertView = inflater.inflate(ressource,parent, false);
564  }
565 
566  CheckedTextView textView = convertView.findViewById(android.R.id.text1);
567  textView.setText(Html.fromHtml(this.getItem(position)));
568  if (positionsDesactivees.contains(position))
569  {
570  textView.setEnabled(false);
571  textView.setClickable(false);
572  textView.setOnClickListener(null);
573  }
574  else
575  {
576  textView.setEnabled(true);
577  textView.setClickable(true);
578  textView.setOnClickListener(new View.OnClickListener()
579  {
580  @Override
581  public void onClick(View v)
582  {
583  listeParties.setItemChecked(position,true);
584  }
585  });
586  }
587 
588  return convertView;
589  }
590 
591  public void desactiverItem(int position)
592  {
593  Log.d(TAG,"desactiverItem()");
594  if (!positionsDesactivees.contains(position))
595  positionsDesactivees.add(position);
596  }
597  }
598 }
void setParties(Vector< Partie > parties)
Definition: Rencontre.java:233
void onPause()
Méthode appelée après qu&#39;une boîte de dialogue s&#39;est affichée (on reprend sur un onResume()) ou avant...
void onResume()
Méthode appelée après onStart() ou après onPause()
ListView listeParties
La liste des parties.
Equipe getEquipeA()
Accesseur de l&#39;attribut equipeA.
Definition: Rencontre.java:178
View getView(int position, @Nullable View convertView, ViewGroup parent)
CharSequence [] recupererNomsJoueurs(Vector< Joueur > joueursA, Vector< Joueur > joueursB)
Récupère les noms des joueurs et de leur club dans un tableau de CharSequence.
void initialiserRessourcesIHM()
Initialise les ressources graphiques de l&#39;activité
static final String ID_INTENT_LANCEMENT_RENCONTRE
Identifiant de l&#39;Intent permettant de lancer l&#39;activité IHMGestioNRencontre.
Vector< Joueur > getJoueursA()
Accesseur de l&#39;attribut joueursA.
Definition: Partie.java:79
int getId()
Accesseur de l&#39;attribut iD.
Definition: Partie.java:127
Les détails du protocole AREA.
void lancerPartie(Partie partie, boolean positionInverse)
Lance une partie.
static final int INDEX_EQUIPE_A
Index de l&#39;équipe A dans le Vector Equipe.
Definition: Rencontre.java:33
static final String TAG
TAG pour les logs.
static final String NOM_MODULE_AFFICHEUR_AREA
nom du module AFFICHEUR
String getNom()
Accesseur de l&#39;attribut nom.
Definition: Joueur.java:45
static final CharSequence [] POSITIONS
Les deux positions possibles affichées dans la boite de dialogue permettant de choisir le côté du jou...
int getNbJoueurs()
Retourne le nombre de joueurs dans la partie.
Definition: Partie.java:384
L&#39;activité de gestion d&#39;une partie de l&#39;application AREA.
void envoyer(String donnees)
Méthode pour envoyer des données.
void setJoueursB(Vector< Joueur > joueursB)
Mutateur de l&#39;attribut joueursB.
Definition: Partie.java:400
Vector< Joueur > getJoueursB()
Accesseur de l&#39;attribut joueursB.
Definition: Partie.java:87
AdapterListe(Context context, int ressource, ArrayList< String > donnees)
static final String ID_INTENT_POSITION_INVERSE
Identifiant de l&#39;Intent permettant d&#39;informer IHMGestionPartie de la position des joueurs...
String getPrenom()
Accesseur de l&#39;attribut prenom.
Definition: Joueur.java:53
static String fabriquerTrameAfficheur(int typeTrame, Partie partie)
Méthode permettant de fabiquer les trames à destination du module Afficheur.
static String fabriquerTrameAfficheurRencontre(Rencontre rencontre)
Méthode permettant de fabiquer les trames à destination du module Afficheur dédiée spécifiquement aux...
String formaterPartie(Partie partie)
Formate une partie sous forme de String en respectant la structure suivante : NOM_JOUEUR_A PrenomJoue...
Vector< Vector< Integer > > getManches()
Definition: Partie.java:145
void terminerPartie(int idPartie)
Permet d&#39;effectuer une requete terminer une partie.
void onStart()
Méthode appelée au démarrage après le onCreate() ou un restart après un onStop()
void deconnecter()
Méthode pour fermer la connexion avec un appareil.
void connecter()
Méthode pour ouvrir la connexion avec un appareil.
void afficherChoixCote()
Affiche la boite de dialogue qui demande de quel cote se trouve le relanceur.
static final String ID_INTENT_LANCEMENT_PARTIE
Identifiant de l&#39;Intent permettant de lancer l&#39;activité IHMGestionPartie.
Vector< Joueur > getVainqueur()
Trouve le gagnant et le retourne, si il n&#39;y en a pas retourne null.
Definition: Partie.java:408
void ajouterPointEquipe(int indexEquipe)
Ajoute un point à une équipe donnée.
Definition: Rencontre.java:155
AlertDialog.Builder alertDialogBuilderDemanderCote
L&#39;objet servant à construire la boite de dialogue permettant le choix du côté du relanceur.
void onActivityResult(int requestCode, int resultCode, Intent data)
Traite le retour de l&#39;activité IHMGestionPartie.
AlertDialog.Builder alertDialogBuilderDemanderServeur
L&#39;objet servant à construire la boite de dialogue permettant le choix du premier serveur.
LiaisonBluetooth liaisonModuleAfficheur
La liaison bluetooth avec le module afficheur.
void onStop()
Méthode appelée lorsque l&#39;activité n&#39;est plus visible.
void onCreate(Bundle savedInstanceState)
Méthode appelée à la création de l&#39;activité
static final String TITRE_ALERT_DIALOG_DEMANDER_SERVEUR
Texte pour demander qui est le serveur.
Permet de gérer la communication bluetooth.
static final String TITRE_ACTIVITE
Texte affiché en haut de l&#39;activité
Classe qui permet la gestion d&#39;une rencontre entre deux équipes.
Definition: Rencontre.java:18
Classe permettant de manipuler la base de données.
final String getNomClub()
Accesseur de la l&#39;attribut nomClub.
Definition: Equipe.java:61
static final String ID_INTENT_FIN_PARTIE
Identifiant de l&#39;Intent permettant recu de l&#39;activité IHMGestionPartie.
AlertDialog alertDialogDemanderCote
La boite de dialogue permettant le choix du côté du relanceur.
void initialiserLiaisonBluetooth()
Initialise la liaison Bluetooth.
Rencontre rencontre
La rencontre gérée par l&#39;activitée.
static final int POSITION_DEUXIEME_JOUEUR
Definition: Partie.java:29
Classe regroupant les informations d&#39;un joueur.
Definition: Joueur.java:18
void demanderServeur(Partie partie)
Demande à l&#39;arbitre qui est le premier à servir.
static final int INDEX_EQUIPE_B
Index de l&#39;équipe B dans le Vector Equipe.
Definition: Rencontre.java:34
void onDestroy()
Méthode appelée à la destruction de l&#39;application (après onStop() et détruite par le système Android)...
Classe permettant la gestion d&#39;une partie.
Definition: Partie.java:22
static final int DEMARRAGE_PARTIE
Code pour le lancement de l&#39;activité IHMGestionPartie.
void recupererRessourcesIHM()
Recupère les ressources graphiques de l&#39;activité
static final String TEXTE_BOUTON_DEMARRER_PARTIE
Texte du bouton pour démarrer une partie.
void setJoueursA(Vector< Joueur > joueursA)
Mutateur de l&#39;attribut joueursA.
Definition: Partie.java:392
void envoyerPartiesAfficheur()
Envoie toute les parties de la rencontre au module Afficheur.
Equipe getEquipeB()
Accesseur de l&#39;attribut equipeB.
Definition: Rencontre.java:187
void afficherParties()
Affiche une liste de toutes les parties d&#39;une rencontre.
AlertDialog alertDialogDemanderServeur
La boite de dialogue permettant le choix du premier serveur.
Handler handler
Le handler de l&#39;activitée.
void connecterBoutons()
Définit le comportement des boutons.
void afficherChoixServeur()
Affiche la boite de dialogue qui demande qui doit servir en premier.
L&#39;activité principale de l&#39;application AREA.
Vector< Partie > getParties()
Accesseur de l&#39;attribut parties.
Definition: Rencontre.java:169
L&#39;activité permettant de gérer une rencontre.
Button boutonDemarrerPartie
Le bouton permettant de démarrer une partie.
void initialiserHandler()
Initialise le handler permettant le passage des Messages (trames reçues) entre les classes LiaisonBlu...
void demanderCote(Partie partie)
Demande de quel coté se trouve les joueurs d&#39;une partie.
static final int TRAME_AFFICHEUR_INFO_PARTIE
code pour une trame afficheur d&#39;information de partie
Vector< Partie > getParties(int idRencontre)
Permet d&#39;effectuer une requete pour récupérer les parties d&#39;une rencontre.