diff --git a/code/src/Fitbot/.idea/deploymentTargetDropDown.xml b/code/src/Fitbot/.idea/deploymentTargetDropDown.xml index a5abdd5..7f839bd 100644 --- a/code/src/Fitbot/.idea/deploymentTargetDropDown.xml +++ b/code/src/Fitbot/.idea/deploymentTargetDropDown.xml @@ -12,6 +12,6 @@ - + \ No newline at end of file diff --git a/code/src/Fitbot/.idea/misc.xml b/code/src/Fitbot/.idea/misc.xml index f2cd21b..7b1e4ee 100644 --- a/code/src/Fitbot/.idea/misc.xml +++ b/code/src/Fitbot/.idea/misc.xml @@ -3,17 +3,19 @@ diff --git a/code/src/Fitbot/app/build.gradle b/code/src/Fitbot/app/build.gradle index 23c5f19..5148a3d 100644 --- a/code/src/Fitbot/app/build.gradle +++ b/code/src/Fitbot/app/build.gradle @@ -33,6 +33,7 @@ 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' + implementation 'com.android.support:design: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' diff --git a/code/src/Fitbot/app/src/main/AndroidManifest.xml b/code/src/Fitbot/app/src/main/AndroidManifest.xml index adeb10a..1c9e481 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,25 +10,25 @@ 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="false" /> + diff --git a/code/src/Fitbot/app/src/main/java/com/example/fitbot/Animations.java b/code/src/Fitbot/app/src/main/java/com/example/fitbot/Animations.java new file mode 100644 index 0000000..33a3e3e --- /dev/null +++ b/code/src/Fitbot/app/src/main/java/com/example/fitbot/Animations.java @@ -0,0 +1,33 @@ +package com.example.fitbot; + +import android.support.v7.app.AppCompatActivity; +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 Animations extends AppCompatActivity { + + + public static void Animate(String AnimationFile, QiContext ctx) + { + PlayAnimation(AnimationFile, ctx); + } + + public static void PlayAnimation(String AnimationFile, QiContext ctx) + { + int resId = ctx.getResources().getIdentifier(AnimationFile, "raw", ctx.getPackageName()); + + Animation animation = AnimationBuilder.with(ctx) + .withResources(resId) + .build(); + + Animate animate = AnimateBuilder.with(ctx) + .withAnimation(animation) + .build(); + + animate.async().run(); + } + +} 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 index 6820fd7..9f51f41 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,5 +1,7 @@ package com.example.fitbot; +import android.content.Intent; +import android.support.v7.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import android.widget.Button; @@ -7,9 +9,18 @@ import android.widget.Button; 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; +import com.aldebaran.qi.sdk.object.locale.Locale; +import com.aldebaran.qi.sdk.object.locale.Region; import com.example.fitbot.ui.SportMenuActivity; @@ -37,15 +48,42 @@ public class MainActivity extends RobotActivity implements RobotLifecycleCallbac @Override public void onRobotFocusGained(QiContext qiContext) { + Locale locale = new Locale(Language.DUTCH, Region.NETHERLANDS); + // Create a new say action. Say say = SayBuilder.with(qiContext) // Create the builder with the context. - .withText("Hallo, heb je zin om sportieve activiteiten te verrichten?") // Set the text to say. + .withText("Hallo hoe gaat het?") // Set the text to say. .build(); // Build the say action. + String locationName = ("de hogeschool van amsterdam"); + String locationDescription = ("0 bitches"); + + Phrase namePhrase = new Phrase("Deze locatie 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. 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..bc39699 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 @@ -1,24 +1,50 @@ package com.example.fitbot; -import android.content.Intent; +import android.annotation.SuppressLint; import android.os.Bundle; +import android.support.design.widget.NavigationView; +import android.support.v4.view.GravityCompat; +import android.support.v4.widget.DrawerLayout; +import android.support.v7.app.ActionBarDrawerToggle; import android.support.v7.app.AppCompatActivity; -import android.widget.Button; - -import com.example.fitbot.bicepvideo; +import android.support.v7.widget.Toolbar; public class MainScreen extends AppCompatActivity { - Button button; + //Variables + DrawerLayout drawerLayout; + NavigationView navigationView; + Toolbar toolbar; + + @SuppressLint("WrongViewCast") @Override - protected void onCreate(Bundle savedInstanceState) { + protected void onCreate (Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); - button = findViewById(R.id.open_video); - button.setOnClickListener(v -> { - Intent i = new Intent(MainScreen.this, bicepvideo.class); - startActivity(i); - }); + /*---Hooks---*/ + drawerLayout = findViewById(R.id.drawer_layout); + navigationView = findViewById(R.id.nav_view); + toolbar = findViewById(R.id.toolbar); + + /*---Tool Bar---*/ +// setSupportActionBar(toolbar); + + /*---Navigation Drawer Menu---*/ + navigationView.bringToFront(); + ActionBarDrawerToggle toggle=new + ActionBarDrawerToggle(this,drawerLayout,toolbar,R.string.navigation_drawer_open,R.string.navigation_drawer_close); + drawerLayout.addDrawerListener(toggle); + toggle.syncState(); } -} \ No newline at end of file + + @Override + public void onBackPressed(){ + if(drawerLayout.isDrawerOpen(GravityCompat.START)){ + drawerLayout.closeDrawer(GravityCompat.START); + } + else + {super.onBackPressed(); + } + } +} diff --git a/code/src/Fitbot/app/src/main/java/com/example/fitbot/PowerScreen.java b/code/src/Fitbot/app/src/main/java/com/example/fitbot/PowerScreen.java new file mode 100644 index 0000000..ff1f891 --- /dev/null +++ b/code/src/Fitbot/app/src/main/java/com/example/fitbot/PowerScreen.java @@ -0,0 +1,43 @@ +package com.example.fitbot; + +import android.content.Intent; +import android.os.Bundle; +import android.support.v7.app.AppCompatActivity; +import android.widget.ImageButton; + +public class PowerScreen extends AppCompatActivity { + ImageButton openBicepVideo; + ImageButton openSquatVideo; + ImageButton openTricepVideo; + ImageButton goToHome; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_power_screen); + + openBicepVideo = findViewById(R.id.open_BicepVideo); + openSquatVideo = findViewById(R.id.open_SquatVideo); + openTricepVideo = findViewById(R.id.open_TricepVideo); + goToHome = findViewById(R.id.GoToHome); + + openBicepVideo.setOnClickListener(v -> { + Intent intent = new Intent(PowerScreen.this, BicepVideo.class); + startActivity(intent); + }); +// openSquatVideo.setOnClickListener(v -> { +// Intent intent = new Intent(PowerScreen.this, SquatVideo.class); +// startActivity(intent); +// }); +// +// openTricepVideo.setOnClickListener(v -> { +// Intent intent = new Intent(PowerScreen.this, TricepVideo.class); +// startActivity(intent); +// }); + + goToHome.setOnClickListener(v -> { + Intent intent = new Intent(PowerScreen.this, MainActivity.class); + startActivity(intent); + }); + } +} \ No newline at end of file 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 deleted file mode 100644 index c0b252e..0000000 --- a/code/src/Fitbot/app/src/main/java/com/example/fitbot/bicepvideo.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.example.fitbot; - -import android.media.MediaPlayer; -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; - -public class bicepvideo extends AppCompatActivity { - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_bicepvideo); - - 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.start(); - } -} \ No newline at end of file diff --git a/code/src/Fitbot/app/src/main/res/drawable/house_3.png b/code/src/Fitbot/app/src/main/res/drawable/house_3.png new file mode 100644 index 0000000..b2be9a1 Binary files /dev/null and b/code/src/Fitbot/app/src/main/res/drawable/house_3.png differ diff --git a/code/src/Fitbot/app/src/main/res/drawable/ic_baseline_home_48.xml b/code/src/Fitbot/app/src/main/res/drawable/ic_baseline_home_48.xml new file mode 100644 index 0000000..e6f32a4 --- /dev/null +++ b/code/src/Fitbot/app/src/main/res/drawable/ic_baseline_home_48.xml @@ -0,0 +1,5 @@ + + + diff --git a/code/src/Fitbot/app/src/main/res/drawable/ic_baseline_settings_48.xml b/code/src/Fitbot/app/src/main/res/drawable/ic_baseline_settings_48.xml new file mode 100644 index 0000000..d91f2bc --- /dev/null +++ b/code/src/Fitbot/app/src/main/res/drawable/ic_baseline_settings_48.xml @@ -0,0 +1,5 @@ + + + diff --git a/code/src/Fitbot/app/src/main/res/drawable/ic_baseline_star_rate_48.xml b/code/src/Fitbot/app/src/main/res/drawable/ic_baseline_star_rate_48.xml new file mode 100644 index 0000000..a9aee33 --- /dev/null +++ b/code/src/Fitbot/app/src/main/res/drawable/ic_baseline_star_rate_48.xml @@ -0,0 +1,5 @@ + + + diff --git a/code/src/Fitbot/app/src/main/res/drawable/noun_bicep_499185.png b/code/src/Fitbot/app/src/main/res/drawable/noun_bicep_499185.png new file mode 100644 index 0000000..1cb2117 Binary files /dev/null and b/code/src/Fitbot/app/src/main/res/drawable/noun_bicep_499185.png differ diff --git a/code/src/Fitbot/app/src/main/res/drawable/robotLogo.png b/code/src/Fitbot/app/src/main/res/drawable/robotLogo.png new file mode 100644 index 0000000..48b5804 Binary files /dev/null and b/code/src/Fitbot/app/src/main/res/drawable/robotLogo.png differ diff --git a/code/src/Fitbot/app/src/main/res/drawable/squatlogo.png b/code/src/Fitbot/app/src/main/res/drawable/squatlogo.png new file mode 100644 index 0000000..a37bc8c Binary files /dev/null and b/code/src/Fitbot/app/src/main/res/drawable/squatlogo.png differ diff --git a/code/src/Fitbot/app/src/main/res/drawable/triceplogo.png b/code/src/Fitbot/app/src/main/res/drawable/triceplogo.png new file mode 100644 index 0000000..69e714d Binary files /dev/null and b/code/src/Fitbot/app/src/main/res/drawable/triceplogo.png differ 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.xml b/code/src/Fitbot/app/src/main/res/layout/activity_main.xml index 8cebf92..75bba1c 100644 --- a/code/src/Fitbot/app/src/main/res/layout/activity_main.xml +++ b/code/src/Fitbot/app/src/main/res/layout/activity_main.xml @@ -1,19 +1,25 @@ - + android:fitsSystemWindows="true" + tools:context=".MainActivity" + tools:openDrawer="start"> - + + + android:layout_height="match_parent" + android:layout_gravity="start" + app:headerLayout="@layout/header" + app:menu="@menu/main_menu" />