Merge remote-tracking branch 'origin/main'

This commit is contained in:
Luca Warmenhoven
2024-06-04 16:58:10 +02:00
10 changed files with 157 additions and 146 deletions

View File

@@ -22,6 +22,7 @@
<entry key="..\:/Users/sebas/Documents/HvA/Reposetories/muupooviixee66/code/src/Fitbot/app/src/main/res/drawable-v24/ic_launcher_foreground.xml" value="0.25" /> <entry key="..\:/Users/sebas/Documents/HvA/Reposetories/muupooviixee66/code/src/Fitbot/app/src/main/res/drawable-v24/ic_launcher_foreground.xml" value="0.25" />
<entry key="..\:/Users/sebas/Documents/HvA/Reposetories/muupooviixee66/code/src/Fitbot/app/src/main/res/drawable/big_red_button_gradient.xml" value="0.2555" /> <entry key="..\:/Users/sebas/Documents/HvA/Reposetories/muupooviixee66/code/src/Fitbot/app/src/main/res/drawable/big_red_button_gradient.xml" value="0.2555" />
<entry key="..\:/Users/sebas/Documents/HvA/Reposetories/muupooviixee66/code/src/Fitbot/app/src/main/res/drawable/border_background.xml" value="0.2475" /> <entry key="..\:/Users/sebas/Documents/HvA/Reposetories/muupooviixee66/code/src/Fitbot/app/src/main/res/drawable/border_background.xml" value="0.2475" />
<entry key="..\:/Users/sebas/Documents/HvA/Reposetories/muupooviixee66/code/src/Fitbot/app/src/main/res/drawable/border_background_2.xml" value="0.2475" />
<entry key="..\:/Users/sebas/Documents/HvA/Reposetories/muupooviixee66/code/src/Fitbot/app/src/main/res/drawable/border_background_3.xml" value="0.2475" /> <entry key="..\:/Users/sebas/Documents/HvA/Reposetories/muupooviixee66/code/src/Fitbot/app/src/main/res/drawable/border_background_3.xml" value="0.2475" />
<entry key="..\:/Users/sebas/Documents/HvA/Reposetories/muupooviixee66/code/src/Fitbot/app/src/main/res/drawable/box_background.xml" value="0.2555" /> <entry key="..\:/Users/sebas/Documents/HvA/Reposetories/muupooviixee66/code/src/Fitbot/app/src/main/res/drawable/box_background.xml" value="0.2555" />
<entry key="..\:/Users/sebas/Documents/HvA/Reposetories/muupooviixee66/code/src/Fitbot/app/src/main/res/drawable/darkred_button_gradient.xml" value="0.346" /> <entry key="..\:/Users/sebas/Documents/HvA/Reposetories/muupooviixee66/code/src/Fitbot/app/src/main/res/drawable/darkred_button_gradient.xml" value="0.346" />

View File

@@ -13,6 +13,8 @@ public class EndScreenActivity extends AppCompatActivity {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.activity_end_screen); setContentView(R.layout.activity_end_screen);
NavigationManager.hideSystemUI(this);
NavigationManager.setupButtonNavigation(this, R.id.homeButtonEndScreen, MainActivity.class); NavigationManager.setupButtonNavigation(this, R.id.homeButtonEndScreen, MainActivity.class);
NavigationManager.setupButtonNavigation(this, R.id.startButtonEndScreen, FitnessActivity.class); NavigationManager.setupButtonNavigation(this, R.id.startButtonEndScreen, FitnessActivity.class);
} }

View File

