Files
OutilCuisson/app/src/main/java/com/example/outilcuisson/AjouterFragment.java
T

100 lines
3.1 KiB
Java

/*
* AjouterFragment.java, 21/02/2022
* IUT Rodez 2022-2022, INFO2
* pas de copyright, aucun droits
*/
package com.example.outilcuisson;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TimePicker;
import androidx.fragment.app.Fragment;
import com.example.outilcuisson.OutilCuisson;
import com.example.outilcuisson.Cuisson;
public class AjouterFragment extends Fragment {
EditText inputPlat;
TimePicker inputDuree;
EditText inputTemperature;
Button btnEffacer;
Button btnValider;
public AjouterFragment() {
}
public static AjouterFragment newInstance() {
return new AjouterFragment();
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.ajouter_fragment, container, false);
/* Liste des éléments intéractifs */
inputPlat = view.findViewById(R.id.input_plat);
inputDuree = view.findViewById(R.id.input_duree);
inputTemperature = view.findViewById(R.id.input_temperature);
btnEffacer = view.findViewById(R.id.btn_effacer);
btnValider = view.findViewById(R.id.btn_valider);
/* Initialise le TimePicker en format 24h avec par défaut la valeur 0h40 */
inputDuree.setIs24HourView(true);
inputDuree.setHour(0);
inputDuree.setMinute(40);
/*
* Action de création de la nouvelle cuisson
*/
btnValider.setOnClickListener(view1 -> {
/* 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();
/* Convertis la température en entier */
int temperature = txtTemperature.isEmpty() ? -1 : Integer.parseInt(txtTemperature);
/* Cas ou les valeurs ne sont pas valides */
if (!OutilCuisson.platValide(txtPlat)
|| !OutilCuisson.heureCuissonValide(hDuree)
|| !OutilCuisson.minuteCuissonValide(mDuree)
|| !OutilCuisson.temperatureValide(temperature)) {
System.out.println("Erreur");
}
/* Cas ou les valeurs sont valides : on ajoute une nouvelle cuisson dans la liste a afficher */
AfficherFragment.addCuisson(new Cuisson(txtPlat, hDuree, mDuree, temperature));
});
/*
* Efface le contenu des champs de textes et met le TimePicker à 0h40
*/
btnEffacer.setOnClickListener(view2 -> {
inputPlat.setText("");
inputDuree.setHour(0);
inputDuree.setMinute(40);
inputTemperature.setText("");
});
return view;
}
}