From cc0918ba177cfff4d1a293b6dc6ad2d7905973ea Mon Sep 17 00:00:00 2001
From: s22thong <sylvain.thong@gmail.com>
Date: Tue, 11 Mar 2025 14:04:53 +0100
Subject: [PATCH] ft(UI): Display User infos Fragment

---
 .../DisplayUserFragment.java                  |  92 ++++++++++
 .../main/res/layout/fragment_display_user.xml | 170 ++++++++++++++++++
 2 files changed, 262 insertions(+)
 create mode 100644 app/src/main/java/fr/imt_atlantique/myfirstapplication/DisplayUserFragment.java
 create mode 100644 app/src/main/res/layout/fragment_display_user.xml

diff --git a/app/src/main/java/fr/imt_atlantique/myfirstapplication/DisplayUserFragment.java b/app/src/main/java/fr/imt_atlantique/myfirstapplication/DisplayUserFragment.java
new file mode 100644
index 0000000..9396dd8
--- /dev/null
+++ b/app/src/main/java/fr/imt_atlantique/myfirstapplication/DisplayUserFragment.java
@@ -0,0 +1,92 @@
+package fr.imt_atlantique.myfirstapplication;
+
+import android.os.Bundle;
+
+import androidx.fragment.app.Fragment;
+
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import java.util.ArrayList;
+
+public class DisplayUserFragment extends Fragment {
+
+    private static final String ARG_FIRST_NAME = "paramFirstName";
+    private static final String ARG_LAST_NAME = "paramLastName";
+    private static final String ARG_BIRTH_CITY = "paramBirthCity";
+    private static final String ARG_BIRTH_DEPT = "paramBirthDept";
+    private static final String ARG_BIRTH_DATE = "paramBirthDate";
+    private static final String ARG_PHONE_NUMBERS_LIST = "paramPhoneNumbersList";
+
+    // TODO: Rename and change types of parameters
+    private String mFirstName;
+    private String mLastName;
+    private String mBirthCity;
+    private String mBirthDept;
+    private String mBirthDate;
+    private ArrayList<String> mPhoneNumbersList;
+
+    public DisplayUserFragment() {
+        // Required empty public constructor
+    }
+
+    public static DisplayUserFragment newInstance(String firstName, String lastName, String birthCity, String birthDept, String birthDate, ArrayList<String> phoneNumbersList) {
+        DisplayUserFragment fragment = new DisplayUserFragment();
+        Bundle args = new Bundle();
+        args.putString(ARG_FIRST_NAME, firstName);
+        args.putString(ARG_LAST_NAME, lastName);
+        args.putString(ARG_BIRTH_CITY, birthCity);
+        args.putString(ARG_BIRTH_DEPT, birthDept);
+        args.putString(ARG_BIRTH_DATE, birthDate);
+        args.putStringArrayList(ARG_PHONE_NUMBERS_LIST, phoneNumbersList);
+        fragment.setArguments(args);
+        return fragment;
+    }
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        if (getArguments() != null) {
+            mFirstName = getArguments().getString(ARG_FIRST_NAME);
+            mLastName = getArguments().getString(ARG_LAST_NAME);
+            mBirthCity = getArguments().getString(ARG_BIRTH_CITY);
+            mBirthDept = getArguments().getString(ARG_BIRTH_DEPT);
+            mBirthDate = getArguments().getString(ARG_BIRTH_DATE);
+            mPhoneNumbersList = getArguments().getStringArrayList(ARG_PHONE_NUMBERS_LIST);
+        }
+    }
+
+    @Override
+    public View onCreateView(LayoutInflater inflater, ViewGroup container,
+                             Bundle savedInstanceState) {
+        // Inflate the layout for this fragment
+        View view = inflater.inflate(R.layout.fragment_display_user, container, false);
+
+        TextView textViewFirstName = view.findViewById(R.id.displayFirstNameTextView);
+        TextView textViewLastName = view.findViewById(R.id.displayLastNameTextView);
+        TextView textViewBirthCity = view.findViewById(R.id.displayBirthCityTextView);
+        TextView textViewBirthDept = view.findViewById(R.id.displayBirthDeptTextView);
+        TextView textViewBirthDate = view.findViewById(R.id.displayBirthDateTextView);
+        LinearLayout phonesLinearLayout = view.findViewById(R.id.displayPhonesLayout);
+
+        textViewFirstName.setText(mFirstName);
+        textViewLastName.setText(mLastName);
+        textViewBirthCity.setText(mBirthCity);
+        textViewBirthDept.setText(mBirthDept);
+        textViewBirthDate.setText(mBirthDate);
+
+        for (String phoneNumber : mPhoneNumbersList) {
+            View phoneView = inflater.inflate(R.layout.phone_number_print, phonesLinearLayout, false);
+
+            TextView phoneEditText = phoneView.findViewById(R.id.secondPhoneNumberTextView);
+            phoneEditText.setText(phoneNumber);
+
+            phonesLinearLayout.addView(phoneView);
+        }
+
+        return view;
+    }
+}
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_display_user.xml b/app/src/main/res/layout/fragment_display_user.xml
new file mode 100644
index 0000000..41af476
--- /dev/null
+++ b/app/src/main/res/layout/fragment_display_user.xml
@@ -0,0 +1,170 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    tools:context=".DisplayUserFragment">
+
+    <ScrollView
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
+
+        <LinearLayout
+            android:id="@+id/mainContent"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:orientation="vertical">
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="horizontal"
+                android:padding="16dp">
+
+                <TextView
+                    android:id="@+id/displayFirstNameTextViewLabel"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:text="@string/first_name_label" />
+
+                <TextView
+                    android:id="@+id/displayFirstNameTextView"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="2"
+                    android:autofillHints=""
+                    android:background="@drawable/rounded_edittext"
+                    android:ems="10"
+                    android:gravity="center"
+                    android:hint="@string/first_name_placeholder"
+                    android:inputType="text"
+                    android:minHeight="48dp"
+                    android:text="@string/first_name_label" />
+            </LinearLayout>
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="horizontal"
+                android:padding="16dp">
+
+                <TextView
+                    android:id="@+id/displayLastNameTextViewLabel"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:text="@string/last_name_label" />
+
+                <TextView
+                    android:id="@+id/displayLastNameTextView"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="2"
+                    android:autofillHints=""
+                    android:background="@drawable/rounded_edittext"
+                    android:ems="10"
+                    android:gravity="center"
+                    android:hint="@string/last_name_placeholder"
+                    android:minHeight="48dp"
+                    android:text="@string/last_name_label" />
+            </LinearLayout>
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="horizontal"
+                android:padding="16dp">
+
+                <TextView
+                    android:id="@+id/displayBirthDateTextViewLabel"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:text="@string/birth_date_label" />
+
+                <TextView
+                    android:id="@+id/displayBirthDateTextView"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="2"
+                    android:autofillHints=""
+                    android:background="@drawable/rounded_edittext"
+                    android:ems="10"
+                    android:gravity="center"
+                    android:minHeight="48dp" />
+
+            </LinearLayout>
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="horizontal"
+                android:padding="16dp">
+
+                <TextView
+                    android:id="@+id/displayBirthDeptTextViewLabel"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:text="@string/birth_dept_label" />
+
+                <TextView
+                    android:id="@+id/displayBirthDeptTextView"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="2"
+                    android:autofillHints=""
+                    android:background="@drawable/rounded_edittext"
+                    android:ems="10"
+                    android:gravity="center"
+                    android:entries="@array/departments"
+                    android:minHeight="48dp"/>
+
+            </LinearLayout>
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="horizontal"
+                android:padding="16dp">
+
+                <TextView
+                    android:id="@+id/displayBirthCityTextViewLabel"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:text="@string/birth_city_label" />
+
+                <TextView
+                    android:id="@+id/displayBirthCityTextView"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="2"
+                    android:autofillHints=""
+                    android:background="@drawable/rounded_edittext"
+                    android:ems="10"
+                    android:gravity="center"
+                    android:hint="@string/birth_city_placeholder"
+                    android:minHeight="48dp"
+                    android:text="@string/birth_city_placeholder" />
+            </LinearLayout>
+
+            <LinearLayout
+                android:id="@+id/displayPhonesLayout"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="vertical"
+                android:padding="16dp">
+
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:orientation="horizontal"
+                    android:padding="16dp">
+                </LinearLayout>
+            </LinearLayout>
+        </LinearLayout>
+    </ScrollView>
+
+</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
-- 
GitLab