From 5e8590fc884412cc257069119450b6a9bbaa6068 Mon Sep 17 00:00:00 2001
From: "enzo.lamour.etu" <enzo.lamour.etu@univ-lille.fr>
Date: Wed, 12 Mar 2025 18:30:01 +0100
Subject: [PATCH] Q4

---
 .../fr/iutlille/ctp_2025/MainActivity.java    | 44 ++++++++----
 .../iutlille/ctp_2025/OperationAdapter.java   | 69 -------------------
 2 files changed, 31 insertions(+), 82 deletions(-)
 delete mode 100644 app/src/main/java/fr/iutlille/ctp_2025/OperationAdapter.java

diff --git a/app/src/main/java/fr/iutlille/ctp_2025/MainActivity.java b/app/src/main/java/fr/iutlille/ctp_2025/MainActivity.java
index 90ca6ff..efafa4d 100644
--- a/app/src/main/java/fr/iutlille/ctp_2025/MainActivity.java
+++ b/app/src/main/java/fr/iutlille/ctp_2025/MainActivity.java
@@ -6,28 +6,31 @@ import androidx.recyclerview.widget.DividerItemDecoration;
 import androidx.recyclerview.widget.LinearLayoutManager;
 import androidx.recyclerview.widget.RecyclerView;
 
-import android.annotation.SuppressLint;
-import android.content.Intent;
 import android.os.Bundle;
-import android.util.Log;
-import android.view.ContextMenu;
 import android.view.LayoutInflater;
-import android.view.Menu;
-import android.view.MenuItem;
 import android.view.View;
 import android.view.ViewGroup;
+import android.widget.EditText;
 import android.widget.TextView;
-import android.widget.Toast;
+import android.widget.Button;
 
+import java.util.ArrayList;
 import java.util.List;
 
 import fr.iutlille.ctp_2025.databinding.ActivityMainBinding;
-import fr.iutlille.tp4.OperationAdapter;
 
 public class MainActivity extends AppCompatActivity {
 
     public class ParticipantAdapter extends RecyclerView.Adapter<ParticipantViewHolder> {
 
+        private List<Participant> participantsList;
+
+        ParticipantAdapter(){}
+
+        public ParticipantAdapter(List<Participant> participants) {
+            this.participantsList = participants;
+        }
+
         @NonNull
         @Override
         public ParticipantViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
@@ -41,11 +44,12 @@ public class MainActivity extends AppCompatActivity {
             Participant participant = model.getParticipant(position);
             holder.text1.setText(participant.getName());
             holder.text2.setText(participant.getName());
+
         }
 
         @Override
         public int getItemCount() {
-            return 0;
+            return model.getNbParticipants();
         }
     }
     public class ParticipantViewHolder extends RecyclerView.ViewHolder {
@@ -77,14 +81,28 @@ public class MainActivity extends AppCompatActivity {
         ui.SumRestauration.setText(model.getSumOperations("RESTAURATION") +"");
         ui.SumLoisirs.setText(model.getSumOperations("LOISIRS") +"");
         ui.SumTransport.setText(model.getSumOperations("TRANSPORT") +"");
+        List<Participant> participantsList= new ArrayList<>();
+        for(int i = 0; i < model.getNbParticipants(); i++){
+            participantsList.add(model.getParticipant(i));
+        }
+        ui.ParticipantList.setAdapter(new ParticipantAdapter(participantsList));
+        Button btnParticipant =findViewById(R.id.add_participant);
+        btnParticipant.setOnClickListener(new View.OnClickListener(){
+            @Override
+            public void onClick(View v){
+                EditText et = findViewById(R.id.new_participant);
+                try {
+                    model.addParticipant(et.getText().toString());
+                } catch (ModelApplication.ApplicationErrorException e) {
+                    throw new RuntimeException(e);
+                }
+            }
+        });
         refresh();
     }
+
     private void refresh() {
         model.computeBalance();
         ui.ParticipantList.getAdapter().notifyDataSetChanged();
     }
-
-    public int getItemCount() {
-        return model.getNbParticipants();
-    }
 }
\ No newline at end of file
diff --git a/app/src/main/java/fr/iutlille/ctp_2025/OperationAdapter.java b/app/src/main/java/fr/iutlille/ctp_2025/OperationAdapter.java
deleted file mode 100644
index e20a39c..0000000
--- a/app/src/main/java/fr/iutlille/ctp_2025/OperationAdapter.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package fr.iutlille.tp4;
-
-import android.annotation.SuppressLint;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.TextView;
-
-import androidx.annotation.NonNull;
-import androidx.recyclerview.widget.RecyclerView;
-
-import java.util.List;
-
-import fr.iutlille.ctp_2025.ModelApplication;
-import fr.iutlille.ctp_2025.Operation;
-import fr.iutlille.ctp_2025.R;
-
-public class OperationAdapter extends RecyclerView.Adapter<OperationAdapter.OperationHolder> {
-
-    private List<Operation> operationsList;
-    private ModelApplication md = new ModelApplication();
-
-    public OperationAdapter(List<Operation> operationsList) {
-        this.operationsList = operationsList;
-    }
-
-    @NonNull
-    @Override
-    public OperationHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
-        View itemView = LayoutInflater.from(parent.getContext())
-                .inflate(R.layout.activity_main, parent, false);
-        return new OperationHolder(itemView);
-    }
-
-    @SuppressLint("SetTextI18n")
-    @Override
-    public void onBindViewHolder(@NonNull OperationHolder holder, int position) {
-        Operation op = operationsList.get(position);
-        holder.SumTransport.setText(md.getSumOperations("Transport") +"");
-        holder.SumHebergement.setText(md.getSumOperations("Hebergement") +"");
-        holder.SumRestauration.setText(md.getSumOperations("Restauration") +"");
-        holder.SumLoisirs.setText(md.getSumOperations("Loisirs") +"");
-        holder.SumAutres.setText(md.getSumOperations("Autres") +"");
-    }
-
-    @Override
-    public int getItemCount() {
-        return operationsList.size();
-    }
-
-    // ViewHolder qui contient les vues pour chaque item
-    public class OperationHolder extends RecyclerView.ViewHolder {
-        public TextView SumTransport;
-        public TextView SumHebergement;
-        public TextView SumRestauration;
-        public TextView SumLoisirs;
-        public TextView SumAutres;
-
-        public OperationHolder(View view) {
-            super(view);
-            SumTransport = view.findViewById(R.id.SumTransport);
-            SumHebergement = view.findViewById(R.id.SumHebergement);
-            SumRestauration = view.findViewById(R.id.SumRestauration);
-            SumLoisirs = view.findViewById(R.id.SumLoisirs);
-            SumAutres = view.findViewById(R.id.SumAutres);
-        }
-    }
-}
-
-- 
GitLab