diff --git a/app/build.gradle b/app/build.gradle
index 1e9a076..b7864d0 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -49,6 +49,12 @@ android {
sourceCompatibility = '1.8'
targetCompatibility = '1.8'
}
+ lintOptions {
+ checkReleaseBuilds false
+ // Or, if you prefer, you can continue to check for errors in release builds,
+ // but continue the build even when errors are found:
+// abortOnError false
+ }
}
dependencies {
diff --git a/app/src/main/java/de/tadris/fitness/activity/RecordWorkoutActivity.java b/app/src/main/java/de/tadris/fitness/activity/RecordWorkoutActivity.java
index 84b7993..12a56f7 100644
--- a/app/src/main/java/de/tadris/fitness/activity/RecordWorkoutActivity.java
+++ b/app/src/main/java/de/tadris/fitness/activity/RecordWorkoutActivity.java
@@ -38,6 +38,8 @@ import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.TextView;
+import android.speech.tts.TextToSpeech;
+
import androidx.core.app.ActivityCompat;
import org.mapsforge.core.graphics.Paint;
@@ -171,6 +173,7 @@ public class RecordWorkoutActivity extends FitoTrackActivity implements Location
if(isResumed){
mHandler.post(this::updateDescription);
}
+ mHandler.post(this::speechUpdate);
}
}catch (InterruptedException e){
e.printStackTrace();
@@ -178,14 +181,41 @@ public class RecordWorkoutActivity extends FitoTrackActivity implements Location
}).start();
}
- int i= 0;
+ private void speechUpdate() {
+ long duration = recorder.getDuration();
+ if (duration / interval == lastSpeechUpdate / interval)
+ return;
- private void updateDescription(){
- i++;
- timeView.setText(UnitUtils.getHourMinuteSecondTime(recorder.getDuration()));
- infoViews[0].setText(getString(R.string.workoutDistance), UnitUtils.getDistance(recorder.getDistance()));
+ timeView.setText(UnitUtils.getHourMinuteSecondTime(duration));
+ final String distanceCaption = getString(R.string.workoutDistance);
+ final String distance = UnitUtils.getDistance(recorder.getDistance());
+ final String avgSpeedCaption = getString(R.string.workoutAvgSpeed);
+ final String avgSpeed = UnitUtils.getSpeed(Math.min(100d, recorder.getAvgSpeed()));
+
+ tts = new TextToSpeech(this, (int status) -> {
+ if (status != TextToSpeech.SUCCESS) return;
+ final String text = distanceCaption + ": " + distance + ". "
+ + avgSpeedCaption + ": " + avgSpeed;
+ tts.speak(text, TextToSpeech.QUEUE_FLUSH, null, "updateDescription" + duration);
+ });
+
+ lastSpeechUpdate = duration;
+ }
+
+ TextToSpeech tts;
+ long lastSpeechUpdate = 0;
+ final long interval = 60 * 1000;
+
+ private void updateDescription() {
+ long duration = recorder.getDuration();
+ timeView.setText(UnitUtils.getHourMinuteSecondTime(duration));
+ final String distanceCaption = getString(R.string.workoutDistance);
+ final String distance = UnitUtils.getDistance(recorder.getDistance());
+ final String avgSpeedCaption = getString(R.string.workoutAvgSpeed);
+ final String avgSpeed = UnitUtils.getSpeed(Math.min(100d, recorder.getAvgSpeed()));
+ infoViews[0].setText(distanceCaption, distance);
infoViews[1].setText(getString(R.string.workoutBurnedEnergy), recorder.getCalories() + " kcal");
- infoViews[2].setText(getString(R.string.workoutAvgSpeed), UnitUtils.getSpeed(Math.min(100d, recorder.getAvgSpeed())));
+ infoViews[2].setText(avgSpeedCaption, avgSpeed);
infoViews[3].setText(getString(R.string.workoutPauseDuration), UnitUtils.getHourMinuteSecondTime(recorder.getPauseDuration()));
}
diff --git a/app/src/main/java/de/tadris/fitness/recording/WorkoutRecorder.java b/app/src/main/java/de/tadris/fitness/recording/WorkoutRecorder.java
index 1346033..db2acfc 100644
--- a/app/src/main/java/de/tadris/fitness/recording/WorkoutRecorder.java
+++ b/app/src/main/java/de/tadris/fitness/recording/WorkoutRecorder.java
@@ -48,7 +48,7 @@ public class WorkoutRecorder implements LocationListener.LocationChangeListener
}
}
- private static final int PAUSE_TIME= 10000;
+ private static final int PAUSE_TIME= 1000*1000;
/**
* Time after which the workout is stopped and saved automatically because there is no activity anymore
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index bd74019..224ef85 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -57,7 +57,7 @@
Pace
Route
Speed
- Avg. Speed
+ Average Speed
Top Speed
Burned Energy
Total Energy
diff --git a/build.gradle b/build.gradle
index 795a6ec..75828ac 100644
--- a/build.gradle
+++ b/build.gradle
@@ -26,7 +26,7 @@ buildscript {
}
dependencies {
- classpath 'com.android.tools.build:gradle:3.5.2'
+ classpath 'com.android.tools.build:gradle:3.4.2'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files