From 86ef7113aec044d0f05d24ef7e22d66758286355 Mon Sep 17 00:00:00 2001 From: jannis Date: Wed, 2 Oct 2019 11:01:30 +0200 Subject: [PATCH] Types of Goals --- .../fitness/recording/goal/CalorieGoal.java | 22 +++++++++++++++++++ .../fitness/recording/goal/DistanceGoal.java | 22 +++++++++++++++++++ .../fitness/recording/goal/DurationGoal.java | 22 +++++++++++++++++++ .../tadris/fitness/recording/goal/Goal.java | 12 ++++++++++ app/src/main/res/values/strings.xml | 1 + 5 files changed, 79 insertions(+) create mode 100644 app/src/main/java/de/tadris/fitness/recording/goal/CalorieGoal.java create mode 100644 app/src/main/java/de/tadris/fitness/recording/goal/DistanceGoal.java create mode 100644 app/src/main/java/de/tadris/fitness/recording/goal/DurationGoal.java create mode 100644 app/src/main/java/de/tadris/fitness/recording/goal/Goal.java diff --git a/app/src/main/java/de/tadris/fitness/recording/goal/CalorieGoal.java b/app/src/main/java/de/tadris/fitness/recording/goal/CalorieGoal.java new file mode 100644 index 0000000..2c91de9 --- /dev/null +++ b/app/src/main/java/de/tadris/fitness/recording/goal/CalorieGoal.java @@ -0,0 +1,22 @@ +package de.tadris.fitness.recording.goal; + +import de.tadris.fitness.R; + +public class CalorieGoal extends Goal { + + private int calories; + + public CalorieGoal(int calories) { + this.calories = calories; + } + + @Override + int getName() { + return R.string.calories; + } + + @Override + double getProgress(long duration, int distance, int calories) { + return (double) calories / this.calories; + } +} diff --git a/app/src/main/java/de/tadris/fitness/recording/goal/DistanceGoal.java b/app/src/main/java/de/tadris/fitness/recording/goal/DistanceGoal.java new file mode 100644 index 0000000..d06e223 --- /dev/null +++ b/app/src/main/java/de/tadris/fitness/recording/goal/DistanceGoal.java @@ -0,0 +1,22 @@ +package de.tadris.fitness.recording.goal; + +import de.tadris.fitness.R; + +public class DistanceGoal extends Goal { + + private int goalDistance; + + public DistanceGoal(int goalDistance) { + this.goalDistance = goalDistance; + } + + @Override + int getName() { + return R.string.workoutDistance; + } + + @Override + double getProgress(long duration, int distance, int calories) { + return (double) distance / goalDistance; + } +} diff --git a/app/src/main/java/de/tadris/fitness/recording/goal/DurationGoal.java b/app/src/main/java/de/tadris/fitness/recording/goal/DurationGoal.java new file mode 100644 index 0000000..e218f35 --- /dev/null +++ b/app/src/main/java/de/tadris/fitness/recording/goal/DurationGoal.java @@ -0,0 +1,22 @@ +package de.tadris.fitness.recording.goal; + +import de.tadris.fitness.R; + +public class DurationGoal extends Goal { + + private long duration; + + @Override + int getName() { + return R.string.workoutDuration; + } + + public DurationGoal(long duration) { + this.duration = duration; + } + + @Override + double getProgress(long duration, int distance, int calories) { + return (double) duration / this.duration; + } +} diff --git a/app/src/main/java/de/tadris/fitness/recording/goal/Goal.java b/app/src/main/java/de/tadris/fitness/recording/goal/Goal.java new file mode 100644 index 0000000..00eec16 --- /dev/null +++ b/app/src/main/java/de/tadris/fitness/recording/goal/Goal.java @@ -0,0 +1,12 @@ +package de.tadris.fitness.recording.goal; + +import androidx.annotation.StringRes; + +abstract public class Goal { + + @StringRes + abstract int getName(); + + abstract double getProgress(long duration, int distance, int calories); + +} diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c3dc599..ee0b8f4 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -62,6 +62,7 @@ Burned Energy Total Energy Energy Consumption + Calories Ascent Descent