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