Fixed more issues, added more logging

This commit is contained in:
Luca Warmenhoven
2024-06-05 15:42:15 +02:00
parent 798ba87e4d
commit 7320e10513
2 changed files with 14 additions and 10 deletions

View File

@@ -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();
}

View File

@@ -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.");