From 74aca9fb9f1299113f972cdb4eda9571eecf5d8c Mon Sep 17 00:00:00 2001
From: flyingOwl <3494672+flyingOwl@users.noreply.github.com>
Date: Sun, 26 May 2024 15:19:18 +0200
Subject: [PATCH 1/2] Add SPD_KPH as custom URL logging parameter
---
.../senders/customurl/CustomUrlManager.java | 1 +
.../fragments/settings/CustomUrlFragment.java | 46 ++++++++++---------
gpslogger/src/main/res/values/strings.xml | 1 +
3 files changed, 26 insertions(+), 22 deletions(-)
diff --git a/gpslogger/src/main/java/com/mendhak/gpslogger/senders/customurl/CustomUrlManager.java b/gpslogger/src/main/java/com/mendhak/gpslogger/senders/customurl/CustomUrlManager.java
index 224479a36..bfd9ccee6 100644
--- a/gpslogger/src/main/java/com/mendhak/gpslogger/senders/customurl/CustomUrlManager.java
+++ b/gpslogger/src/main/java/com/mendhak/gpslogger/senders/customurl/CustomUrlManager.java
@@ -197,6 +197,7 @@ public String getFormattedTextblock(String customLoggingUrl,
replacements.put("acc", String.valueOf(sLoc.getAccuracy()));
replacements.put("dir", String.valueOf(sLoc.getBearing()));
replacements.put("prov", String.valueOf(sLoc.getProvider()));
+ replacements.put("spd_kph", String.valueOf(sLoc.getSpeed()*3.6));
replacements.put("spd", String.valueOf(sLoc.getSpeed()));
replacements.put("timestamp", String.valueOf(sLoc.getTime()/1000));
diff --git a/gpslogger/src/main/java/com/mendhak/gpslogger/ui/fragments/settings/CustomUrlFragment.java b/gpslogger/src/main/java/com/mendhak/gpslogger/ui/fragments/settings/CustomUrlFragment.java
index f91460d0b..ce1ad4af5 100644
--- a/gpslogger/src/main/java/com/mendhak/gpslogger/ui/fragments/settings/CustomUrlFragment.java
+++ b/gpslogger/src/main/java/com/mendhak/gpslogger/ui/fragments/settings/CustomUrlFragment.java
@@ -116,31 +116,33 @@ public boolean onPreferenceClick(Preference preference) {
"{3} %DESC
" +
"{4} %SAT
" +
"{5} %ALT
" +
- "{6} %SPD
" +
- "{7} %ACC
" +
- "{8} %DIR
" +
- "{9} %PROV
" +
- "{10} %TIMESTAMP
" +
- "{11} %TIME
" +
- "{12} %TIMEOFFSET
" +
- "{13} %DATE
" +
- "{14} %STARTTIMESTAMP
" +
- "{15} %BATT
" +
- "{16} %ISCHARGING
" +
- "{17} %AID
" +
- "{18} %SER
" +
- "{19} %FILENAME
" +
- "{20} %PROFILE
" +
- "{21} %HDOP
" +
- "{22} %VDOP
" +
- "{23} %PDOP
" +
- "{24} %DIST
" +
- "{25} %ALL";
+ "{6} %SPD_KPH
" +
+ "{7} %SPD
" +
+ "{8} %ACC
" +
+ "{9} %DIR
" +
+ "{10} %PROV
" +
+ "{11} %TIMESTAMP
" +
+ "{12} %TIME
" +
+ "{13} %TIMEOFFSET
" +
+ "{14} %DATE
" +
+ "{15} %STARTTIMESTAMP
" +
+ "{16} %BATT
" +
+ "{17} %ISCHARGING
" +
+ "{18} %AID
" +
+ "{19} %SER
" +
+ "{20} %FILENAME
" +
+ "{21} %PROFILE
" +
+ "{22} %HDOP
" +
+ "{23} %VDOP
" +
+ "{24} %PDOP
" +
+ "{25} %DIST
" +
+ "{26} %ALL";
String legend1 = MessageFormat.format(legendFormat,
codeGreen,
getString(R.string.txt_latitude), getString(R.string.txt_longitude), getString(R.string.txt_annotation),
- getString(R.string.txt_satellites), getString(R.string.txt_altitude), getString(R.string.txt_speed),
- getString(R.string.txt_accuracy), getString(R.string.txt_direction), getString(R.string.txt_provider),
+ getString(R.string.txt_satellites), getString(R.string.txt_altitude), getString(R.string.txt_speed_kph),
+ getString(R.string.txt_speed), getString(R.string.txt_accuracy), getString(R.string.txt_direction),
+ getString(R.string.txt_provider),
getString(R.string.txt_timestamp_epoch),
getString(R.string.txt_time_isoformat),
getString(R.string.txt_time_with_offset_isoformat),
diff --git a/gpslogger/src/main/res/values/strings.xml b/gpslogger/src/main/res/values/strings.xml
index 02b4a6860..ae8eca117 100644
--- a/gpslogger/src/main/res/values/strings.xml
+++ b/gpslogger/src/main/res/values/strings.xml
@@ -26,6 +26,7 @@
Latitude:
Longitude:
Altitude:
+ Speed (in km/h):
Speed:
Direction:
Satellites:
From 943a8943e1cdf4ae3e6675438994eb792a19886a Mon Sep 17 00:00:00 2001
From: flyingOwl <3494672+flyingOwl@users.noreply.github.com>
Date: Sun, 26 May 2024 15:28:53 +0200
Subject: [PATCH 2/2] Add SPD_KPH to unit tests
Modify speed value so that a conversion to km/h results in an integer
value
---
.../senders/customurl/CustomUrlManagerTest.java | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/gpslogger/src/test/java/com/mendhak/gpslogger/senders/customurl/CustomUrlManagerTest.java b/gpslogger/src/test/java/com/mendhak/gpslogger/senders/customurl/CustomUrlManagerTest.java
index b9bc5b727..26d197866 100644
--- a/gpslogger/src/test/java/com/mendhak/gpslogger/senders/customurl/CustomUrlManagerTest.java
+++ b/gpslogger/src/test/java/com/mendhak/gpslogger/senders/customurl/CustomUrlManagerTest.java
@@ -27,15 +27,15 @@ public void getFormattedUrl_WhenPlaceholders_ValuesSubstituted() throws Exceptio
.withAltitude(45)
.withAccuracy(8)
.withBearing(359)
- .withSpeed(9001)
+ .withSpeed(9005)
.withTime(1457205869949l)
.build();
CustomUrlManager manager = new CustomUrlManager(null);
- String expected = "http://192.168.1.65:8000/test?lat=12.193&lon=19.111&sat=9&desc=blah&alt=45.0&acc=8.0&dir=359.0&prov=MOCK&spd=9001.0&time=2016-03-05T19:24:29.949Z&battery=91.0&androidId=22&serial=SRS11&activity=";
- String urlTemplate = "http://192.168.1.65:8000/test?lat=%LAT&lon=%LON&sat=%SAT&desc=%DESC&alt=%ALT&acc=%ACC&dir=%DIR&prov=%PROV&spd=%SPD&time=%TIME&battery=%BATT&androidId=%AID&serial=%SER&activity=%act";
+ String expected = "http://192.168.1.65:8000/test?lat=12.193&lon=19.111&sat=9&desc=blah&alt=45.0&acc=8.0&dir=359.0&prov=MOCK&spd_kph=32418.0&spd=9005.0&time=2016-03-05T19:24:29.949Z&battery=91.0&androidId=22&serial=SRS11&activity=";
+ String urlTemplate = "http://192.168.1.65:8000/test?lat=%LAT&lon=%LON&sat=%SAT&desc=%DESC&alt=%ALT&acc=%ACC&dir=%DIR&prov=%PROV&spd_kph=%SPD_KPH&spd=%SPD&time=%TIME&battery=%BATT&androidId=%AID&serial=%SER&activity=%act";
assertThat("Placeholders are substituted", manager.getFormattedTextblock(urlTemplate,
new SerializableLocation(loc), "blah", "22", 91,
false, "SRS11", 0, "", "",
@@ -289,7 +289,7 @@ public void getFormattedUrl_WhenALLParameters_AllKeyValuesAddedDirectly() throws
.putExtra(BundleConstants.VDOP, "19").withTime(1457205869949l).build();
CustomUrlManager manager = new CustomUrlManager(null);
String expected = "http://192.168.1.65:8000/test?lat=12.193&lon=19.456&sat=0&desc=&alt=0.0" +
- "&acc=0.0&dir=0.0&prov=MOCK&spd=0.0×tamp=1457205869" +
+ "&acc=0.0&dir=0.0&prov=MOCK&spd_kph=0.0&spd=0.0×tamp=1457205869" +
"&timeoffset=2016-03-05T21:24:29.949%2B02:00&time=2016-03-05T19:24:29.949Z" +
"&starttimestamp=1495884681&date=2016-03-05&batt=0.0&ischarging=false&aid=&ser=" +
"&act=&filename=20170527abc&profile=Default+Profile&hdop=&vdop=19&pdop=&dist=0&";
@@ -307,7 +307,7 @@ public void getFormattedUrl_WhenALLParametersInBody_AllKeyValuesAddedDirectly()
.putExtra(BundleConstants.VDOP, "19").withTime(1457205869949l).build();
CustomUrlManager manager = new CustomUrlManager(null);
String expected = "lat=12.193&lon=19.456&sat=0&desc=&alt=0.0&acc=0.0&dir=0.0&prov=MOCK" +
- "&spd=0.0×tamp=1457205869&timeoffset=2016-03-05T21:24:29.949%2B02:00" +
+ "&spd_kph=0.0&spd=0.0×tamp=1457205869&timeoffset=2016-03-05T21:24:29.949%2B02:00" +
"&time=2016-03-05T19:24:29.949Z&starttimestamp=1495884681&date=2016-03-05" +
"&batt=0.0&ischarging=false&aid=&ser=&act=&filename=20170527abc" +
"&profile=Default+Profile&hdop=&vdop=19&pdop=&dist=0&";