From 7320e105131b290627b61570b7cdd9cfef92b53a Mon Sep 17 00:00:00 2001 From: Luca Warmenhoven Date: Wed, 5 Jun 2024 15:42:15 +0200 Subject: [PATCH] Fixed more issues, added more logging --- .../fitbot/ui/activities/FitnessActivity.java | 15 +++++---------- .../fitbot/util/processing/InputProcessor.java | 9 +++++++++ 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/code/src/Fitbot/app/src/main/java/com/example/fitbot/ui/activities/FitnessActivity.java b/code/src/Fitbot/app/src/main/java/com/example/fitbot/ui/activities/FitnessActivity.java index 0eed995..bc8c909 100644 --- a/code/src/Fitbot/app/src/main/java/com/example/fitbot/ui/activities/FitnessActivity.java +++ b/code/src/Fitbot/app/src/main/java/com/example/fitbot/ui/activities/FitnessActivity.java @@ -18,16 +18,12 @@ import android.widget.ProgressBar; import android.widget.TextView; import android.widget.VideoView; -import com.aldebaran.qi.Future; import com.aldebaran.qi.sdk.QiContext; import com.aldebaran.qi.sdk.QiSDK; import com.aldebaran.qi.sdk.RobotLifecycleCallbacks; -import com.aldebaran.qi.sdk.builder.AnimateBuilder; -import com.aldebaran.qi.sdk.builder.AnimationBuilder; import com.aldebaran.qi.sdk.design.activity.RobotActivity; import com.aldebaran.qi.sdk.design.activity.conversationstatus.SpeechBarDisplayStrategy; import com.aldebaran.qi.sdk.object.actuation.Animate; -import com.aldebaran.qi.sdk.object.actuation.Animation; import com.example.fitbot.R; import com.example.fitbot.exercise.Exercise; import com.example.fitbot.exercise.ExerciseManager; @@ -71,7 +67,7 @@ public class FitnessActivity extends RobotActivity implements RobotLifecycleCall private static final float SENSOR_SAMPLE_RATE = 10.0f; private static final int EXERCISE_COUNT = 5; - private static int EXERCISE_REP = 1; + private static int EXERCISE_VIDEO_REPETITION = 1; private static final float EXERCISE_SPEED_MULTIPLIER = 1.0f; @Override @@ -87,7 +83,7 @@ public class FitnessActivity extends RobotActivity implements RobotLifecycleCall //this.exerciseDescriptionTextView = findViewById(R.id.textViewDialogDescription); // Set the repetition count for the exercise - EXERCISE_REP = 1; + EXERCISE_VIDEO_REPETITION = 1; progressCircle = findViewById(R.id.progressCircle); progressText = findViewById(R.id.progressText); @@ -185,9 +181,9 @@ public class FitnessActivity extends RobotActivity implements RobotLifecycleCall }); videoView.setOnCompletionListener(mp -> { - if (EXERCISE_REP < EXERCISE_COUNT) { + if (EXERCISE_VIDEO_REPETITION < ExerciseManager.DEFAULT_EXERCISE_REPETITIONS) { videoView.start(); // start the video again - EXERCISE_REP++; + EXERCISE_VIDEO_REPETITION++; } }); }); @@ -260,8 +256,7 @@ public class FitnessActivity extends RobotActivity implements RobotLifecycleCall } public void incrementProgress() { - if (progress < maxProgress) { - progress++; + if (progress++ < maxProgress) { triggerColorBurst(true); updateProgress(); } diff --git a/code/src/Fitbot/app/src/main/java/com/example/fitbot/util/processing/InputProcessor.java b/code/src/Fitbot/app/src/main/java/com/example/fitbot/util/processing/InputProcessor.java index 15ebf2a..a9cc97c 100644 --- a/code/src/Fitbot/app/src/main/java/com/example/fitbot/util/processing/InputProcessor.java +++ b/code/src/Fitbot/app/src/main/java/com/example/fitbot/util/processing/InputProcessor.java @@ -104,9 +104,12 @@ public class InputProcessor { public void startCheckingUserMovement() { // Error checking thread. (new Thread(() -> { + Log.i("InputProcessor", "Movement Checking Thread started"); while (this.exercisesRemaining > 0) { boolean isFaulty = this.isFaultyMovement(); + Log.i("InputProcessor", "Movement checked: " + (isFaulty ? "Faulty" : "Good")); + if (isFaulty) { this.onInadequateRepetition(); } else this.onAdequateRepetition(); @@ -146,6 +149,8 @@ public class InputProcessor { this.errorCheckInterval_s = this.exerciseRepetitionDurationInSeconds * ExerciseManager.DEFAULT_EXERCISE_REPETITIONS / 6.0f; + Log.i("InputProcessor", "Exercise error checking interval: " + this.errorCheckInterval_s); + this.selfRotationVectorPaths = new ArrayList[2]; this.selfRotationVectorPaths[0] = new ArrayList<>(); this.selfRotationVectorPaths[1] = new ArrayList<>(); @@ -163,6 +168,7 @@ public class InputProcessor { */ public void onAdequateRepetition() { ExerciseManager.TOTAL_REPETITIONS_PERFORMED++; + Log.i("InputProcessor", "Adequate repetition performed"); this.parentActivity.incrementProgress(); } @@ -170,6 +176,7 @@ public class InputProcessor { * Method that is called whenever the user performs a bad repetition. */ public void onInadequateRepetition() { + Log.i("InputProcessor", "Inadequate repetition performed"); this.parentActivity.triggerColorBurst(false); } @@ -233,6 +240,8 @@ public class InputProcessor { private void acquireExercise() { this.exercisesRemaining--; + Log.i("MotionProcessor", "Fetching exercise data."); + this.parentActivity.fetchExerciseAsync(this::nextExercise, (nil) -> { Log.i("MotionProcessor", "Failed to fetch exercise data.");