Merge branch 'main' of ssh://gitlab.fdmci.hva.nl/propedeuse-hbo-ict/onderwijs/2023-2024/out-a-se-ti/blok-4/muupooviixee66
This commit is contained in:
@@ -59,6 +59,8 @@ public class FitnessActivity extends RobotActivity implements RobotLifecycleCall
|
|||||||
private VideoView videoView;
|
private VideoView videoView;
|
||||||
private QiContext qiContext;
|
private QiContext qiContext;
|
||||||
|
|
||||||
|
private ObjectAnimator shimmerAnimator;
|
||||||
|
|
||||||
private final Object lock = new Object();
|
private final Object lock = new Object();
|
||||||
|
|
||||||
// Some nice little messages for the user
|
// Some nice little messages for the user
|
||||||
@@ -99,9 +101,11 @@ public class FitnessActivity extends RobotActivity implements RobotLifecycleCall
|
|||||||
ProgressBar loadingCircle = findViewById(R.id.loadingCircle);
|
ProgressBar loadingCircle = findViewById(R.id.loadingCircle);
|
||||||
loadingCircle.setIndeterminateTintList(ColorStateList.valueOf(Color.RED));
|
loadingCircle.setIndeterminateTintList(ColorStateList.valueOf(Color.RED));
|
||||||
|
|
||||||
// Shimmer animation for loading elements
|
// Start shimmer animation for loading elements
|
||||||
|
View shimmerProgressCircle = findViewById(R.id.progressCircle);
|
||||||
View shimmerFitnessTitle = findViewById(R.id.textViewFitnessTitle);
|
View shimmerFitnessTitle = findViewById(R.id.textViewFitnessTitle);
|
||||||
View shimmerFitnessText = findViewById(R.id.textViewFitnessShortDescription);
|
View shimmerFitnessText = findViewById(R.id.textViewFitnessShortDescription);
|
||||||
|
shimmerAnimation(shimmerProgressCircle);
|
||||||
shimmerAnimation(shimmerFitnessTitle);
|
shimmerAnimation(shimmerFitnessTitle);
|
||||||
shimmerAnimation(shimmerFitnessText);
|
shimmerAnimation(shimmerFitnessText);
|
||||||
|
|
||||||
@@ -164,6 +168,7 @@ public class FitnessActivity extends RobotActivity implements RobotLifecycleCall
|
|||||||
} else {
|
} else {
|
||||||
onSuccessfulFetch.handle(exercise);
|
onSuccessfulFetch.handle(exercise);
|
||||||
runOnUiThread(() -> {
|
runOnUiThread(() -> {
|
||||||
|
|
||||||
exerciseNameTextView.setText(exercise.name);
|
exerciseNameTextView.setText(exercise.name);
|
||||||
exerciseShortDescriptionTextView.setText(exercise.shortDescription);
|
exerciseShortDescriptionTextView.setText(exercise.shortDescription);
|
||||||
// exerciseDescriptionTextView.setText(exercise.description);
|
// exerciseDescriptionTextView.setText(exercise.description);
|
||||||
@@ -178,6 +183,9 @@ public class FitnessActivity extends RobotActivity implements RobotLifecycleCall
|
|||||||
ProgressBar loadingCircle = findViewById(R.id.loadingCircle);
|
ProgressBar loadingCircle = findViewById(R.id.loadingCircle);
|
||||||
loadingCircle.setVisibility(View.GONE);
|
loadingCircle.setVisibility(View.GONE);
|
||||||
|
|
||||||
|
// Stop shimmer animation
|
||||||
|
stopShimmerAnimation();
|
||||||
|
|
||||||
Pepper.animate("armraise");
|
Pepper.animate("armraise");
|
||||||
|
|
||||||
// Start checking for user movement once the video has loaded
|
// Start checking for user movement once the video has loaded
|
||||||
@@ -284,7 +292,7 @@ public class FitnessActivity extends RobotActivity implements RobotLifecycleCall
|
|||||||
MediaPlayer.create(this, soundId).start();
|
MediaPlayer.create(this, soundId).start();
|
||||||
|
|
||||||
ObjectAnimator animator = ObjectAnimator.ofFloat(progressCircle, "alpha", 1f, 0f, 1f);
|
ObjectAnimator animator = ObjectAnimator.ofFloat(progressCircle, "alpha", 1f, 0f, 1f);
|
||||||
animator.setDuration(500); // Burst duration
|
animator.setDuration(700); // Burst duration
|
||||||
animator.addListener(new AnimatorListenerAdapter() {
|
animator.addListener(new AnimatorListenerAdapter() {
|
||||||
@Override
|
@Override
|
||||||
public void onAnimationEnd(Animator animation) {
|
public void onAnimationEnd(Animator animation) {
|
||||||
@@ -302,10 +310,15 @@ public class FitnessActivity extends RobotActivity implements RobotLifecycleCall
|
|||||||
ContextCompat.getColor(view.getContext(), R.color.shimmerStartColor),
|
ContextCompat.getColor(view.getContext(), R.color.shimmerStartColor),
|
||||||
ContextCompat.getColor(view.getContext(), R.color.shimmerEndColor)
|
ContextCompat.getColor(view.getContext(), R.color.shimmerEndColor)
|
||||||
);
|
);
|
||||||
animator.setDuration(1000);
|
animator.setDuration(1200);
|
||||||
animator.setRepeatCount(ValueAnimator.INFINITE);
|
animator.setRepeatCount(ValueAnimator.INFINITE);
|
||||||
animator.setRepeatMode(ValueAnimator.REVERSE);
|
animator.setRepeatMode(ValueAnimator.REVERSE);
|
||||||
animator.start();
|
animator.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void stopShimmerAnimation() {
|
||||||
|
if (shimmerAnimator != null && shimmerAnimator.isRunning()) {
|
||||||
|
shimmerAnimator.cancel();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
@@ -16,6 +16,6 @@
|
|||||||
<color name="invertedIconTint">#000000</color>
|
<color name="invertedIconTint">#000000</color>
|
||||||
<color name="transparent">#00000000</color>
|
<color name="transparent">#00000000</color>
|
||||||
<color name="shimmerStartColor">#EFEFEF</color>
|
<color name="shimmerStartColor">#EFEFEF</color>
|
||||||
<color name="shimmerEndColor">#DDDDDD</color>
|
<color name="shimmerEndColor">#ADADAD</color>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user