Use position in formatter
Этот коммит содержится в:
@@ -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();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
Ссылка в новой задаче
Block a user