2024-05-21 15:34:12 +02:00
9 changed files with 214 additions and 40 deletions

View File

@@ -40,6 +40,45 @@
</map> </map>
</option> </option>
</component> </component>
<component name="NullableNotNullManager">
<option name="myDefaultNullable" value="androidx.annotation.Nullable" />
<option name="myDefaultNotNull" value="android.support.annotation.NonNull" />
<option name="myNullables">
<value>
<list size="12">
<item index="0" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NullableDecl" />
<item index="1" class="java.lang.String" itemvalue="org.jetbrains.annotations.Nullable" />
<item index="2" class="java.lang.String" itemvalue="androidx.annotation.Nullable" />
<item index="3" class="java.lang.String" itemvalue="org.eclipse.jdt.annotation.Nullable" />
<item index="4" class="java.lang.String" itemvalue="com.android.annotations.Nullable" />
<item index="5" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.Nullable" />
<item index="6" class="java.lang.String" itemvalue="androidx.annotation.RecentlyNullable" />
<item index="7" class="java.lang.String" itemvalue="android.support.annotation.Nullable" />
<item index="8" class="java.lang.String" itemvalue="javax.annotation.CheckForNull" />
<item index="9" class="java.lang.String" itemvalue="javax.annotation.Nullable" />
<item index="10" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.qual.Nullable" />
<item index="11" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NullableType" />
</list>
</value>
</option>
<option name="myNotNulls">
<value>
<list size="11">
<item index="0" class="java.lang.String" itemvalue="androidx.annotation.RecentlyNonNull" />
<item index="1" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.qual.NonNull" />
<item index="2" class="java.lang.String" itemvalue="com.android.annotations.NonNull" />
<item index="3" class="java.lang.String" itemvalue="androidx.annotation.NonNull" />
<item index="4" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NonNullType" />
<item index="5" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.NonNull" />
<item index="6" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NonNullDecl" />
<item index="7" class="java.lang.String" itemvalue="android.support.annotation.NonNull" />
<item index="8" class="java.lang.String" itemvalue="org.jetbrains.annotations.NotNull" />
<item index="9" class="java.lang.String" itemvalue="javax.annotation.Nonnull" />
<item index="10" class="java.lang.String" itemvalue="org.eclipse.jdt.annotation.NonNull" />
</list>
</value>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="11" project-jdk-type="JavaSDK"> <component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="11" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" /> <output url="file://$PROJECT_DIR$/build/classes" />
</component> </component>

View File

@@ -22,7 +22,7 @@
android:supportsRtl="true" android:supportsRtl="true"
android:theme="@style/Theme.Fitbot" > android:theme="@style/Theme.Fitbot" >
<activity <activity
android:name=".EndScreenActivity" android:name=".ui.activities.EndScreenActivity"
android:exported="false" /> android:exported="false" />
<activity <activity
android:name=".ui.activities.FitnessActivity" android:name=".ui.activities.FitnessActivity"

View File

@@ -1,10 +1,10 @@
package com.example.fitbot; package com.example.fitbot.ui.activities;
import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.support.v7.app.AppCompatActivity; import android.support.v7.app.AppCompatActivity;
import android.widget.Button;
import com.example.fitbot.R;
import com.example.fitbot.ui.activities.FitnessActivity;
import com.example.fitbot.ui.activities.MainActivity; import com.example.fitbot.ui.activities.MainActivity;
public class EndScreenActivity extends AppCompatActivity { public class EndScreenActivity extends AppCompatActivity {
@@ -13,12 +13,8 @@ public class EndScreenActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.activity_end_screen); setContentView(R.layout.activity_end_screen);
Button homeButton = findViewById(R.id.homeButton);
homeButton.setOnClickListener(v -> { com.example.fitbot.util.ButtonNavigation.setupButtonNavigation(this, R.id.homeButton, MainActivity.class);
Intent intent = new Intent(EndScreenActivity.this, MainActivity.class); com.example.fitbot.util.ButtonNavigation.setupButtonNavigation(this, R.id.continueButton, FitnessActivity.class);
startActivity(intent);
finish();
});
} }
} }

View File

