Этот коммит содержится в:
Anton Tananaev
2022-10-21 07:38:43 -07:00
родитель 6d1c7b47e1
Коммит a2b2c215da
2 изменённых файлов: 11 добавлений и 4 удалений
+8 -1
Просмотреть файл
@@ -37,7 +37,7 @@ data class Position(
constructor(deviceId: String, location: Location, battery: BatteryStatus) : this( constructor(deviceId: String, location: Location, battery: BatteryStatus) : this(
deviceId = deviceId, deviceId = deviceId,
time = Date(location.time), time = Date(location.time.correctRollover()),
latitude = location.latitude, latitude = location.latitude,
longitude = location.longitude, longitude = location.longitude,
altitude = location.altitude, altitude = location.altitude,
@@ -60,3 +60,10 @@ data class Position(
}, },
) )
} }
private const val rolloverDate = 1554508800000L // April 6, 2019
private const val rolloverOffset = 619315200000L // 1024 weeks
private fun Long.correctRollover(): Long {
return if (this < rolloverDate) this + rolloverOffset else this
}
+3 -3
Просмотреть файл
@@ -17,21 +17,21 @@ class ProtocolFormatterTest {
fun testFormatRequest() { fun testFormatRequest() {
val position = Position("123456789012345", Location("gps"), BatteryStatus()) val position = Position("123456789012345", Location("gps"), BatteryStatus())
val url = formatRequest("http://localhost:5055", position) val url = formatRequest("http://localhost:5055", position)
Assert.assertEquals("http://localhost:5055?id=123456789012345&timestamp=0&lat=0.0&lon=0.0&speed=0.0&bearing=0.0&altitude=0.0&accuracy=0.0&batt=0.0", url) Assert.assertEquals("http://localhost:5055?id=123456789012345&timestamp=619315200&lat=0.0&lon=0.0&speed=0.0&bearing=0.0&altitude=0.0&accuracy=0.0&batt=0.0", url)
} }
@Test @Test
fun testFormatPathPortRequest() { fun testFormatPathPortRequest() {
val position = Position("123456789012345", Location("gps"), BatteryStatus()) val position = Position("123456789012345", Location("gps"), BatteryStatus())
val url = formatRequest("http://localhost:8888/path", position) val url = formatRequest("http://localhost:8888/path", position)
Assert.assertEquals("http://localhost:8888/path?id=123456789012345&timestamp=0&lat=0.0&lon=0.0&speed=0.0&bearing=0.0&altitude=0.0&accuracy=0.0&batt=0.0", url) Assert.assertEquals("http://localhost:8888/path?id=123456789012345&timestamp=619315200&lat=0.0&lon=0.0&speed=0.0&bearing=0.0&altitude=0.0&accuracy=0.0&batt=0.0", url)
} }
@Test @Test
fun testFormatAlarmRequest() { fun testFormatAlarmRequest() {
val position = Position("123456789012345", Location("gps"), BatteryStatus()) val position = Position("123456789012345", Location("gps"), BatteryStatus())
val url = formatRequest("http://localhost:5055/path", position, "alert message") val url = formatRequest("http://localhost:5055/path", position, "alert message")
Assert.assertEquals("http://localhost:5055/path?id=123456789012345&timestamp=0&lat=0.0&lon=0.0&speed=0.0&bearing=0.0&altitude=0.0&accuracy=0.0&batt=0.0&alarm=alert%20message", url) Assert.assertEquals("http://localhost:5055/path?id=123456789012345&timestamp=619315200&lat=0.0&lon=0.0&speed=0.0&bearing=0.0&altitude=0.0&accuracy=0.0&batt=0.0&alarm=alert%20message", url)
} }
} }