From 490a97ae7825a4e1c41fd15622b13b39612c7ad4 Mon Sep 17 00:00:00 2001 From: Luca Warmenhoven Date: Tue, 14 May 2024 14:15:12 +0200 Subject: [PATCH] Updated PersonalMotionPreviewElement (previously SportPreviewCanvas) --- .../PersonalMotionPreviewElement.java | 43 ++++++++++++++++++ .../ui/components/SportPreviewCanvas.java | 44 ------------------- 2 files changed, 43 insertions(+), 44 deletions(-) create mode 100644 code/src/Fitbot/app/src/main/java/com/example/fitbot/ui/components/PersonalMotionPreviewElement.java delete mode 100644 code/src/Fitbot/app/src/main/java/com/example/fitbot/ui/components/SportPreviewCanvas.java diff --git a/code/src/Fitbot/app/src/main/java/com/example/fitbot/ui/components/PersonalMotionPreviewElement.java b/code/src/Fitbot/app/src/main/java/com/example/fitbot/ui/components/PersonalMotionPreviewElement.java new file mode 100644 index 0000000..b5161d8 --- /dev/null +++ b/code/src/Fitbot/app/src/main/java/com/example/fitbot/ui/components/PersonalMotionPreviewElement.java @@ -0,0 +1,43 @@ +package com.example.fitbot.ui.components; + +import android.content.Context; +import android.graphics.Canvas; +import android.graphics.Path; +import android.view.View; + +import com.example.fitbot.util.processing.GesturePath; +import com.example.fitbot.util.processing.MotionData; +import com.example.fitbot.util.processing.MotionProcessor; +import com.example.fitbot.util.processing.Vector3; + +public class PersonalMotionPreviewElement extends View { + + private GesturePath path; + private double pathTime = 0.0D; // The timestamp at which the path is currently at. + private MotionProcessor motionProcessor; + private Path targetPath, personalPath; + + /** + * Method that calculates the path that will be drawn on the + * canvas. This method will be called every time new motion data is received. + */ + private void calculateDrawingPath(Vector3 transformedVector, MotionData motionData, int sampleIndex, double sampleRate) { + + } + + + public PersonalMotionPreviewElement(Context context, GesturePath path) { + super(context); + this.path = path; + this.motionProcessor = new MotionProcessor(); + this.motionProcessor.startListening(); + this.motionProcessor.setMotionDataEventHandler(this::calculateDrawingPath); + this.targetPath = new Path(); + this.personalPath = new Path(); + } + + @Override + public void onDraw(Canvas canvas) { + // Draw the sport preview canvas + } +} diff --git a/code/src/Fitbot/app/src/main/java/com/example/fitbot/ui/components/SportPreviewCanvas.java b/code/src/Fitbot/app/src/main/java/com/example/fitbot/ui/components/SportPreviewCanvas.java deleted file mode 100644 index 8a0d508..0000000 --- a/code/src/Fitbot/app/src/main/java/com/example/fitbot/ui/components/SportPreviewCanvas.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.example.fitbot.ui.components; - -import android.content.Context; -import android.graphics.Canvas; -import android.view.View; - -import com.example.fitbot.util.processing.GesturePath; -import com.example.fitbot.util.processing.MotionProcessor; - -public class SportPreviewCanvas extends View { - - private GesturePath path; - private double pathTime = 0.0D; // The timestamp at which the path is currently at. - private MotionProcessor motionProcessor; - - /** - * Method that recalculates the path that will be drawn on the - * screen. - */ - private void calculateDrawingPath() { - - } - - - public SportPreviewCanvas(Context context, GesturePath path) { - super(context); - this.path = path; - this.motionProcessor = new MotionProcessor(); - this.motionProcessor.startListening(); - - // Add the event handler - this.motionProcessor.setMotionDataEventHandler((processed, preprocessed, sampleIndex, sampleRate) -> { - calculateDrawingPath(); - }); - } - - @Override - public void onDraw(Canvas canvas) { - // Draw the sport preview canvas - - - - } -}