@@ -2,11 +2,20 @@ package com.example.fitbot.ui.activities;
import static com.example.fitbot.sports.Animations.Animate; import static com.example.fitbot.sports.Animations.Animate;
import android.content.Context;
import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import android.util.AttributeSet;
import android.view.View;
import android.widget.MediaController;
import android.widget.VideoView;
import com.aldebaran.qi.sdk.QiContext; import com.aldebaran.qi.sdk.QiContext;
import com.aldebaran.qi.sdk.QiSDK; import com.aldebaran.qi.sdk.QiSDK;
import com.aldebaran.qi.sdk.RobotLifecycleCallbacks; import com.aldebaran.qi.sdk.RobotLifecycleCallbacks;
import com.aldebaran.qi.sdk.design.activity.RobotActivity; import com.aldebaran.qi.sdk.design.activity.RobotActivity;
import com.example.fitbot.ui.activities.EndScreenActivity;
import com.example.fitbot.R;
import com.example.fitbot.sports.Animations; import com.example.fitbot.sports.Animations;
public class FitnessActivity extends RobotActivity implements RobotLifecycleCallbacks { public class FitnessActivity extends RobotActivity implements RobotLifecycleCallbacks {
@@ -14,10 +23,24 @@ public class FitnessActivity extends RobotActivity implements RobotLifecycleCall
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
QiSDK.register(this, this); setContentView(R.layout.activity_fitness);
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.start();
com.example.fitbot.util.ButtonNavigation.setupButtonNavigation(this, R.id.homeButton, MainActivity.class);
com.example.fitbot.util.ButtonNavigation.setupButtonNavigation(this, R.id.buttonComplete, EndScreenActivity.class);
} }
// QiSDK.register(this, this);
//
//
@Override @Override
public void onRobotFocusGained(QiContext qiContext) { public void onRobotFocusGained(QiContext qiContext) {
// Implement your logic when the robot focus is gained // Implement your logic when the robot focus is gained
@@ -41,4 +64,12 @@ public class FitnessActivity extends RobotActivity implements RobotLifecycleCall
super.onDestroy(); super.onDestroy();
} }
public static class PersonalMotionPreviewElement extends View {
public PersonalMotionPreviewElement(Context context, AttributeSet attrs) {
super(context, attrs);
// Initialize your custom view here (optional)
}
}
} }

View File

