From 401a7860ad7f437e8be92f39cb36ed823506ca12 Mon Sep 17 00:00:00 2001
From: "enzo.lamour.etu" <enzo.lamour.etu@univ-lille.fr>
Date: Wed, 12 Mar 2025 17:49:07 +0100
Subject: [PATCH] exo1 et exo2

---
 .../fr/iutlille/ctp_2025/MainActivity.java    | 18 ++++-
 .../iutlille/ctp_2025/OperationAdapter.java   | 69 +++++++++++++++++++
 local.properties                              |  8 +++
 3 files changed, 94 insertions(+), 1 deletion(-)
 create mode 100644 app/src/main/java/fr/iutlille/ctp_2025/OperationAdapter.java
 create mode 100644 local.properties

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 d8f4b10..90ca6ff 100644
--- a/app/src/main/java/fr/iutlille/ctp_2025/MainActivity.java
+++ b/app/src/main/java/fr/iutlille/ctp_2025/MainActivity.java
@@ -6,6 +6,7 @@ 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;
@@ -18,7 +19,10 @@ import android.view.ViewGroup;
 import android.widget.TextView;
 import android.widget.Toast;
 
+import java.util.List;
+
 import fr.iutlille.ctp_2025.databinding.ActivityMainBinding;
+import fr.iutlille.tp4.OperationAdapter;
 
 public class MainActivity extends AppCompatActivity {
 
@@ -35,6 +39,8 @@ public class MainActivity extends AppCompatActivity {
         @Override
         public void onBindViewHolder(@NonNull ParticipantViewHolder holder, int position) {
             Participant participant = model.getParticipant(position);
+            holder.text1.setText(participant.getName());
+            holder.text2.setText(participant.getName());
         }
 
         @Override
@@ -48,8 +54,9 @@ public class MainActivity extends AppCompatActivity {
         TextView text2;
         public ParticipantViewHolder(View itemView) {
             super(itemView);
+            text1 = itemView.findViewById(android.R.id.text1);
+            text2 = itemView.findViewById(android.R.id.text2);
         }
-
     }
     private ActivityMainBinding ui;
     private ModelApplication model;
@@ -65,10 +72,19 @@ public class MainActivity extends AppCompatActivity {
         RecyclerView.LayoutManager lm = new LinearLayoutManager(this, RecyclerView.VERTICAL, false);
         ui.ParticipantList.setLayoutManager(lm);
         ui.ParticipantList.addItemDecoration(new DividerItemDecoration(this, DividerItemDecoration.VERTICAL));
+        ui.SumAutres.setText(model.getSumOperations("AUTRES") +"");
+        ui.SumHebergement.setText(model.getSumOperations("HEBERGEMENT")+ "");
+        ui.SumRestauration.setText(model.getSumOperations("RESTAURATION") +"");
+        ui.SumLoisirs.setText(model.getSumOperations("LOISIRS") +"");
+        ui.SumTransport.setText(model.getSumOperations("TRANSPORT") +"");
         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
new file mode 100644
index 0000000..e20a39c
--- /dev/null
+++ b/app/src/main/java/fr/iutlille/ctp_2025/OperationAdapter.java
@@ -0,0 +1,69 @@
+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);
+        }
+    }
+}
+
diff --git a/local.properties b/local.properties
new file mode 100644
index 0000000..9868fb2
--- /dev/null
+++ b/local.properties
@@ -0,0 +1,8 @@
+## This file must *NOT* be checked into Version Control Systems,
+# as it contains information specific to your local configuration.
+#
+# Location of the SDK. This is only used by Gradle.
+# For customization when using a Version Control System, please read the
+# header note.
+#Wed Mar 12 16:34:31 CET 2025
+sdk.dir=/usr/local/virtual_machine/infoetu/android/enzo.lamour.etu/Sdk
-- 
GitLab