diff --git a/app/src/main/java/be/lepl1509group13/workoutwarrior/ProgramCreationActivity.java b/app/src/main/java/be/lepl1509group13/workoutwarrior/ProgramCreationActivity.java
index 7e333d967595fb3290483f2cf821d0676f0058fd..771a1b622312e8d3b7ee4edd9b932ba65fbb0460 100644
--- a/app/src/main/java/be/lepl1509group13/workoutwarrior/ProgramCreationActivity.java
+++ b/app/src/main/java/be/lepl1509group13/workoutwarrior/ProgramCreationActivity.java
@@ -13,6 +13,7 @@ import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
+import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.ListView;
@@ -33,14 +34,19 @@ import com.google.firebase.database.Query;
import com.google.firebase.database.ValueEventListener;
import java.io.BufferedReader;
+import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
+import java.io.Serializable;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
@@ -132,18 +138,33 @@ public class ProgramCreationActivity extends AppCompatActivity {
testbtn.setOnClickListener(v -> {
System.out.println("EXO SAVED: \n");
try {
- FileInputStream fis = openFileInput("data.txt");
- InputStreamReader isr = new InputStreamReader(fis);
- BufferedReader br = new BufferedReader(isr);
- String line;
- while ((line = br.readLine()) != null) {
- System.out.println(line);
+ // recup files saved (garde que ".ser")
+ File dir = getFilesDir();
+ String[] fileNames = dir.list();
+ assert fileNames != null;
+ for (String filename : fileNames){
+ if (filename.endsWith(".ser")){
+
+ System.out.println("FILENAME: " + filename + "\n");
+ FileInputStream fileInputStream = openFileInput(filename);
+ ObjectInputStream objectInputStream = new ObjectInputStream(fileInputStream);
+ ExerciseEntry exerciseEntry = (ExerciseEntry) objectInputStream.readObject();
+
+ // ici tu peux utiliser entry comme programme perso
+ HashMap<String, ArrayList<Exercise>> entry = exerciseEntry.getEntry();
+
+
+ for (Map.Entry<String, ArrayList<Exercise>> set : entry.entrySet()) {
+ System.out.println(set.getKey() + " = " + set.getValue());
+ }
+
+ objectInputStream.close();
+ fileInputStream.close();
+ }
}
- br.close();
- } catch (FileNotFoundException e) {
- throw new RuntimeException(e);
- } catch (IOException e) {
- throw new RuntimeException(e);
+
+ } catch (IOException | ClassNotFoundException e) {
+ e.printStackTrace();
}
});
}
@@ -167,21 +188,22 @@ public class ProgramCreationActivity extends AppCompatActivity {
private void saveProgramListener(){
Button save_btn = findViewById((R.id.save_button));
save_btn.setOnClickListener(v -> {
- System.out.println("Voici la liste des exos pour ce programme : \n");
- for (Map.Entry<String, ArrayList<Exercise>> set : exoDetailsForEachDay.entrySet()) {
- System.out.println(set.getKey() + " = " + set.getValue());
- }
- try {
- FileOutputStream fos = openFileOutput("data.txt", Context.MODE_PRIVATE);
- PrintWriter writer = new PrintWriter(new OutputStreamWriter(fos));
- for (Map.Entry<String, ArrayList<Exercise>> set : exoDetailsForEachDay.entrySet()) {
- String key = set.getKey();
- ArrayList<Exercise> value = set.getValue();
- writer.println(key + " = " + value.toString());
- }
+ try {
+ // recup le nom de programme comme nom de fichier -> nomdeprogramme.ser
+ EditText programNameEditText = findViewById(R.id.program_name);
+ String programName = programNameEditText.getText().toString();
+ String programpath = programName + ".ser";
+
+ // place le HashMap du programme dans nomdeprogramme.ser
+ HashMap<String, ArrayList<Exercise>> entry = exoDetailsForEachDay;
+ ExerciseEntry exerciseEntry = new ExerciseEntry(entry);
+ FileOutputStream fileOutputStream = openFileOutput(programpath, Context.MODE_PRIVATE);
+ ObjectOutputStream objectOutputStream = new ObjectOutputStream(fileOutputStream);
+ objectOutputStream.writeObject(exerciseEntry);
+ objectOutputStream.close();
+ fileOutputStream.close();
- writer.close();
} catch (Exception e) {
e.printStackTrace();
}
@@ -402,7 +424,8 @@ public class ProgramCreationActivity extends AppCompatActivity {
}
}
-class Exercise {
+class Exercise implements Serializable {
+ private static final long serialVersionUID = 1L;
String name;
String description;
int breakVal;
@@ -420,7 +443,19 @@ class Exercise {
@NonNull
@Override
public String toString() {
- return name + ", " + description + ", temps de pause : " + breakVal;
+ return name + ", " + description + ", temps de pause : " + breakVal + ", image_url : " + image_url + ", timer : " + timer;
}
}
+class ExerciseEntry implements Serializable {
+ private static final long serialVersionUID = 1L;
+ private final HashMap<String, ArrayList<Exercise>> entry;
+
+ public ExerciseEntry(HashMap<String, ArrayList<Exercise>> entry) {
+ this.entry = entry;
+ }
+
+ public HashMap<String, ArrayList<Exercise>> getEntry() {
+ return entry;
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/drawable/homepage_add_prog.xml b/app/src/main/res/drawable/homepage_add_prog.xml
index 860772c5487c57e890cf0c73f3cf74cd82e9a4dd..85af99c3e8a62f2451fa71d90b23a43920371dae 100644
--- a/app/src/main/res/drawable/homepage_add_prog.xml
+++ b/app/src/main/res/drawable/homepage_add_prog.xml
@@ -1,4 +1,4 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<corners android:radius="5dp" />
- <solid android:color="#000000" />
+ <solid android:color="@color/orange" />
</shape>
diff --git a/app/src/main/res/layout/activity_account.xml b/app/src/main/res/layout/activity_account.xml
index 6121e5c8bfd292e0d92ed5b83c08dcf202199039..06a01823926ec251e6de950a7809b560a128bd6d 100644
--- a/app/src/main/res/layout/activity_account.xml
+++ b/app/src/main/res/layout/activity_account.xml
@@ -119,6 +119,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Deconnexion"
+ android:backgroundTint="@color/orange"
app:layout_constraintBottom_toBottomOf="@+id/relativeLayout"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
diff --git a/app/src/main/res/layout/activity_detail_program.xml b/app/src/main/res/layout/activity_detail_program.xml
index a21ad1aadf58c852e1bb31a153fcc89c816b3b1b..7865b3bb986117211a3a3c8391b9cbb2c775541f 100644
--- a/app/src/main/res/layout/activity_detail_program.xml
+++ b/app/src/main/res/layout/activity_detail_program.xml
@@ -4,7 +4,6 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:background="@color/bwhite"
tools:context=".MainActivity">
<Button
@@ -51,7 +50,6 @@
android:fontFamily="@font/poppins_extrabold"
android:gravity="center"
android:text=""
- android:textColor="#454040"
android:textSize="24sp"
android:translationY="40dp"
app:layout_constraintEnd_toEndOf="parent"
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index e8b300f4e22c4035375ccb13e4abf6b848c9d30d..6e83f1921b6a96538cc4af0a7b40c3906be0d4ce 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -4,7 +4,6 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:background="@color/bwhite"
tools:context=".MainActivity">
<androidx.constraintlayout.widget.ConstraintLayout
@@ -44,7 +43,6 @@
android:fontFamily="@font/poppins_semibold"
android:gravity="center"
android:text="@string/bienvenue_message"
- android:textColor="#1E2432"
android:textSize="29sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
@@ -65,7 +63,8 @@
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
- android:src="@drawable/user"/>
+ android:src="@drawable/user"
+ app:tint="@color/orange" />
</androidx.constraintlayout.widget.ConstraintLayout>
@@ -99,9 +98,7 @@
android:id="@+id/program_creation_button"
android:layout_width="318dp"
android:layout_height="37dp"
- android:background="@drawable/homepage_add_prog"
android:backgroundTint="@color/orange"
- android:backgroundTintMode="add"
android:clipToOutline="true"
android:text="Créer un programme" />
diff --git a/app/src/main/res/layout/activity_workout.xml b/app/src/main/res/layout/activity_workout.xml
index 033c487eabf83f3fa346e2df4b818bf3ebc1c48d..fcac691e1cc911fde21782882079178ba0ea6809 100644
--- a/app/src/main/res/layout/activity_workout.xml
+++ b/app/src/main/res/layout/activity_workout.xml
@@ -13,6 +13,7 @@
android:layout_marginTop="25dp"
android:fontFamily="@font/poppins_semibold"
android:text=""
+ android:textColor="@color/bwhite"
android:textSize="20dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@@ -24,7 +25,6 @@
android:layout_height="40dp"
android:layout_marginLeft="20dp"
android:layout_marginTop="20dp"
- android:backgroundTint="@color/light_grey"
android:fontFamily="@font/poppins_semibold"
android:paddingLeft="10dp"
android:paddingTop="1dp"
diff --git a/app/src/main/res/layout/edit_workout.xml b/app/src/main/res/layout/edit_workout.xml
index e5b2ba141fe6980df9c2634b3067a2fda21e9f09..c8edf55d704c617990bf08e8084213845eaab39b 100644
--- a/app/src/main/res/layout/edit_workout.xml
+++ b/app/src/main/res/layout/edit_workout.xml
@@ -3,8 +3,7 @@
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"
- android:background="@color/bwhite">
+ android:layout_height="match_parent">
<androidx.constraintlayout.widget.ConstraintLayout
@@ -80,7 +79,6 @@
android:layout_marginTop="30dp"
android:background="@color/orange"
android:text="Sauvegarder modifications"
- android:textColor="@color/white"
android:textSize="16sp" />
diff --git a/app/src/main/res/layout/exercice.xml b/app/src/main/res/layout/exercice.xml
index 5cb97bb9fc0135bbcd648ae1e58fcf9fef90b522..20f2aa807b2572c013152e3cfca397442d55eb49 100644
--- a/app/src/main/res/layout/exercice.xml
+++ b/app/src/main/res/layout/exercice.xml
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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">
@@ -29,6 +30,7 @@
android:layout_alignParentStart="true"
android:clickable="true"
android:src="@drawable/ic_launcher_background"
+
android:focusable="true"
android:layout_width="20dp"
android:layout_height="20dp"/>
@@ -40,7 +42,8 @@
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" />
</LinearLayout>
</LinearLayout>
diff --git a/app/src/main/res/layout/exercice_details_pop_up.xml b/app/src/main/res/layout/exercice_details_pop_up.xml
index 72c9d3225de4d2301895cf37cd42739616b7b97b..50c71f4200de2e2bc60fb3f954444b858fbda6e4 100644
--- a/app/src/main/res/layout/exercice_details_pop_up.xml
+++ b/app/src/main/res/layout/exercice_details_pop_up.xml
@@ -3,8 +3,7 @@
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"
- android:background="@color/bwhite">
+ android:layout_height="match_parent">
<TextView
android:id="@+id/exercise_popup_name"
diff --git a/app/src/main/res/layout/help_creation_program_popup.xml b/app/src/main/res/layout/help_creation_program_popup.xml
index 01538f2b585fc5407ce5d9573baccde242ff0275..7aa203eefbb37da605a6cf038b8acd610c687de2 100644
--- a/app/src/main/res/layout/help_creation_program_popup.xml
+++ b/app/src/main/res/layout/help_creation_program_popup.xml
@@ -3,8 +3,7 @@
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"
- android:background="@color/bwhite">
+ android:layout_height="match_parent">
<TextView
android:id="@+id/exercise_popup_name"
@@ -39,7 +38,6 @@
android:layout_width="350dp"
android:layout_height="match_parent"
android:text="• Pour commencer, sélectionnez le(s) jour(s) au(x)quel(s) vous voulez ajouter un ou plusieurs exercices."
- android:textColor="@color/black"
android:textSize="16dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
@@ -50,7 +48,6 @@
android:layout_height="match_parent"
android:layout_marginTop="15dp"
android:text="• Sélectionnez l'exercice que vous voulez ajouter pour ce(s) jour(s) dans la liste déroulante et cliquez sur le bouton ajouter exercice."
- android:textColor="@color/black"
android:textSize="16dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@@ -63,7 +60,6 @@
android:layout_height="match_parent"
android:layout_marginTop="15dp"
android:text="• Cliquez sur un jour pour voir le(s) exercice(s) enregistré(s) pour ce dernier."
- android:textColor="@color/black"
android:textSize="16dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@@ -75,7 +71,6 @@
android:layout_height="match_parent"
android:layout_marginTop="15dp"
android:text="• Cliquez sur le bouton Enregistrer pour sauvegarder votre nouveau programme."
- android:textColor="@color/black"
android:textSize="16dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
diff --git a/app/src/main/res/layout/program_creation.xml b/app/src/main/res/layout/program_creation.xml
index 88c8a0e6055db0f8b3769fe77179821e6e841530..d82391bd80d04abf844f32aa495ebcbee633e882 100644
--- a/app/src/main/res/layout/program_creation.xml
+++ b/app/src/main/res/layout/program_creation.xml
@@ -3,8 +3,7 @@
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"
- android:background="@color/bwhite">
+ android:layout_height="match_parent">
<RelativeLayout
android:id="@+id/relativeLayout4"
@@ -93,7 +92,6 @@
android:fontFamily="@font/poppins_extrabold"
android:gravity="center"
android:text="Création de programme"
- android:textColor="@color/black"
android:textSize="18sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
@@ -190,6 +188,7 @@
android:id="@+id/checkbox_monday"
android:layout_width="30dp"
android:layout_height="wrap_content"
+ android:buttonTint="@color/orange"
android:fontFamily="@font/poppins" />
<TextView
@@ -202,13 +201,13 @@
android:onClick="onNewDayTextClick"
android:tag="lundi"
android:text="Lundi"
- android:textColor="@color/black"
android:textSize="15dp" />
<CheckBox
android:id="@+id/checkbox_tuesday"
android:layout_width="30dp"
android:layout_height="wrap_content"
+ android:buttonTint="@color/orange"
android:fontFamily="@font/poppins" />
<TextView
@@ -221,13 +220,13 @@
android:onClick="onNewDayTextClick"
android:tag="mardi"
android:text="Mardi"
- android:textColor="@color/black"
android:textSize="15dp" />
<CheckBox
android:id="@+id/checkbox_wednesday"
android:layout_width="30dp"
android:layout_height="wrap_content"
+ android:buttonTint="@color/orange"
android:fontFamily="@font/poppins" />
<TextView
@@ -254,6 +253,7 @@
android:id="@+id/checkbox_thursday"
android:layout_width="30dp"
android:layout_height="wrap_content"
+ android:buttonTint="@color/orange"
android:fontFamily="@font/poppins" />
<TextView
@@ -266,13 +266,13 @@
android:onClick="onNewDayTextClick"
android:tag="jeudi"
android:text="Jeudi"
- android:textColor="@color/black"
android:textSize="15dp" />
<CheckBox
android:id="@+id/checkbox_friday"
android:layout_width="30dp"
android:layout_height="wrap_content"
+ android:buttonTint="@color/orange"
android:fontFamily="@font/poppins" />
<TextView
@@ -285,13 +285,13 @@
android:onClick="onNewDayTextClick"
android:tag="vendredi"
android:text="Vendredi"
- android:textColor="@color/black"
android:textSize="15dp" />
<CheckBox
android:id="@+id/checkbox_saturday"
android:layout_width="30dp"
android:layout_height="wrap_content"
+ android:buttonTint="@color/orange"
android:fontFamily="@font/poppins" />
<TextView
@@ -304,7 +304,6 @@
android:onClick="onNewDayTextClick"
android:tag="samedi"
android:text="Samedi"
- android:textColor="@color/black"
android:textSize="15dp" />
</LinearLayout>
@@ -318,6 +317,7 @@
android:id="@+id/checkbox_sunday"
android:layout_width="30dp"
android:layout_height="wrap_content"
+ android:buttonTint="@color/orange"
android:fontFamily="@font/poppins" />
<TextView
@@ -330,7 +330,6 @@
android:onClick="onNewDayTextClick"
android:tag="dimanche"
android:text="Dimanche"
- android:textColor="@color/black"
android:textSize="15dp" />
</LinearLayout>
diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml
index f50be00ebbe83f14c18f810a661c297fbcd69ef8..0dc0ded86b3b7ad225741020007ef2c1a0dd4bbf 100644
--- a/app/src/main/res/values-night/themes.xml
+++ b/app/src/main/res/values-night/themes.xml
@@ -11,6 +11,7 @@
<item name="colorOnSecondary">@color/orange</item>
<!-- Status bar color. -->
<item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
+ <item name="android:textColor">@color/bwhite</item>
<!-- Customize your theme here. -->
</style>
</resources>
\ No newline at end of file
diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml
index f50be00ebbe83f14c18f810a661c297fbcd69ef8..7a1d84a827812a944e3daf68e1b8d2109fbee589 100644
--- a/app/src/main/res/values/themes.xml
+++ b/app/src/main/res/values/themes.xml
@@ -2,11 +2,11 @@
<!-- Base application theme. -->
<style name="Theme.WorkoutWarrior" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<!-- Primary brand color. -->
- <item name="colorPrimary">@color/orange</item>
+ <item name="colorPrimary">@color/bwhite</item>
<item name="colorPrimaryVariant">@color/black</item>
<item name="colorOnPrimary">@color/black</item>
<!-- Secondary brand color. -->
- <item name="colorSecondary">@color/black</item>
+ <item name="colorSecondary">@color/bwhite</item>
<item name="colorSecondaryVariant">@color/black</item>
<item name="colorOnSecondary">@color/orange</item>
<!-- Status bar color. -->