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 d336847..f23df0e 100644 --- a/app/src/main/java/de/tadris/fitness/activity/ShowWorkoutActivity.java +++ b/app/src/main/java/de/tadris/fitness/activity/ShowWorkoutActivity.java @@ -82,34 +82,43 @@ public class ShowWorkoutActivity extends WorkoutActivity implements DialogUtils. addKeyValue(getString(R.string.workoutDistance), UnitUtils.getDistance(workout.length), getString(R.string.workoutPace), UnitUtils.getPace(workout.avgPace)); - addTitle(getString(R.string.workoutRoute)); + if (hasSamples()) { + addTitle(getString(R.string.workoutRoute)); - addMap(); + addMap(); + + map.setClickable(false); + mapRoot.setOnClickListener(v -> startActivity(new Intent(ShowWorkoutActivity.this, ShowWorkoutMapActivity.class))); + + } - map.setClickable(false); - mapRoot.setOnClickListener(v -> startActivity(new Intent(ShowWorkoutActivity.this, ShowWorkoutMapActivity.class))); addTitle(getString(R.string.workoutSpeed)); addKeyValue(getString(R.string.workoutAvgSpeedShort), UnitUtils.getSpeed(workout.avgSpeed), getString(R.string.workoutTopSpeed), UnitUtils.getSpeed(workout.topSpeed)); - addSpeedDiagram(); + if (hasSamples()) { - speedDiagram.setOnClickListener(v -> startDiagramActivity(ShowWorkoutMapDiagramActivity.DIAGRAM_TYPE_SPEED)); + addSpeedDiagram(); + + speedDiagram.setOnClickListener(v -> startDiagramActivity(ShowWorkoutMapDiagramActivity.DIAGRAM_TYPE_SPEED)); + } addTitle(getString(R.string.workoutBurnedEnergy)); addKeyValue(getString(R.string.workoutTotalEnergy), workout.calorie + " kcal", getString(R.string.workoutEnergyConsumption), UnitUtils.getRelativeEnergyConsumption((double)workout.calorie / ((double)workout.length / 1000))); - addTitle(getString(R.string.height)); + if (hasSamples()) { + addTitle(getString(R.string.height)); - addKeyValue(getString(R.string.workoutAscent), UnitUtils.getDistance((int)workout.ascent), - getString(R.string.workoutDescent), UnitUtils.getDistance((int)workout.descent)); + addKeyValue(getString(R.string.workoutAscent), UnitUtils.getDistance((int) workout.ascent), + getString(R.string.workoutDescent), UnitUtils.getDistance((int) workout.descent)); - addHeightDiagram(); + addHeightDiagram(); - heightDiagram.setOnClickListener(v -> startDiagramActivity(ShowWorkoutMapDiagramActivity.DIAGRAM_TYPE_HEIGHT)); + heightDiagram.setOnClickListener(v -> startDiagramActivity(ShowWorkoutMapDiagramActivity.DIAGRAM_TYPE_HEIGHT)); + } } diff --git a/app/src/main/java/de/tadris/fitness/activity/WorkoutActivity.java b/app/src/main/java/de/tadris/fitness/activity/WorkoutActivity.java index 3bb2e2d..ba15a6b 100644 --- a/app/src/main/java/de/tadris/fitness/activity/WorkoutActivity.java +++ b/app/src/main/java/de/tadris/fitness/activity/WorkoutActivity.java @@ -297,9 +297,15 @@ public abstract class WorkoutActivity extends FitoTrackActivity { return getWindowManager().getDefaultDisplay().getWidth()*3/4; } + protected boolean hasSamples() { + return samples.size() > 1; + } + @Override protected void onDestroy() { - map.destroyAll(); + if (map != null) { + map.destroyAll(); + } AndroidGraphicFactory.clearResourceMemoryCache(); super.onDestroy(); } @@ -307,12 +313,16 @@ public abstract class WorkoutActivity extends FitoTrackActivity { @Override public void onPause(){ super.onPause(); - downloadLayer.onPause(); + if (downloadLayer != null) { + downloadLayer.onPause(); + } } public void onResume(){ super.onResume(); - downloadLayer.onResume(); + if (downloadLayer != null) { + downloadLayer.onResume(); + } } @Override