Types of Goals

This commit is contained in:
jannis 2019-10-02 11:01:30 +02:00
parent 719d889ae9
commit 86ef7113ae
5 changed files with 79 additions and 0 deletions

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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);
}

View File

@ -62,6 +62,7 @@
<string name="workoutBurnedEnergy">Burned Energy</string>
<string name="workoutTotalEnergy">Total Energy</string>
<string name="workoutEnergyConsumption">Energy Consumption</string>
<string name="calories">Calories</string>
<string name="workoutAscent">Ascent</string>
<string name="workoutDescent">Descent</string>