Skip to content
Extraits de code Groupes Projets
Valider 70222982 rédigé par Rémy Mathieu's avatar Rémy Mathieu
Parcourir les fichiers

Merge branch 'remy' into 'main'

Remy

See merge request !35
parents c2aae7e7 16c0fa97
Aucune branche associée trouvée
Aucune étiquette associée trouvée
1 requête de fusion!35Remy
......@@ -134,13 +134,19 @@ public class AddFriendActivity extends AppCompatActivity {
}
private void addFriendship(String userPseudo, String newFriendPseudo) {
//adding friendship to the actual user
db = firebaseDb.getReference("Friends").child(userPseudo);
Map<String, Object> updateFriendship = new HashMap<>();
updateFriendship.put(newFriendPseudo, "");
Map<String, Object> updates = new HashMap<>();
updates.put(newFriendPseudo, "");
//adding friendship to the other user
DatabaseReference db2 = firebaseDb.getReference("Friends").child(newFriendPseudo);
Map<String, Object> updateFriendshipToNewFriend = new HashMap<>();
updateFriendshipToNewFriend.put(userPseudo, "");
try {
db.updateChildren(updates);
db.updateChildren(updateFriendship);
db2.updateChildren(updateFriendshipToNewFriend);
Toast.makeText(AddFriendActivity.this, "Ami ajouté !", Toast.LENGTH_SHORT).show();
resetFirebaseQuery();
finish();
......
......@@ -328,7 +328,6 @@ public class ProgramCreationActivity extends AppCompatActivity {
}else{
Integer timer_int = Integer.parseInt(string_timer);
actual_exo = new Exercise(exercise_searched, description_str, break_time, img, timer_int);
actual_exo = new Exercise(exercise_searched, description_str, break_time, img, 0);
}
addToProgram(actual_exo, new ArrayList<>(current_days_checked));
dialog.dismiss();
......
......@@ -3,11 +3,9 @@ package be.lepl1509group13.workoutwarrior;
import androidx.appcompat.app.AppCompatActivity;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.os.Vibrator;
import android.util.Log;
import android.view.View;
import android.widget.Button;
......@@ -33,20 +31,15 @@ public class WorkoutActivity extends AppCompatActivity {
private DatabaseReference db;
private Integer numberOfWorkouts;
private int[] workout_id = new int[25];
private int timer;
Button set_break_btn;
TextView set_break_timer_text;
private CountDownTimer set_countDownTimer;
long set_break_timer; // temps de pause entre les séries
private boolean set_break_timer_counting = false; // vrai si le timer de pause est en train de décompter
private Button btn_exercise_timer;
private Button btn_next_during_break;
private TextView countdown_text;
private TextView text_little_timer;
private boolean workout_timer_counting = false; // vrai si le timer de l'exo est en train de décompter
private boolean workout_timer_started = false; // vrai si le timer de l'exo a déjà été démarré (qu'il soit sur pause ou non)
private long timeLeftInMillis; // temps restant sur le timer du workout
Button next_btn;
int exerciseIndexToDisplay = 0;
private Button next_btn;
private int exerciseIndexToDisplay = 0;
@Override
......@@ -58,6 +51,11 @@ public class WorkoutActivity extends AppCompatActivity {
next_btn = findViewById(R.id.next_btn);
next_btn.setOnClickListener(v -> onNextClick());
btn_exercise_timer = findViewById(R.id.btn_exercise_timer);
btn_next_during_break = findViewById(R.id.btn_next_during_break);
countdown_text = findViewById(R.id.workout_timer);
text_little_timer = findViewById(R.id.text_little_timer);
//get the id of the workout && launch the workout
Intent intent = this.getIntent();
int id = intent.getIntExtra("id", 0);
......@@ -78,22 +76,29 @@ public class WorkoutActivity extends AppCompatActivity {
ImageButton return_btn = findViewById(R.id.return_btn);
return_btn.setOnClickListener(view -> {
if (countdown != null) countdown.cancel();
if (set_countDownTimer != null) set_countDownTimer.cancel();
finish();
});
// Timer de pause entre les séries
set_break_btn = findViewById(R.id.set_break_btn);
set_break_timer_text = findViewById(R.id.set_break_timer);
//Check if the user click on "start timer"
Button launch_timer = findViewById(R.id.launch_timer);
launch_timer.setOnClickListener(view -> {
countdown = workout_timer(timer);
countdown.start();
launch_timer.setVisibility(View.INVISIBLE);
workout_timer_started = true;
workout_timer_counting = true;
//Check if the user click on the timer button
btn_exercise_timer.setOnClickListener(view -> {
Log.d("TAG", "onCreate: time left " + timeLeftInMillis);
if(btn_exercise_timer.getText() == "Pause"){
Log.d("TAG", "onCreate: COUNTDOWN CANCEL");
countdown.cancel();
btn_exercise_timer.setText("Reprendre");
}else if(btn_exercise_timer.getText() == "Reprendre") {
Log.d("TAG", "onCreate: COUNTDOWN RESTART");
countdown = workout_timer((int) timeLeftInMillis);
countdown.start();
btn_exercise_timer.setText("Pause");
}else{
Log.d("TAG", "onCreate: COUNTDOWN START");
countdown = workout_timer(timer);
countdown.start();
btn_exercise_timer.setText("Pause");
countdown_text.setVisibility(View.VISIBLE);
workout_timer_counting = true;
}
});
timeLeftInMillis = timer;
}
......@@ -105,7 +110,6 @@ public class WorkoutActivity extends AppCompatActivity {
*/
exerciseIndexToDisplay++;
TextView countdown_text = findViewById(R.id.workout_timer);
countdown_text.setVisibility(View.INVISIBLE);
if (countdown != null) countdown.cancel();
......@@ -117,9 +121,7 @@ public class WorkoutActivity extends AppCompatActivity {
TextView description = findViewById(R.id.workout_detail);
ImageView image = findViewById(R.id.workout_image);
Button launch_timer = findViewById(R.id.launch_timer);
launch_timer.setVisibility(View.INVISIBLE);
btn_exercise_timer.setVisibility(View.INVISIBLE);
name.setText(exercises[exerciseIndexToDisplay][0]);
name.setVisibility(View.INVISIBLE);
......@@ -139,31 +141,27 @@ public class WorkoutActivity extends AppCompatActivity {
description.setText("");
image.setVisibility(View.INVISIBLE);
timer_break.setText("" + l / 1000);
//btn_next.setVisibility(View.INVISIBLE);
set_break_timer_text.setText("Il est temps de prendre une pause...");
set_break_btn.setVisibility(View.INVISIBLE);
next_btn.setVisibility(View.INVISIBLE);
btn_next_during_break.setVisibility(View.VISIBLE);
text_little_timer.setText("Il est temps de prendre une pause...");
}
@Override
public void onFinish() {
set_break_timer_text.setText("");
text_little_timer.setText("");
timer_break.setText("");
next_btn.setVisibility(View.VISIBLE);
set_break_btn.setVisibility(View.VISIBLE);
btn_next_during_break.setVisibility(View.INVISIBLE);
displayCustomExercise(exercises);
next_btn.setText("Suivant");
}
};
countDownBreak.start();
next_btn.setText("Passer");
next_btn.setOnClickListener(v -> {
//button to pass the break between 2 exercises
btn_next_during_break.setOnClickListener(view -> {
countDownBreak.cancel();
countDownBreak.onFinish();
//next_btn.setText("Suivant");
//next_btn.setOnClickListener(v1 -> displayCustomExercise(exercises));
});
}
}
void displayCustomExercise(String[][] exercises) {
......@@ -188,29 +186,35 @@ public class WorkoutActivity extends AppCompatActivity {
timer = Integer.parseInt(exercises[exerciseIndexToDisplay][3]) * 1000;
System.out.println("timer = " + timer);
if(timer != 0){
//Show the button to start the timer
btn_exercise_timer.setVisibility(View.VISIBLE);
}else{
btn_exercise_timer.setVisibility(View.INVISIBLE);
if (countdown != null) {
countdown.cancel();
}
}
/*
if (timer > 0) {
//Check if the user click on "start timer"
Button launch_timer = findViewById(R.id.launch_timer);
launch_timer.setVisibility(View.VISIBLE);
launch_timer.setOnClickListener(view -> {
TextView countdown_text = findViewById(R.id.workout_timer);
btn_exercise_timer.setVisibility(View.VISIBLE);
btn_exercise_timer.setOnClickListener(view -> {
countdown_text.setVisibility(View.VISIBLE);
countdown = workout_timer(timer);
countdown.start();
launch_timer.setVisibility(View.INVISIBLE);
workout_timer_started = true;
btn_exercise_timer.setVisibility(View.INVISIBLE);
workout_timer_counting = true;
});
timeLeftInMillis = timer;
}
}
*/
}
// Timer entre les séries
/*
CountDownTimer workout_break_timer() {
CountDownTimer timer = new CountDownTimer(set_break_timer, 1000) {
public void onTick(long millisUntilFinished) {
......@@ -235,7 +239,7 @@ public class WorkoutActivity extends AppCompatActivity {
};
return timer;
}
*/
private void getProgramData(int id){
db.addValueEventListener(new ValueEventListener() {
......@@ -294,46 +298,16 @@ public class WorkoutActivity extends AppCompatActivity {
int resourceId = getResources().getIdentifier(workout.child("image_url").getValue(String.class), "drawable", getPackageName());
image.setImageResource(resourceId);
set_break_timer = workout.child("break").getValue(Integer.class);
set_break_timer_text.setText(String.valueOf(set_break_timer/1000) + " secondes");
set_countDownTimer = workout_break_timer();
set_break_btn.setOnClickListener(view -> {
if (set_break_timer_counting) {
set_countDownTimer.cancel();
set_break_timer_text.setText(String.valueOf(set_break_timer/1000) + " secondes");
set_break_timer_counting = false;
// Si le timer avait déjà été actionné, on reprend le décompte
if (workout_timer_started) {
countdown = workout_timer((int) timeLeftInMillis);
countdown.start();
workout_timer_counting = true;
}
}
else {
set_countDownTimer.start();
set_break_timer_counting = true;
if (workout_timer_counting && countdown != null) {
countdown.cancel();
workout_timer_counting = false;
}
}
});
Button launch_timer = findViewById(R.id.launch_timer);
timer = workout.child("timer").getValue(Integer.class);
if(timer != 0){
//Show the button to start the timer
launch_timer.setVisibility(View.VISIBLE);
btn_exercise_timer.setVisibility(View.VISIBLE);
}else{
launch_timer.setVisibility(View.INVISIBLE);
btn_exercise_timer.setVisibility(View.INVISIBLE);
if (countdown != null) {
countdown.cancel();
countdown.onFinish();
}
}
}
@Override
......@@ -345,28 +319,17 @@ public class WorkoutActivity extends AppCompatActivity {
@SuppressLint("SetTextI18n")
private void onNextClick() {
try {
if(countdown != null){
countdown.cancel();
TextView countdown_text = findViewById(R.id.workout_timer);
countdown_text.setText("");
} catch (Exception e){
Log.d("Exception", "onNextClick: " + e);
}
if (set_countDownTimer != null) {
set_countDownTimer.cancel();
//set_countDownTimer.onFinish();
workout_timer_started = false;
countdown_text.setVisibility(View.INVISIBLE);
}
TextView name = findViewById(R.id.workout_todo);
TextView description = findViewById(R.id.workout_detail);
ImageView image = findViewById(R.id.workout_image);
Button launch_timer = findViewById(R.id.launch_timer);
launch_timer.setVisibility(View.INVISIBLE);
btn_exercise_timer.setVisibility(View.INVISIBLE);
btn_exercise_timer.setText("Démarrer le timer");
if(step == 0){
finish();
......@@ -382,41 +345,37 @@ public class WorkoutActivity extends AppCompatActivity {
name.setText("");
description.setText("");
image.setVisibility(View.INVISIBLE);
next_btn.setVisibility(View.INVISIBLE);
btn_next_during_break.setVisibility(View.VISIBLE);
timer_break.setText("" + l/1000);
//btn_next.setVisibility(View.INVISIBLE);
set_break_timer_text.setText("Il est temps de prendre une pause...");
set_break_btn.setVisibility(View.INVISIBLE);
text_little_timer.setText("Il est temps de prendre une pause...");
}
@Override
public void onFinish() {
text_little_timer.setText("");
timer_break.setText("");
image.setVisibility(View.VISIBLE);
next_btn.setVisibility(View.VISIBLE);
set_break_btn.setVisibility(View.VISIBLE);
btn_next_during_break.setVisibility(View.INVISIBLE);
db = firebaseDb.getReference("Workouts");
getWorkoutData(Integer.toString(workout_id[step - 1]));
step ++;
}
};
countDownBreak.start();
next_btn.setText("Passer");
next_btn.setOnClickListener(v -> {
//button to pass the break between 2 exercises
btn_next_during_break.setOnClickListener(view -> {
countDownBreak.cancel();
countDownBreak.onFinish();
next_btn.setText("Suivant");
next_btn.setOnClickListener(v1 -> onNextClick());
});
} else if (numberOfWorkouts.equals(step)) {
name.setText("Entrainement terminé!");
description.setText("");
next_btn.setText("Retour à l'accueil");
image.setImageResource(0);
set_break_timer_text.setText("");
set_break_btn.setVisibility(View.INVISIBLE);
step = 0;
}
System.out.println("countdown = " + countdown);
}
CountDownTimer workout_timer(Integer millis){
......
......@@ -109,7 +109,7 @@
app:layout_constraintStart_toStartOf="parent" />
<Button
android:id="@+id/launch_timer"
android:id="@+id/btn_exercise_timer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="35dp"
......@@ -119,27 +119,16 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<Button
android:id="@+id/set_break_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Pause"
android:layout_marginTop="20dp"
app:layout_constraintTop_toBottomOf="@id/workout_detail"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<TextView
android:id="@+id/set_break_timer"
android:id="@+id/text_little_timer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/black"
app:layout_constraintBottom_toTopOf="@+id/set_break_btn"
app:layout_constraintEnd_toEndOf="@id/set_break_btn"
app:layout_constraintStart_toStartOf="@id/set_break_btn"
app:layout_constraintTop_toBottomOf="@+id/workout_detail" />
app:layout_constraintBottom_toTopOf="@+id/btn_exercise_timer"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/workout_detail"
tools:text="textview" />
<Button
android:id="@+id/next_btn"
......@@ -152,4 +141,16 @@
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
<Button
android:id="@+id/btn_next_during_break"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="25dp"
android:layout_marginBottom="25dp"
android:backgroundTint="@color/orange"
android:text="Passer"
android:visibility="invisible"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter