diff --git a/MyTracks/AndroidManifest.xml b/MyTracks/AndroidManifest.xml index cc100a0d8..19385f398 100755 --- a/MyTracks/AndroidManifest.xml +++ b/MyTracks/AndroidManifest.xml @@ -17,8 +17,8 @@ limitations under the License. + android:versionCode="28" + android:versionName="1.1.5"> diff --git a/MyTracks/src/com/google/android/apps/mytracks/content/TrackDataHub.java b/MyTracks/src/com/google/android/apps/mytracks/content/TrackDataHub.java index f0a0e9522..d4ddb5ebe 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/content/TrackDataHub.java +++ b/MyTracks/src/com/google/android/apps/mytracks/content/TrackDataHub.java @@ -525,6 +525,10 @@ public class TrackDataHub { // If this is the only listener we have registered, keep the state that we serve to it as // a reference for other future listeners. + if (isOnlyListener && reloadAll) { + resetState(); + } + notifyPointsUpdated(isOnlyListener, minPointId, previousNumPoints, diff --git a/MyTracks/src/com/google/android/apps/mytracks/services/sensors/ZephyrMessageParser.java b/MyTracks/src/com/google/android/apps/mytracks/services/sensors/ZephyrMessageParser.java index 17c4ae1b3..48fd5daa0 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/services/sensors/ZephyrMessageParser.java +++ b/MyTracks/src/com/google/android/apps/mytracks/services/sensors/ZephyrMessageParser.java @@ -40,7 +40,7 @@ public class ZephyrMessageParser implements MessageParser { Log.w(Constants.TAG, "Got zephyr data: " + sb); // Heart Rate Sensor.SensorData.Builder heartrate = Sensor.SensorData.newBuilder() - .setValue(buffer[12]) + .setValue(buffer[12] & 0xFF) .setState(Sensor.SensorState.SENDING); // Changes Nico Laum (Power and Cadence) Sensor.SensorData.Builder power = Sensor.SensorData.newBuilder() diff --git a/MyTracksTest/src/com/google/android/apps/mytracks/services/sensors/ZephyrMessageParserTest.java b/MyTracksTest/src/com/google/android/apps/mytracks/services/sensors/ZephyrMessageParserTest.java index 11a08fe49..910b1ca98 100644 --- a/MyTracksTest/src/com/google/android/apps/mytracks/services/sensors/ZephyrMessageParserTest.java +++ b/MyTracksTest/src/com/google/android/apps/mytracks/services/sensors/ZephyrMessageParserTest.java @@ -26,20 +26,23 @@ public class ZephyrMessageParserTest extends TestCase { public void testParseBuffer() { byte[] buf = new byte[60]; - buf[12] = 50; + // Heartrate (-1 =^ 255 unsigned byte) + buf[12] = -1; + // Power buf[11] = 51; - buf[56] = 32; - buf[57] = 0; + // Cadence (=^ 255*16 strides/min) + buf[56] = -1; + buf[57] = 15; Sensor.SensorDataSet sds = parser.parseBuffer(buf); assertTrue(sds.hasHeartRate()); assertTrue(sds.getHeartRate().getState() == Sensor.SensorState.SENDING); - assertEquals(50, sds.getHeartRate().getValue()); + assertEquals(255, sds.getHeartRate().getValue()); assertTrue(sds.hasPower()); assertTrue(sds.getPower().getState() == Sensor.SensorState.SENDING); assertEquals(51, sds.getPower().getValue()); assertTrue(sds.hasCadence()); assertTrue(sds.getCadence().getState() == Sensor.SensorState.SENDING); - assertEquals(2, sds.getCadence().getValue()); + assertEquals(255, sds.getCadence().getValue()); } public void testFindNextAlignment() {