mirror of
https://github.com/LucasVbr/OutilCuisson.git
synced 2026-05-13 17:11:53 +00:00
modif finales + ratio
This commit is contained in:
+1
-1
@@ -7,7 +7,7 @@ android {
|
||||
|
||||
defaultConfig {
|
||||
applicationId "com.example.outilcuisson"
|
||||
minSdk 23
|
||||
minSdk 21
|
||||
targetSdk 32
|
||||
versionCode 1
|
||||
versionName "1.0"
|
||||
|
||||
@@ -11,7 +11,7 @@ import androidx.fragment.app.FragmentActivity;
|
||||
import androidx.viewpager2.adapter.FragmentStateAdapter;
|
||||
|
||||
/**
|
||||
* Gestionnaire des différent fragments de l'application
|
||||
* Gestionnaire des différents fragments de l'application
|
||||
*
|
||||
* @author THIZY Alexandre
|
||||
* @author VABRE Lucàs
|
||||
@@ -20,14 +20,14 @@ import androidx.viewpager2.adapter.FragmentStateAdapter;
|
||||
public class AdaptateurPage extends FragmentStateAdapter {
|
||||
|
||||
/**
|
||||
* Nombre de fragment de l'application
|
||||
* Nombre de fragments de l'application
|
||||
*/
|
||||
private static final int NB_FRAGMENT = 2;
|
||||
|
||||
/**
|
||||
* Crée une adaptateur de page
|
||||
* Crée un adaptateur de page
|
||||
*
|
||||
* @param activite le Main Activity de référence
|
||||
* @param activite la MainActivity de référence
|
||||
*/
|
||||
public AdaptateurPage(FragmentActivity activite) {
|
||||
super(activite);
|
||||
|
||||
@@ -68,7 +68,7 @@ public class AfficherFragment extends Fragment {
|
||||
|
||||
View view = inflater.inflate(R.layout.afficher_fragment, container,false);
|
||||
|
||||
/* Elements intéractifs */
|
||||
/* Éléments intéractifs */
|
||||
listView = view.findViewById(R.id.listeCuisson);
|
||||
adapterCuissons = new ArrayAdapter<>(getActivity(),
|
||||
R.layout.ligne_liste, R.id.item_cuisson, new ArrayList<>());
|
||||
@@ -88,8 +88,8 @@ public class AfficherFragment extends Fragment {
|
||||
}
|
||||
|
||||
/**
|
||||
* Met a jour la liste visuelle des cuissons par rapport au cuissons
|
||||
* enregistré dans le MainActivity
|
||||
* Met à jour la liste visuelle des cuissons par rapport aux cuissons
|
||||
* enregistrées dans la MainActivity
|
||||
*/
|
||||
public void afficherCuisson() {
|
||||
adapterCuissons.clear();
|
||||
@@ -121,7 +121,7 @@ public class AfficherFragment extends Fragment {
|
||||
}
|
||||
|
||||
/**
|
||||
* Réalise l'action souhaité en fonction de l'item du menu selectionné
|
||||
* Réalise l'action souhaitée en fonction de l'item du menu selectionné
|
||||
*/
|
||||
@SuppressLint("NonConstantResourceId")
|
||||
@Override
|
||||
@@ -149,10 +149,10 @@ public class AfficherFragment extends Fragment {
|
||||
* Crée une fenêtre qui montre les informations de la cuisson sélectionnée
|
||||
* avec notamment la valeur du thermostat
|
||||
*
|
||||
* @param index indice de la cuisson sélectionné dans la liste des cuissons
|
||||
* @param index indice de la cuisson sélectionnée dans la liste des cuissons
|
||||
*/
|
||||
public void afficherThermos(int index) {
|
||||
/* Recupère l'objet cuisson */
|
||||
/* Récupère l'objet cuisson */
|
||||
Cuisson cuisson = activity.getListeCuisson().get(index);
|
||||
|
||||
String content = getString(R.string.alert_content_thermos,
|
||||
@@ -170,7 +170,7 @@ public class AfficherFragment extends Fragment {
|
||||
/**
|
||||
* Supprime l'objet correspondant cuisson
|
||||
*
|
||||
* @param index indice de la cuissons sélectionnée dans la liste des
|
||||
* @param index indice de la cuisson sélectionnée dans la liste des
|
||||
* cuissons
|
||||
*/
|
||||
public void supprimerCuisson(int index) {
|
||||
|
||||
@@ -44,22 +44,22 @@ public class AjouterFragment extends Fragment {
|
||||
EditText inputPlat;
|
||||
|
||||
/**
|
||||
* Element graphique qui permet de sélectionner une durée
|
||||
* Élément graphique qui permet de sélectionner une durée
|
||||
*/
|
||||
TimePicker inputDuree;
|
||||
|
||||
/**
|
||||
* Zone de texte correspondant a la température du plat
|
||||
* Zone de texte correspondant à la température du plat
|
||||
*/
|
||||
EditText inputTemperature;
|
||||
|
||||
/**
|
||||
* Boutton qui efface les champs et rétablie leurs valeurs par défaut
|
||||
* Bouton qui efface les champs et rétabli leurs valeurs par défaut
|
||||
*/
|
||||
Button btnEffacer;
|
||||
|
||||
/**
|
||||
* Boutton qui essaye de créer/editer une cuisson si celle-ci est valide
|
||||
* Bouton qui essaye de créer/éditer une cuisson si celle-ci est valide
|
||||
*/
|
||||
Button btnValider;
|
||||
|
||||
@@ -98,11 +98,11 @@ public class AjouterFragment extends Fragment {
|
||||
inputDuree.setIs24HourView(true);
|
||||
champsDefaut();
|
||||
|
||||
/* Actions des buttons */
|
||||
/* Actions des boutons */
|
||||
btnValider.setOnClickListener(this::actionBtnValider);
|
||||
btnEffacer.setOnClickListener(this::actionBtnEffacer);
|
||||
|
||||
/* Référence le main activity */
|
||||
/* Référence la MainActivity */
|
||||
activity = (MainActivity) getActivity();
|
||||
|
||||
return view;
|
||||
@@ -113,16 +113,16 @@ public class AjouterFragment extends Fragment {
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
|
||||
/* Si on est en mode edition, on préremplis le champs */
|
||||
/* Si on est en mode édition, on pré-rempli le champ */
|
||||
if (activity.modeEdition) {
|
||||
Cuisson cuisson = activity.cuissonAEditer;
|
||||
|
||||
System.out.println(cuisson);
|
||||
|
||||
/* On remplis les champs */
|
||||
/* On rempli les champs */
|
||||
inputPlat.setText(cuisson.getPlat());
|
||||
inputDuree.setHour(cuisson.getHeure());
|
||||
inputDuree.setMinute(cuisson.getMinute());
|
||||
inputDuree.setCurrentHour(cuisson.getHeure());
|
||||
inputDuree.setCurrentMinute(cuisson.getMinute());
|
||||
inputTemperature.setText(Integer.toString(cuisson.getDegree()));
|
||||
}
|
||||
}
|
||||
@@ -135,23 +135,23 @@ public class AjouterFragment extends Fragment {
|
||||
}
|
||||
|
||||
/**
|
||||
* Action lors du clic sur le boutton Valider
|
||||
* Action lors du clic sur le bouton Valider
|
||||
*
|
||||
* @param view Ecouteur d'évènement
|
||||
* @param view Écouteur d'évènements
|
||||
*/
|
||||
private void actionBtnValider(View view) {
|
||||
|
||||
/* Récupère toutes les valeurs des champs */
|
||||
String txtPlat = inputPlat.getText().toString();
|
||||
String txtTemperature = inputTemperature.getText().toString();
|
||||
int hDuree = inputDuree.getHour();
|
||||
int mDuree = inputDuree.getMinute();
|
||||
int hDuree = inputDuree.getCurrentHour();
|
||||
int mDuree = inputDuree.getCurrentMinute();
|
||||
|
||||
/* Convertis la température en entier */
|
||||
/* Convertit la température en entier */
|
||||
int temperature = txtTemperature.isEmpty() ? -1 : Integer.parseInt(txtTemperature);
|
||||
|
||||
/*
|
||||
* Si le mode edition est activée, edite la cuisson, sinon crée une
|
||||
* Si le mode édition est activé, édite la cuisson, sinon crée une
|
||||
* nouvelle cuisson
|
||||
*/
|
||||
if (activity.modeEdition)
|
||||
@@ -160,7 +160,7 @@ public class AjouterFragment extends Fragment {
|
||||
}
|
||||
|
||||
/**
|
||||
* Edite une cuisson
|
||||
* Édite une cuisson
|
||||
*
|
||||
* @param plat Nouveau nom du plat
|
||||
* @param heure La nouvelle durée en heure de la cuisson
|
||||
@@ -174,7 +174,8 @@ public class AjouterFragment extends Fragment {
|
||||
|
||||
activity.changeFragment(0);
|
||||
} catch (IllegalArgumentException e) {
|
||||
/* Crée un boite de dialogue qui informe que les valeurs sont incorrectes */
|
||||
/* Crée une boite de dialogue qui informe que les valeurs sont
|
||||
incorrectes */
|
||||
new AlertDialog
|
||||
.Builder(getContext())
|
||||
.setTitle(R.string.alert_title_error)
|
||||
@@ -188,7 +189,7 @@ public class AjouterFragment extends Fragment {
|
||||
/**
|
||||
* Methode qui tente de créer une nouvelle Cuisson si elle est valide
|
||||
*
|
||||
* Si la cuisson est valide mais qu'elle existe deja, on demande si l'on
|
||||
* Si la cuisson est valide mais qu'elle existe déjà, on demande si l'on
|
||||
* veut l'éditer et change la valeur suivant le choix de l'utilisateur
|
||||
*
|
||||
* @param plat Le nouveau nom du plat
|
||||
@@ -200,7 +201,7 @@ public class AjouterFragment extends Fragment {
|
||||
try {
|
||||
Cuisson cuisson = new Cuisson(plat, heure, minutes, temperature);
|
||||
|
||||
/* On ajoute la cuisson a la liste des cuisson */
|
||||
/* On ajoute la cuisson à la liste des cuissons */
|
||||
activity.addCuisson(cuisson);
|
||||
|
||||
/* Remet les champs vides */
|
||||
@@ -225,7 +226,7 @@ public class AjouterFragment extends Fragment {
|
||||
} catch (CuissonDejaExistanteException e) {
|
||||
|
||||
/*
|
||||
* La cuisson existe deja, on propose d'éditer le plat qui fait
|
||||
* La cuisson existe déjà, on propose d'éditer le plat qui fait
|
||||
* doublon
|
||||
*/
|
||||
new AlertDialog
|
||||
@@ -258,7 +259,7 @@ public class AjouterFragment extends Fragment {
|
||||
/* Recherche l'indice de l'élément qui fait doublon */
|
||||
for (int j = 0; j < listeCuisson.size(); j++) {
|
||||
|
||||
/* Et modifie sa valeur avant d'arreter la fonction */
|
||||
/* Et modifie sa valeur avant d'arrêter la fonction */
|
||||
if (listeCuisson.get(j).getPlat().equals(plat)) {
|
||||
listeCuisson.get(j).editCuisson(plat,
|
||||
heure, minutes, temperature);
|
||||
@@ -269,7 +270,7 @@ public class AjouterFragment extends Fragment {
|
||||
}
|
||||
|
||||
/**
|
||||
* Action lors du clic sur le boutton Effacer
|
||||
* Action lors du clic sur le bouton Effacer
|
||||
*
|
||||
*
|
||||
* @param view non utilisé
|
||||
@@ -280,12 +281,12 @@ public class AjouterFragment extends Fragment {
|
||||
}
|
||||
|
||||
/**
|
||||
* Remet la valeurs des champs par défaut
|
||||
* Remet les valeurs des champs par défaut
|
||||
*/
|
||||
private void champsDefaut() {
|
||||
inputPlat.setText("");
|
||||
inputDuree.setHour(0);
|
||||
inputDuree.setMinute(40);
|
||||
inputDuree.setCurrentHour(0);
|
||||
inputDuree.setCurrentMinute(40);
|
||||
inputTemperature.setText("");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,8 +9,8 @@ package com.example.outilcuisson;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* Classe qui défini une cuisson
|
||||
* Elements serealizable qui permettra d'être sauvegardé et chargé depuis un
|
||||
* Classe qui définit une cuisson
|
||||
* Éléments serializable qui permettra d'être sauvegardé et chargé depuis un
|
||||
* fichier
|
||||
*
|
||||
* @author THIZY Alexandre
|
||||
@@ -21,8 +21,7 @@ public class Cuisson implements Serializable {
|
||||
|
||||
/**
|
||||
* Valeur de la chaîne qui représente une cuisson si l'une des
|
||||
* caractéristiques
|
||||
* de la cuisson est invalide
|
||||
* caractéristiques de la cuisson est invalide
|
||||
*/
|
||||
private static final String CHAINE_DEFAUT = "Information incohérente";
|
||||
|
||||
@@ -50,18 +49,26 @@ public class Cuisson implements Serializable {
|
||||
* La durée en heure de la cuisson du plat
|
||||
*/
|
||||
private int heure;
|
||||
|
||||
/**
|
||||
* La durée en minute de la cuisson du plat
|
||||
*/
|
||||
private int minute;
|
||||
|
||||
/**
|
||||
* La température en degrés de la cuisson du plat
|
||||
*/
|
||||
private int degree;
|
||||
|
||||
/**
|
||||
* Crée une nouvelle cuisson
|
||||
*
|
||||
* @param plat La nom du plat
|
||||
* @param plat Le nom du plat
|
||||
* @param heure La durée en heure
|
||||
* @param minute La durée en minutes
|
||||
* @param degree La température en degrée
|
||||
* @param degree La température en degrés
|
||||
* @throws IllegalArgumentException Si les valeurs passées en arguments
|
||||
* ne sont pas corrects
|
||||
* ne sont pas correctes
|
||||
*/
|
||||
public Cuisson(String plat, int heure, int minute, int degree) {
|
||||
if (!platValide(plat)
|
||||
@@ -78,10 +85,9 @@ public class Cuisson implements Serializable {
|
||||
|
||||
/**
|
||||
* Détermine si un nom de plat est valide (non vide, au plus 20
|
||||
* caractères et ne
|
||||
* contient pas le caractère '|')
|
||||
* caractères et ne contient pas le caractère '|')
|
||||
*
|
||||
* @param nomPlat chaîne à testesr
|
||||
* @param nomPlat chaîne à tester
|
||||
* @return un booléen égal à vrai ssi la chaîne à tester est valide
|
||||
*/
|
||||
public static boolean platValide(String nomPlat) {
|
||||
@@ -90,12 +96,12 @@ public class Cuisson implements Serializable {
|
||||
}
|
||||
|
||||
/**
|
||||
* Prédicat qui défini si un horaire est valide
|
||||
* Prédicat qui définit si un horaire est valide
|
||||
* Les heures et les minutes doivent être valides et ne doivent pas être
|
||||
* nulles
|
||||
*
|
||||
* @param heure La durée en heure a tester
|
||||
* @param minute La durée en minutes a tester
|
||||
* @param heure La durée en heure à tester
|
||||
* @param minute La durée en minutes à tester
|
||||
* @return true si le prédicat est vérifié, false sinon
|
||||
*/
|
||||
public static boolean horaireValide(int heure, int minute) {
|
||||
@@ -167,7 +173,7 @@ public class Cuisson implements Serializable {
|
||||
}
|
||||
|
||||
/**
|
||||
* Edite la totalité des champs de la cuisson
|
||||
* Édite la totalité des champs de la cuisson
|
||||
*
|
||||
* @param plat Le nouveau nom du plat
|
||||
* @param heure La nouvelle durée en heure de la cuisson
|
||||
@@ -201,7 +207,7 @@ public class Cuisson implements Serializable {
|
||||
}
|
||||
|
||||
/**
|
||||
* Renvoie le thermostat correspondant à la temperature argument
|
||||
* Renvoie le thermostat correspondant à la température argument
|
||||
* (celle-ci doit être inférieure à TEMPERATURE_MAX)
|
||||
*
|
||||
* @return l'entier égal au thermostat ou -1 si la température est invalide
|
||||
@@ -225,8 +231,7 @@ public class Cuisson implements Serializable {
|
||||
* @return une chaîne constituée du caractère espace
|
||||
*/
|
||||
private static String chaineEspace(int nbEspace) {
|
||||
StringBuilder aRenvoyer = new StringBuilder();
|
||||
for (int i = 1; i <= nbEspace; i++) aRenvoyer.append(" ");
|
||||
return aRenvoyer.toString();
|
||||
final char ESPACE = ' ';
|
||||
return new String(new char[nbEspace]).replace('\0', ESPACE);
|
||||
}
|
||||
}
|
||||
@@ -7,8 +7,8 @@
|
||||
package com.example.outilcuisson;
|
||||
|
||||
/**
|
||||
* Exception levé lorsque l'utilisateur décide de créer une nouvelle cuisson
|
||||
* qui à le même nom que l'une des cuissons déja crée dans l'application
|
||||
* Exception levée lorsque l'utilisateur décide de créer une nouvelle cuisson
|
||||
* qui a le même nom que l'une des cuissons déjà créée dans l'application
|
||||
*
|
||||
* @author THIZY Alexandre
|
||||
* @author VABRE Lucàs
|
||||
|
||||
@@ -29,6 +29,8 @@ import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* Activité principale de l'application
|
||||
*
|
||||
* @author THIZY Alexandre
|
||||
* @author VABRE Lucàs
|
||||
* @author VILLENEUVE Noé
|
||||
@@ -51,12 +53,12 @@ public class MainActivity extends AppCompatActivity {
|
||||
private ViewPager2 gestionnairePagination;
|
||||
|
||||
/**
|
||||
* Défini si l'utilisateur est entrain de éditer une cuisson
|
||||
* Définit si l'utilisateur est en train d'éditer une cuisson
|
||||
*/
|
||||
public boolean modeEdition = false;
|
||||
|
||||
/**
|
||||
* La cuisson que l'utilisateur est entrain de éditer
|
||||
* La cuisson que l'utilisateur est en train d'éditer
|
||||
*/
|
||||
public Cuisson cuissonAEditer;
|
||||
|
||||
@@ -94,17 +96,14 @@ public class MainActivity extends AppCompatActivity {
|
||||
}
|
||||
|
||||
/**
|
||||
* Ajoute une cuisson a la liste des cuissons
|
||||
* Ajoute une cuisson dans la liste des cuissons
|
||||
*
|
||||
* @param cuisson Objet cuisson a ajouter dans la liste
|
||||
* @param cuisson Objet cuisson à ajouter dans la liste
|
||||
*/
|
||||
public void addCuisson(Cuisson cuisson) throws CuissonDejaExistanteException {
|
||||
if (estDansCuisson(cuisson)) throw new CuissonDejaExistanteException();
|
||||
|
||||
listeCuisson.add(cuisson);
|
||||
|
||||
/* Test affichage du contennu de la liste des cuisson */
|
||||
System.out.println(Arrays.asList(listeCuisson));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -115,10 +114,10 @@ public class MainActivity extends AppCompatActivity {
|
||||
}
|
||||
|
||||
/**
|
||||
* Vérifie si la cuisson passée en paramètre est déja dans la liste des
|
||||
* Vérifie si la cuisson passée en paramètre est déjà dans la liste des
|
||||
* cuisson
|
||||
*
|
||||
* @param aTester La Cuisson a tester
|
||||
* @param aTester La Cuisson à tester
|
||||
* @return true si la cuisson est présente dans la liste, false sinon
|
||||
*/
|
||||
private boolean estDansCuisson(Cuisson aTester) {
|
||||
@@ -129,9 +128,9 @@ public class MainActivity extends AppCompatActivity {
|
||||
}
|
||||
|
||||
/**
|
||||
* Lance l'edition d'une cuisson en redirigeant l'utilisateur vers le
|
||||
* fragment d'édition, défini le que l'utilisateur est en mode édition et
|
||||
* référence la cuisson a éditer dans la classe activity
|
||||
* Lance l'édition d'une cuisson en redirigeant l'utilisateur vers le
|
||||
* fragment d'édition, définit que l'utilisateur est en mode édition et
|
||||
* référence la cuisson à éditer dans la classe activity
|
||||
*
|
||||
* @param index L'indice de la cuisson à éditer dans la liste des cuissons
|
||||
*/
|
||||
@@ -142,7 +141,7 @@ public class MainActivity extends AppCompatActivity {
|
||||
}
|
||||
|
||||
/**
|
||||
* Charge le fichier de sauvegarde et attribue les cuissons sauvegardée
|
||||
* Charge le fichier de sauvegarde et attribue les cuissons sauvegardées
|
||||
* dans la liste des cuissons
|
||||
*/
|
||||
private void chargerFichier() {
|
||||
@@ -162,7 +161,7 @@ public class MainActivity extends AppCompatActivity {
|
||||
}
|
||||
|
||||
/**
|
||||
* Suvegarde les liste des cuissons dans le fichier de sauvegarde
|
||||
* Suvegarde la liste des cuissons dans le fichier de sauvegarde
|
||||
*/
|
||||
private void sauvegarderFichier() {
|
||||
try {
|
||||
@@ -189,7 +188,7 @@ public class MainActivity extends AppCompatActivity {
|
||||
return super.onCreateOptionsMenu(menu);
|
||||
}
|
||||
|
||||
/* Réalise l'action souhaité en fonction de l'item du menu selectionné */
|
||||
/* Réalise l'action souhaitée en fonction de l'item du menu selectionné */
|
||||
@SuppressLint("NonConstantResourceId")
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
|
||||
@@ -232,7 +231,7 @@ public class MainActivity extends AppCompatActivity {
|
||||
}
|
||||
|
||||
/**
|
||||
* Change le fragment courrant
|
||||
* Change le fragment courant
|
||||
*
|
||||
* @param pos indice du fragment dans le ViewPager2
|
||||
*/
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<!-- Espacement -->
|
||||
<dimen name="categories_margin">5dp</dimen>
|
||||
<dimen name="title_margin_bottom">10dp</dimen>
|
||||
<dimen name="cuissons_padding">5dp</dimen>
|
||||
<dimen name="cuissons_padding">20dp</dimen>
|
||||
|
||||
<!-- Polices -->
|
||||
<dimen name="titre_police">20sp</dimen>
|
||||
<dimen name="categories_police">16sp</dimen>
|
||||
<dimen name="cuissons_police">16sp</dimen>
|
||||
<dimen name="titre_police">35sp</dimen>
|
||||
<dimen name="categories_police">24sp</dimen>
|
||||
<dimen name="cuissons_police">24sp</dimen>
|
||||
</resources>
|
||||
@@ -6,13 +6,13 @@
|
||||
<style name="tablayout_style" parent="clickable_element_style">
|
||||
<item name="tabTextColor">@color/text_color</item>
|
||||
<item name="tabIndicatorColor">@color/text_color</item>
|
||||
<item name="tabMaxWidth">0dp</item>
|
||||
<item name="tabGravity">fill</item>
|
||||
<item name="tabMode">fixed</item>
|
||||
</style>
|
||||
<style name="button_ok_style" parent="clickable_element_style">
|
||||
<item name="android:textColor">@color/white</item>
|
||||
</style>
|
||||
<style name="button_cancel_style" parent="clickable_element_style">
|
||||
<item name="buttonBarNegativeButtonStyle">?attr/buttonBarButtonStyle</item>
|
||||
</style>
|
||||
|
||||
<style name="textview_style">
|
||||
<item name="android:textColor">@color/text_color</item>
|
||||
|
||||
Reference in New Issue
Block a user