@@ -1,11 +1,13 @@
package com.example.fitbot.ui.activities; package com.example.fitbot.ui.activities;
import static com.example.fitbot.sports.Animations.Animate; import android.Manifest;
import android.annotation.SuppressLint; import android.annotation.SuppressLint;
import android.content.Intent;
import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothAdapter;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.design.widget.NavigationView; import android.support.design.widget.NavigationView;
import android.support.v4.app.ActivityCompat; import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat; import android.support.v4.content.ContextCompat;
@@ -16,16 +18,9 @@ import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar; import android.support.v7.widget.Toolbar;
import android.util.Log; import android.util.Log;
import android.widget.Button; import android.widget.Button;
import android.Manifest;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.util.Log;
import com.example.fitbot.bluetooth.BluetoothDevice;
import com.example.fitbot.wiiboard.WiiBoard;
import com.example.fitbot.wiiboard.WiiBoardDiscoverer;
import com.example.fitbot.wiiboard.WiiBoardDiscoveryListener;
import com.example.fitbot.R; import com.example.fitbot.R;
import com.example.fitbot.wiiboard.WiiBoardDiscoverer;
public class MainActivity extends AppCompatActivity { public class MainActivity extends AppCompatActivity {
@@ -39,11 +34,21 @@ public class MainActivity extends AppCompatActivity {
Button startButton; Button startButton;
@SuppressLint("WrongViewCast") @SuppressLint("WrongViewCast")
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); setContentView(R.layout.activity_main);
Button startButton = findViewById(R.id.startButton);
startButton.setOnClickListener(v -> {
Uri videoUri = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.bicepvideo);
Intent intent = new Intent(MainActivity.this, FitnessActivity.class);
intent.putExtra("videoUri", videoUri);
startActivity(intent);
});
// Check if the device supports Bluetooth // Check if the device supports Bluetooth
if (BluetoothAdapter.getDefaultAdapter() == null) { if (BluetoothAdapter.getDefaultAdapter() == null) {
Log.i("WiiBoardDiscoverer", "Device doesn't support Bluetooth. Exiting."); Log.i("WiiBoardDiscoverer", "Device doesn't support Bluetooth. Exiting.");
@@ -62,7 +67,7 @@ public class MainActivity extends AppCompatActivity {
} }
@Override @Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults); super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == REQUEST_LOCATION_PERMISSION && grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { if (requestCode == REQUEST_LOCATION_PERMISSION && grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// Permission granted, initialize WiiBoardDiscoverer // Permission granted, initialize WiiBoardDiscoverer

View File

@@ -0,0 +1,19 @@
package com.example.fitbot.util;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.view.View;
import android.widget.Button;
public class ButtonNavigation {
public static void setupButtonNavigation(Activity currentActivity, int buttonId, Class<? extends Activity> targetActivity) {
Button button = currentActivity.findViewById(buttonId);
button.setOnClickListener(v -> {
Intent intent = new Intent(currentActivity, targetActivity);
currentActivity.startActivity(intent);
currentActivity.finish();
});
}
}

View File

@@ -5,7 +5,7 @@
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
tools:context=".EndScreenActivity"> tools:context=".ui.activities.EndScreenActivity">
<View <View
android:id="@+id/myRectangleView" android:id="@+id/myRectangleView"

View File

@@ -1,25 +1,73 @@
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" <?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout" android:id="@+id/drawer_layout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="#232323" android:background="@color/red"
android:fitsSystemWindows="true" android:fitsSystemWindows="true"
tools:context=".ui.activities.FitnessActivity" tools:context=".ui.activities.FitnessActivity"
tools:openDrawer="start"> tools:openDrawer="start">
<LinearLayout <!-- <com.example.fitbot.ui.components.PersonalMotionPreviewElement-->
android:layout_width="match_parent" <!-- android:id="@+id/personalMotionPreviewElement"-->
android:layout_height="match_parent" <!-- android:layout_width="600dp"-->
android:orientation="vertical"> <!-- android:layout_height="550dp"-->
<!-- app:layout_constraintBottom_toBottomOf="parent"-->
<!-- app:layout_constraintEnd_toEndOf="parent"-->
<!-- app:layout_constraintHorizontal_bias="0.976"-->
<!-- app:layout_constraintStart_toStartOf="parent"-->
<!-- app:layout_constraintTop_toTopOf="parent"-->
<!-- app:layout_constraintVertical_bias="0.064" />-->
<com.example.fitbot.ui.components.PersonalMotionPreviewElement <VideoView
android:id="@+id/personalMotionPreviewElement" android:id="@+id/videoView"
android:visibility="visible" android:layout_width="600dp"
android:layout_width="match_parent" android:layout_height="550dp"
android:layout_height="match_parent"/> app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.023"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.064" />
</LinearLayout> <Button
android:id="@+id/homeButton"
style="@style/ButtonStyle"
android:layout_width="180dp"
android:layout_height="120dp"
android:text="HOME"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.014"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.976" />
</android.support.v4.widget.DrawerLayout> <Button
android:id="@+id/skipButton"
style="@style/ButtonStyle"
android:layout_width="180dp"
android:layout_height="120dp"
android:text="SKIP"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.976" />
<Button
android:id="@+id/buttonComplete"
style="@style/ButtonStyle"
android:layout_width="180dp"
android:layout_height="120dp"
android:text="Complete"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.985"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.976" />
</android.support.constraint.ConstraintLayout>

View File

@@ -0,0 +1,36 @@
# climate measering box (blok 1)
In blok 1 kwam
**Situatie**
**Taak/Opgave**
**Aanpak en activiteiten**
**Resultaat**
**Reflectie**
**Transfer**
# TI game controller (blok 2)
**Situatie**
**Taak/Opgave**
**Aanpak en activiteiten**
**Resultaat**
**Reflectie**
**Transfer**
# verbeting leer omgeving (blok 3)
**Situatie**
**Taak/Opgave**
**Aanpak en activiteiten**
**Resultaat**
**Reflectie**
**Transfer**