Skip to content
Snippets Groups Projects
Commit 3d25618c authored by MAUGEZ Emeline's avatar MAUGEZ Emeline
Browse files

Recettes refait proprement avec des cocktailItem

parent 3d0dcd53
Branches
No related tags found
No related merge requests found
......@@ -66,7 +66,7 @@ public class ListCocktailsActivity extends AppCompatActivity implements
// On remplit la liste des cocktails
cocktailsListView.fillListView(recettes.ids, recettes.cocktailsNames, recettes.cocktailsImages, recettes.cocktailsIngredients, spin, cbFavorite);
cocktailsListView.fillListView(recettes, spin, cbFavorite);
// Pour la partie recherche de cocktails:
......
......@@ -13,6 +13,7 @@ import androidx.annotation.NonNull;
import com.example.robotise.model.CocktailItem;
import com.example.robotise.model.IngredientItem;
import com.example.robotise.control.PopUpCocktail;
import com.example.robotise.model.Recettes;
import java.util.ArrayList;
......@@ -53,27 +54,25 @@ public class CocktailsListView extends GridView {
/**
* Permet de remplir la liste des cocktail à partir de chacun de leur nom, image, description,
* et ingrédients
* @param names
* @param images
* @param ingredients
* @param recettes
* @param spin
* @param cbFavorite
*/
public void fillListView(@NonNull ArrayList<Integer> ids, ArrayList<String> names, ArrayList<Integer> images, ArrayList<ArrayList<IngredientItem>> ingredients, Spinner spin, CheckBox cbFavorite){
public void fillListView(@NonNull Recettes recettes, Spinner spin, CheckBox cbFavorite){
// Un tableau avec tout les cocktails
ArrayList<CocktailItem> arrayList=new ArrayList<>();
for (int i=0;i<names.size();i++)
for (CocktailItem cocktailItem: recettes.cocktailsItems)
{
// On créé une page avec la description, l'image, le nom et les ingrédients du cocktail
Intent intent = new Intent(getContext(), PopUpCocktail.class);
intent.putExtra("ressource", images.get(i));
intent.putExtra("nom", names.get(i));
intent.putExtra("id", ids.get(i));
intent.putExtra("ingredients", ingredients.get(i));
cocktailItem.activity = intent;
intent.putExtra("ressource", cocktailItem.image);
intent.putExtra("nom", cocktailItem.name);
intent.putExtra("id", cocktailItem.id);
intent.putExtra("ingredients", cocktailItem.ingredients);
// On créé un item cocktail avec son nom, son image, sa page de description et ses ingrédients
CocktailItem c = new CocktailItem(ids.get(i),names.get(i), images.get(i), intent, ingredients.get(i));
arrayList.add(c);//On ajoute le cocktail à la liste des cocktails
arrayList.add(cocktailItem);//On ajoute le cocktail à la liste des cocktails
}
// On créé l'adapter spécifique pour les cocktails
......
......@@ -12,10 +12,7 @@ import java.util.Arrays;
public class Recettes {
private static Recettes instance;
public ArrayList<Integer> ids;
public ArrayList<String> cocktailsNames;
public ArrayList<Integer> cocktailsImages;
public ArrayList<ArrayList<IngredientItem>> cocktailsIngredients;
public ArrayList<CocktailItem> cocktailsItems;
ArrayList<Integer> cocktailDefaultImages = new ArrayList<>(Arrays.asList(R.mipmap.cocktails_icone, R.mipmap.blue_lagoon_icone, R.mipmap.red_cocktails_icone));
......@@ -25,6 +22,7 @@ public class Recettes {
*/
public Recettes(){
instance = this;
cocktailsItems = new ArrayList<>();
ArrayList<IngredientItem> blueLagoonIngredients = new ArrayList<IngredientItem>();
ArrayList<IngredientItem> sotbIngredients = new ArrayList<IngredientItem>();
blueLagoonIngredients.add(new IngredientItem("Vodka", 8,0));
......@@ -35,16 +33,20 @@ public class Recettes {
sotbIngredients.add(new IngredientItem("Ananas", 6,3));
sotbIngredients.add(new IngredientItem("Cramberry", 10,4));
ids = new ArrayList<>(Arrays.asList(0, 1, 1, 1, 1));
cocktailsNames = new ArrayList<>(Arrays.asList("SOTB", "BLUELAGOON", "BLUELAGOON", "BLUELAGOON", "BLUELAGOON"));
cocktailsImages = new ArrayList<>(Arrays.asList(R.mipmap.cocktails_icone, R.mipmap.blue_lagoon_icone, R.mipmap.blue_lagoon_icone, R.mipmap.blue_lagoon_icone, R.mipmap.blue_lagoon_icone));
cocktailsIngredients = new ArrayList<ArrayList<IngredientItem>>();
cocktailsIngredients.add(sotbIngredients);
for (int i=0; i<4; i++){
cocktailsIngredients.add(blueLagoonIngredients);
CocktailItem sotbCocktail = new CocktailItem(0, "SOTB", R.mipmap.cocktails_icone, null, sotbIngredients);
CocktailItem blueLagoonCocktail = new CocktailItem(1, "BLUELAGOON", R.mipmap.blue_lagoon_icone, null, blueLagoonIngredients);
cocktailsItems.add(sotbCocktail);
cocktailsItems.add(blueLagoonCocktail);
}
public CocktailItem getCocktailWithId(int id){
for (CocktailItem ci: cocktailsItems){
if (ci.id == id){
return ci;
}
}
System.out.println("nombre de liste d'ingredients =");
System.out.println(cocktailsIngredients.size());
return null;
}
/**
......@@ -55,26 +57,21 @@ public class Recettes {
//"0,SOTB,0,vodka, quantity/"
Log.d("Recette", "debut maj");
String[] listeCocktails = msg.split("/");
ids = new ArrayList<>();
cocktailsNames = new ArrayList<>();
cocktailsImages = new ArrayList<>();
cocktailsIngredients = new ArrayList<>();
cocktailsItems = new ArrayList<>();
for (String listeCocktail : listeCocktails) {
String[] infoCocktail = listeCocktail.split(",");
int id_cocktail = Integer.parseInt(infoCocktail[0]);
if (ids.contains(id_cocktail)) {
CocktailItem cocktailItem = getCocktailWithId(id_cocktail);
if (cocktailItem!=null) {
//id, nomcocktail, nm ingredient , quantité
int idx = ids.indexOf(id_cocktail);
IngredientItem ii = new IngredientItem(infoCocktail[3], Integer.parseInt(infoCocktail[4]), Integer.parseInt(infoCocktail[2]));
cocktailsIngredients.get(idx).add(ii);
cocktailItem.ingredients.add(ii);
} else {
ids.add(Integer.parseInt(infoCocktail[0]));
cocktailsNames.add(infoCocktail[1]);
ArrayList<IngredientItem> cocktailIngredient = new ArrayList<IngredientItem>();
cocktailIngredient.add(new IngredientItem(infoCocktail[3], Integer.parseInt(infoCocktail[4]), Integer.parseInt(infoCocktail[2])));
cocktailsIngredients.add(cocktailIngredient);
int index_random = (int) (Math.random()*cocktailDefaultImages.size());
cocktailsImages.add(cocktailDefaultImages.get(index_random));
cocktailItem = new CocktailItem(id_cocktail, infoCocktail[1],cocktailDefaultImages.get(index_random), null, cocktailIngredient);
cocktailsItems.add(cocktailItem);
}
}
......@@ -100,7 +97,6 @@ public class Recettes {
public void sendOrder(int id, ArrayList<IngredientItem> ings){
//id_recettes, id_ing, quantity
String msg = "";
int idx = ids.indexOf(id);
for (IngredientItem ing: ings){
msg+=""+id+","+ing.id+","+ing.quantity+"/";
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment