From 9955dd5854eb63fe9d5d81c4ece555c4ad570cae Mon Sep 17 00:00:00 2001 From: Sam Hos Date: Wed, 24 Apr 2024 16:50:16 +0200 Subject: [PATCH 01/24] added libraries and attempted to call class in mainactivity --- .../Fitbot/.idea/deploymentTargetDropDown.xml | 17 ------------- .../java/com/example/fitbot/MainActivity.java | 13 ++++++++++ .../java/com/example/fitbot/bicepvideo.java | 24 ++++++++++++++++++- 3 files changed, 36 insertions(+), 18 deletions(-) delete mode 100644 code/src/Fitbot/.idea/deploymentTargetDropDown.xml diff --git a/code/src/Fitbot/.idea/deploymentTargetDropDown.xml b/code/src/Fitbot/.idea/deploymentTargetDropDown.xml deleted file mode 100644 index 24e256e..0000000 --- a/code/src/Fitbot/.idea/deploymentTargetDropDown.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ 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 index 10bca80..21b7f5c 100644 --- 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 @@ -1,14 +1,19 @@ 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; import com.aldebaran.qi.sdk.object.locale.Language; @@ -52,8 +57,16 @@ public class MainActivity extends RobotActivity implements RobotLifecycleCallbac sayName.run(); sayDescription.run(); + + // Create a new BicepVideo with the qiContext + bicepvideo BicepVideo = new bicepvideo(); + + // Call the videoPlayer method + BicepVideo.Video(qiContext); + } + @Override public void onRobotFocusLost() { // Nothing here. 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 index c0b252e..bf5c167 100644 --- 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 @@ -9,13 +9,24 @@ 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); + } + + public void Video(QiContext qiContext) { VideoView videoView = findViewById(R.id.videoView); videoView.setVideoURI(Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.bicepvideo)); @@ -36,7 +47,18 @@ public class bicepvideo extends AppCompatActivity { videoView.start(); // Restart video on completion } }); - videoView.start(); + + Animation animation = AnimationBuilder.with(qiContext) + .withResources(R.raw.bicepcurl) + .build(); + + Animate animate = AnimateBuilder.with(qiContext) + .withAnimation(animation) + .build(); + + + animate.async().run(); + } } \ No newline at end of file From c40be9ecc9b306b5578e1cb789088649f9502972 Mon Sep 17 00:00:00 2001 From: Sam Hos Date: Wed, 24 Apr 2024 16:50:24 +0200 Subject: [PATCH 02/24] animation --- .../app/src/main/res/raw/bicepcurl.qianim | 244 ++++++++++++++++++ .../app/src/main/res/raw/lateralraises.qianim | 148 +++++++++++ 2 files changed, 392 insertions(+) create mode 100644 code/src/Fitbot/app/src/main/res/raw/bicepcurl.qianim create mode 100644 code/src/Fitbot/app/src/main/res/raw/lateralraises.qianim 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/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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 969d004d1ad7b093fdca8628ee910b116f81bebd Mon Sep 17 00:00:00 2001 From: Niels Date: Wed, 24 Apr 2024 21:12:35 +0200 Subject: [PATCH 03/24] fixed file and class names and added Completion Screen --- code/src/Fitbot/.idea/misc.xml | 14 +++----- .../Fitbot/app/src/main/AndroidManifest.xml | 13 ++++--- .../{bicepvideo.java => BicepVideo.java} | 35 ++++++++----------- .../com/example/fitbot/Completion_Screen.java | 13 +++++++ .../java/com/example/fitbot/MainScreen.java | 8 ++--- .../main/res/layout/activity_bicepvideo.xml | 12 +++---- .../res/layout/activity_completion_screen.xml | 8 +++++ .../main/res/layout/activity_main_screen.xml | 4 +-- .../app/src/main/res/values/strings.xml | 1 + 9 files changed, 61 insertions(+), 47 deletions(-) rename code/src/Fitbot/app/src/main/java/com/example/fitbot/{bicepvideo.java => BicepVideo.java} (69%) create mode 100644 code/src/Fitbot/app/src/main/java/com/example/fitbot/Completion_Screen.java create mode 100644 code/src/Fitbot/app/src/main/res/layout/activity_completion_screen.xml diff --git a/code/src/Fitbot/.idea/misc.xml b/code/src/Fitbot/.idea/misc.xml index f2cd21b..42e8983 100644 --- a/code/src/Fitbot/.idea/misc.xml +++ b/code/src/Fitbot/.idea/misc.xml @@ -3,17 +3,13 @@ diff --git a/code/src/Fitbot/app/src/main/AndroidManifest.xml b/code/src/Fitbot/app/src/main/AndroidManifest.xml index adeb10a..7a1dc0f 100644 --- a/code/src/Fitbot/app/src/main/AndroidManifest.xml +++ b/code/src/Fitbot/app/src/main/AndroidManifest.xml @@ -1,6 +1,6 @@ + package="com.example.fitbot" > @@ -10,10 +10,13 @@ android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" - android:theme="@style/Theme.Fitbot"> + android:theme="@style/Theme.Fitbot" > + + android:exported="true" > @@ -21,14 +24,14 @@ + android:exported="true" > 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 similarity index 69% rename from code/src/Fitbot/app/src/main/java/com/example/fitbot/bicepvideo.java rename to code/src/Fitbot/app/src/main/java/com/example/fitbot/BicepVideo.java index bf5c167..3016b0a 100644 --- 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 @@ -1,10 +1,9 @@ package com.example.fitbot; -import android.media.MediaPlayer; +import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; -import android.view.View; import android.widget.Button; import android.widget.MediaController; import android.widget.VideoView; @@ -15,38 +14,24 @@ 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 { +public class BicepVideo extends AppCompatActivity { - private QiContext qiContext; +// 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)); - Button backButton = findViewById(R.id.buttonback); - backButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - // Finish the current activity (VideoViewHere) - finish(); - } - }); - MediaController mediaController = new MediaController(this); videoView.setMediaController(mediaController); - videoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { - @Override - public void onCompletion(MediaPlayer mp) { - videoView.start(); // Restart video on completion - } - }); + videoView.setOnCompletionListener(mp -> videoView.start()); videoView.start(); Animation animation = AnimationBuilder.with(qiContext) @@ -61,4 +46,14 @@ public class bicepvideo extends AppCompatActivity { 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/MainScreen.java b/code/src/Fitbot/app/src/main/java/com/example/fitbot/MainScreen.java index 048af45..6762be8 100644 --- 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 @@ -5,19 +5,17 @@ import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.widget.Button; -import com.example.fitbot.bicepvideo; - public class MainScreen extends AppCompatActivity { Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - setContentView(R.layout.activity_main); + setContentView(R.layout.activity_main_screen); - button = findViewById(R.id.open_video); + button = findViewById(R.id.open_BicepVideo); button.setOnClickListener(v -> { - Intent i = new Intent(MainScreen.this, bicepvideo.class); + Intent i = new Intent(MainScreen.this, BicepVideo.class); startActivity(i); }); } 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 index dd27bab..b866143 100644 --- a/code/src/Fitbot/app/src/main/res/layout/activity_bicepvideo.xml +++ b/code/src/Fitbot/app/src/main/res/layout/activity_bicepvideo.xml @@ -1,15 +1,15 @@ - + tools:context=".BicepVideo"> - \ No newline at end of file + \ 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_screen.xml b/code/src/Fitbot/app/src/main/res/layout/activity_main_screen.xml index fa77aa1..1ac4230 100644 --- 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 @@ -7,14 +7,14 @@ tools:context=".MainScreen">