From 596ede019ceceff65e282a36d571ed709f6b177b Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Wed, 12 Aug 2015 22:14:24 +1200 Subject: [PATCH] Use position in formatter --- .../org/traccar/client/ProtocolFormatter.java | 19 +++++++++---------- .../traccar/client/TrackingController.java | 2 +- .../traccar/client/ProtocolFormatterTest.java | 8 +++++--- 3 files changed, 15 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/org/traccar/client/ProtocolFormatter.java b/app/src/main/java/org/traccar/client/ProtocolFormatter.java index a844c76..dceea1c 100644 --- a/app/src/main/java/org/traccar/client/ProtocolFormatter.java +++ b/app/src/main/java/org/traccar/client/ProtocolFormatter.java @@ -20,21 +20,20 @@ import android.net.Uri; public class ProtocolFormatter { - public static String formatRequest(String address, int port, String id, Location l, double battery) { + public static String formatRequest(String address, int port, Position position) { Uri.Builder builder = new Uri.Builder(); builder.scheme("http").encodedAuthority(address + ':' + port) - .appendQueryParameter("id", id) - .appendQueryParameter("timestamp", String.valueOf(l.getTime())) - .appendQueryParameter("lat", String.valueOf(l.getLatitude())) - .appendQueryParameter("lon", String.valueOf(l.getLongitude())) - .appendQueryParameter("speed", String.valueOf(l.getSpeed() * 1.943844)) - .appendQueryParameter("bearing", String.valueOf(l.getBearing())) - .appendQueryParameter("altitude", String.valueOf(l.getAltitude())) - .appendQueryParameter("batt", String.valueOf(battery)); + .appendQueryParameter("id", position.getId()) + .appendQueryParameter("timestamp", String.valueOf(position.getTime().getTime() / 1000)) + .appendQueryParameter("lat", String.valueOf(position.getLatitude())) + .appendQueryParameter("lon", String.valueOf(position.getLongitude())) + .appendQueryParameter("speed", String.valueOf(position.getSpeed() * 1.943844)) + .appendQueryParameter("bearing", String.valueOf(position.getCourse())) + .appendQueryParameter("altitude", String.valueOf(position.getAltitude())) + .appendQueryParameter("batt", String.valueOf(position.getBattery())); return builder.build().toString(); } } - diff --git a/app/src/main/java/org/traccar/client/TrackingController.java b/app/src/main/java/org/traccar/client/TrackingController.java index 9061679..4a74f68 100644 --- a/app/src/main/java/org/traccar/client/TrackingController.java +++ b/app/src/main/java/org/traccar/client/TrackingController.java @@ -51,7 +51,7 @@ public class TrackingController implements PositionProvider.PositionListener { String request = ProtocolFormatter.formatRequest( preferences.getString(MainActivity.KEY_ADDRESS, null), Integer.parseInt(preferences.getString(MainActivity.KEY_PORT, null)), - position.getId(), position.location, position.getBattery()); + position); RequestManager.sendRequest(request, new RequestManager.RequestHandler() { @Override diff --git a/app/src/test/java/org/traccar/client/ProtocolFormatterTest.java b/app/src/test/java/org/traccar/client/ProtocolFormatterTest.java index 3f9df6e..7163a18 100644 --- a/app/src/test/java/org/traccar/client/ProtocolFormatterTest.java +++ b/app/src/test/java/org/traccar/client/ProtocolFormatterTest.java @@ -8,6 +8,8 @@ import org.junit.runner.RunWith; import org.robolectric.RobolectricGradleTestRunner; import org.robolectric.annotation.Config; +import java.util.Date; + import static org.junit.Assert.assertEquals; @RunWith(RobolectricGradleTestRunner.class) @@ -17,10 +19,10 @@ public class ProtocolFormatterTest { @Test public void testFormatRequest() throws Exception { - Location location = new Location("gps"); - location.setTime(0); + Position position = new Position("123456789012345", new Location("gps"), 0); + position.setTime(new Date(0)); - String url = ProtocolFormatter.formatRequest("localhost", 5055, "123456789012345", location, 0); + String url = ProtocolFormatter.formatRequest("localhost", 5055, position); assertEquals("http://localhost:5055?id=123456789012345×tamp=0&lat=0.0&lon=0.0&speed=0.0&bearing=0.0&altitude=0.0&batt=0.0", url);