diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index b12fa9b..1501da5 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -25,6 +25,7 @@
+
{
+ try{
+ while (recorder.isActive()){
+ Thread.sleep(1000);
+ if(isResumed){
+ mHandler.post(() -> updateDescription());
}
- }catch (InterruptedException e){
- e.printStackTrace();
}
+ }catch (InterruptedException e){
+ e.printStackTrace();
}
}).start();
}
@@ -136,7 +137,7 @@ public class RecordWorkoutActivity extends FitoTrackActivity implements Location
timeView.setText(UnitUtils.getHourMinuteSecondTime(recorder.getDuration()));
infoViews[0].setText(getString(R.string.workoutDistance), UnitUtils.getDistance(recorder.getDistance()));
infoViews[1].setText(getString(R.string.workoutBurnedEnergy), recorder.getCalories() + " kcal");
- infoViews[2].setText(getString(R.string.workoutAvgSpeed), UnitUtils.getSpeed(recorder.getAvgSpeed()));
+ infoViews[2].setText(getString(R.string.workoutAvgSpeed), UnitUtils.getSpeed(Math.min(100d, recorder.getAvgSpeed())));
infoViews[3].setText(getString(R.string.workoutPauseDuration), UnitUtils.getHourMinuteSecondTime(recorder.getPauseDuration()));
}
@@ -180,6 +181,9 @@ public class RecordWorkoutActivity extends FitoTrackActivity implements Location
mapView.destroyAll();
AndroidGraphicFactory.clearResourceMemoryCache();
super.onDestroy();
+ if(wakeLock.isHeld()){
+ wakeLock.release();
+ }
}
@Override
diff --git a/app/src/main/java/de/tadris/fitness/activity/ShowWorkoutActivity.java b/app/src/main/java/de/tadris/fitness/activity/ShowWorkoutActivity.java
index fbf8267..c89a494 100644
--- a/app/src/main/java/de/tadris/fitness/activity/ShowWorkoutActivity.java
+++ b/app/src/main/java/de/tadris/fitness/activity/ShowWorkoutActivity.java
@@ -20,7 +20,6 @@
package de.tadris.fitness.activity;
import android.app.AlertDialog;
-import android.content.DialogInterface;
import android.content.res.Resources;
import android.graphics.Color;
import android.graphics.Typeface;
@@ -114,7 +113,7 @@ public class ShowWorkoutActivity extends FitoTrackActivity {
addTitle(getString(R.string.workoutBurnedEnergy));
addKeyValue(getString(R.string.workoutTotalEnergy), workout.calorie + " kcal",
- getString(R.string.workoutEnergyConsumption), UnitUtils.getPace((double)workout.calorie / workout.length / 1000));
+ getString(R.string.workoutEnergyConsumption), UnitUtils.getRelativeEnergyConsumption((double)workout.calorie / ((double)workout.length / 1000)));
}
@@ -224,13 +223,10 @@ public class ShowWorkoutActivity extends FitoTrackActivity {
map.addLayer(workoutLayer);
final BoundingBox bounds= new BoundingBox(workoutLayer.getLatLongs()).extendMeters(50);
- new Handler().postDelayed(new Runnable() {
- @Override
- public void run() {
- map.getModel().mapViewPosition.setMapPosition(new MapPosition(bounds.getCenterPoint(),
- (byte)(LatLongUtils.zoomForBounds(map.getDimension(), bounds, map.getModel().displayModel.getTileSize()))));
- map.animate().alpha(1f).setDuration(1000).start();
- }
+ new Handler().postDelayed(() -> {
+ map.getModel().mapViewPosition.setMapPosition(new MapPosition(bounds.getCenterPoint(),
+ (byte)(LatLongUtils.zoomForBounds(map.getDimension(), bounds, map.getModel().displayModel.getTileSize()))));
+ map.animate().alpha(1f).setDuration(1000).start();
}, 1000);
map.getModel().mapViewPosition.setMapLimit(bounds);
@@ -282,12 +278,7 @@ public class ShowWorkoutActivity extends FitoTrackActivity {
new AlertDialog.Builder(this).setTitle(R.string.deleteWorkout)
.setMessage(R.string.deleteWorkoutMessage)
.setNegativeButton(R.string.cancel, null)
- .setPositiveButton(R.string.delete, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- deleteWorkout();
- }
- })
+ .setPositiveButton(R.string.delete, (dialog, which) -> deleteWorkout())
.create().show();
}
diff --git a/app/src/main/java/de/tadris/fitness/data/Workout.java b/app/src/main/java/de/tadris/fitness/data/Workout.java
index 69937fc..cbbc237 100644
--- a/app/src/main/java/de/tadris/fitness/data/Workout.java
+++ b/app/src/main/java/de/tadris/fitness/data/Workout.java
@@ -26,7 +26,6 @@ import androidx.room.PrimaryKey;
public class Workout{
public static final String WORKOUT_TYPE_RUNNING= "running";
- public static final String WORKOUT_TYPE_WALKING= "running";
public static final String WORKOUT_TYPE_HIKING= "hiking";
public static final String WORKOUT_TYPE_CYCLING= "cycling";
diff --git a/app/src/main/java/de/tadris/fitness/location/WorkoutRecorder.java b/app/src/main/java/de/tadris/fitness/location/WorkoutRecorder.java
index 6a9dc09..d0c0d29 100644
--- a/app/src/main/java/de/tadris/fitness/location/WorkoutRecorder.java
+++ b/app/src/main/java/de/tadris/fitness/location/WorkoutRecorder.java
@@ -210,9 +210,15 @@ public class WorkoutRecorder implements LocationListener.LocationChangeListener
return (int)distance;
}
+ private int maxCalories= 0;
public int getCalories(){
workout.avgSpeed= getAvgSpeed();
- return CalorieCalculator.calculateCalories(workout, Instance.getInstance(context).userPreferences.weight);
+ workout.duration= getDuration();
+ int calories= CalorieCalculator.calculateCalories(workout, Instance.getInstance(context).userPreferences.weight);
+ if(calories > maxCalories){
+ maxCalories= calories;
+ }
+ return maxCalories;
}
/**
diff --git a/app/src/main/java/de/tadris/fitness/util/CalorieCalculator.java b/app/src/main/java/de/tadris/fitness/util/CalorieCalculator.java
index ae3ccc7..d253ac3 100644
--- a/app/src/main/java/de/tadris/fitness/util/CalorieCalculator.java
+++ b/app/src/main/java/de/tadris/fitness/util/CalorieCalculator.java
@@ -24,6 +24,8 @@ import de.tadris.fitness.data.Workout;
public class CalorieCalculator {
/**
+ *
+ * workoutType, duration and avgSpeed of workout have to be set
*
* @param workout the workout
* @param weight the weight of the person in kilogram