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&";