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

Merge branch 'remy' into 'main'

Patch layout & activity of the custom program in the detail page

See merge request !31
parents fb8290b1 32312add
Aucune branche associée trouvée
Aucune étiquette associée trouvée
1 requête de fusion!31Patch layout & activity of the custom program in the detail page
......@@ -4,12 +4,12 @@ import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
......@@ -39,7 +39,9 @@ public class ProgramDetailActivity extends AppCompatActivity implements ProgramA
private final FirebaseDatabase firebaseDb = FirebaseDatabase.getInstance();
private DatabaseReference db;
ImageButton return_btn;
TextView start_workout, delete_workout;
TextView start_workout, delete_workout, show_workout;
private boolean isLocalProgram = false;
private String[][] exercisesData = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
......@@ -53,6 +55,12 @@ public class ProgramDetailActivity extends AppCompatActivity implements ProgramA
//finish activity of there is no id
if (id == 0){ this.finish(); }
delete_workout = findViewById(R.id.delete_workout);
delete_workout.setOnClickListener(view -> deleteWorkout());
show_workout = findViewById(R.id.show_workout);
show_workout.setOnClickListener(view -> showWorkout());
db = firebaseDb.getReference("Programs");
getProgramData(id, this_intent.getStringExtra("name"));
......@@ -62,12 +70,23 @@ public class ProgramDetailActivity extends AppCompatActivity implements ProgramA
start_workout = findViewById(R.id.start_workout);
start_workout.setOnClickListener(view -> {
Intent intent = new Intent(ProgramDetailActivity.this, WorkoutActivity.class);
intent.putExtra("id", id);
if(isLocalProgram){
//si c'est un programme perso et qu'on clique sur démarrer
//on envoie un id qui est égal à 0, pour que Workout Activity comprenne que c'est un exercise perso
intent.putExtra("id", 0);
//on envoie la liste des exos sous forme de liste
intent.putExtra("exercisesData", exercisesData);
}else{
//si c'est un programme de la base de donnée et qu'on clique sur démarrer
//on envoie l'id du programme dans l'activité WorkoutActivity
intent.putExtra("id", id);
}
startActivity(intent);
});
}
delete_workout = findViewById(R.id.delete_workout);
delete_workout.setOnClickListener(view -> deleteWorkout());
private void showWorkout() {
//todo
}
private void deleteWorkout() {
......@@ -125,11 +144,7 @@ public class ProgramDetailActivity extends AppCompatActivity implements ProgramA
private void getProgramData(int id, String name){
if(id == -1){
//It's a custom program
//TEMPORAIRE !!!
Button start = findViewById(R.id.start_workout);
start.setVisibility(View.INVISIBLE);
isLocalProgram = true;
try {
// recup files saved (garde que ".ser")
File dir = getFilesDir();
......@@ -159,7 +174,8 @@ public class ProgramDetailActivity extends AppCompatActivity implements ProgramA
int totalExercises = 0;
for (Exercise values : set.getValue()){totalExercises ++;}
String[][] exercisesData = new String[totalExercises][];
//String[][] exercisesData = new String[totalExercises][];
exercisesData = new String[totalExercises][];
//for each exercises in the current day, get the details
int exerciseId = 0;
......@@ -184,16 +200,16 @@ public class ProgramDetailActivity extends AppCompatActivity implements ProgramA
fileInputStream.close();
}
}
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
}else{
Button delete = findViewById(R.id.delete_workout);
delete.setVisibility(View.INVISIBLE);
isLocalProgram = false;
delete_workout.setVisibility(View.INVISIBLE);
show_workout.setVisibility(View.INVISIBLE);
db.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
public void onDataChange(@NonNull DataSnapshot snapshot) {
DataSnapshot program = snapshot.child(Integer.toString(id));
//update the title of the program
......@@ -209,7 +225,7 @@ public class ProgramDetailActivity extends AppCompatActivity implements ProgramA
}
@Override
public void onCancelled(DatabaseError error) {
public void onCancelled(@NonNull DatabaseError error) {
Toast.makeText(ProgramDetailActivity.this, "Fail to get data.", Toast.LENGTH_SHORT).show();
}
});
......@@ -219,7 +235,7 @@ public class ProgramDetailActivity extends AppCompatActivity implements ProgramA
private void getExercisesData(String[] exercises_id){
db.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
public void onDataChange(@NonNull DataSnapshot snapshot) {
String[][] exercisesData = new String[exercises_id.length][];
//For each exercises that is link with the program in the database, add the data
......@@ -242,7 +258,7 @@ public class ProgramDetailActivity extends AppCompatActivity implements ProgramA
}
@Override
public void onCancelled(DatabaseError error) {
public void onCancelled(@NonNull DatabaseError error) {
Toast.makeText(ProgramDetailActivity.this, "Fail to get data.", Toast.LENGTH_SHORT).show();
}
});
......
......@@ -22,9 +22,6 @@ import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
import org.w3c.dom.Text;
import java.util.Locale;
import java.util.Objects;
public class WorkoutActivity extends AppCompatActivity {
......@@ -57,17 +54,21 @@ public class WorkoutActivity extends AppCompatActivity {
setContentView(R.layout.activity_workout);
getSupportActionBar().hide();
next_btn = findViewById(R.id.next_btn);
next_btn.setOnClickListener(v -> onNextClick());
//get the id of the workout && launch the workout
Intent intent = this.getIntent();
int id = intent.getIntExtra("id", 0);
//finish activity of there is no id
if (id == 0){ this.finish(); }
db = firebaseDb.getReference("Programs");
getProgramData(id);
next_btn = findViewById(R.id.next_btn);
next_btn.setOnClickListener(v -> onNextClick());
//if the id is 0, then it's a custom program
if (id == 0){
String[][] exercisesData = (String[][]) intent.getSerializableExtra("exercisesData");
//todo pour Killian
}else{
//it's a program from the database
db = firebaseDb.getReference("Programs");
getProgramData(id);
}
ImageButton return_btn = findViewById(R.id.return_btn);
return_btn.setOnClickListener(view -> {
......
......@@ -35,6 +35,20 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/delete_workout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/orange"
android:backgroundTint="@color/orange"
android:text="@string/delete_workout"
android:textColor="@color/black"
app:iconTint="@color/orange"
android:layout_marginEnd="15dp"
app:layout_constraintBottom_toBottomOf="@+id/navigation_menu"
app:layout_constraintEnd_toEndOf="@+id/navigation_menu"
app:layout_constraintTop_toTopOf="@+id/navigation_menu" />
<ScrollView
android:id="@+id/scrollView_program_view"
android:layout_width="377dp"
......@@ -98,12 +112,12 @@
app:layout_constraintStart_toStartOf="parent" />
<Button
android:id="@+id/delete_workout"
android:id="@+id/show_workout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/orange"
android:backgroundTint="@color/orange"
android:text="@string/delete_workout"
android:text="@string/show_workout"
android:textColor="@color/black"
app:iconTint="@color/orange"
app:layout_constraintBottom_toBottomOf="parent"
......@@ -111,5 +125,4 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/start_workout" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
......@@ -9,6 +9,7 @@
<string name="entrainement_badminton">Entrainement Badminton</string>
<string name="launch_workout">Démarrer</string>
<string name="delete_workout">Supprimer le programme</string>
<string name="show_workout">Afficher / Modifier le programme</string>
<string name="title_activity_account">AccountActivity</string>
<string name="prompt_email">Email</string>
<string name="prompt_password">Password</string>
......
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