@@ -2,11 +2,14 @@ package com.example.fitbot.ui.activities;
import android.app.Dialog; import android.app.Dialog;
import android.content.Context; import android.content.Context;
import android.content.res.ColorStateList;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.ColorDrawable;
import android.media.MediaPlayer; import android.media.MediaPlayer;
import android.net.Uri; import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import android.util.Log; import android.util.Log;
import android.widget.ProgressBar;
import android.widget.TextView; import android.widget.TextView;
import android.view.View; import android.view.View;
import android.view.WindowManager; import android.view.WindowManager;
@@ -56,7 +59,7 @@ public class FitnessActivity extends RobotActivity implements RobotLifecycleCall
private static final float SENSOR_SAMPLE_RATE = 10.0f; private static final float SENSOR_SAMPLE_RATE = 10.0f;
private static final int EXERCISE_COUNT = 5; private static final int EXERCISE_COUNT = 5;
private static int EXERCISE_REP = 10; private static int EXERCISE_REP = 1;
private static final float EXERCISE_SPEED_MULTIPLIER = 1.0f; private static final float EXERCISE_SPEED_MULTIPLIER = 1.0f;
@Override @Override
@@ -70,6 +73,13 @@ public class FitnessActivity extends RobotActivity implements RobotLifecycleCall
this.exerciseShortDescriptionTextView = findViewById(R.id.textViewFitnessShortDescription); this.exerciseShortDescriptionTextView = findViewById(R.id.textViewFitnessShortDescription);
//this.exerciseDescriptionTextView = findViewById(R.id.textViewDialogDescription); //this.exerciseDescriptionTextView = findViewById(R.id.textViewDialogDescription);
// Set the repetition count for the exercise
EXERCISE_REP = 1;
// Set color of loading circle
ProgressBar loadingCircle = findViewById(R.id.loadingCircle);
loadingCircle.setIndeterminateTintList(ColorStateList.valueOf(Color.RED));
// Navigation Buttons // Navigation Buttons
NavigationManager.setupButtonNavigation(this, R.id.homeButtonFitness, MainActivity.class); NavigationManager.setupButtonNavigation(this, R.id.homeButtonFitness, MainActivity.class);
NavigationManager.setupButtonNavigation(this, R.id.skipButtonFitness, MainActivity.class); //Needs to skip exercises once those are implemented NavigationManager.setupButtonNavigation(this, R.id.skipButtonFitness, MainActivity.class); //Needs to skip exercises once those are implemented
@@ -129,7 +139,7 @@ public class FitnessActivity extends RobotActivity implements RobotLifecycleCall
public void fetchExerciseAsync(Exercise.ExerciseFetchHandler onSuccessfulFetch, Exercise.ExerciseFetchHandler onFailedFetch) { public void fetchExerciseAsync(Exercise.ExerciseFetchHandler onSuccessfulFetch, Exercise.ExerciseFetchHandler onFailedFetch) {
// For some stupid reason we cannot perform network operations on the main thread. // For some stupid reason we cannot perform network operations on the main thread.
// therefore we'll have to do it like this... // therefore we'll have to do it like this...
(new Thread(() -> { new Thread(() -> {
Exercise exercise = ExerciseManager.fetchExerciseFromDatabase(); Exercise exercise = ExerciseManager.fetchExerciseFromDatabase();
if (exercise == null) { if (exercise == null) {
onFailedFetch.handle(null); onFailedFetch.handle(null);
@@ -145,19 +155,28 @@ public class FitnessActivity extends RobotActivity implements RobotLifecycleCall
VideoView videoView = findViewById(R.id.videoView); VideoView videoView = findViewById(R.id.videoView);
playVideo(videoView, this); playVideo(videoView, this);
// Set a listener to repeat the video // When the video has started playing remove the loading circle
while (EXERCISE_REP > 1) { videoView.setOnInfoListener((mp, what, extra) -> {
if (what == MediaPlayer.MEDIA_INFO_VIDEO_RENDERING_START) {
ProgressBar loadingCircle = findViewById(R.id.loadingCircle);
loadingCircle.setVisibility(View.GONE);
return true;
}
return false;
});
videoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { videoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override @Override
public void onCompletion(MediaPlayer mp) { public void onCompletion(MediaPlayer mp) {
if (EXERCISE_REP < EXERCISE_COUNT) {
videoView.start(); // start the video again videoView.start(); // start the video again
EXERCISE_REP++;
}
} }
}); });
EXERCISE_REP--;
}
}); });
} }
})).start(); }).start();
} }
/** /**
@@ -166,7 +185,7 @@ public class FitnessActivity extends RobotActivity implements RobotLifecycleCall
* @param videoView The VideoView to play the video in * @param videoView The VideoView to play the video in
* @param context The context to use * @param context The context to use
*/ */
public static void playVideo(VideoView videoView, Context context) { public void playVideo(VideoView videoView, Context context) {
// Set up the video player // Set up the video player
if (videoView != null) { if (videoView != null) {
videoView.setVideoPath(exerciseVideoUrl); videoView.setVideoPath(exerciseVideoUrl);

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"> <shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/lightBlue" /> <solid android:color="@color/lightBlue" />
<stroke android:width="2dp" android:color="#FF0000" /> <stroke android:width="2dp" android:color="#FFFFFF" />
<corners android:radius="20dp" /> <corners android:radius="20dp" />
</shape> </shape>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"> <shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/midBlue" /> <solid android:color="@color/midBlue" />
<stroke android:width="2dp" android:color="#FF0000" /> <stroke android:width="2dp" android:color="#FFFFFF" />
<corners android:radius="10dp" /> <corners android:radius="10dp" />
</shape> </shape>

View File

@@ -12,7 +12,7 @@
android:layout_height="450dp" android:layout_height="450dp"
android:layout_marginStart="80dp" android:layout_marginStart="80dp"
android:layout_marginTop="24dp" android:layout_marginTop="24dp"
android:background="@drawable/border_background_2" android:background="@drawable/border_background"
android:orientation="vertical" android:orientation="vertical"
android:padding="16dp" android:padding="16dp"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
@@ -24,7 +24,7 @@
android:layout_gravity="center" android:layout_gravity="center"
android:layout_marginTop="20dp" android:layout_marginTop="20dp"
android:layout_marginBottom="40dp" android:layout_marginBottom="40dp"
android:background="@drawable/border_background" android:background="@drawable/border_background_3"
android:orientation="vertical" android:orientation="vertical"
android:paddingVertical="15dp" android:paddingVertical="15dp"
android:paddingHorizontal="20dp" android:paddingHorizontal="20dp"
@@ -40,11 +40,11 @@
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:layout_width="700dp" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center" android:layout_gravity="center"
android:layout_marginTop="10dp" android:layout_marginTop="10dp"
android:background="@drawable/border_background" android:background="@drawable/border_background_3"
android:orientation="vertical" android:orientation="vertical"
android:padding="16dp" android:padding="16dp"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
@@ -60,11 +60,11 @@
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:layout_width="700dp" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center" android:layout_gravity="center"
android:layout_marginTop="10dp" android:layout_marginTop="10dp"
android:background="@drawable/border_background" android:background="@drawable/border_background_3"
android:orientation="vertical" android:orientation="vertical"
android:padding="16dp" android:padding="16dp"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"

View File

@@ -11,69 +11,64 @@
tools:openDrawer="start"> tools:openDrawer="start">
<LinearLayout <LinearLayout
android:layout_width="wrap_content" android:layout_width="450dp"
android:layout_height="wrap_content" android:layout_height="450dp"
android:layout_gravity="center" android:layout_gravity="center"
android:layout_marginStart="20dp"
android:layout_marginTop="20dp" android:layout_marginTop="20dp"
android:background="@drawable/border_background_2"
android:orientation="horizontal"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.505"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"> app:layout_constraintTop_toTopOf="parent">
<RelativeLayout
android:layout_width="410dp"
android:layout_height="410dp"
android:layout_marginVertical="20dp"
android:layout_marginLeft="30dp"
android:layout_marginRight="15dp"
android:background="@drawable/border_background"
android:layout_gravity="center">
<Button
android:id="@+id/infoButtonFitness"
android:layout_width="45dp"
android:layout_height="45dp"
android:background="@drawable/red_button_gradient"
android:drawableTop="@drawable/ic_baseline_info_40"
android:drawableTint="@color/white"
android:padding="2.5dp"
android:layout_margin="10dp"
tools:ignore="SpeakableTextPresentCheck" />
<android.support.v7.widget.CardView <android.support.v7.widget.CardView
xmlns:card_view="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent"
android:layout_width="300dp" android:layout_height="match_parent"
android:layout_height="300dp"
android:layout_centerInParent="true" android:layout_centerInParent="true"
android:layout_marginStart="50dp" app:cardCornerRadius="20dp">
android:layout_marginTop="50dp"
android:layout_marginEnd="50dp"
android:layout_marginBottom="50dp"
card_view:cardCornerRadius="30dp">
<VideoView <VideoView
android:id="@+id/videoView" android:id="@+id/videoView"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" /> android:layout_height="match_parent" />
</android.support.v7.widget.CardView> <RelativeLayout
android:id="@+id/loadingPanel"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center" >
<ProgressBar
android:id="@+id/loadingCircle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:indeterminate="true"
android:progressTint="@color/white"/>
</RelativeLayout> </RelativeLayout>
<Button
android:id="@+id/infoButtonFitness"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:background="@drawable/red_button_gradient"
android:drawableTop="@drawable/ic_baseline_info_40"
android:drawableTint="@color/white"
android:padding="5dp"
tools:ignore="SpeakableTextPresentCheck" />
</android.support.v7.widget.CardView>
</LinearLayout>
<LinearLayout <LinearLayout
android:layout_width="410dp" android:layout_width="450dp"
android:layout_height="410dp" android:layout_height="450dp"
android:layout_gravity="center" android:layout_marginTop="20dp"
android:layout_marginVertical="20dp" android:layout_marginEnd="20dp"
android:layout_marginLeft="15dp"
android:layout_marginRight="30dp"
android:padding="10dp"
android:background="@drawable/border_background" android:background="@drawable/border_background"
android:orientation="vertical" android:orientation="vertical"
android:padding="20dp"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"> app:layout_constraintTop_toTopOf="parent">
<TextView <TextView
@@ -81,17 +76,17 @@
style="@style/TextStyleTitle" style="@style/TextStyleTitle"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="@string/title" android:text="@string/title"
android:textAlignment="center" android:textAlignment="center" />
android:layout_gravity="center_horizontal" />
<LinearLayout <LinearLayout
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_margin="10dp"
android:background="@drawable/border_background_3" android:background="@drawable/border_background_3"
android:padding="5dp" android:padding="5dp">
android:layout_margin="5dp"
android:layout_gravity="center_horizontal">
<TextView <TextView
android:id="@+id/textViewFitnessShortDescription" android:id="@+id/textViewFitnessShortDescription"
@@ -105,13 +100,13 @@
<LinearLayout <LinearLayout
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_margin="10dp"
android:background="@drawable/border_background_3" android:background="@drawable/border_background_3"
android:padding="5dp" android:padding="5dp">
android:layout_margin="5dp"
android:layout_gravity="center_horizontal">
<TextView <TextView
android:id="@+id/textViewFitnessBar" android:id="@+id/textViewFitnessReps"
style="@style/TextStyle" style="@style/TextStyle"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
@@ -122,10 +117,10 @@
<LinearLayout <LinearLayout
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_margin="10dp"
android:background="@drawable/border_background_3" android:background="@drawable/border_background_3"
android:padding="5dp" android:padding="5dp">
android:layout_margin="5dp"
android:layout_gravity="center_horizontal">
<TextView <TextView
android:id="@+id/textViewFitnessScore" android:id="@+id/textViewFitnessScore"
@@ -136,7 +131,10 @@
android:textAlignment="center" /> android:textAlignment="center" />
</LinearLayout> </LinearLayout>
</LinearLayout> <com.example.fitbot.ui.components.ExerciseStatusElement
android:id="@+id/personalMotionPreviewElement"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout> </LinearLayout>
@@ -144,7 +142,7 @@
android:id="@+id/homeButtonFitness" android:id="@+id/homeButtonFitness"
android:layout_width="150dp" android:layout_width="150dp"
android:layout_height="75dp" android:layout_height="75dp"
android:layout_marginStart="200dp" android:layout_marginStart="175dp"
android:layout_marginBottom="30dp" android:layout_marginBottom="30dp"
android:background="@drawable/red_button_gradient" android:background="@drawable/red_button_gradient"
android:drawableTop="@drawable/ic_baseline_home_48" android:drawableTop="@drawable/ic_baseline_home_48"
@@ -158,7 +156,7 @@
android:id="@+id/skipButtonFitness" android:id="@+id/skipButtonFitness"
android:layout_width="150dp" android:layout_width="150dp"
android:layout_height="75dp" android:layout_height="75dp"
android:layout_marginEnd="200dp" android:layout_marginEnd="175dp"
android:layout_marginBottom="30dp" android:layout_marginBottom="30dp"
android:background="@drawable/red_button_gradient" android:background="@drawable/red_button_gradient"
android:drawableTop="@drawable/ic_baseline_skip_next_48" android:drawableTop="@drawable/ic_baseline_skip_next_48"
@@ -168,13 +166,4 @@
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
tools:ignore="SpeakableTextPresentCheck" /> tools:ignore="SpeakableTextPresentCheck" />
<com.example.fitbot.ui.components.ExerciseStatusElement
android:id="@+id/personalMotionPreviewElement"
android:layout_width="10dp"
android:layout_height="10dp"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout> </android.support.constraint.ConstraintLayout>

View File

@@ -28,7 +28,7 @@
android:layout_height="450dp" android:layout_height="450dp"
android:layout_marginStart="80dp" android:layout_marginStart="80dp"
android:layout_marginTop="24dp" android:layout_marginTop="24dp"
android:background="@drawable/border_background_2" android:background="@drawable/border_background"
android:orientation="vertical" android:orientation="vertical"
android:padding="16dp" android:padding="16dp"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
@@ -40,10 +40,9 @@
android:layout_gravity="center" android:layout_gravity="center"
android:layout_marginTop="20dp" android:layout_marginTop="20dp"
android:layout_marginBottom="40dp" android:layout_marginBottom="40dp"
android:background="@drawable/border_background" android:padding="16dp"
android:background="@drawable/border_background_3"
android:orientation="vertical" android:orientation="vertical"
android:paddingVertical="15dp"
android:paddingHorizontal="20dp"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"> app:layout_constraintTop_toTopOf="parent">
@@ -56,11 +55,11 @@
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:layout_width="700dp" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center" android:layout_gravity="center"
android:layout_marginTop="10dp" android:layout_marginTop="10dp"
android:background="@drawable/border_background" android:background="@drawable/border_background_3"
android:orientation="vertical" android:orientation="vertical"
android:padding="16dp" android:padding="16dp"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
@@ -76,11 +75,11 @@
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:layout_width="700dp" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center" android:layout_gravity="center"
android:layout_marginTop="10dp" android:layout_marginTop="10dp"
android:background="@drawable/border_background" android:background="@drawable/border_background_3"
android:orientation="vertical" android:orientation="vertical"
android:padding="16dp" android:padding="16dp"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"

View File

@@ -15,6 +15,7 @@
android:layout_marginStart="10dp" android:layout_marginStart="10dp"
android:layout_marginTop="20dp" android:layout_marginTop="20dp"
android:src="@drawable/robot_logo" android:src="@drawable/robot_logo"
android:tint="@color/white"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
@@ -24,7 +25,7 @@
android:layout_marginTop="60dp" android:layout_marginTop="60dp"
android:text="FitBot" android:text="FitBot"
android:textSize="48sp" android:textSize="48sp"
android:textColor="@color/darkBlue" android:textColor="@color/white"
app:layout_constraintStart_toEndOf="@+id/imageView" app:layout_constraintStart_toEndOf="@+id/imageView"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />

View File

@@ -26,7 +26,7 @@
</style> </style>
<style name="TextStyleDesc"> <style name="TextStyleDesc">
<item name="android:textSize">14sp</item> <item name="android:textSize">20sp</item>
<item name="android:textColor">#FFFFFF</item> <item name="android:textColor">#FFFFFF</item>
<item name= "android:textStyle">bold</item> <item name= "android:textStyle">bold</item>
<item name="android:padding">6dp</item> <item name="android:padding">6dp</item>