From 8fde16bac17c19f2b4abe7e20532a40461657844 Mon Sep 17 00:00:00 2001 From: Sam Hos Date: Wed, 5 Jun 2024 14:32:37 +0200 Subject: [PATCH 1/3] fix run ui thread --- .../java/com/example/fitbot/ui/activities/FitnessActivity.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 1350a78..9bb7708 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 @@ -162,8 +162,9 @@ public class FitnessActivity extends RobotActivity implements RobotLifecycleCall if (exercise == null) { runOnUiThread(() -> onFailedFetch.handle(null)); } else { + onSuccessfulFetch.handle(exercise); runOnUiThread(() -> { - onSuccessfulFetch.handle(exercise); + exerciseNameTextView.setText(exercise.name); exerciseShortDescriptionTextView.setText(exercise.shortDescription); // exerciseDescriptionTextView.setText(exercise.description); From 711cf922b753ee23a8684886bf29a4a9cbd2a62b Mon Sep 17 00:00:00 2001 From: SebasKoedam Date: Wed, 5 Jun 2024 14:43:45 +0200 Subject: [PATCH 2/3] added a stop for the shimmer --- .../fitbot/ui/activities/FitnessActivity.java | 18 +++++++++++++++--- .../Fitbot/app/src/main/res/values/colors.xml | 2 +- 2 files changed, 16 insertions(+), 4 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 1350a78..df6cf7f 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 @@ -59,6 +59,8 @@ public class FitnessActivity extends RobotActivity implements RobotLifecycleCall private VideoView videoView; private QiContext qiContext; + private ObjectAnimator shimmerAnimator; + private final Object lock = new Object(); // Some nice little messages for the user @@ -99,9 +101,11 @@ public class FitnessActivity extends RobotActivity implements RobotLifecycleCall ProgressBar loadingCircle = findViewById(R.id.loadingCircle); 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 shimmerFitnessText = findViewById(R.id.textViewFitnessShortDescription); + shimmerAnimation(shimmerProgressCircle); shimmerAnimation(shimmerFitnessTitle); shimmerAnimation(shimmerFitnessText); @@ -178,6 +182,9 @@ public class FitnessActivity extends RobotActivity implements RobotLifecycleCall ProgressBar loadingCircle = findViewById(R.id.loadingCircle); loadingCircle.setVisibility(View.GONE); + // Stop shimmer animation + stopShimmerAnimation(); + if ( videoView.isPlaying() ) { QiContext qiContext = null; @@ -297,7 +304,7 @@ public class FitnessActivity extends RobotActivity implements RobotLifecycleCall MediaPlayer.create(this, soundId).start(); ObjectAnimator animator = ObjectAnimator.ofFloat(progressCircle, "alpha", 1f, 0f, 1f); - animator.setDuration(500); // Burst duration + animator.setDuration(700); // Burst duration animator.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { @@ -315,10 +322,15 @@ public class FitnessActivity extends RobotActivity implements RobotLifecycleCall ContextCompat.getColor(view.getContext(), R.color.shimmerStartColor), ContextCompat.getColor(view.getContext(), R.color.shimmerEndColor) ); - animator.setDuration(1000); + animator.setDuration(1200); animator.setRepeatCount(ValueAnimator.INFINITE); animator.setRepeatMode(ValueAnimator.REVERSE); animator.start(); } + public void stopShimmerAnimation() { + if (shimmerAnimator != null && shimmerAnimator.isRunning()) { + shimmerAnimator.cancel(); + } + } } \ No newline at end of file diff --git a/code/src/Fitbot/app/src/main/res/values/colors.xml b/code/src/Fitbot/app/src/main/res/values/colors.xml index 2e62d38..459ed59 100644 --- a/code/src/Fitbot/app/src/main/res/values/colors.xml +++ b/code/src/Fitbot/app/src/main/res/values/colors.xml @@ -16,6 +16,6 @@ #000000 #00000000 #EFEFEF - #DDDDDD + #ADADAD From bbb8e3d84cb8bd0f79446d45ac8a4ef905fbedac Mon Sep 17 00:00:00 2001 From: Sam Hos Date: Wed, 5 Jun 2024 14:44:13 +0200 Subject: [PATCH 3/3] disabled animation stuff --- .../fitbot/ui/activities/FitnessActivity.java | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 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 ffa3276..573ffbe 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 @@ -181,16 +181,16 @@ public class FitnessActivity extends RobotActivity implements RobotLifecycleCall if ( videoView.isPlaying() ) { - QiContext qiContext = null; - Animation animationarmraise = AnimationBuilder.with(qiContext) // Create the builder with the context. - .withResources(R.raw.armraise) // Set the animation resource. - .build(); // Build the animation. +// QiContext qiContext = null; +// Animation animationarmraise = AnimationBuilder.with(qiContext) // Create the builder with the context. +// .withResources(R.raw.armraise) // Set the animation resource. +// .build(); // Build the animation. +// +// animate = AnimateBuilder.with(qiContext) // Create the builder with the context. +// .withAnimation(animationarmraise) // Set the animation. +// .build(); // Build the animate action. - animate = AnimateBuilder.with(qiContext) // Create the builder with the context. - .withAnimation(animationarmraise) // Set the animation. - .build(); // Build the animate action. - - Future animateFuture = animate.async().run(); +// Future animateFuture = animate.async().run(); } else {