mirror of
https://codeberg.org/OpenTracksApp/OpenTracks.git
synced 2026-10-02 17:43:06 +02:00
Announcements: can be triggered by time and distance (instead of either).
Fixes #921.
This commit is contained in:
-28
@@ -107,34 +107,6 @@ public class TrackRecordingServiceTestLooper {
|
||||
fullRecordingSession();
|
||||
}
|
||||
|
||||
@MediumTest
|
||||
@Test
|
||||
public void testWithProperties_voiceFrequencyDefault() throws TimeoutException {
|
||||
SharedPreferences.Editor editor = PreferenceManager.getDefaultSharedPreferences(context).edit();
|
||||
editor.putInt(context.getString(R.string.voice_frequency_key), Integer.parseInt(context.getResources().getString(R.string.voice_frequency_default)));
|
||||
editor.commit();
|
||||
fullRecordingSession();
|
||||
}
|
||||
|
||||
@MediumTest
|
||||
@Test
|
||||
public void testWithProperties_voiceFrequencyByDistance() throws TimeoutException {
|
||||
SharedPreferences.Editor editor = PreferenceManager.getDefaultSharedPreferences(context).edit();
|
||||
editor.putInt(context.getString(R.string.voice_frequency_key), -1);
|
||||
editor.commit();
|
||||
fullRecordingSession();
|
||||
}
|
||||
|
||||
@MediumTest
|
||||
@Test
|
||||
public void testWithProperties_voiceFrequencyByTime() throws TimeoutException {
|
||||
SharedPreferences.Editor editor = PreferenceManager.getDefaultSharedPreferences(context).edit();
|
||||
editor.putInt(context.getString(R.string.voice_frequency_key), 1);
|
||||
editor.commit();
|
||||
fullRecordingSession();
|
||||
}
|
||||
|
||||
|
||||
@MediumTest
|
||||
@Test
|
||||
public void testWithProperties_maxRecordingDistanceDefault() throws TimeoutException {
|
||||
|
||||
+27
-5
@@ -15,6 +15,7 @@ import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
import java.time.Duration;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.concurrent.TimeoutException;
|
||||
|
||||
@@ -54,16 +55,37 @@ public class VoiceAnnouncementManagerTest {
|
||||
.getService();
|
||||
|
||||
VoiceAnnouncementManager voiceAnnouncementManager = new VoiceAnnouncementManager(service);
|
||||
voiceAnnouncementManager.setMetricUnits(true);
|
||||
voiceAnnouncementManager.setTaskFrequency(-5);
|
||||
voiceAnnouncementManager.setFrequency(Distance.ofKilometer(5));
|
||||
|
||||
// when
|
||||
TrackStatistics statistics = new TrackStatistics();
|
||||
statistics.setTotalDistance(Distance.of(13000));
|
||||
assertEquals(Distance.of(15000), voiceAnnouncementManager.calculateNextTaskDistance(statistics));
|
||||
statistics.setTotalDistance(Distance.ofKilometer(13));
|
||||
voiceAnnouncementManager.restore(statistics);
|
||||
assertEquals(Distance.of(15000), voiceAnnouncementManager.getNextTotalDistance());
|
||||
|
||||
statistics.setTotalDistance(Distance.of(15100));
|
||||
assertEquals(Distance.of(20000), voiceAnnouncementManager.calculateNextTaskDistance(statistics));
|
||||
voiceAnnouncementManager.restore(statistics);
|
||||
assertEquals(Distance.of(20000), voiceAnnouncementManager.getNextTotalDistance());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void calculateNextTotalTime() throws TimeoutException {
|
||||
// given
|
||||
TrackRecordingService service = ((TrackRecordingService.Binder) mServiceRule.bindService(new Intent(context, TrackRecordingService.class)))
|
||||
.getService();
|
||||
|
||||
VoiceAnnouncementManager voiceAnnouncementManager = new VoiceAnnouncementManager(service);
|
||||
voiceAnnouncementManager.setFrequency(Duration.ofSeconds(5));
|
||||
|
||||
// when
|
||||
TrackStatistics statistics = new TrackStatistics();
|
||||
statistics.setTotalTime(Duration.ofSeconds(91));
|
||||
voiceAnnouncementManager.restore(statistics);
|
||||
assertEquals(Duration.ofSeconds(95), voiceAnnouncementManager.getNextTotalTime());
|
||||
|
||||
statistics.setTotalTime(Duration.ofSeconds(95));
|
||||
voiceAnnouncementManager.restore(statistics);
|
||||
assertEquals(Duration.ofSeconds(100), voiceAnnouncementManager.getNextTotalTime());
|
||||
}
|
||||
|
||||
}
|
||||
@@ -77,7 +77,7 @@ public class TrackListActivity extends AbstractTrackDeleteActivity implements Co
|
||||
|
||||
private static final String TAG = TrackListActivity.class.getSimpleName();
|
||||
|
||||
// The following are set in onCreate
|
||||
// The following are setFrequency in onCreate
|
||||
private SharedPreferences sharedPreferences;
|
||||
private TrackRecordingServiceConnection trackRecordingServiceConnection;
|
||||
private ResourceCursorAdapter resourceCursorAdapter;
|
||||
|
||||
@@ -66,7 +66,7 @@ public class TrackRecordedActivity extends AbstractTrackDeleteActivity implement
|
||||
|
||||
private static final String CURRENT_TAB_TAG_KEY = "current_tab_tag_key";
|
||||
|
||||
// The following are set in onCreate.
|
||||
// The following are setFrequency in onCreate.
|
||||
private ContentProviderUtils contentProviderUtils;
|
||||
private SharedPreferences sharedPreferences;
|
||||
private TrackDataHub trackDataHub;
|
||||
|
||||
@@ -51,7 +51,7 @@ public class TrackRecordingActivity extends AbstractActivity implements ChooseAc
|
||||
|
||||
private static final String CURRENT_TAB_TAG_KEY = "current_tab_tag_key";
|
||||
|
||||
// The following are set in onCreate
|
||||
// The following are setFrequency in onCreate
|
||||
private ContentProviderUtils contentProviderUtils;
|
||||
private SharedPreferences sharedPreferences;
|
||||
private TrackRecordingServiceConnection trackRecordingServiceConnection;
|
||||
|
||||
@@ -108,7 +108,7 @@ public class ChartFragment extends Fragment implements TrackDataListener {
|
||||
};
|
||||
|
||||
/**
|
||||
* A runnable that will set the orange pointer as appropriate and redraw.
|
||||
* A runnable that will setFrequency the orange pointer as appropriate and redraw.
|
||||
*/
|
||||
private final Runnable updateChart = new Runnable() {
|
||||
@Override
|
||||
|
||||
@@ -73,7 +73,7 @@ public class TrackRecordingService extends Service implements TrackPointCreator.
|
||||
public static final RecordingData NOT_RECORDING = new RecordingData(null, null, null);
|
||||
public static final GpsStatusValue STATUS_GPS_DEFAULT = GpsStatusValue.GPS_NONE;
|
||||
|
||||
// The following variables are set in onCreate:
|
||||
// The following variables are setFrequency in onCreate:
|
||||
private VoiceAnnouncementManager voiceAnnouncementManager;
|
||||
private TrackRecordingServiceNotificationManager notificationManager;
|
||||
|
||||
@@ -104,20 +104,21 @@ public class TrackRecordingService extends Service implements TrackPointCreator.
|
||||
Context context = TrackRecordingService.this;
|
||||
if (PreferencesUtils.isKey(context, R.string.stats_units_key, key)) {
|
||||
boolean metricUnits = PreferencesUtils.isMetricUnits(sharedPreferences, context);
|
||||
voiceAnnouncementManager.setMetricUnits(metricUnits);
|
||||
notificationManager.setMetricUnits(metricUnits);
|
||||
}
|
||||
if (PreferencesUtils.isKey(context, R.string.voice_frequency_key, key)) {
|
||||
voiceAnnouncementManager.setTaskFrequency(PreferencesUtils.getVoiceFrequency(sharedPreferences, context));
|
||||
if (PreferencesUtils.isKey(context, R.string.voice_announcement_frequency_key, key)) {
|
||||
voiceAnnouncementManager.setFrequency(PreferencesUtils.getVoiceAnnouncementFrequency(sharedPreferences, context));
|
||||
}
|
||||
if (PreferencesUtils.isKey(context, new int[]{R.string.voice_announcement_distance_key, R.string.stats_units_key}, key)) {
|
||||
voiceAnnouncementManager.setFrequency(PreferencesUtils.getVoiceAnnouncementDistance(sharedPreferences, context));
|
||||
}
|
||||
|
||||
|
||||
trackPointCreator.onSharedPreferenceChanged(sharedPreferences, key);
|
||||
trackRecordingManager.onSharedPreferenceChanged(sharedPreferences, key);
|
||||
}
|
||||
};
|
||||
|
||||
// The following variables are set when recording:
|
||||
// The following variables are setFrequency when recording:
|
||||
private WakeLock wakeLock;
|
||||
|
||||
private final Binder binder = new Binder();
|
||||
|
||||
+38
-61
@@ -40,48 +40,35 @@ public class VoiceAnnouncementManager {
|
||||
|
||||
private final TrackRecordingService trackRecordingService;
|
||||
|
||||
private final int TASK_FREQUENCY_OFF;
|
||||
/**
|
||||
* The task frequency.
|
||||
* A positive value is a time frequency (minutes).
|
||||
* A negative value is a distance frequency (km or mi).
|
||||
* A zero value is to turn off periodic task.
|
||||
*/
|
||||
private int taskFrequency;
|
||||
|
||||
private VoiceAnnouncement voiceAnnouncement;
|
||||
|
||||
private boolean metricUnits;
|
||||
|
||||
private TrackStatistics trackStatistics;
|
||||
|
||||
private static final Distance DISTANCE_OFF = Distance.of(Double.MAX_VALUE);
|
||||
private Distance distanceFrequency = DISTANCE_OFF;
|
||||
@NonNull
|
||||
private Distance nextTotalDistance = DISTANCE_OFF;
|
||||
|
||||
private static final Duration TOTALTIME_OFF = Duration.ofMillis(Long.MAX_VALUE);
|
||||
private Duration totalTimeFrequency = TOTALTIME_OFF;
|
||||
@NonNull
|
||||
private Duration nextTotalTime = TOTALTIME_OFF;
|
||||
|
||||
public VoiceAnnouncementManager(@NonNull TrackRecordingService trackRecordingService) {
|
||||
this.trackRecordingService = trackRecordingService;
|
||||
|
||||
TASK_FREQUENCY_OFF = Integer.parseInt(trackRecordingService.getString(R.string.frequency_off));
|
||||
taskFrequency = TASK_FREQUENCY_OFF;
|
||||
}
|
||||
|
||||
public void restore(@Nullable TrackStatistics trackStatistics) {
|
||||
if (taskFrequency == TASK_FREQUENCY_OFF) {
|
||||
Log.d(TAG, "Task frequency is off.");
|
||||
return;
|
||||
}
|
||||
|
||||
voiceAnnouncement = new VoiceAnnouncement(trackRecordingService);
|
||||
voiceAnnouncement.start();
|
||||
|
||||
if (isTimeFrequency()) {
|
||||
nextTotalTime = trackStatistics != null ? calculateNextDuration(trackStatistics) : TOTALTIME_OFF;
|
||||
} else {
|
||||
// For distance periodic task
|
||||
updateNextTaskDistance(trackStatistics);
|
||||
this.trackStatistics = trackStatistics;
|
||||
|
||||
if (!totalTimeFrequency.isZero()) {
|
||||
nextTotalTime = calculateNextDuration();
|
||||
}
|
||||
if (!distanceFrequency.isZero()) {
|
||||
nextTotalDistance = calculateNextTaskDistance();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -90,14 +77,15 @@ public class VoiceAnnouncementManager {
|
||||
Log.e(TAG, "Cannot update when in status shutdown.");
|
||||
return;
|
||||
}
|
||||
|
||||
boolean announce = false;
|
||||
this.trackStatistics = track.getTrackStatistics();
|
||||
if (trackStatistics.getTotalDistance().greaterThan(nextTotalDistance)) {
|
||||
updateNextTaskDistance(trackStatistics);
|
||||
nextTotalDistance = calculateNextTaskDistance();
|
||||
announce = true;
|
||||
}
|
||||
if (!trackStatistics.getTotalTime().minus(nextTotalTime).isNegative()) {
|
||||
nextTotalTime = calculateNextDuration(trackStatistics);
|
||||
nextTotalTime = calculateNextDuration();
|
||||
announce = true;
|
||||
}
|
||||
|
||||
@@ -113,59 +101,48 @@ public class VoiceAnnouncementManager {
|
||||
}
|
||||
}
|
||||
|
||||
public void setTaskFrequency(int taskFrequency) {
|
||||
this.taskFrequency = taskFrequency;
|
||||
public void setFrequency(Duration frequency) {
|
||||
this.totalTimeFrequency = frequency;
|
||||
restore(this.trackStatistics);
|
||||
}
|
||||
|
||||
public void setMetricUnits(boolean metricUnits) {
|
||||
this.metricUnits = metricUnits;
|
||||
updateNextTaskDistance(this.trackStatistics);
|
||||
}
|
||||
|
||||
private void updateNextTaskDistance(TrackStatistics trackStatistics) {
|
||||
if (!isDistanceFrequency()) {
|
||||
nextTotalDistance = DISTANCE_OFF;
|
||||
Log.d(TAG, "SplitManager: Distance splits disabled.");
|
||||
return;
|
||||
}
|
||||
|
||||
if (trackStatistics == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
nextTotalDistance = calculateNextTaskDistance(trackStatistics);
|
||||
public void setFrequency(Distance frequency) {
|
||||
this.distanceFrequency = frequency;
|
||||
restore(this.trackStatistics);
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
public Distance calculateNextTaskDistance(@NonNull TrackStatistics trackStatistics) {
|
||||
public Distance calculateNextTaskDistance() {
|
||||
if (trackStatistics == null) {
|
||||
return DISTANCE_OFF;
|
||||
}
|
||||
|
||||
Distance distance = trackStatistics.getTotalDistance();
|
||||
|
||||
Distance announcementInterval = Distance.one(metricUnits).multipliedBy(Math.abs(taskFrequency));
|
||||
int index = (int) (distance.dividedBy(announcementInterval));
|
||||
return announcementInterval.multipliedBy(index + 1);
|
||||
int index = (int) (distance.dividedBy(distanceFrequency));
|
||||
return distanceFrequency.multipliedBy(index + 1);
|
||||
}
|
||||
|
||||
private Duration calculateNextDuration(@Nullable TrackStatistics trackStatistics) {
|
||||
private Duration calculateNextDuration() {
|
||||
if (trackStatistics == null) {
|
||||
return null;
|
||||
return TOTALTIME_OFF;
|
||||
}
|
||||
|
||||
if (!isTimeFrequency()) {
|
||||
throw new RuntimeException("Using distance frequency as time frequency is impossible.");
|
||||
}
|
||||
Duration totalTime = trackStatistics.getTotalTime();
|
||||
Duration interval = Duration.ofMinutes(taskFrequency);
|
||||
Duration intervalMod = Duration.ofMillis(trackStatistics.getTotalTime().toMillis() % interval.toMillis());
|
||||
Duration intervalMod = Duration.ofMillis(trackStatistics.getTotalTime().toMillis() % totalTimeFrequency.toMillis());
|
||||
|
||||
return totalTime.plus(interval.minus(intervalMod));
|
||||
return totalTime.plus(totalTimeFrequency.minus(intervalMod));
|
||||
}
|
||||
|
||||
private boolean isTimeFrequency() {
|
||||
return taskFrequency > 0;
|
||||
@VisibleForTesting
|
||||
@NonNull
|
||||
public Duration getNextTotalTime() {
|
||||
return nextTotalTime;
|
||||
}
|
||||
|
||||
private boolean isDistanceFrequency() {
|
||||
return taskFrequency < 0;
|
||||
@VisibleForTesting
|
||||
@NonNull
|
||||
public Distance getNextTotalDistance() {
|
||||
return nextTotalDistance;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,12 +3,10 @@ package de.dennisguse.opentracks.settings;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.Bundle;
|
||||
import android.speech.tts.TextToSpeech;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.documentfile.provider.DocumentFile;
|
||||
@@ -286,8 +284,11 @@ public class SettingsActivity extends AbstractActivity implements ChooseActivity
|
||||
private void updateUnits() {
|
||||
boolean metricUnits = PreferencesUtils.isMetricUnits(sharedPreferences, getActivity());
|
||||
|
||||
ListPreference voiceFrequency = findPreference(getString(R.string.voice_frequency_key));
|
||||
voiceFrequency.setEntries(StringUtils.getFrequencyOptions(getActivity(), metricUnits));
|
||||
ListPreference voiceFrequency = findPreference(getString(R.string.voice_announcement_frequency_key));
|
||||
voiceFrequency.setEntries(StringUtils.getAnnouncementFrequency(getActivity()));
|
||||
|
||||
ListPreference voiceDistance = findPreference(getString(R.string.voice_announcement_distance_key));
|
||||
voiceDistance.setEntries(StringUtils.getAnnouncementDistance(getActivity(), metricUnits));
|
||||
|
||||
ListPreference minRecordingInterval = findPreference(getString(R.string.min_recording_interval_key));
|
||||
minRecordingInterval.setEntries(PreferenceHelper.getMinRecordingIntervalEntries(getActivity()));
|
||||
|
||||
@@ -90,6 +90,15 @@ public class PreferencesUtils {
|
||||
return key == null || key.equals(getKey(context, keyId));
|
||||
}
|
||||
|
||||
public static boolean isKey(Context context, int[] keyIds, String key) {
|
||||
for(int keyId : keyIds) {
|
||||
if (isKey(context, keyId, key)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private static boolean getBoolean(SharedPreferences sharedPreferences, Context context, int keyId, boolean defaultValue) {
|
||||
return sharedPreferences.getBoolean(getKey(context, keyId), defaultValue);
|
||||
}
|
||||
@@ -216,13 +225,23 @@ public class PreferencesUtils {
|
||||
return getBoolean(sharedPreferences, context, R.string.stats_fullscreen_while_recording_key, DEFAULT);
|
||||
}
|
||||
|
||||
public static int getVoiceFrequency(SharedPreferences sharedPreferences, Context context) {
|
||||
final int VOICE_FREQUENCY_DEFAULT = Integer.parseInt(context.getResources().getString(R.string.voice_frequency_default));
|
||||
return getInt(sharedPreferences, context, R.string.voice_frequency_key, VOICE_FREQUENCY_DEFAULT);
|
||||
public static Duration getVoiceAnnouncementFrequency(SharedPreferences sharedPreferences, Context context) {
|
||||
final int DEFAULT = Integer.parseInt(context.getResources().getString(R.string.voice_announcement_frequency_default));
|
||||
int value = getInt(sharedPreferences, context, R.string.voice_announcement_frequency_key, DEFAULT);
|
||||
return Duration.ofSeconds(value);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Result depends on isMetricUnits
|
||||
*/
|
||||
public static Distance getVoiceAnnouncementDistance(SharedPreferences sharedPreferences, Context context) {
|
||||
final float DEFAULT = Integer.parseInt(context.getResources().getString(R.string.voice_announcement_distance_default));
|
||||
float value = getFloat(sharedPreferences, context, R.string.voice_announcement_distance_key, DEFAULT);
|
||||
return Distance.one(isMetricUnits(sharedPreferences, context)).multipliedBy(value);
|
||||
}
|
||||
|
||||
public static float getVoiceSpeedRate(SharedPreferences sharedPreferences, Context context) {
|
||||
final float DEFAULT = Float.parseFloat(context.getResources().getString(R.string.voice_frequency_default));
|
||||
final float DEFAULT = Float.parseFloat(context.getResources().getString(R.string.voice_speed_rate_default));
|
||||
return getFloat(sharedPreferences, context, R.string.voice_speed_rate_key, DEFAULT);
|
||||
}
|
||||
|
||||
|
||||
@@ -292,28 +292,34 @@ public class StringUtils {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the frequency display options.
|
||||
*
|
||||
* @param context the context
|
||||
* @param metricUnits true to display in metric units
|
||||
*/
|
||||
public static String[] getFrequencyOptions(Context context, boolean metricUnits) {
|
||||
String[] values = context.getResources().getStringArray(R.array.frequency_values);
|
||||
public static String[] getAnnouncementFrequency(Context context) {
|
||||
String[] values = context.getResources().getStringArray(R.array.voice_announcement_frequency_values);
|
||||
String[] options = new String[values.length];
|
||||
for (int i = 0; i < values.length; i++) {
|
||||
int value = Integer.parseInt(values[i]);
|
||||
if (context.getString(R.string.frequency_off).equals(values[i])) {
|
||||
if (context.getString(R.string.announcement_off).equals(values[i])) {
|
||||
options[i] = context.getString(R.string.value_off);
|
||||
} else if (value < 0) {
|
||||
options[i] = context.getString(metricUnits ? R.string.value_integer_kilometer : R.string.value_integer_mile, Math.abs(value));
|
||||
} else {
|
||||
int value = Integer.parseInt(values[i]);
|
||||
options[i] = context.getString(R.string.value_integer_minute, value);
|
||||
}
|
||||
}
|
||||
return options;
|
||||
}
|
||||
|
||||
public static String[] getAnnouncementDistance(Context context, boolean metricUnits) {
|
||||
String[] values = context.getResources().getStringArray(R.array.voice_announcement_distance_values);
|
||||
String[] options = new String[values.length];
|
||||
for (int i = 0; i < values.length; i++) {
|
||||
if (context.getString(R.string.announcement_off).equals(values[i])) {
|
||||
options[i] = context.getString(R.string.value_off);
|
||||
} else {
|
||||
int value = Integer.parseInt(values[i]);
|
||||
options[i] = context.getString(metricUnits ? R.string.value_integer_kilometer : R.string.value_integer_mile, value);
|
||||
}
|
||||
}
|
||||
return options;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the formatted altitude_m (or null) and it's unit as {@link Pair}
|
||||
*/
|
||||
|
||||
@@ -177,7 +177,6 @@ limitations under the License.
|
||||
<string name="menu_show_on_map">إظهار على الخريطة</string>
|
||||
<string name="menu_start_gps">بدء GPS</string>
|
||||
<string name="menu_stop_gps">إيقاف GPS</string>
|
||||
<string name="menu_voice_frequency">معدل الصوت</string>
|
||||
<!-- OpenTracks -->
|
||||
<string name="recording_service">خدمة التسجيل</string>
|
||||
<!-- Search -->
|
||||
|
||||
@@ -144,7 +144,6 @@
|
||||
<string name="menu_show_on_map">Show on map</string>
|
||||
<string name="menu_start_gps">Start GPS</string>
|
||||
<string name="menu_stop_gps">Stop GPS</string>
|
||||
<string name="menu_voice_frequency">Voice frequency</string>
|
||||
<string name="recording_service">Recording service</string>
|
||||
<string name="sensor_state_battery">Battery level</string>
|
||||
<string name="sensor_state_cadence">Cadence</string>
|
||||
|
||||
@@ -145,7 +145,6 @@
|
||||
<string name="menu_show_on_map">Mostrar en el mapa</string>
|
||||
<string name="menu_start_gps">Iniciar GPS</string>
|
||||
<string name="menu_stop_gps">Detener GPS</string>
|
||||
<string name="menu_voice_frequency">Frecuencia de voz</string>
|
||||
<string name="menu_resume_track">Reanudar ruta</string>
|
||||
<string name="recording_service">Servicio de grabación</string>
|
||||
<string name="sensor_state_battery">Nivel de la batería</string>
|
||||
|
||||
@@ -173,7 +173,6 @@ limitations under the License.
|
||||
<string name="menu_show_on_map">Показване на картата</string>
|
||||
<string name="menu_start_gps">Стартиране на GPS</string>
|
||||
<string name="menu_stop_gps">Спиране на GPS</string>
|
||||
<string name="menu_voice_frequency">Честота на гласа</string>
|
||||
<!-- OpenTracks -->
|
||||
<string name="recording_service">Услуга за запис</string>
|
||||
<!-- Search -->
|
||||
|
||||
@@ -173,7 +173,6 @@ limitations under the License.
|
||||
<string name="menu_show_on_map">Mostra-ho al mapa</string>
|
||||
<string name="menu_start_gps">Activa el GPS</string>
|
||||
<string name="menu_stop_gps">Desactiva el GPS</string>
|
||||
<string name="menu_voice_frequency">Freqüència de veu</string>
|
||||
<!-- OpenTracks -->
|
||||
<string name="recording_service">Servei d\'enregistrament</string>
|
||||
<!-- Search -->
|
||||
|
||||
@@ -227,7 +227,6 @@ Pokud zařízení GPS hlásí nepřesná data (např. Polohu, rychlost, nadmořs
|
||||
<string name="menu_show_on_map">Zobrazit na mapě</string>
|
||||
<string name="menu_start_gps">Spustit GPS</string>
|
||||
<string name="menu_stop_gps">Ukončit GPS</string>
|
||||
<string name="menu_voice_frequency">Frekvence hlasových oznámení</string>
|
||||
<string name="menu_resume_track">Obnovit měření</string>
|
||||
<!-- OpenTracks -->
|
||||
<string name="recording_service">Služba pro záznam</string>
|
||||
|
||||
@@ -229,7 +229,6 @@ Hvis GPS-enheden rapporterer unøjagtige data (f.eks. Placering, hastighed, høj
|
||||
<string name="menu_show_on_map">Vis på kort</string>
|
||||
<string name="menu_start_gps">Start GPS</string>
|
||||
<string name="menu_stop_gps">Stop GPS</string>
|
||||
<string name="menu_voice_frequency">Stemmefrekvens</string>
|
||||
<string name="menu_resume_track">Genoptag sporet</string>
|
||||
<!-- OpenTracks -->
|
||||
<string name="recording_service">Registreringstjeneste</string>
|
||||
|
||||
@@ -230,7 +230,6 @@ Meldet das GPS-Gerät ungenaue Daten (z.B. Standort, Geschwindigkeit, Höhe), ka
|
||||
<string name="menu_show_on_map">Auf Karte anzeigen</string>
|
||||
<string name="menu_start_gps">GPS aktivieren</string>
|
||||
<string name="menu_stop_gps">GPS deaktivieren</string>
|
||||
<string name="menu_voice_frequency">Ansagehäufigkeit</string>
|
||||
<string name="menu_resume_track">Track fortsetzen</string>
|
||||
<!-- OpenTracks -->
|
||||
<string name="recording_service">Dienst für Aufzeichnung</string>
|
||||
|
||||
@@ -173,7 +173,6 @@ limitations under the License.
|
||||
<string name="menu_show_on_map">Εμφάνιση στον χάρτη</string>
|
||||
<string name="menu_start_gps">Έναρξη GPS</string>
|
||||
<string name="menu_stop_gps">Διακοπή GPS</string>
|
||||
<string name="menu_voice_frequency">Συχνότητα ανακοινώσεων</string>
|
||||
<!-- OpenTracks -->
|
||||
<string name="recording_service">Υπηρεσία καταγραφής</string>
|
||||
<!-- Search -->
|
||||
|
||||
@@ -226,7 +226,6 @@ Si el dispositivo GPS reporta datos inexactos (por ejemplo, ubicación, velocida
|
||||
<string name="menu_show_on_map">Mostrar en el mapa</string>
|
||||
<string name="menu_start_gps">Iniciar GPS</string>
|
||||
<string name="menu_stop_gps">Detener GPS</string>
|
||||
<string name="menu_voice_frequency">Frecuencia de voz</string>
|
||||
<string name="menu_resume_track">Reanudar ruta</string>
|
||||
<!-- OpenTracks -->
|
||||
<string name="recording_service">Servicio de grabación</string>
|
||||
|
||||
@@ -226,7 +226,6 @@ Kui GPS-seade teatab ebatäpsetest andmetest (nt asukoht, kiirus, kõrgus), ei s
|
||||
<string name="menu_show_on_map">Kuva kaardil</string>
|
||||
<string name="menu_start_gps">Käivita GPS</string>
|
||||
<string name="menu_stop_gps">Peata GPS</string>
|
||||
<string name="menu_voice_frequency">Häälteadete sagedus</string>
|
||||
<string name="menu_resume_track">Jätka pala</string>
|
||||
<!-- OpenTracks -->
|
||||
<string name="recording_service">Salvestamisteenus</string>
|
||||
|
||||
@@ -227,7 +227,6 @@ GPS gailuak datu okerrak salatzen baditu (adibidez, kokapena, abiadura, kota), O
|
||||
<string name="menu_show_on_map">Erakutsi mapan</string>
|
||||
<string name="menu_start_gps">Hasi GPSa</string>
|
||||
<string name="menu_stop_gps">Gelditu GPSa</string>
|
||||
<string name="menu_voice_frequency">Ahotsaren frekuentzia</string>
|
||||
<string name="menu_resume_track">Jarraitu pista</string>
|
||||
<!-- OpenTracks -->
|
||||
<string name="recording_service">Grabaketa-zerbitzua</string>
|
||||
|
||||
@@ -173,7 +173,6 @@ limitations under the License.
|
||||
<string name="menu_show_on_map">نمایش روی نقشه</string>
|
||||
<string name="menu_start_gps">شروع GPS</string>
|
||||
<string name="menu_stop_gps">توقف GPS</string>
|
||||
<string name="menu_voice_frequency">بسامد اعلان صوتی</string>
|
||||
<!-- OpenTracks -->
|
||||
<string name="recording_service">خدمات ضبط</string>
|
||||
<!-- Search -->
|
||||
|
||||
@@ -230,7 +230,6 @@ limitations under the License.
|
||||
<string name="menu_show_on_map">Näytä kartalta</string>
|
||||
<string name="menu_start_gps">Käynnistä GPS</string>
|
||||
<string name="menu_stop_gps">Pysäytä GPS</string>
|
||||
<string name="menu_voice_frequency">Ilmoitustiheys</string>
|
||||
<string name="menu_resume_track">Jatka reittiä</string>
|
||||
<!-- OpenTracks -->
|
||||
<string name="recording_service">Tallennuspalvelu</string>
|
||||
|
||||
@@ -144,7 +144,6 @@
|
||||
<string name="menu_show_on_map">Afficher sur une carte</string>
|
||||
<string name="menu_start_gps">Démarrer le GPS</string>
|
||||
<string name="menu_stop_gps">Arrêter le GPS</string>
|
||||
<string name="menu_voice_frequency">Fréquence vocale</string>
|
||||
<string name="recording_service">Service d\'enregistrement</string>
|
||||
<string name="sensor_state_battery">Niveau de charge de la pile</string>
|
||||
<string name="sensor_state_cadence">Cadence</string>
|
||||
|
||||
@@ -144,7 +144,6 @@
|
||||
<string name="menu_show_on_map">Afficher sur la carte</string>
|
||||
<string name="menu_start_gps">Démarrer le GPS</string>
|
||||
<string name="menu_stop_gps">Arrêter le GPS</string>
|
||||
<string name="menu_voice_frequency">Fréquence vocale</string>
|
||||
<string name="recording_service">Service enregistrement</string>
|
||||
<string name="sensor_state_battery">Niveau de la batterie</string>
|
||||
<string name="sensor_state_cadence">Cadence</string>
|
||||
|
||||
@@ -226,7 +226,6 @@ Si le dispositif GPS signale des données inexactes (par exemple, la localisatio
|
||||
<string name="menu_show_on_map">Afficher sur la carte</string>
|
||||
<string name="menu_start_gps">Démarrer le GPS</string>
|
||||
<string name="menu_stop_gps">Arrêter le GPS</string>
|
||||
<string name="menu_voice_frequency">Fréquence vocale</string>
|
||||
<string name="menu_resume_track">Reprendre la trace</string>
|
||||
<!-- OpenTracks -->
|
||||
<string name="recording_service">Service enregistrement</string>
|
||||
|
||||
@@ -237,7 +237,6 @@ Se te detés ou estás en interiores, non se gardarán datos do sensor (mais ser
|
||||
<string name="menu_show_on_map">Amosar no mapa</string>
|
||||
<string name="menu_start_gps">Iniciar GPS</string>
|
||||
<string name="menu_stop_gps">Desactivar GPS</string>
|
||||
<string name="menu_voice_frequency">Frecuencia da voz</string>
|
||||
<string name="menu_resume_track">Retomar gravación</string>
|
||||
<!-- OpenTracks -->
|
||||
<string name="recording_service">Servizo de gravación</string>
|
||||
|
||||
@@ -173,7 +173,6 @@ limitations under the License.
|
||||
<string name="menu_show_on_map">नक्शे पर दिखाएं</string>
|
||||
<string name="menu_start_gps">GPS प्रारंभ करें</string>
|
||||
<string name="menu_stop_gps">GPS बंद करें</string>
|
||||
<string name="menu_voice_frequency">ध्वनि आवृत्ति</string>
|
||||
<!-- OpenTracks -->
|
||||
<string name="recording_service">रिकॉर्डिंग सेवा</string>
|
||||
<!-- Search -->
|
||||
|
||||
@@ -174,7 +174,6 @@ limitations under the License.
|
||||
<string name="menu_show_on_map">Prikaži na karti</string>
|
||||
<string name="menu_start_gps">Pokreni GPS</string>
|
||||
<string name="menu_stop_gps">Zaustavi GPS</string>
|
||||
<string name="menu_voice_frequency">Učest. glas. objava</string>
|
||||
<!-- OpenTracks -->
|
||||
<string name="recording_service">Usluga snimanja</string>
|
||||
<!-- Search -->
|
||||
|
||||
@@ -173,7 +173,6 @@ limitations under the License.
|
||||
<string name="menu_show_on_map">Megjelenítés a térképen</string>
|
||||
<string name="menu_start_gps">GPS indítása</string>
|
||||
<string name="menu_stop_gps">GPS leállítása</string>
|
||||
<string name="menu_voice_frequency">Utasítások gyakorisága</string>
|
||||
<!-- OpenTracks -->
|
||||
<string name="recording_service">Rögzítőszolgáltatás</string>
|
||||
<!-- Search -->
|
||||
|
||||
@@ -143,7 +143,6 @@
|
||||
<string name="menu_show_on_map">Tampilkan di peta</string>
|
||||
<string name="menu_start_gps">Nyalakan GPS</string>
|
||||
<string name="menu_stop_gps">Matikan GPS</string>
|
||||
<string name="menu_voice_frequency">Kerapatan suara</string>
|
||||
<string name="recording_service">Layanan perekaman</string>
|
||||
<string name="sensor_state_battery">Level baterai</string>
|
||||
<string name="sensor_state_cadence">Tempo</string>
|
||||
|
||||
@@ -215,7 +215,6 @@ Infatti, un\'applicazione deve supportare <i>ACTION_VIEW</i> con MIME <i>applica
|
||||
<string name="menu_show_on_map">Visualizza su mappa</string>
|
||||
<string name="menu_start_gps">Accendi GPS</string>
|
||||
<string name="menu_stop_gps">Spegni GPS</string>
|
||||
<string name="menu_voice_frequency">Frequenza voce</string>
|
||||
<!-- OpenTracks -->
|
||||
<string name="recording_service">Servizio di registrazione</string>
|
||||
<!-- Search -->
|
||||
|
||||
@@ -146,7 +146,6 @@
|
||||
<string name="menu_show_on_map">הצג במפה</string>
|
||||
<string name="menu_start_gps">הפעל GPS</string>
|
||||
<string name="menu_stop_gps">עצור GPS</string>
|
||||
<string name="menu_voice_frequency">תדירות הודעות קוליות</string>
|
||||
<string name="recording_service">שירות הקלטה</string>
|
||||
<string name="sensor_state_battery">טעינת סוללה</string>
|
||||
<string name="sensor_state_cadence">קצב</string>
|
||||
|
||||
@@ -172,7 +172,6 @@ limitations under the License.
|
||||
<string name="menu_show_on_map">地図で見る</string>
|
||||
<string name="menu_start_gps">GPSを開始</string>
|
||||
<string name="menu_stop_gps">GPSを停止</string>
|
||||
<string name="menu_voice_frequency">音声アナウンスの頻度</string>
|
||||
<!-- OpenTracks -->
|
||||
<string name="recording_service">記録サービス</string>
|
||||
<!-- Search -->
|
||||
|
||||
@@ -172,7 +172,6 @@ limitations under the License.
|
||||
<string name="menu_show_on_map">지도에 표시</string>
|
||||
<string name="menu_start_gps">GPS 시작</string>
|
||||
<string name="menu_stop_gps">GPS 중지</string>
|
||||
<string name="menu_voice_frequency">음성 안내 빈도</string>
|
||||
<!-- OpenTracks -->
|
||||
<string name="recording_service">기록 서비스</string>
|
||||
<!-- Search -->
|
||||
|
||||
@@ -174,7 +174,6 @@ limitations under the License.
|
||||
<string name="menu_show_on_map">Rodyti žemėlapyje</string>
|
||||
<string name="menu_start_gps">Įjungti GPS</string>
|
||||
<string name="menu_stop_gps">Išjungti GPS</string>
|
||||
<string name="menu_voice_frequency">Balso dažnumas</string>
|
||||
<!-- OpenTracks -->
|
||||
<string name="recording_service">Įrašymo paslauga</string>
|
||||
<!-- Search -->
|
||||
|
||||
@@ -174,7 +174,6 @@ limitations under the License.
|
||||
<string name="menu_show_on_map">Rādīt kartē</string>
|
||||
<string name="menu_start_gps">Palaist GPS</string>
|
||||
<string name="menu_stop_gps">Apturēt GPS</string>
|
||||
<string name="menu_voice_frequency">Balss ziņas</string>
|
||||
<!-- OpenTracks -->
|
||||
<string name="recording_service">Ierakstīšanas pakalpojums</string>
|
||||
<!-- Search -->
|
||||
|
||||
@@ -145,7 +145,6 @@
|
||||
<string name="menu_show_on_map">Afișați pe hartă</string>
|
||||
<string name="menu_start_gps">Porniți GPS</string>
|
||||
<string name="menu_stop_gps">Opriți GPS</string>
|
||||
<string name="menu_voice_frequency">Frecvența vocii</string>
|
||||
<string name="recording_service">Serviciu de înregistrare</string>
|
||||
<string name="sensor_state_battery">Nivelul bateriei</string>
|
||||
<string name="sensor_state_cadence">Cadenţă</string>
|
||||
|
||||
@@ -172,7 +172,6 @@ limitations under the License.
|
||||
<string name="menu_show_on_map">Tunjukkan pada peta</string>
|
||||
<string name="menu_start_gps">Mulakan GPS</string>
|
||||
<string name="menu_stop_gps">Hentikan GPS</string>
|
||||
<string name="menu_voice_frequency">Kekerapan suara</string>
|
||||
<!-- OpenTracks -->
|
||||
<string name="recording_service">Khidmat rakaman</string>
|
||||
<!-- Search -->
|
||||
|
||||
@@ -173,7 +173,6 @@ limitations under the License.
|
||||
<string name="menu_show_on_map">Vis på kart</string>
|
||||
<string name="menu_start_gps">Start GPS</string>
|
||||
<string name="menu_stop_gps">Stopp GPS</string>
|
||||
<string name="menu_voice_frequency">Talefrekvens</string>
|
||||
<!-- OpenTracks -->
|
||||
<string name="recording_service">Opptakstjeneste</string>
|
||||
<!-- Search -->
|
||||
|
||||
@@ -226,7 +226,6 @@ Als het GPS-apparaat onnauwkeurige gegevens rapporteert (bijv. locatie, snelheid
|
||||
<string name="menu_show_on_map">Weergeven op kaart</string>
|
||||
<string name="menu_start_gps">GPS starten</string>
|
||||
<string name="menu_stop_gps">GPS stoppen</string>
|
||||
<string name="menu_voice_frequency">Frequentie voor gesproken berichten</string>
|
||||
<string name="menu_resume_track">Hervat spoor</string>
|
||||
<!-- OpenTracks -->
|
||||
<string name="recording_service">Opnameservice</string>
|
||||
|
||||
@@ -186,7 +186,6 @@ limitations under the License.
|
||||
<string name="menu_show_on_map">Pokaż na mapie</string>
|
||||
<string name="menu_start_gps">Uruchom GPS</string>
|
||||
<string name="menu_stop_gps">Zatrzymaj GPS</string>
|
||||
<string name="menu_voice_frequency">Częstość powiadomień</string>
|
||||
<string name="menu_resume_track">Kontynuuj trasę</string>
|
||||
<!-- OpenTracks -->
|
||||
<string name="recording_service">Usługa rejestrowania</string>
|
||||
|
||||
@@ -144,7 +144,6 @@
|
||||
<string name="menu_show_on_map">Mostrar no mapa</string>
|
||||
<string name="menu_start_gps">Iniciar GPS</string>
|
||||
<string name="menu_stop_gps">Parar GPS</string>
|
||||
<string name="menu_voice_frequency">Frequência da voz</string>
|
||||
<string name="recording_service">Serviço de gravação</string>
|
||||
<string name="sensor_state_battery">Nível da bateria</string>
|
||||
<string name="sensor_state_cadence">Cadência</string>
|
||||
|
||||
@@ -144,7 +144,6 @@
|
||||
<string name="menu_show_on_map">Mostrar no mapa</string>
|
||||
<string name="menu_start_gps">Ligar GPS</string>
|
||||
<string name="menu_stop_gps">Desligar GPS</string>
|
||||
<string name="menu_voice_frequency">Frequência de voz</string>
|
||||
<string name="recording_service">Serviço de gravação</string>
|
||||
<string name="sensor_state_battery">Nível da bateria</string>
|
||||
<string name="sensor_state_cadence">Cadência</string>
|
||||
|
||||
@@ -173,7 +173,6 @@ limitations under the License.
|
||||
<string name="menu_show_on_map">Mostrar no mapa</string>
|
||||
<string name="menu_start_gps">Iniciar GPS</string>
|
||||
<string name="menu_stop_gps">Parar GPS</string>
|
||||
<string name="menu_voice_frequency">Frequência da voz</string>
|
||||
<!-- OpenTracks -->
|
||||
<string name="recording_service">Serviço de gravação</string>
|
||||
<!-- Search -->
|
||||
|
||||
@@ -174,7 +174,6 @@ limitations under the License.
|
||||
<string name="menu_show_on_map">Afișați pe hartă</string>
|
||||
<string name="menu_start_gps">Porniți GPS</string>
|
||||
<string name="menu_stop_gps">Opriți GPS</string>
|
||||
<string name="menu_voice_frequency">Frecvența vocii</string>
|
||||
<!-- OpenTracks -->
|
||||
<string name="recording_service">Serviciu de înregistrare</string>
|
||||
<!-- Search -->
|
||||
|
||||
@@ -175,7 +175,6 @@ limitations under the License.
|
||||
<string name="menu_show_on_map">Показать на карте</string>
|
||||
<string name="menu_start_gps">Включить GPS</string>
|
||||
<string name="menu_stop_gps">Отключить GPS</string>
|
||||
<string name="menu_voice_frequency">Голосовые оповещения</string>
|
||||
<!-- OpenTracks -->
|
||||
<string name="recording_service">Служба записи треков</string>
|
||||
<!-- Search -->
|
||||
|
||||
@@ -174,7 +174,6 @@ limitations under the License.
|
||||
<string name="menu_show_on_map">Zobraziť na mape</string>
|
||||
<string name="menu_start_gps">Aktivovať GPS</string>
|
||||
<string name="menu_stop_gps">Deaktivovať GPS</string>
|
||||
<string name="menu_voice_frequency">Hlasová frekvencia</string>
|
||||
<!-- OpenTracks -->
|
||||
<string name="recording_service">Služba na záznam</string>
|
||||
<!-- Search -->
|
||||
|
||||
@@ -175,7 +175,6 @@ limitations under the License.
|
||||
<string name="menu_show_on_map">Pokaži na zemljevidu</string>
|
||||
<string name="menu_start_gps">Zaženi GPS</string>
|
||||
<string name="menu_stop_gps">Ustavi GPS</string>
|
||||
<string name="menu_voice_frequency">Pogostost glas. obv.</string>
|
||||
<!-- OpenTracks -->
|
||||
<string name="recording_service">Storitev snemanja</string>
|
||||
<!-- Search -->
|
||||
|
||||
@@ -174,7 +174,6 @@ limitations under the License.
|
||||
<string name="menu_show_on_map">Прикажи на мапи</string>
|
||||
<string name="menu_start_gps">Покрени GPS</string>
|
||||
<string name="menu_stop_gps">Заустави GPS</string>
|
||||
<string name="menu_voice_frequency">Учесталост гласа</string>
|
||||
<!-- OpenTracks -->
|
||||
<string name="recording_service">Услуга бележења</string>
|
||||
<!-- Search -->
|
||||
|
||||
@@ -173,7 +173,6 @@ limitations under the License.
|
||||
<string name="menu_show_on_map">Visa på karta</string>
|
||||
<string name="menu_start_gps">Starta GPS</string>
|
||||
<string name="menu_stop_gps">Stoppa GPS</string>
|
||||
<string name="menu_voice_frequency">Röstfrekvens</string>
|
||||
<!-- OpenTracks -->
|
||||
<string name="recording_service">Inspelningstjänst</string>
|
||||
<!-- Search -->
|
||||
|
||||
@@ -172,7 +172,6 @@ limitations under the License.
|
||||
<string name="menu_show_on_map">แสดงบนแผนที่</string>
|
||||
<string name="menu_start_gps">เริ่ม GPS</string>
|
||||
<string name="menu_stop_gps">หยุด GPS</string>
|
||||
<string name="menu_voice_frequency">ความถี่เสียง</string>
|
||||
<!-- OpenTracks -->
|
||||
<string name="recording_service">บริการการบันทึก</string>
|
||||
<!-- Search -->
|
||||
|
||||
@@ -173,7 +173,6 @@ limitations under the License.
|
||||
<string name="menu_show_on_map">Ipakita sa mapa</string>
|
||||
<string name="menu_start_gps">Simulan ang GPS</string>
|
||||
<string name="menu_stop_gps">Itigil ang GPS</string>
|
||||
<string name="menu_voice_frequency">Dalas ng voice</string>
|
||||
<!-- OpenTracks -->
|
||||
<string name="recording_service">Serbisyo ng pagrerekord</string>
|
||||
<!-- Search -->
|
||||
|
||||
@@ -173,7 +173,6 @@ limitations under the License.
|
||||
<string name="menu_show_on_map">Haritada göster</string>
|
||||
<string name="menu_start_gps">GPS\'i aç</string>
|
||||
<string name="menu_stop_gps">GPS\'i kapat</string>
|
||||
<string name="menu_voice_frequency">Ses sıklığı</string>
|
||||
<!-- OpenTracks -->
|
||||
<string name="recording_service">Kayıt hizmeti</string>
|
||||
<!-- Search -->
|
||||
|
||||
@@ -175,7 +175,6 @@ limitations under the License.
|
||||
<string name="menu_show_on_map">Показати на карті</string>
|
||||
<string name="menu_start_gps">Увімкнути GPS</string>
|
||||
<string name="menu_stop_gps">Вимкнути GPS</string>
|
||||
<string name="menu_voice_frequency">Голосові сповіщення</string>
|
||||
<!-- OpenTracks -->
|
||||
<string name="recording_service">Служба запису</string>
|
||||
<!-- Search -->
|
||||
|
||||
@@ -172,7 +172,6 @@ limitations under the License.
|
||||
<string name="menu_show_on_map">Hiển thị trên bản đồ</string>
|
||||
<string name="menu_start_gps">Bắt đầu GPS</string>
|
||||
<string name="menu_stop_gps">Dừng GPS</string>
|
||||
<string name="menu_voice_frequency">Tần suất giọng nói</string>
|
||||
<!-- OpenTracks -->
|
||||
<string name="recording_service">Dịch vụ ghi</string>
|
||||
<!-- Search -->
|
||||
|
||||
@@ -143,7 +143,6 @@
|
||||
<string name="menu_show_on_map">在地圖上顯示</string>
|
||||
<string name="menu_start_gps">啟動 GPS</string>
|
||||
<string name="menu_stop_gps">關閉 GPS</string>
|
||||
<string name="menu_voice_frequency">語音播報頻率</string>
|
||||
<string name="recording_service">記錄服務</string>
|
||||
<string name="sensor_state_battery">電池電量</string>
|
||||
<string name="sensor_state_cadence">轉速</string>
|
||||
|
||||
@@ -143,7 +143,6 @@
|
||||
<string name="menu_show_on_map">在地圖上顯示</string>
|
||||
<string name="menu_start_gps">啟動 GPS</string>
|
||||
<string name="menu_stop_gps">關閉 GPS</string>
|
||||
<string name="menu_voice_frequency">語音播報頻率</string>
|
||||
<string name="recording_service">記錄服務</string>
|
||||
<string name="sensor_state_battery">電池電量</string>
|
||||
<string name="sensor_state_cadence">轉速</string>
|
||||
|
||||
@@ -172,7 +172,6 @@ limitations under the License.
|
||||
<string name="menu_show_on_map">在地图上显示</string>
|
||||
<string name="menu_start_gps">启动 GPS</string>
|
||||
<string name="menu_stop_gps">关闭 GPS</string>
|
||||
<string name="menu_voice_frequency">语音提示频率</string>
|
||||
<string name="menu_voice_rate">语音提示速率</string>
|
||||
<string name="menu_resume_track">继续</string>
|
||||
<!-- OpenTracks -->
|
||||
|
||||
@@ -211,24 +211,29 @@
|
||||
<item>@string/settings_recording_track_name_number_option</item>
|
||||
</string-array>
|
||||
|
||||
<string name="voice_frequency_key" translatable="false">voiceFrequency</string>
|
||||
<string name="voice_frequency_default" translatable="false">@string/frequency_off</string>
|
||||
<string name="frequency_off" translatable="false">0</string>
|
||||
<string-array name="frequency_values">
|
||||
<item>@string/frequency_off</item>
|
||||
<string name="announcement_off" translatable="false">0</string>
|
||||
<string name="voice_announcement_frequency_key" translatable="false">voiceFrequencyV2</string>
|
||||
<string name="voice_announcement_frequency_default" translatable="false">@string/announcement_off</string>
|
||||
<string-array name="voice_announcement_frequency_values"> <!-- seconds -->
|
||||
<item>@string/voice_announcement_frequency_default</item>
|
||||
<item>60</item>
|
||||
<item>120</item>
|
||||
<item>300</item>
|
||||
<item>600</item>
|
||||
<item>900</item>
|
||||
<item>1800</item>
|
||||
<item>3600</item>
|
||||
</string-array>
|
||||
<string name="voice_announcement_distance_key" translatable="false">voiceDistance</string>
|
||||
<string name="voice_announcement_distance_default" translatable="false">@string/announcement_off</string>
|
||||
<string-array name="voice_announcement_distance_values">
|
||||
<item>@string/voice_announcement_distance_default</item> <!-- km/miles -->
|
||||
<item>1</item>
|
||||
<item>2</item>
|
||||
<item>5</item>
|
||||
<item>10</item>
|
||||
<item>15</item>
|
||||
<item>30</item>
|
||||
<item>60</item>
|
||||
<item>-1</item>
|
||||
<item>-5</item>
|
||||
<item>-10</item>
|
||||
<item>-25</item>
|
||||
<item>-50</item>
|
||||
<item>-100</item>
|
||||
<item>25</item>
|
||||
<item>50</item>
|
||||
<item>100</item>
|
||||
</string-array>
|
||||
<string name="voice_speed_rate_key" translatable="false">voiceSpeedRate</string>
|
||||
<string name="voice_speed_rate_default" translatable="false">0.9</string>
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
</string-array>
|
||||
|
||||
<string name="split_frequency_key" translatable="false" tools:keep="@string/split_frequency_key">splitFrequency</string>
|
||||
<string name="split_frequency_default" translatable="false" tools:keep="@string/split_frequency_default">@string/frequency_off</string>
|
||||
|
||||
<string name="chart_show_cadence_key" translatable="false" tools:keep="@string/chart_show_cadence_key">chartShowCadence</string>
|
||||
<bool name="chart_show_cadence_default" translatable="false" tools:keep="@bool/chart_show_cadence_default">
|
||||
|
||||
@@ -302,7 +302,6 @@ limitations under the License.
|
||||
<string name="menu_show_on_map">Show on map</string>
|
||||
<string name="menu_start_gps">Start GPS</string>
|
||||
<string name="menu_stop_gps">Stop GPS</string>
|
||||
<string name="menu_voice_frequency">Voice frequency</string>
|
||||
<string name="menu_voice_rate">Voice speed</string>
|
||||
<string name="menu_resume_track">Resume track</string>
|
||||
<!-- OpenTracks -->
|
||||
@@ -361,7 +360,10 @@ limitations under the License.
|
||||
<string name="settings_night_mode_option_day">Day</string>
|
||||
<string name="settings_night_mode_option_night">Night</string>
|
||||
|
||||
<!-- Reset -->
|
||||
<string name="settings_announcements">Announcements</string>
|
||||
<string name="settings_announcements_totaltime_frequency">Time interval</string>
|
||||
<string name="settings_announcements_distance_frequency">Distance interval</string>
|
||||
|
||||
<string name="settings_reset">Reset</string>
|
||||
<!-- Custom Layout Reset -->
|
||||
<string name="settings_layout_reset">Reset Custom Layout</string>
|
||||
|
||||
@@ -74,19 +74,6 @@ limitations under the License.
|
||||
android:key="@string/stats_fullscreen_while_recording_key"
|
||||
android:summary="@string/settings_recording_fullscreen_on_while_recording_summary"
|
||||
android:title="@string/settings_recording_fullscreen_on_while_recording_title" />
|
||||
<ListPreference
|
||||
android:defaultValue="@string/voice_frequency_default"
|
||||
android:entryValues="@array/frequency_values"
|
||||
android:key="@string/voice_frequency_key"
|
||||
android:title="@string/menu_voice_frequency"
|
||||
app:useSimpleSummaryProvider="true" />
|
||||
<ListPreference
|
||||
android:defaultValue="@string/voice_speed_rate_default"
|
||||
android:entryValues="@array/voice_speed_rate_values"
|
||||
android:entries="@array/voice_speed_rate_values"
|
||||
android:key="@string/voice_speed_rate_key"
|
||||
android:title="@string/menu_voice_rate"
|
||||
app:useSimpleSummaryProvider="true" />
|
||||
<de.dennisguse.opentracks.settings.ActivityTypePreference
|
||||
android:defaultValue="@string/default_activity_default"
|
||||
android:key="@string/default_activity_key"
|
||||
@@ -149,6 +136,29 @@ limitations under the License.
|
||||
app:useSimpleSummaryProvider="true" />
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory
|
||||
android:title="@string/settings_announcements">
|
||||
<ListPreference
|
||||
android:defaultValue="@string/voice_announcement_frequency_default"
|
||||
android:entryValues="@array/voice_announcement_frequency_values"
|
||||
android:key="@string/voice_announcement_frequency_key"
|
||||
android:title="@string/settings_announcements_totaltime_frequency"
|
||||
app:useSimpleSummaryProvider="true" />
|
||||
<ListPreference
|
||||
android:defaultValue="@string/voice_announcement_distance_default"
|
||||
android:entryValues="@array/voice_announcement_distance_values"
|
||||
android:key="@string/voice_announcement_distance_key"
|
||||
android:title="@string/settings_announcements_distance_frequency"
|
||||
app:useSimpleSummaryProvider="true" />
|
||||
<ListPreference
|
||||
android:defaultValue="@string/voice_speed_rate_default"
|
||||
android:entryValues="@array/voice_speed_rate_values"
|
||||
android:entries="@array/voice_speed_rate_values"
|
||||
android:key="@string/voice_speed_rate_key"
|
||||
android:title="@string/menu_voice_rate"
|
||||
app:useSimpleSummaryProvider="true" />
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory android:title="@string/generic_tracks">
|
||||
<Preference
|
||||
android:key="@string/settings_import"
|
||||
|
||||
Reference in New Issue
Block a user