diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 057fce9..22bfcea 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -14,8 +14,10 @@
-
-
+
+
+
+
@@ -25,7 +27,7 @@
-
+
@@ -65,6 +67,13 @@
+
+
+
+
@@ -73,18 +82,19 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -99,40 +109,19 @@
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
@@ -145,9 +134,7 @@
-
-
-
+
@@ -160,6 +147,9 @@
1713352368380
+
+
+ 1713528225837
@@ -189,7 +179,31 @@
1713533683504
-
+
+
+ 1713819918258
+
+
+
+ 1713819918258
+
+
+
+ 1713858137734
+
+
+
+ 1713858137734
+
+
+
+ 1713858768333
+
+
+
+ 1713858768333
+
+
@@ -205,13 +219,16 @@
-
-
+
+
+
+
+
\ No newline at end of file
diff --git a/code/src/.idea/.name b/code/src/.idea/.name
deleted file mode 100644
index 9a7766c..0000000
--- a/code/src/.idea/.name
+++ /dev/null
@@ -1 +0,0 @@
-Fitbot
\ No newline at end of file
diff --git a/code/src/.idea/encodings.xml b/code/src/.idea/encodings.xml
deleted file mode 100644
index 15a15b2..0000000
--- a/code/src/.idea/encodings.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/code/src/.idea/misc.xml b/code/src/.idea/misc.xml
deleted file mode 100644
index b691e65..0000000
--- a/code/src/.idea/misc.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/code/src/.gitignore b/code/src/Fitbot/.gitignore
similarity index 100%
rename from code/src/.gitignore
rename to code/src/Fitbot/.gitignore
diff --git a/code/src/Fitbot/.idea/.gitignore b/code/src/Fitbot/.idea/.gitignore
new file mode 100644
index 0000000..26d3352
--- /dev/null
+++ b/code/src/Fitbot/.idea/.gitignore
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/code/src/.idea/compiler.xml b/code/src/Fitbot/.idea/compiler.xml
similarity index 100%
rename from code/src/.idea/compiler.xml
rename to code/src/Fitbot/.idea/compiler.xml
diff --git a/code/src/Fitbot/.idea/deploymentTargetDropDown.xml b/code/src/Fitbot/.idea/deploymentTargetDropDown.xml
new file mode 100644
index 0000000..a5abdd5
--- /dev/null
+++ b/code/src/Fitbot/.idea/deploymentTargetDropDown.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/code/src/.idea/gradle.xml b/code/src/Fitbot/.idea/gradle.xml
similarity index 100%
rename from code/src/.idea/gradle.xml
rename to code/src/Fitbot/.idea/gradle.xml
diff --git a/code/src/Fitbot/.idea/misc.xml b/code/src/Fitbot/.idea/misc.xml
new file mode 100644
index 0000000..42e8983
--- /dev/null
+++ b/code/src/Fitbot/.idea/misc.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/code/src/.idea/vcs.xml b/code/src/Fitbot/.idea/vcs.xml
similarity index 53%
rename from code/src/.idea/vcs.xml
rename to code/src/Fitbot/.idea/vcs.xml
index 64713b8..c2365ab 100644
--- a/code/src/.idea/vcs.xml
+++ b/code/src/Fitbot/.idea/vcs.xml
@@ -1,7 +1,6 @@
-
-
+
\ No newline at end of file
diff --git a/code/src/app/.gitignore b/code/src/Fitbot/app/.gitignore
similarity index 100%
rename from code/src/app/.gitignore
rename to code/src/Fitbot/app/.gitignore
diff --git a/fitbot/build.gradle b/code/src/Fitbot/app/build.gradle
similarity index 62%
rename from fitbot/build.gradle
rename to code/src/Fitbot/app/build.gradle
index d2bf7a6..23c5f19 100644
--- a/fitbot/build.gradle
+++ b/code/src/Fitbot/app/build.gradle
@@ -1,16 +1,18 @@
plugins {
- id 'com.android.library'
+ id 'com.android.application'
}
android {
- compileSdk 34
+ compileSdk 29
defaultConfig {
- minSdk 21
- targetSdk 34
+ applicationId "com.example.fitbot"
+ minSdk 23
+ targetSdk 29
+ versionCode 1
+ versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
- consumerProguardFiles "consumer-rules.pro"
}
buildTypes {
@@ -23,12 +25,17 @@ android {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
+ buildToolsVersion '29.0.3'
}
dependencies {
implementation 'com.android.support:appcompat-v7:28.0.0'
+ implementation 'com.android.support.constraint:constraint-layout:2.0.4'
+ implementation 'com.android.support:cardview-v7:28.0.0'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
+ implementation 'com.aldebaran:qisdk:1.7.5'
+ implementation 'com.aldebaran:qisdk-design:1.7.5'
}
\ No newline at end of file
diff --git a/code/src/app/proguard-rules.pro b/code/src/Fitbot/app/proguard-rules.pro
similarity index 100%
rename from code/src/app/proguard-rules.pro
rename to code/src/Fitbot/app/proguard-rules.pro
diff --git a/fitbot/src/androidTest/java/com/fitbot/ExampleInstrumentedTest.java b/code/src/Fitbot/app/src/androidTest/java/com/example/fitbot/ExampleInstrumentedTest.java
similarity index 86%
rename from fitbot/src/androidTest/java/com/fitbot/ExampleInstrumentedTest.java
rename to code/src/Fitbot/app/src/androidTest/java/com/example/fitbot/ExampleInstrumentedTest.java
index ed5b5a2..ca533dc 100644
--- a/fitbot/src/androidTest/java/com/fitbot/ExampleInstrumentedTest.java
+++ b/code/src/Fitbot/app/src/androidTest/java/com/example/fitbot/ExampleInstrumentedTest.java
@@ -1,4 +1,4 @@
-package com.fitbot;
+package com.example.fitbot;
import android.content.Context;
import android.support.test.InstrumentationRegistry;
@@ -20,6 +20,6 @@ public class ExampleInstrumentedTest {
public void useAppContext() {
// Context of the app under test.
Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
- assertEquals("com.fitbot.test", appContext.getPackageName());
+ assertEquals("com.example.fitbot", appContext.getPackageName());
}
}
\ No newline at end of file
diff --git a/code/src/Fitbot/app/src/main/AndroidManifest.xml b/code/src/Fitbot/app/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..7a1dc0f
--- /dev/null
+++ b/code/src/Fitbot/app/src/main/AndroidManifest.xml
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/code/src/app/src/main/assets/robot/robotsdk.xml b/code/src/Fitbot/app/src/main/assets/robot/robotsdk.xml
similarity index 100%
rename from code/src/app/src/main/assets/robot/robotsdk.xml
rename to code/src/Fitbot/app/src/main/assets/robot/robotsdk.xml
diff --git a/code/src/Fitbot/app/src/main/java/com/example/fitbot/BicepVideo.java b/code/src/Fitbot/app/src/main/java/com/example/fitbot/BicepVideo.java
new file mode 100644
index 0000000..3016b0a
--- /dev/null
+++ b/code/src/Fitbot/app/src/main/java/com/example/fitbot/BicepVideo.java
@@ -0,0 +1,59 @@
+package com.example.fitbot;
+
+import android.content.Intent;
+import android.net.Uri;
+import android.os.Bundle;
+import android.support.v7.app.AppCompatActivity;
+import android.widget.Button;
+import android.widget.MediaController;
+import android.widget.VideoView;
+
+import com.aldebaran.qi.sdk.QiContext;
+import com.aldebaran.qi.sdk.builder.AnimateBuilder;
+import com.aldebaran.qi.sdk.builder.AnimationBuilder;
+import com.aldebaran.qi.sdk.object.actuation.Animate;
+import com.aldebaran.qi.sdk.object.actuation.Animation;
+
+public class BicepVideo extends AppCompatActivity {
+
+// private QiContext qiContext;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_bicepvideo);
+ setupButtons();
+ }
+
+ public void Video(QiContext qiContext) {
+ VideoView videoView = findViewById(R.id.videoView);
+ videoView.setVideoURI(Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.bicepvideo));
+
+ MediaController mediaController = new MediaController(this);
+ videoView.setMediaController(mediaController);
+ videoView.setOnCompletionListener(mp -> videoView.start());
+ videoView.start();
+
+ Animation animation = AnimationBuilder.with(qiContext)
+ .withResources(R.raw.bicepcurl)
+ .build();
+
+ Animate animate = AnimateBuilder.with(qiContext)
+ .withAnimation(animation)
+ .build();
+
+
+ animate.async().run();
+
+ }
+ private void setupButtons() {
+ Button backButton = findViewById(R.id.buttonback);
+ backButton.setOnClickListener(v -> finish());
+
+ Button completeButton = findViewById(R.id.buttoncomplete);
+ completeButton.setOnClickListener(v -> {
+ Intent intent = new Intent(BicepVideo.this, Completion_Screen.class);
+ startActivity(intent);
+ });
+ }
+}
\ No newline at end of file
diff --git a/code/src/Fitbot/app/src/main/java/com/example/fitbot/Completion_Screen.java b/code/src/Fitbot/app/src/main/java/com/example/fitbot/Completion_Screen.java
new file mode 100644
index 0000000..092c65a
--- /dev/null
+++ b/code/src/Fitbot/app/src/main/java/com/example/fitbot/Completion_Screen.java
@@ -0,0 +1,13 @@
+package com.example.fitbot;
+
+import android.support.v7.app.AppCompatActivity;
+import android.os.Bundle;
+
+public class Completion_Screen extends AppCompatActivity {
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_completion_screen);
+ }
+}
\ No newline at end of file
diff --git a/code/src/Fitbot/app/src/main/java/com/example/fitbot/MainActivity.java b/code/src/Fitbot/app/src/main/java/com/example/fitbot/MainActivity.java
new file mode 100644
index 0000000..6ada06e
--- /dev/null
+++ b/code/src/Fitbot/app/src/main/java/com/example/fitbot/MainActivity.java
@@ -0,0 +1,79 @@
+package com.example.fitbot;
+
+import android.content.Intent;
+import android.support.v7.app.AppCompatActivity;
+import android.os.Bundle;
+
+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.builder.SayBuilder;
+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.aldebaran.qi.sdk.object.conversation.Phrase;
+import com.aldebaran.qi.sdk.object.conversation.Say;
+
+
+public class MainActivity extends RobotActivity implements RobotLifecycleCallbacks {
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ // Register the RobotLifecycleCallbacks to this Activity.
+ QiSDK.register(this, this);
+ }
+
+ @Override
+ protected void onDestroy() {
+ // Unregister the RobotLifecycleCallbacks for this Activity.
+ QiSDK.unregister(this, this);
+ super.onDestroy();
+ }
+
+ @Override
+ public void onRobotFocusGained(QiContext qiContext) {
+ // Create a new say action.
+ Say say = SayBuilder.with(qiContext) // Create the builder with the context.
+ .withText("Hallo hoe gaat het?") // Set the text to say.
+ .build(); // Build the say action.
+
+ Phrase namePhrase = new Phrase("This location is " + locationName);
+ Say sayName = SayBuilder.with(qiContext)
+ .withPhrase(namePhrase)
+ .withLocale(locale)
+ .build();
+
+ Phrase descriptionPhrase = new Phrase(locationDescription);
+ Say sayDescription = SayBuilder.with(qiContext)
+ .withPhrase(descriptionPhrase)
+ .withLocale(locale)
+ .build();
+
+ sayName.run();
+ sayDescription.run();
+
+ // Create a new BicepVideo with the qiContext
+ bicepvideo BicepVideo = new bicepvideo();
+
+ // Call the videoPlayer method
+ BicepVideo.Video(qiContext);
+
+ // Execute the action.
+ say.run();
+ }
+
+
+ @Override
+ public void onRobotFocusLost() {
+ // Nothing here.
+ }
+
+ @Override
+ public void onRobotFocusRefused(String reason) {
+ // The robot focus is refused.
+ }
+}
\ No newline at end of file
diff --git a/code/src/Fitbot/app/src/main/java/com/example/fitbot/MainScreen.java b/code/src/Fitbot/app/src/main/java/com/example/fitbot/MainScreen.java
new file mode 100644
index 0000000..6762be8
--- /dev/null
+++ b/code/src/Fitbot/app/src/main/java/com/example/fitbot/MainScreen.java
@@ -0,0 +1,22 @@
+package com.example.fitbot;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.support.v7.app.AppCompatActivity;
+import android.widget.Button;
+
+public class MainScreen extends AppCompatActivity {
+ Button button;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_main_screen);
+
+ button = findViewById(R.id.open_BicepVideo);
+ button.setOnClickListener(v -> {
+ Intent i = new Intent(MainScreen.this, BicepVideo.class);
+ startActivity(i);
+ });
+ }
+}
\ No newline at end of file
diff --git a/code/src/Fitbot/app/src/main/java/com/example/fitbot/speech/SpeechGenerator.java b/code/src/Fitbot/app/src/main/java/com/example/fitbot/speech/SpeechGenerator.java
new file mode 100644
index 0000000..61c265a
--- /dev/null
+++ b/code/src/Fitbot/app/src/main/java/com/example/fitbot/speech/SpeechGenerator.java
@@ -0,0 +1,35 @@
+package com.example.fitbot.speech;
+
+import com.aldebaran.qi.sdk.QiContext;
+import com.aldebaran.qi.sdk.builder.SayBuilder;
+import com.aldebaran.qi.sdk.object.locale.Language;
+import com.aldebaran.qi.sdk.object.locale.Locale;
+import com.aldebaran.qi.sdk.object.locale.Region;
+
+public class SpeechGenerator {
+
+ private static final Locale DUTCH_LOCALE = new Locale(Language.DUTCH, Region.NETHERLANDS);
+ private SayBuilder builder;
+
+ /**
+ * Function for making the robot say something with DUTCH_LOCALE as locale
+ * @param phrase The phrase to make the robot say
+ * @param ctx The QiContext to use
+ */
+ public static void say(String phrase, QiContext ctx)
+ {
+ say(phrase, ctx, DUTCH_LOCALE);
+ }
+
+
+
+ public static void say(String text, QiContext ctx, Locale locale)
+ {
+ SayBuilder.with(ctx)
+ .withLocale(locale)
+ .withText(text)
+ .build()
+ .run();
+ }
+
+}
diff --git a/code/src/Fitbot/app/src/main/java/com/example/fitbot/sports/ESportType.java b/code/src/Fitbot/app/src/main/java/com/example/fitbot/sports/ESportType.java
new file mode 100644
index 0000000..4ea7606
--- /dev/null
+++ b/code/src/Fitbot/app/src/main/java/com/example/fitbot/sports/ESportType.java
@@ -0,0 +1,18 @@
+package com.example.fitbot.sports;
+
+public enum ESportType {
+
+ FITNESS("Fitness"),
+ POWER("Krachttrening");
+
+ private final String name;
+
+ ESportType(String name) {
+ this.name = name;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+}
diff --git a/code/src/Fitbot/app/src/main/java/com/example/fitbot/ui/SportItemActivity.java b/code/src/Fitbot/app/src/main/java/com/example/fitbot/ui/SportItemActivity.java
new file mode 100644
index 0000000..481605d
--- /dev/null
+++ b/code/src/Fitbot/app/src/main/java/com/example/fitbot/ui/SportItemActivity.java
@@ -0,0 +1,21 @@
+package com.example.fitbot.ui;
+
+import android.os.Bundle;
+import android.support.v7.app.AppCompatActivity;
+
+import com.example.fitbot.R;
+
+public class SportItemActivity extends AppCompatActivity {
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_sport_item);
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ }
+
+}
diff --git a/code/src/Fitbot/app/src/main/java/com/example/fitbot/ui/SportMenuActivity.java b/code/src/Fitbot/app/src/main/java/com/example/fitbot/ui/SportMenuActivity.java
new file mode 100644
index 0000000..d6d060a
--- /dev/null
+++ b/code/src/Fitbot/app/src/main/java/com/example/fitbot/ui/SportMenuActivity.java
@@ -0,0 +1,22 @@
+package com.example.fitbot.ui;
+
+import android.os.Bundle;
+import android.support.v7.app.AppCompatActivity;
+
+import com.example.fitbot.R;
+
+
+public class SportMenuActivity extends AppCompatActivity {
+
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_sport_menu);
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ }
+}
\ No newline at end of file
diff --git a/code/src/Fitbot/app/src/main/java/com/example/fitbot/ui/SportMenuItem.java b/code/src/Fitbot/app/src/main/java/com/example/fitbot/ui/SportMenuItem.java
new file mode 100644
index 0000000..1d6f394
--- /dev/null
+++ b/code/src/Fitbot/app/src/main/java/com/example/fitbot/ui/SportMenuItem.java
@@ -0,0 +1,45 @@
+package com.example.fitbot.ui;
+
+import android.content.Context;
+import android.content.Intent;
+import android.graphics.Bitmap;
+import android.graphics.Canvas;
+import android.graphics.Paint;
+import android.graphics.Rect;
+import android.view.View;
+
+import com.example.fitbot.sports.ESportType;
+
+public class SportMenuItem extends View {
+
+ private Paint backgroundPaint, textPaint;
+ private String title, description;
+ private Bitmap imageResource;
+ private Rect imageRect, elementRect;
+ private ESportType type;
+
+ public SportMenuItem(Context context, ESportType type, String title, String description, Bitmap backgroundImage) {
+ super(context);
+ this.title = title;
+ this.description = description;
+ this.imageResource = backgroundImage;
+ this.imageRect = new Rect(0, 0, this.imageResource.getWidth(), this.imageResource.getHeight());
+ this.elementRect = new Rect(0, 0, this.getWidth(), this.getHeight());
+ this.type = type;
+ this.backgroundPaint = new Paint();
+ this.textPaint = new Paint();
+ this.textPaint.setTextAlign(Paint.Align.CENTER);
+ this.backgroundPaint.setColor(0xFFF0F0F0);
+ this.textPaint.setColor(0xFF000000);
+
+ this.setOnClickListener(v -> context.startActivity(new Intent(context, SportItemActivity.class)));
+ }
+
+ @Override
+ protected void onDraw(Canvas canvas) {
+ super.onDraw(canvas);
+ canvas.drawBitmap(this.imageResource, this.imageRect, this.elementRect, null);
+ canvas.drawRoundRect(0, 0, getWidth(), getHeight(), 10, 10, backgroundPaint);
+ canvas.drawText(title, getWidth() / 2.0f, this.textPaint.getFontMetrics().top, textPaint);
+ }
+}
diff --git a/code/src/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/code/src/Fitbot/app/src/main/res/drawable-v24/ic_launcher_foreground.xml
similarity index 100%
rename from code/src/app/src/main/res/drawable-v24/ic_launcher_foreground.xml
rename to code/src/Fitbot/app/src/main/res/drawable-v24/ic_launcher_foreground.xml
diff --git a/code/src/app/src/main/res/drawable/ic_launcher_background.xml b/code/src/Fitbot/app/src/main/res/drawable/ic_launcher_background.xml
similarity index 100%
rename from code/src/app/src/main/res/drawable/ic_launcher_background.xml
rename to code/src/Fitbot/app/src/main/res/drawable/ic_launcher_background.xml
diff --git a/code/src/Fitbot/app/src/main/res/layout/activity_bicepvideo.xml b/code/src/Fitbot/app/src/main/res/layout/activity_bicepvideo.xml
new file mode 100644
index 0000000..b866143
--- /dev/null
+++ b/code/src/Fitbot/app/src/main/res/layout/activity_bicepvideo.xml
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/code/src/Fitbot/app/src/main/res/layout/activity_completion_screen.xml b/code/src/Fitbot/app/src/main/res/layout/activity_completion_screen.xml
new file mode 100644
index 0000000..71fa72b
--- /dev/null
+++ b/code/src/Fitbot/app/src/main/res/layout/activity_completion_screen.xml
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/code/src/Fitbot/app/src/main/res/layout/activity_main.xml b/code/src/Fitbot/app/src/main/res/layout/activity_main.xml
new file mode 100644
index 0000000..8cebf92
--- /dev/null
+++ b/code/src/Fitbot/app/src/main/res/layout/activity_main.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/code/src/Fitbot/app/src/main/res/layout/activity_main_screen.xml b/code/src/Fitbot/app/src/main/res/layout/activity_main_screen.xml
new file mode 100644
index 0000000..1ac4230
--- /dev/null
+++ b/code/src/Fitbot/app/src/main/res/layout/activity_main_screen.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/code/src/Fitbot/app/src/main/res/layout/activity_sport_item.xml b/code/src/Fitbot/app/src/main/res/layout/activity_sport_item.xml
new file mode 100644
index 0000000..ae843ab
--- /dev/null
+++ b/code/src/Fitbot/app/src/main/res/layout/activity_sport_item.xml
@@ -0,0 +1,6 @@
+
+
+
+
\ No newline at end of file
diff --git a/code/src/Fitbot/app/src/main/res/layout/activity_sport_menu.xml b/code/src/Fitbot/app/src/main/res/layout/activity_sport_menu.xml
new file mode 100644
index 0000000..7a2e72b
--- /dev/null
+++ b/code/src/Fitbot/app/src/main/res/layout/activity_sport_menu.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/code/src/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/code/src/Fitbot/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
similarity index 100%
rename from code/src/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
rename to code/src/Fitbot/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
diff --git a/code/src/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/code/src/Fitbot/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
similarity index 100%
rename from code/src/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
rename to code/src/Fitbot/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
diff --git a/code/src/app/src/main/res/mipmap-hdpi/ic_launcher.webp b/code/src/Fitbot/app/src/main/res/mipmap-hdpi/ic_launcher.webp
similarity index 100%
rename from code/src/app/src/main/res/mipmap-hdpi/ic_launcher.webp
rename to code/src/Fitbot/app/src/main/res/mipmap-hdpi/ic_launcher.webp
diff --git a/code/src/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/code/src/Fitbot/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
similarity index 100%
rename from code/src/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
rename to code/src/Fitbot/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
diff --git a/code/src/app/src/main/res/mipmap-mdpi/ic_launcher.webp b/code/src/Fitbot/app/src/main/res/mipmap-mdpi/ic_launcher.webp
similarity index 100%
rename from code/src/app/src/main/res/mipmap-mdpi/ic_launcher.webp
rename to code/src/Fitbot/app/src/main/res/mipmap-mdpi/ic_launcher.webp
diff --git a/code/src/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/code/src/Fitbot/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
similarity index 100%
rename from code/src/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
rename to code/src/Fitbot/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
diff --git a/code/src/app/src/main/res/mipmap-xhdpi/ic_launcher.webp b/code/src/Fitbot/app/src/main/res/mipmap-xhdpi/ic_launcher.webp
similarity index 100%
rename from code/src/app/src/main/res/mipmap-xhdpi/ic_launcher.webp
rename to code/src/Fitbot/app/src/main/res/mipmap-xhdpi/ic_launcher.webp
diff --git a/code/src/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/code/src/Fitbot/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
similarity index 100%
rename from code/src/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
rename to code/src/Fitbot/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
diff --git a/code/src/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/code/src/Fitbot/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
similarity index 100%
rename from code/src/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
rename to code/src/Fitbot/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
diff --git a/code/src/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/code/src/Fitbot/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
similarity index 100%
rename from code/src/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
rename to code/src/Fitbot/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
diff --git a/code/src/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/code/src/Fitbot/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
similarity index 100%
rename from code/src/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
rename to code/src/Fitbot/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
diff --git a/code/src/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp b/code/src/Fitbot/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
similarity index 100%
rename from code/src/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
rename to code/src/Fitbot/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
diff --git a/code/src/Fitbot/app/src/main/res/raw/bicepcurl.qianim b/code/src/Fitbot/app/src/main/res/raw/bicepcurl.qianim
new file mode 100644
index 0000000..b116cd5
--- /dev/null
+++ b/code/src/Fitbot/app/src/main/res/raw/bicepcurl.qianim
@@ -0,0 +1,244 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/src/Fitbot/app/src/main/res/raw/bicepvideo.mp4 b/code/src/Fitbot/app/src/main/res/raw/bicepvideo.mp4
new file mode 100644
index 0000000..0d30928
Binary files /dev/null and b/code/src/Fitbot/app/src/main/res/raw/bicepvideo.mp4 differ
diff --git a/code/src/Fitbot/app/src/main/res/raw/lateralraises.qianim b/code/src/Fitbot/app/src/main/res/raw/lateralraises.qianim
new file mode 100644
index 0000000..91b9f01
--- /dev/null
+++ b/code/src/Fitbot/app/src/main/res/raw/lateralraises.qianim
@@ -0,0 +1,148 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/src/Fitbot/app/src/main/res/values-night/themes.xml b/code/src/Fitbot/app/src/main/res/values-night/themes.xml
new file mode 100644
index 0000000..70f3941
--- /dev/null
+++ b/code/src/Fitbot/app/src/main/res/values-night/themes.xml
@@ -0,0 +1,10 @@
+
+
+
+
\ No newline at end of file
diff --git a/code/src/app/src/main/res/values/colors.xml b/code/src/Fitbot/app/src/main/res/values/colors.xml
similarity index 100%
rename from code/src/app/src/main/res/values/colors.xml
rename to code/src/Fitbot/app/src/main/res/values/colors.xml
diff --git a/code/src/app/src/main/res/values/strings.xml b/code/src/Fitbot/app/src/main/res/values/strings.xml
similarity index 54%
rename from code/src/app/src/main/res/values/strings.xml
rename to code/src/Fitbot/app/src/main/res/values/strings.xml
index 3a0c8dc..f6ac891 100644
--- a/code/src/app/src/main/res/values/strings.xml
+++ b/code/src/Fitbot/app/src/main/res/values/strings.xml
@@ -1,3 +1,4 @@
Fitbot
+ oefeningvideo
\ No newline at end of file
diff --git a/code/src/Fitbot/app/src/main/res/values/themes.xml b/code/src/Fitbot/app/src/main/res/values/themes.xml
new file mode 100644
index 0000000..607b278
--- /dev/null
+++ b/code/src/Fitbot/app/src/main/res/values/themes.xml
@@ -0,0 +1,10 @@
+
+
+
+
\ No newline at end of file
diff --git a/code/src/app/src/test/java/com/fitbot/fitbot/ExampleUnitTest.java b/code/src/Fitbot/app/src/test/java/com/example/fitbot/ExampleUnitTest.java
similarity index 92%
rename from code/src/app/src/test/java/com/fitbot/fitbot/ExampleUnitTest.java
rename to code/src/Fitbot/app/src/test/java/com/example/fitbot/ExampleUnitTest.java
index 472067b..553c194 100644
--- a/code/src/app/src/test/java/com/fitbot/fitbot/ExampleUnitTest.java
+++ b/code/src/Fitbot/app/src/test/java/com/example/fitbot/ExampleUnitTest.java
@@ -1,4 +1,4 @@
-package com.fitbot.fitbot;
+package com.example.fitbot;
import org.junit.Test;
diff --git a/code/src/build.gradle b/code/src/Fitbot/build.gradle
similarity index 100%
rename from code/src/build.gradle
rename to code/src/Fitbot/build.gradle
diff --git a/code/src/gradle.properties b/code/src/Fitbot/gradle.properties
similarity index 77%
rename from code/src/gradle.properties
rename to code/src/Fitbot/gradle.properties
index dab7c28..c5abf2b 100644
--- a/code/src/gradle.properties
+++ b/code/src/Fitbot/gradle.properties
@@ -11,11 +11,8 @@ org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
-# AndroidX package structure to make it clearer which packages are bundled with the
-# Android operating system, and which are packaged with your app"s APK
-# https://developer.android.com/topic/libraries/support-library/androidx-rn
-android.useAndroidX=true
# Enables namespacing of each library's R class so that its R class includes only the
# resources declared in the library itself and none from the library's dependencies,
# thereby reducing the size of the R class for that library
-android.nonTransitiveRClass=true
\ No newline at end of file
+android.nonTransitiveRClass=true
+#android.enableJetifier=true
\ No newline at end of file
diff --git a/code/src/gradle/wrapper/gradle-wrapper.jar b/code/src/Fitbot/gradle/wrapper/gradle-wrapper.jar
similarity index 100%
rename from code/src/gradle/wrapper/gradle-wrapper.jar
rename to code/src/Fitbot/gradle/wrapper/gradle-wrapper.jar
diff --git a/code/src/gradle/wrapper/gradle-wrapper.properties b/code/src/Fitbot/gradle/wrapper/gradle-wrapper.properties
similarity index 86%
rename from code/src/gradle/wrapper/gradle-wrapper.properties
rename to code/src/Fitbot/gradle/wrapper/gradle-wrapper.properties
index a7aee0a..0066017 100644
--- a/code/src/gradle/wrapper/gradle-wrapper.properties
+++ b/code/src/Fitbot/gradle/wrapper/gradle-wrapper.properties
@@ -1,4 +1,4 @@
-#Wed Apr 17 15:07:29 CEST 2024
+#Tue Apr 23 13:41:17 CEST 2024
distributionBase=GRADLE_USER_HOME
distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip
distributionPath=wrapper/dists
diff --git a/code/src/gradlew b/code/src/Fitbot/gradlew
similarity index 100%
rename from code/src/gradlew
rename to code/src/Fitbot/gradlew
diff --git a/code/src/gradlew.bat b/code/src/Fitbot/gradlew.bat
similarity index 100%
rename from code/src/gradlew.bat
rename to code/src/Fitbot/gradlew.bat
diff --git a/code/src/settings.gradle b/code/src/Fitbot/settings.gradle
similarity index 78%
rename from code/src/settings.gradle
rename to code/src/Fitbot/settings.gradle
index ea83dc3..ffde70b 100644
--- a/code/src/settings.gradle
+++ b/code/src/Fitbot/settings.gradle
@@ -10,6 +10,9 @@ dependencyResolutionManagement {
repositories {
google()
mavenCentral()
+ maven {
+ url 'https://qisdk.softbankrobotics.com/sdk/maven/'
+ }
}
}
rootProject.name = "Fitbot"
diff --git a/code/src/app/build.gradle b/code/src/app/build.gradle
deleted file mode 100644
index 13caaa3..0000000
--- a/code/src/app/build.gradle
+++ /dev/null
@@ -1,39 +0,0 @@
-plugins {
- id 'com.android.application'
-}
-
-android {
- compileSdk 34
-
- defaultConfig {
- applicationId "com.fitbot.fitbot"
- minSdk 23
- targetSdk 34
- versionCode 1
- versionName "1.0"
-
- testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
- }
-
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
- }
- }
- compileOptions {
- sourceCompatibility JavaVersion.VERSION_1_8
- targetCompatibility JavaVersion.VERSION_1_8
- }
-}
-
-dependencies {
-
- implementation 'androidx.appcompat:appcompat:1.3.0'
- implementation 'com.google.android.material:material:1.4.0'
- testImplementation 'junit:junit:4.13.2'
- androidTestImplementation 'androidx.test.ext:junit:1.1.3'
- androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
- implementation 'com.aldebaran:qisdk:1.7.5'
- implementation 'com.aldebaran:qisdk-design:1.7.5'
-}
\ No newline at end of file
diff --git a/code/src/app/src/androidTest/java/com/fitbot/fitbot/ExampleInstrumentedTest.java b/code/src/app/src/androidTest/java/com/fitbot/fitbot/ExampleInstrumentedTest.java
deleted file mode 100644
index d02ca19..0000000
--- a/code/src/app/src/androidTest/java/com/fitbot/fitbot/ExampleInstrumentedTest.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.fitbot.fitbot;
-
-import android.content.Context;
-
-import androidx.test.platform.app.InstrumentationRegistry;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import static org.junit.Assert.*;
-
-/**
- * Instrumented test, which will execute on an Android device.
- *
- * @see Testing documentation
- */
-@RunWith(AndroidJUnit4.class)
-public class ExampleInstrumentedTest {
- @Test
- public void useAppContext() {
- // Context of the app under test.
- Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
- assertEquals("com.fitbot.fitbot", appContext.getPackageName());
- }
-}
\ No newline at end of file
diff --git a/code/src/app/src/main/AndroidManifest.xml b/code/src/app/src/main/AndroidManifest.xml
deleted file mode 100644
index 53e6ae7..0000000
--- a/code/src/app/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/code/src/app/src/main/java/com/fitbot/MainActivity.java b/code/src/app/src/main/java/com/fitbot/MainActivity.java
deleted file mode 100644
index 5a784ff..0000000
--- a/code/src/app/src/main/java/com/fitbot/MainActivity.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package com.fitbot;
-
-import android.app.Activity;
-import android.media.MediaRecorder;
-import android.os.Bundle;
-
-public class MainActivity extends RobotActivity implements RobotLifecycleCallbacks {
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- // Register the RobotLifecycleCallbacks to this Activity.
- QiSDK.register(this, this);
- }
-
- @Override
- protected void onDestroy() {
- // Unregister the RobotLifecycleCallbacks for this Activity.
- QiSDK.unregister(this, this);
- super.onDestroy();
- }
-
- @Override
- public void onRobotFocusGained(QiContext qiContext) {
- // The robot focus is gained.
- }
-
- @Override
- public void onRobotFocusLost() {
- // The robot focus is lost.
- }
-
- @Override
- public void onRobotFocusRefused(String reason) {
- // The robot focus is refused.
- }
-}
\ No newline at end of file
diff --git a/code/src/app/src/main/java/com/fitbot/audio/AudioAnalyser.java b/code/src/app/src/main/java/com/fitbot/audio/AudioAnalyser.java
deleted file mode 100644
index 9417c30..0000000
--- a/code/src/app/src/main/java/com/fitbot/audio/AudioAnalyser.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.fitbot.audio;
-
-import android.app.Activity;
-import android.media.MediaRecorder;
-
-public class AudioAnalyser {
-
-
-
-}
diff --git a/code/src/app/src/main/java/com/fitbot/audio/AudioRecorder.java b/code/src/app/src/main/java/com/fitbot/audio/AudioRecorder.java
deleted file mode 100644
index e2f84c3..0000000
--- a/code/src/app/src/main/java/com/fitbot/audio/AudioRecorder.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package com.fitbot.audio;
-
-import android.media.MediaRecorder;
-
-public class AudioRecorder {
-
- private MediaRecorder recorder;
-
-
- public AudioRecorder() {
- }
-
- /**
- * Record audio from the device's microphone
- * @return An instance of the AudioRecorder class
- */
- public AudioRecorder record() {
-
- recorder = new MediaRecorder();
-
- recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
- recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
- recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
-
- // Attempt to prepare and start the audio recorder
- try {
- recorder.prepare();
- recorder.start();
- } catch (Exception e) {
- System.err.println("Error preparing audio recorder");
- e.printStackTrace();
- }
-
- return this;
- }
-
- /**
- * Stop the audio recording
- */
- public void stop() {
- recorder.stop();
- recorder.release();
- recorder = null;
- }
-
-
-}
diff --git a/code/src/app/src/main/java/com/fitbot/speech/ISpeechCallback.java b/code/src/app/src/main/java/com/fitbot/speech/ISpeechCallback.java
deleted file mode 100644
index 48ccdf9..0000000
--- a/code/src/app/src/main/java/com/fitbot/speech/ISpeechCallback.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package com.fitbot.speech;
-
-/**
- * Interface for a callback that is called when speech is generated
- */
-public interface ISpeechCallback {
- void onSpeechGenerated(String speech);
-}
diff --git a/code/src/app/src/main/java/com/fitbot/speech/SpeechGenerator.java b/code/src/app/src/main/java/com/fitbot/speech/SpeechGenerator.java
deleted file mode 100644
index 93e1d19..0000000
--- a/code/src/app/src/main/java/com/fitbot/speech/SpeechGenerator.java
+++ /dev/null
@@ -1,101 +0,0 @@
-package com.fitbot.speech;
-
-import java.util.Arrays;
-import java.util.Locale;
-import com.aldebaran.qi.sdk.builder.SayBuilder;
-import com.aldebaran.qi.sdk.object.conversation.Phrase;
-import com.aldebaran.qi.sdk.object.conversation.Say;
-import com.aldebaran.qi.sdk.object.locale.Language;
-import com.aldebaran.qi.sdk.object.locale.Locale;
-import com.aldebaran.qi.sdk.object.locale.Region;
-
-
-public class SpeechGenerator {
-
- private QiContext qiContext; // The QiContext object
- private ISpeechCallback speechCallback = (content) -> {}; // Default empty callback
- private StringBuilder speechBuffer = new StringBuilder(); // Buffer to store the speech content
- private String languageIso639_1; // ISO 639-1 language code
-
- /**
- * Constructor that sets the language of the speech to be generated
- * @param languageIso639_1 The ISO 639-1 language code, e.g. "en" for English
- */
- public SpeechGenerator(String languageIso639_1)
- {
- if ( !Arrays.asList(Locale.getISOLanguages()).contains(languageIso639_1) )
- throw new IllegalArgumentException("Invalid language code");
- this.languageIso639_1 = languageIso639_1;
- }
-
- /**
- * Default constructor, sets the language to Dutch
- */
- public SpeechGenerator()
- {
- this("nl");
- }
-
-
- /**
- * Set the language of the speech to be generated
- * @param languageIso639_1 The ISO 639-1 language code, e.g. "en" for English
- * @return An instance of the SpeechGenerator class
- */
- public SpeechGenerator language(String languageIso639_1)
- {
- this.languageIso639_1 = languageIso639_1;
- return this;
- }
-
- /**
- * Appends the provided text to the speech buffer
- * @param text The text to append
- * @return An instance of the SpeechGenerator class
- */
- public SpeechGenerator print(String text)
- {
- speechBuffer.append(text);
- return this;
- }
-
- /**
- * Appends the provided text to the speech buffer, followed by a newline character
- * @param text The text to append
- * @return An instance of the SpeechGenerator class
- */
- public SpeechGenerator println(String text)
- {
- return print(text).print("\n");
- }
-
- /**
- * Get the contents of the speech buffer
- */
- public String getBuffer()
- {
- return speechBuffer.toString();
- }
-
- /**
- * Clear the contents of the speech buffer
- */
- public void clearBuffer()
- {
- speechBuffer = new StringBuilder();
- }
-
- /**
- * Print the contents of the speech buffer to the console
- */
- public void speak()
- {
- Say say = new SayBuilder().with(qiContext)
- .withPhrase(speechBuffer.toString())
- .withLocale(new Locale(languageIso639_1))
- .build();
- speechCallback.onSpeechGenerated(speechBuffer.toString());
- }
-
-
-}
diff --git a/code/src/app/src/main/res/layout/testlayout.xml b/code/src/app/src/main/res/layout/testlayout.xml
deleted file mode 100644
index 58611e6..0000000
--- a/code/src/app/src/main/res/layout/testlayout.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/code/src/app/src/main/res/values-night/themes.xml b/code/src/app/src/main/res/values-night/themes.xml
deleted file mode 100644
index 61aadf0..0000000
--- a/code/src/app/src/main/res/values-night/themes.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/code/src/app/src/main/res/values/themes.xml b/code/src/app/src/main/res/values/themes.xml
deleted file mode 100644
index b1f23f5..0000000
--- a/code/src/app/src/main/res/values/themes.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/code/src/app/src/test/java/HelloHuman.java b/code/src/app/src/test/java/HelloHuman.java
deleted file mode 100644
index 7228283..0000000
--- a/code/src/app/src/test/java/HelloHuman.java
+++ /dev/null
@@ -1,6 +0,0 @@
-public class HelloHuman {
- // Create a new say action.
- Say say = SayBuilder.with(qiContext) // Create the builder with the context.
- .withText("Hello human!") // Set the text to say.
- .build(); // Build the say action.
-}
diff --git a/docs/documentation/android/androidStudio.md b/docs/documentation/android/androidStudio.md
index 1afe60b..02998c9 100644
--- a/docs/documentation/android/androidStudio.md
+++ b/docs/documentation/android/androidStudio.md
@@ -21,6 +21,13 @@ If you want to use a certain permission in your app you need to add the permissi
[This](https://gist.githubusercontent.com/Arinerron/1bcaadc7b1cbeae77de0263f4e15156f/raw/6c577d9f425340a7dcd1ec5efc7a12c054d6623f/xml_permissions.txt) is a list of all the permissions you can use.
+## Issues with setting up android studio
+We had some issues with setting up android studio. Here is a list of problem.
+* Gradle not building the application
+ * This was fixed for some by wiping their entire gradle folder and then rebuilding the folder.
+* Peppersdk not working on the current version of android studio
+ * This was fixed by downgrading the version of android studio to 3.4.2
+
## Sources
diff --git a/docs/documentation/android/appSetup.md b/docs/documentation/android/appSetup.md
new file mode 100644
index 0000000..f19693d
--- /dev/null
+++ b/docs/documentation/android/appSetup.md
@@ -0,0 +1,39 @@
+# Setting up a android app
+
+## How to make your project from a empty project
+
+### Layout
+You first need to make the layout of the app. This can be done in the res folder where you can make a android recource file. When you open that file you can drag and drop elements in the layout.
+
+### Code
+Then need to make the main class. The class will probably look like this.
+
+```java
+package com.fitbot.fitbot;
+
+import android.os.Bundle;
+import androidx.appcompat.app.AppCompatActivity;
+
+public class MainActivity extends AppCompatActivity {
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ // set activity_main to your respective layout file
+ setContentView(R.layout.activity_main);
+ }
+}
+```
+
+### Manifest
+For the app to be able to build you need to add the activity to the manifest file. You can do this by adding this to the manifest file.
+
+```xml
+
+
+
+
+
+
+```
+The class name that is ran first is defined in the first line of the class.
\ No newline at end of file
diff --git a/docs/documentation/brainstorm/ideas.md b/docs/documentation/brainstorm/ideas.md
index 646135e..5c5761d 100644
--- a/docs/documentation/brainstorm/ideas.md
+++ b/docs/documentation/brainstorm/ideas.md
@@ -19,6 +19,5 @@ It must also be suitable for the elderly.
* Making 3d printer is fun but mats finds it too much
-
-
-
+## What are we gonna make?
+We are gonna make a android fitness app for the pepper bot. The app displays an exercise the user can do. And the dumbells they use are tracked by the bot and in that way we can give feedback on how the user is doing the exercise. The pepper bot can also do the exercise with the user using it's arms.
\ No newline at end of file
diff --git a/docs/documentation/robots/Comparisons.md b/docs/documentation/robots/Comparisons.md
index 3a833d6..278d679 100644
--- a/docs/documentation/robots/Comparisons.md
+++ b/docs/documentation/robots/Comparisons.md
@@ -10,15 +10,31 @@ With our project, we want the people to start moving more. Since people are beco
 The NAO robot is a humanoid robot used for research and education. The robot was developed by the French company Aldebaran Robotics, which was acquired by the Japanese Softbank Robotics in 2015. We did not end up using this robot for our project. Due to its complex programming and not havong a built in tablet. This made it for us hard to work with and the tablet makes it nice to additional guidance for the people. I will list some pros and cons below
#### Pros
-NAO has more control over its body. It can use it legs to walk or sit for exemple. This makes it able to demonstrate a lot more excersizes which could come in handy escecially with more leg focused excersizes.
+NAO has more control over its body. It can use it legs to walk or sit, for example. This makes it able to demonstrate a lot more exercises which could come in handy especially with more leg focused exercises.
-NAO also has speech recognition and it can detect faces. This could be used to command the robot with only speech. and with its face recognition it might be able to see if a person is having a hard time doing a excersize . It will also help with a idee of creating an account.
+NAO also has speech recognition and it can detect faces. This could be used to command the robot with only speech. And with its face recognition, it might be able to see if a person is having a hard time doing an exercise. This will be helpful if we implant an account system.
#### Cons
-NAO is smaller than the pepper bot which makes it a worse option in a bigger room or in group excersises.
+NAO is smaller than the pepper bot, which makes it a worse option in a bigger room or in group exercises.
-NAO does not have a boult in tablet which means it relies on the speech recognition. This might make it hard for people to use with a strange accent.
+NAO does not have a built-in tablet, which means it relies on the speech recognition. This might make it hard for people to use with a strange accent.
-Due to its small size the battery is also way smaller which might make it hard for NAO to work for multiple hours.
+Due to its small size, the battery is also way smaller, which might make it hard for NAO to work for multiple hours.
-# NAO BOT
\ No newline at end of file
+# Pepper bot
+
+The Pepper robot is a humanoid robot developed by the Japanese company Softbank Robotics. The robot is designed to communicate with humans and can do this through speech, facial recognition and movement. This robot is also equipped with a tablet so you can use Android apps.
+
+### Why did we choose the pepper bot
+
+Since we wanted to people to become more active, we needed a bigger bot than NAO. This so that everyone can use it and feels more connected. The tablet was also a highlight for us, since an android app really helps. The android app can be used to show videos of the exercises, and we can proscribe a fitness program if required.
+
+#### Pros
+Since The pepper bot is way bigger, it could be more engaging and appealing to our users.
+
+The Tablet makes it easy to display fitness exercises, to follow along and interact with the robot.
+
+The pepper bot can react to human emotions, which could come in handy if a user is having a hard time with an exercise.
+#### Cons
+
+The pepper bot does not have legs, which makes it harder for us to use it for leg exercises, since the user needs to do it of the tablet.
\ No newline at end of file
diff --git a/docs/personalDocs/Luca/literatuuronderzoek/onderzoek-formulier.md b/docs/personalDocs/Luca/literatuuronderzoek/onderzoek-formulier.md
new file mode 100644
index 0000000..5fe6350
--- /dev/null
+++ b/docs/personalDocs/Luca/literatuuronderzoek/onderzoek-formulier.md
@@ -0,0 +1,49 @@
+# Probleembeschrijving en hoofdvraag en deelvragen
+
+| Naam | Luca Warmenhoven |
+|-------|-------------------|
+| Datum | 22 / 04 / 2024 |
+
+**Criteria onderzoeksthema:**
+1. Het thema/vraagstuk sluit aan bij de technische opdracht van de leerroute
+2. Het thema/vraagstuk omvat een ethisch en/of maatschappelijk issue
+
+**Resultaat:**
+Betoog op basis van literatuuronderzoek van minimaal 1000 tot maximaal 1500 woorden, gericht op een publiek met beperkte ICT-kennis.
+
+> 1. *Onderwerp*
+>
+> Het onderwerp van mijn onderzoek is:
+> Ik ga het hebben over hoe we kunstmatige intelligentie kunnen toepassen om de eenzaamheid bij ouderen te verminderen.
+
+> 2. *Aanleiding*
+>
+> Na mate de populariteit van het gebruik van kunstmatige intelligentie de laatste jaren steeds meer is toegenomen
+> is het relevant om te kijken naar wat de mogelijkheden zijn om deze toe te kunnen passen in de zorg.
+> Hierbij is het interessant om te kijken of we deze applicaties kunnen toepassen om ouderen zich minder eennzaam
+> te laten voelen.
+
+> 3. *Afbakening*
+>
+> Ik zal mezelf in dit onderzoek beperken tot de toepassingen hoe kunstmatige intelligentie *wel* ingezet kan worden
+> om eenzaamheid te verminderen. Uiteraard is het niet voor iedereen toepasselijk, daarom zal ik kijken naar welke
+> manieren/methodes wel zouden kunnen werken.
+
+> 4. *Doelstelling*
+>
+> Het onderzoek heeft als doel om de lezer te overtuigen dat kunstmatige intelligentie op meerdere manieren toegepast
+> kan worden dan alleen maar LLM's of stable diffusion. Ik hoop met dit onderzoek een beter beeld te schetsen over de
+> mogelijkheden die er zijn om K.I. in te zetten om de eenzaamheid bij ouderen te verminderen.
+
+> 5. *Ethisch/maatschappelijke issue*
+>
+> Het voor mijn publiek interessante issue dat op het gebied van het afgebakende thema speelt is:
+>
+> Hoewel het toepassen van kunstmatige intelligentie in de zorg veel voordelen met zich mee kan brengen, is het ook
+> belangrijk om te kijken naar de ethische kant van het verhaal. Is het wel ethisch verantwoord om het vermaak van
+> ouderen over te laten aan K.I? En hoe zit het met privacy van ouderen? Wat als de robot gehackt wordt? Dit zijn allemaal
+> onderwerpen die ik in mijn onderzoek zal behandelen.
+>
+> 6. *Vraagstelling - De hoofdvraag.*
+>
+> *"Is het mogelijk om kunstmatige intelligentie in te zetten om de eenzaamheid bij ouderen te verminderen?"*
\ No newline at end of file
diff --git a/fitbot/consumer-rules.pro b/docs/personalDocs/Luca/literatuuronderzoek/onderzoek.md
similarity index 100%
rename from fitbot/consumer-rules.pro
rename to docs/personalDocs/Luca/literatuuronderzoek/onderzoek.md
diff --git a/docs/personalDocs/Luca/weekly-reports/sprint-1-week-1.md b/docs/personalDocs/Luca/weekly-reports/sprint-1-week-1.md
new file mode 100644
index 0000000..3894573
--- /dev/null
+++ b/docs/personalDocs/Luca/weekly-reports/sprint-1-week-1.md
@@ -0,0 +1,12 @@
+## Summary week 1, sprint 1
+
+---
+
+As a team, we mostly worked together on figuring out what project we'd
+like to work on. We did this on the first day (Tuesday) and we decided to
+make a robot that promotes sports activities for the elderly.
+On Wednesday we started making graphs for the project, to visualize all the
+required components and how they would interact with each other.
+The rest of the time we were mostly working on figuring out how to work
+with Android Studio and QiSDK, which was quite a hassle.
+
diff --git a/docs/personalDocs/Luca/weekly-reports/sprint-1-week-2.md b/docs/personalDocs/Luca/weekly-reports/sprint-1-week-2.md
new file mode 100644
index 0000000..3c86d21
--- /dev/null
+++ b/docs/personalDocs/Luca/weekly-reports/sprint-1-week-2.md
@@ -0,0 +1,7 @@
+## Summary week 2, sprint 1
+
+---
+
+In the second week, most of us figured out how to work with the IDE
+and got the SDK's to work. We've made the robot say things, and we're
+currently working on adding a UI part to the robot.
\ No newline at end of file
diff --git a/docs/personalDocs/sebas/dailyUpdates.md b/docs/personalDocs/sebas/dailyUpdates.md
new file mode 100644
index 0000000..e33b2f0
--- /dev/null
+++ b/docs/personalDocs/sebas/dailyUpdates.md
@@ -0,0 +1,170 @@
+# Daily updates
+
+**_2024_**
+
+**15 April**
+
+To do
+
+ - Free
+
+Done
+
+ - Free
+
+**16 April**
+
+To do
+
+ - Start of the project
+
+Done
+
+ - Start of the project
+
+**17 April**
+
+To do
+
+ - Meeting with the team
+ - Think of the robot we want to use
+ - Create mindmap for the project
+ - Create issues for the project
+
+Done
+
+ - Meeting with the team
+ - Think of the robot we want to use
+ - Create mindmap for the project
+
+**18 April**
+
+To do
+
+ - Created file structure for the project
+ - Update the pages with the new structure
+
+Done
+
+ - Created file structure for the project
+ - Update the pages with the new structure
+
+**19 April**
+
+To do
+
+ - Start installing required software for pepper
+
+Done
+
+ - Start installing required software for pepper
+
+**20 April**
+
+- Weekend
+
+**21 April**
+
+- Weekend
+
+**22 April**
+
+To do
+
+ - Research ethics in the ICT field
+ - Fill in form for ethics research
+ - Finish the research for task 1
+ - Install new software for pepper (discord)
+ - Finish issues for sprint 1
+
+Done
+
+ - Research ethics in the ICT field
+ - Fill in form for ethics research
+ - Finish the research for task 1
+ - Install new software for pepper (discord)
+
+**23 April**
+
+To do
+
+ - Finish issues for sprint 1
+ - Start app design
+ - Possibly prepare expert review
+ - Setup android studio for pepper
+
+Done
+
+ - Finish issues for sprint 1
+ - Setup android studio for pepper
+
+**24 April**
+
+To do
+
+ - Start app design
+ - Start working on pepper
+
+Done
+
+ -
+
+**25 April**
+
+To do
+
+ -
+
+Done
+
+ -
+
+**26 April**
+
+To do
+
+ -
+
+Done
+
+ -
+
+**27 April**
+
+To do
+
+ -
+
+Done
+
+ -
+
+**28 April**
+
+To do
+
+ -
+
+Done
+
+ -
+
+**29 April**
+
+To do
+
+ -
+
+Done
+
+ -
+
+**30 April**
+
+To do
+
+ -
+
+Done
+
+ -
\ No newline at end of file
diff --git a/docs/personalDocs/sebas/onderzoekEthiek/formulier.md b/docs/personalDocs/sebas/onderzoekEthiek/formulier.md
index f7b5d4b..592df66 100644
--- a/docs/personalDocs/sebas/onderzoekEthiek/formulier.md
+++ b/docs/personalDocs/sebas/onderzoekEthiek/formulier.md
@@ -13,19 +13,19 @@ Betoog op basis van literatuuronderzoek van minimaal 1000 tot maximaal 1500 woor
Waar gaat je betoog over?
-Het helpen van ouderen met fitness door middel van een robots.
+Hoe ethisch verantwoord is het om robots in te zetten in de ouderenzorg om ouderen te helpen met fitness?
**B. AANLEIDING** – De aanleiding en/of context van het thema/vraagstuk is:
Waarom is het op dit moment in de tijd nuttig om over dit vraagstuk na te denken?
-Ouderenzorg is een steeds groter wordend probleem in Nederland. De vergrijzing neemt toe en de zorgkosten stijgen. Door ouderen te helpen met fitness kunnen we de zorgkosten verlagen en de ouderen een betere levenskwaliteit geven. Het inzetten van robots kan hierbij helpen.
+Ouderenzorg is een steeds groter wordend probleem in Nederland. De vergrijzing neemt toe, zorgkosten stijgen en steeds minder mensen willen in de zorg werken. Door ouderen te helpen met fitness kunnen we de zorgkosten verlagen en de ouderen een betere levenskwaliteit geven. Het inzetten van robots kan hierbij helpen. Het is daarnaast belangrijk om te weten hoe ouderen dit ervaren en wat hun wensen zijn.
**C. AFBAKENING** – Binnen dit thema beperk ik mij tot het aspect:
Waar leg je de focus op?
-Hoe ouderen het ervaren om geholpen te worden door robots bij fitness. Niet elke oudere is hetzelfde en het is belangrijk om te weten hoe zij hierover denken en wat hun ervaringen zijn.
+In hoeverre robots kunnen worden ingezet om ouderen te helpen met fitness. Het onderzoek richt zich op de ervaringen van ouderen met deze vorm van zorg.
**D. DOELSTELLING** – Het onderzoek levert het volgende op:
@@ -37,13 +37,13 @@ Het onderzoek levert inzicht op in hoe ouderen het ervaren om geholpen te worden
Welke ethische kwestie kaart je aan in je betoog?
-Is het moreel verantwoord om ouderen te helpen met fitness door middel van robots?
+Waar liggen de grenzen van de inzet van robots in de zorg voor ouderen wat fitness betreft?
**G. VRAAGSTELLING 1*** - De Hoofdvraag van mijn onderzoek is:
Welke vraag ga je beantwoorden in je betoog?
-In hoeverre kunnen robots worden ingezet om ouderen te helpen met fitness?
+In hoeverre is het etisch verantwoord om robots in te zetten in de ouderenzorg om ouderen te helpen met fitness?
**H. BEGRIPSOMSCHRIJVING** – De volgende begrippen uit mijn vraagstelling definieer ik als:
diff --git a/fitbot/.gitignore b/fitbot/.gitignore
deleted file mode 100644
index 42afabf..0000000
--- a/fitbot/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/build
\ No newline at end of file
diff --git a/fitbot/proguard-rules.pro b/fitbot/proguard-rules.pro
deleted file mode 100644
index 481bb43..0000000
--- a/fitbot/proguard-rules.pro
+++ /dev/null
@@ -1,21 +0,0 @@
-# Add project specific ProGuard rules here.
-# You can control the set of applied configuration files using the
-# proguardFiles setting in build.gradle.
-#
-# For more details, see
-# http://developer.android.com/guide/developing/tools/proguard.html
-
-# If your project uses WebView with JS, uncomment the following
-# and specify the fully qualified class name to the JavaScript interface
-# class:
-#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
-# public *;
-#}
-
-# Uncomment this to preserve the line number information for
-# debugging stack traces.
-#-keepattributes SourceFile,LineNumberTable
-
-# If you keep the line number information, uncomment this to
-# hide the original source file name.
-#-renamesourcefileattribute SourceFile
\ No newline at end of file
diff --git a/fitbot/src/main/AndroidManifest.xml b/fitbot/src/main/AndroidManifest.xml
deleted file mode 100644
index 2f68f1c..0000000
--- a/fitbot/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/fitbot/src/test/java/com/fitbot/ExampleUnitTest.java b/fitbot/src/test/java/com/fitbot/ExampleUnitTest.java
deleted file mode 100644
index cd999cb..0000000
--- a/fitbot/src/test/java/com/fitbot/ExampleUnitTest.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.fitbot;
-
-import org.junit.Test;
-
-import static org.junit.Assert.*;
-
-/**
- * Example local unit test, which will execute on the development machine (host).
- *
- * @see Testing documentation
- */
-public class ExampleUnitTest {
- @Test
- public void addition_isCorrect() {
- assertEquals(4, 2 + 2);
- }
-}
\ No newline at end of file