Skip to content
Extraits de code Groupes Projets

Comparer les révisions

Les modifications sont affichées comme si la révision source était fusionnée avec la révision cible. En savoir plus sur la comparaison des révisions.

Source

Sélectionner le projet cible
No results found

Cible

Sélectionner le projet cible
  • schamrotha/LEPL1509-Projet
1 résultat
Afficher les modifications
Validations sur la source (9)
Affichage de
avec 347 ajouts et 270 suppressions
......@@ -3,6 +3,7 @@ package be.lepl1509group13.workoutwarrior;
import androidx.appcompat.app.AppCompatActivity;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.os.Bundle;
import android.text.Editable;
import android.util.Log;
......@@ -27,6 +28,7 @@ import com.google.firebase.database.ValueEventListener;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
public class AccountActivity extends AppCompatActivity {
......@@ -46,10 +48,16 @@ public class AccountActivity extends AppCompatActivity {
FirebaseUser currentUser = mAuth.getCurrentUser();
if(currentUser != null){
//get which button is clicked in the navigation
Intent intent = this.getIntent();
String item = intent.getStringExtra("item");
if(Objects.equals(item, "Mon compte")){
//todo
} else if (Objects.equals(item, "Mes amis")) {
//todo
}
setContentView(R.layout.activity_account);
//Log.d("LOGIN", "onStart: LOGED");
db = firebaseDb.getReference("Account_pseudo");
getPseudo(currentUser);
}else{
......
package be.lepl1509group13.workoutwarrior;
import static android.content.ContentValues.TAG;
import android.content.Context;
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AlertDialog;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.Query;
import com.google.firebase.database.ValueEventListener;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Objects;
import java.util.Iterator;
import java.util.Map;
public class ListExercicesAdapter extends ArrayAdapter<String> {
......@@ -34,7 +20,7 @@ public class ListExercicesAdapter extends ArrayAdapter<String> {
private ArrayList<String> values;
public ListExercicesAdapter(Context context, ArrayList<String> values) {
super(context, R.layout.exercice, values);
super(context, R.layout.exercises_list_row, values);
this.context = context;
this.values = values;
}
......@@ -42,30 +28,50 @@ public class ListExercicesAdapter extends ArrayAdapter<String> {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View rowView = inflater.inflate(R.layout.exercice, parent, false);
View rowView = inflater.inflate(R.layout.exercises_list_row, parent, false);
ImageView delete_button = rowView.findViewById(R.id.delete_button);
ImageView edit_button = rowView.findViewById(R.id.edit_button);
TextView exercice_name = rowView.findViewById(R.id.exercice_name);
TextView exercise_name = rowView.findViewById(R.id.exercise_name);
TextView training_daysView = rowView.findViewById(R.id.training_days);
// Récupérez l'image et le texte pour chaque élément de la liste en fonction de la position
// Récupérer l'image et le texte pour chaque élément de la liste en fonction de la position
if (this.values.size() > 0) {
ProgramCreationActivity activity = (ProgramCreationActivity) context;
System.out.println("values : " + values);
String exercise = values.get(position);
String training_days = "";
Drawable delete_cross = context.getResources().getDrawable(R.drawable.cross_mark);
Drawable pen = context.getResources().getDrawable(R.drawable.edit);
// Afficher l'image et le texte dans les vues correspondantes
// Get training days for this exercise
for (Map.Entry<Exercise, ArrayList<String>> set : activity.program.entrySet()) {
System.out.println(set.getKey().name);
if (set.getKey().name == exercise) {
training_days = "";
for (String day : set.getValue()) {
training_days += getShortDayName(day) + ", ";
}
}
}
training_days = training_days.substring(0, training_days.length() - 2);
System.out.println("training days : " + training_days);
// Display texts and images in Views
delete_button.setImageDrawable(delete_cross);
edit_button.setImageDrawable(pen);
exercice_name.setText(exercise);
ProgramCreationActivity activity = (ProgramCreationActivity) context;
exercise_name.setText(exercise);
training_daysView.setText(training_days);
// Ecouteur de clics pour chaque élément de la ListView
edit_button.setOnClickListener(view -> {
System.out.println("details : " + activity.exoDetailsForEachDay);
/*
System.out.println("details : " + activity.program);
AlertDialog.Builder builder = new AlertDialog.Builder(view.getContext());
View dialogView = inflater.inflate(R.layout.edit_workout, null);
builder.setView(dialogView);
......@@ -119,6 +125,8 @@ public class ListExercicesAdapter extends ArrayAdapter<String> {
System.out.println("details : " + activity.exoDetailsForEachDay);
Toast.makeText(context, "Modifications sauvegardées", Toast.LENGTH_SHORT).show();
dialog.dismiss();
});
ImageView closeButton = dialogView.findViewById(R.id.close_btn);
......@@ -126,6 +134,8 @@ public class ListExercicesAdapter extends ArrayAdapter<String> {
// Fermer la pop-up
dialog.dismiss();
});
*/
});
// Ajouter un OnClickListener à l'image
......@@ -133,13 +143,23 @@ public class ListExercicesAdapter extends ArrayAdapter<String> {
// Code à exécuter lors du clic
Toast.makeText(context, exercise + " supprimé", Toast.LENGTH_SHORT).show();
activity.exoDetailsForEachDay.get(activity.current_day_displayed).remove(position);
Iterator<Map.Entry<Exercise, ArrayList<String>>> iterator = activity.program.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<Exercise, ArrayList<String>> entry = iterator.next();
Exercise key = entry.getKey();
if (key.name.equals(exercise)) {
iterator.remove();
}
}
ArrayList<String> exosDisplay = new ArrayList<>();
for (Exercise exo : activity.exoDetailsForEachDay.get(activity.current_day_displayed)) {
exosDisplay.add(exo.name);
ArrayList<String> updatedExercicesList = new ArrayList<>();
for (Map.Entry<Exercise, ArrayList<String>> set : activity.program.entrySet()) {
updatedExercicesList.add(set.getKey().name);
}
updateValues(exosDisplay);
updateValues(updatedExercicesList);
notifyDataSetChanged();
});
}
......@@ -158,6 +178,17 @@ public class ListExercicesAdapter extends ArrayAdapter<String> {
}
String getShortDayName(String day) {
if (day == "lundi") return "LU";
if (day == "mardi") return "MA";
if (day == "mercredi") return "ME";
if (day == "jeudi") return "JE";
if (day == "vendredi") return "VE";
if (day == "samedi") return "SA";
if (day == "dimanche") return "DI";
else throw new IllegalArgumentException();
}
}
......
......@@ -4,16 +4,24 @@ import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.view.GravityCompat;
import androidx.drawerlayout.widget.DrawerLayout;
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.LayoutInflater;
import android.view.View;
import android.widget.ImageButton;
import android.widget.TextView;
import android.widget.Toast;
import com.google.android.material.navigation.NavigationView;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
......@@ -40,6 +48,7 @@ public class MainActivity extends AppCompatActivity implements MainAdapter.OnIte
private Integer numberOfProgramsToDisplay = 0, totalNumberOfCustomPrograms = 0;
private boolean needsRefresh = false;
@SuppressLint({"SetTextI18n"})
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
......@@ -52,8 +61,36 @@ public class MainActivity extends AppCompatActivity implements MainAdapter.OnIte
TextView open_program_creation_btn = findViewById(R.id.program_creation_button);
open_program_creation_btn.setOnClickListener(this::open_program_creation);
ImageButton open_account = findViewById(R.id.account);
open_account.setOnClickListener(this::open_account);
ImageButton open_nav = findViewById(R.id.account);
DrawerLayout drawerLayout = findViewById(R.id.drawer_layout);
NavigationView navigationView = findViewById(R.id.navigation_view);
//open the navigation
open_nav.setOnClickListener(view -> {
if (!drawerLayout.isDrawerOpen(GravityCompat.START)) {
FirebaseAuth mAuth = FirebaseAuth.getInstance();
FirebaseUser currentUser = mAuth.getCurrentUser();
LayoutInflater inflater = getLayoutInflater();
View menu_header = inflater.inflate(R.layout.menu_header, null);
TextView text_header_menu = menu_header.findViewById(R.id.menu_text);
if(currentUser != null){
//todo
text_header_menu.setText("Vous êtes connecté !");
}else{
text_header_menu.setText("Vous n'êtes pas connecté. Rendez-vous dans la section Mon compte pour vous connecter.");
}
drawerLayout.openDrawer(GravityCompat.START);
}
});
//check when a button is clicked in the navigation
navigationView.setNavigationItemSelectedListener(item -> {
open_account((String) item.getTitle());
drawerLayout.closeDrawer(GravityCompat.START);
return false;
});
}
@Override
......@@ -78,15 +115,14 @@ public class MainActivity extends AppCompatActivity implements MainAdapter.OnIte
result -> {
if (result.getResultCode() == 1) {
//Update the page if a program is added or deleted
//Log.d("TAG", ": " + Activity.RESULT_OK );
//Log.d("TAG", ": " + result.getResultCode() );
needsRefresh = true;
}
}
);
private void open_account(View v) {
private void open_account(String item) {
Intent intent = new Intent(MainActivity.this, AccountActivity.class);
intent.putExtra("item", item);
startActivity(intent);
}
......
......@@ -3,6 +3,7 @@ package be.lepl1509group13.workoutwarrior;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.Typeface;
import android.os.Bundle;
import android.provider.ContactsContract;
......@@ -19,6 +20,8 @@ import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;
import android.widget.Toast;
import android.view.View;
......@@ -27,6 +30,8 @@ import android.widget.AutoCompleteTextView;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
......@@ -66,20 +71,17 @@ public class ProgramCreationActivity extends AppCompatActivity {
private static ArrayList<String> EXOS = new ArrayList<>(); // Liste des exercices de la base de données
CheckBox cb_lundi, cb_mardi, cb_mercredi, cb_jeudi, cb_vendredi, cb_samedi, cb_dimanche;
private ArrayList<CheckBox> cb_list = new ArrayList<>();
public String current_day_displayed = "lundi";
private ArrayList<String> current_days_checked = new ArrayList<>();
public ListView exos_current_day; // ListView des exercices pour le jour courant
public ListView exercisesView; // ListView des exercices pour le jour courant
private ImageButton help_creation_program;
HashMap<String, ArrayList<Exercise>> exoDetailsForEachDay = new HashMap<>();
HashMap<String, ArrayList<Exercise>> programByDay = new HashMap<>();
HashMap<Exercise, ArrayList<String>> program = new HashMap<>();
ListExercicesAdapter exercisesListAdapter;
public static int lastCheckedPosition = -1;
ArrayList<String> currentExoList = new ArrayList<>();
ArrayList<TextView> days_TextView = new ArrayList<>();
HashMap<Exercise, ArrayList<String>> program = new HashMap<>();
@Override
......@@ -91,16 +93,17 @@ public class ProgramCreationActivity extends AppCompatActivity {
//init_days_TextView();
db = firebaseDb.getReference("Workouts");
get_DB_Exercices();
init_day_lists(); // initialisation des listes pour stocker les exercices choisis
//init_day_lists(); // initialisation des listes pour stocker les exercices choisis
//init_checkboxes(); // initialisation des checkbox des jours
input_exo = findViewById(R.id.input_new_exo); // champ de recherche des exercices
exos_current_day = findViewById(R.id.exos_current_day_ListView); // liste des exercices choisis pour le jour courant
exercisesView = findViewById(R.id.exercisesView); // liste des exercices choisis pour le jour courant
exercisesListAdapter = new ListExercicesAdapter(this, new ArrayList<>());
exos_current_day.setAdapter(exercisesListAdapter);
exercisesView.setAdapter(exercisesListAdapter);
ImageButton return_btn = findViewById(R.id.return_btn2);
return_btn.setOnClickListener(view -> finish());
......@@ -150,6 +153,7 @@ public class ProgramCreationActivity extends AppCompatActivity {
private void saveProgramListener(){
Button save_btn = findViewById((R.id.save_button));
save_btn.setOnClickListener(v -> {
convertToProgramByDay();
try {
// recup le nom de programme comme nom de fichier -> nomdeprogramme.ser
......@@ -158,7 +162,7 @@ public class ProgramCreationActivity extends AppCompatActivity {
String programpath = programName + ".ser";
// place le HashMap du programme dans nomdeprogramme.ser
HashMap<String, ArrayList<Exercise>> entry = exoDetailsForEachDay;
HashMap<String, ArrayList<Exercise>> entry = programByDay;
ExerciseEntry exerciseEntry = new ExerciseEntry(entry);
FileOutputStream fileOutputStream = openFileOutput(programpath, Context.MODE_PRIVATE);
ObjectOutputStream objectOutputStream = new ObjectOutputStream(fileOutputStream);
......@@ -177,38 +181,16 @@ public class ProgramCreationActivity extends AppCompatActivity {
}
private void init_day_lists() {
exoDetailsForEachDay.put("lundi", new ArrayList<>());
exoDetailsForEachDay.put("mardi", new ArrayList<>());
exoDetailsForEachDay.put("mercredi", new ArrayList<>());
exoDetailsForEachDay.put("jeudi", new ArrayList<>());
exoDetailsForEachDay.put("vendredi", new ArrayList<>());
exoDetailsForEachDay.put("samedi", new ArrayList<>());
exoDetailsForEachDay.put("dimanche", new ArrayList<>());
}
/**
void init_days_TextView() {
/**
* Ajoute à days_TextView tous les TextView des jours
days_TextView.add(findViewById(R.id.textview_monday));
days_TextView.add(findViewById(R.id.textview_tuesday));
days_TextView.add(findViewById(R.id.textview_wednesday));
days_TextView.add(findViewById(R.id.textview_thursday));
days_TextView.add(findViewById(R.id.textview_friday));
days_TextView.add(findViewById(R.id.textview_saturday));
days_TextView.add(findViewById(R.id.textview_sunday));
}
*/
private void addExerciceListener() {
/**
* Ajoute un exercice au jour courant dans la HashMap exoDetailsForEachDay et dans la ListView exos_current_day
* Ajoute un exercice au jour courant dans la HashMap programByDay et dans la ListView exos_current_day
*/
Button add_exo_button = findViewById(R.id.add_exo_button);
add_exo_button.setOnClickListener(v -> {
current_days_checked.clear();
// Récupérer la valeur du champ de texte AutoCompleteTextView
String exercise_searched = input_exo.getText().toString();
......@@ -238,7 +220,6 @@ public class ProgramCreationActivity extends AppCompatActivity {
cb_list.add(cb_dimanche);
for (CheckBox cb : cb_list) cb.setOnCheckedChangeListener(myCheckBoxListener);
System.out.println(exoDetailsForEachDay);
DatabaseReference workoutsDb = firebaseDb.getReference("Workouts");
Query query = workoutsDb.orderByChild("name").equalTo(exercise_searched);
......@@ -270,8 +251,8 @@ public class ProgramCreationActivity extends AppCompatActivity {
break_text.setText(break_time.toString());
}
/**int resId = getResources().getIdentifier(image_url, "drawable", getPackageName());
ImageView image = findViewById(R.id.exercice_to_modify_image);
image.setImageResource(resId);**/
ImageView image = findViewById(R.id.exercice_to_modify_image);
image.setImageResource(resId);**/
}
}
......@@ -306,7 +287,7 @@ public class ProgramCreationActivity extends AppCompatActivity {
Integer timer_int = Integer.parseInt(string_timer);
actual_exo = new Exercise(exercise_searched, description_str, break_time, "@drawable/developpe_couche_barre", timer_int);
}
addToProgram(actual_exo, current_days_checked);
addToProgram(actual_exo, new ArrayList<>(current_days_checked));
dialog.dismiss();
});
......@@ -393,14 +374,19 @@ public class ProgramCreationActivity extends AppCompatActivity {
});
}
private void addToProgram(Exercise exercise, ArrayList<String> workingDays) {
private void addToProgram(Exercise exercise, ArrayList<String> trainingDays) {
/**
* Add the new exercise to the program
*/
if (exoInProgram(exercise)) popUpExerciseAlreadyInProgram();
else program.put(exercise, workingDays);
System.out.println(program);
if (exoInProgram(exercise)) {
Toast.makeText(this, "Exercice déjà dans le programme !",
Toast.LENGTH_SHORT).show();
} else {
program.put(exercise, trainingDays);
exercisesListAdapter.add(exercise.name);
}
}
private boolean exoInProgram(Exercise exercise) {
/**
* Check if exercise is already in program
......@@ -410,10 +396,27 @@ public class ProgramCreationActivity extends AppCompatActivity {
}
return false;
}
private void popUpExerciseAlreadyInProgram() {
void convertToProgramByDay() {
/**
* Display pop up "Exercise already in program"
* Convert program (HashMap<Exercise, ArrayList<String>>) to programByDay (HashMap<String, ArrayList<Exercise>>)
*/
programByDay.put("lundi", new ArrayList<>());
programByDay.put("mardi", new ArrayList<>());
programByDay.put("mercredi", new ArrayList<>());
programByDay.put("jeudi", new ArrayList<>());
programByDay.put("vendredi", new ArrayList<>());
programByDay.put("samedi", new ArrayList<>());
programByDay.put("dimanche", new ArrayList<>());
for (Map.Entry<Exercise, ArrayList<String>> set : program.entrySet()) {
for (String day : set.getValue()) {
programByDay.get(day).add(set.getKey());
}
}
System.out.println("program : " + program);
System.out.println("programByDay : " + programByDay);
}
}
......@@ -437,7 +440,7 @@ class Exercise implements Serializable {
@NonNull
@Override
public String toString() {
return name + ", " + description + ", temps de pause : " + breakVal + ", image_url : " + image_url + ", timer : " + timer;
return name;
}
}
......
app/src/main/res/drawable/check.png

2,44 ko

app/src/main/res/drawable/menu.png

4,43 ko

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
<androidx.drawerlayout.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
tools:context=".MainActivity"
tools:openDrawer="start"
android:id="@+id/drawer_layout">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/top"
android:layout_width="376dp"
android:layout_height="90dp"
android:padding="16dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.542"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.04">
<ImageView
android:id="@+id/imageView"
android:layout_width="56dp"
android:layout_height="56dp"
android:adjustViewBounds="false"
android:background="@drawable/homepage_activities_border"
android:clipToOutline="true"
android:fadingEdgeLength="10dp"
android:scaleType="centerCrop"
android:src="@drawable/logo"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/top"
android:layout_width="376dp"
android:layout_height="90dp"
android:padding="16dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintHorizontal_bias="0.542"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0" />
app:layout_constraintVertical_bias="0.04">
<TextView
android:id="@+id/welcomebacktxt"
android:layout_width="wrap_content"
android:layout_height="65dp"
android:fontFamily="@font/poppins_semibold"
android:gravity="center"
android:text="@string/bienvenue_message"
android:textSize="29sp"
app:layout_constraintBottom_toBottomOf="parent"
<ImageView
android:id="@+id/imageView"
android:layout_width="56dp"
android:layout_height="56dp"
android:adjustViewBounds="false"
android:background="@drawable/homepage_activities_border"
android:clipToOutline="true"
android:fadingEdgeLength="10dp"
android:scaleType="centerCrop"
android:src="@drawable/logo"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0" />
<TextView
android:id="@+id/welcomebacktxt"
android:layout_width="wrap_content"
android:layout_height="65dp"
android:fontFamily="@font/poppins_semibold"
android:gravity="center"
android:text="@string/bienvenue_message"
android:textSize="29sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.054"
app:layout_constraintStart_toEndOf="@+id/imageView"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0"
tools:text="Bienvenue" />
<ImageButton
android:id="@+id/account"
android:layout_width="32dp"
android:layout_height="32dp"
android:adjustViewBounds="false"
android:background="@drawable/homepage_activities_border"
android:clipToOutline="true"
android:scaleType="centerCrop"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:src="@drawable/menu"
app:tint="@color/orange" />
</androidx.constraintlayout.widget.ConstraintLayout>
<ScrollView
android:id="@+id/scrollView2"
android:layout_width="377dp"
android:layout_height="450dp"
android:fillViewport="true"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.054"
app:layout_constraintStart_toEndOf="@+id/imageView"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0"
tools:text="Bienvenue" />
<ImageButton
android:id="@+id/account"
android:layout_width="32dp"
android:layout_height="32dp"
android:adjustViewBounds="false"
android:background="@drawable/homepage_activities_border"
android:clipToOutline="true"
android:scaleType="centerCrop"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/top"
android:layout_marginTop="20dp" >
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/homepage_recycler"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"/>
</ScrollView>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:src="@drawable/user"
app:tint="@color/orange" />
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/scrollView2">
<Button
android:id="@+id/program_creation_button"
android:layout_width="318dp"
android:layout_height="37dp"
android:backgroundTint="@color/orange"
android:clipToOutline="true"
android:text="Créer un programme" />
</RelativeLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<ScrollView
android:id="@+id/scrollView2"
android:layout_width="377dp"
android:layout_height="450dp"
android:fillViewport="true"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/top"
android:layout_marginTop="20dp" >
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/homepage_recycler"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"/>
</ScrollView>
<RelativeLayout
<com.google.android.material.navigation.NavigationView
android:id="@+id/navigation_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/scrollView2">
<Button
android:id="@+id/program_creation_button"
android:layout_width="318dp"
android:layout_height="37dp"
android:backgroundTint="@color/orange"
android:clipToOutline="true"
android:text="Créer un programme" />
</RelativeLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
android:layout_height="match_parent"
android:layout_gravity="start"
app:menu="@menu/menu_main"
app:headerLayout="@layout/menu_header"/>
</androidx.drawerlayout.widget.DrawerLayout>
......@@ -14,39 +14,50 @@
tools:ignore="MissingConstraints">
<TextView
android:id="@+id/exercice_name"
android:id="@+id/exercise_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toEndOf="@id/delete_button"
android:text="Text"/>
<LinearLayout
android:id="@+id/buttons_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:orientation="horizontal">
<TextView
android:id="@+id/training_days"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toEndOf="@id/delete_button"
android:paddingLeft="20dp"
android:text="Text"/>
<ImageView
android:id="@+id/delete_button"
android:id="@+id/edit_button"
android:layout_marginLeft="30dp"
android:layout_alignParentStart="true"
android:clickable="true"
android:src="@drawable/ic_launcher_background"
android:focusable="true"
android:layout_width="20dp"
android:layout_height="20dp"/>
android:layout_height="20dp"
app:tint="@color/orange" />
<ImageView
android:id="@+id/edit_button"
android:id="@+id/delete_button"
android:layout_marginLeft="30dp"
android:layout_alignParentStart="true"
android:clickable="true"
android:src="@drawable/ic_launcher_background"
android:focusable="true"
android:layout_width="20dp"
android:layout_height="20dp"
app:tint="@color/orange" />
android:layout_height="20dp"/>
</LinearLayout>
</LinearLayout>
......
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="120dp"
android:background="@color/orange">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/menu_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/menu_image"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/user"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:layout_marginLeft="30dp"/>
<TextView
android:id="@+id/menu_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_toEndOf="@+id/menu_image"
android:text="Paramètres"
android:textSize="30sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/menu_image"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/menu_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Vous êtes connecté !"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/menu_title" />
</androidx.constraintlayout.widget.ConstraintLayout>
</RelativeLayout>
\ No newline at end of file
......@@ -148,98 +148,10 @@
android:layout_height="wrap_content"
android:layout_marginTop="14dp">
<LinearLayout
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/exercise_recycler_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal">
<TableLayout
android:id="@+id/program_table"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TableRow
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:text="L"
android:textAlignment="center"
android:textSize="20sp"
android:layout_weight="1"/>
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:background="@android:color/black"/>
<TextView
android:text="M"
android:textAlignment="center"
android:textSize="20sp"
android:layout_weight="1"/>
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:background="@android:color/black"/>
<TextView
android:text="M"
android:textAlignment="center"
android:textSize="20sp"
android:layout_weight="1"/>
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:background="@android:color/black"/>
<TextView
android:text="J"
android:textAlignment="center"
android:textSize="20sp"
android:layout_weight="1"/>
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:background="@android:color/black"/>
<TextView
android:text="V"
android:textAlignment="center"
android:textSize="20sp"
android:layout_weight="1"/>
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:background="@android:color/black"/>
<TextView
android:text="S"
android:textAlignment="center"
android:textSize="20sp"
android:layout_weight="1"/>
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:background="@android:color/black"/>
<TextView
android:text="D"
android:textAlignment="center"
android:textSize="20sp"
android:layout_weight="1"/>
</TableRow>
</TableLayout>
</LinearLayout>
android:layout_height="wrap_content" />
</RelativeLayout>
</LinearLayout>
......@@ -255,7 +167,7 @@
android:layout_height="match_parent">
<ListView
android:id="@+id/exos_current_day_ListView"
android:id="@+id/exercisesView"
android:layout_width="match_parent"
android:layout_height="100dp" />
......
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single">
<item
android:id="@+id/menu_item_1"
android:title="Mon compte" />
<item
android:id="@+id/menu_item_2"
android:title="Mes amis" />
</group>
</menu>
\ No newline at end of file