diff --git a/MyTracks/res/values-ca/strings.xml b/MyTracks/res/values-ca/strings.xml
index 39d3236d6..5f7b54f2f 100644
--- a/MyTracks/res/values-ca/strings.xml
+++ b/MyTracks/res/values-ca/strings.xml
@@ -410,10 +410,5 @@ limitations under the License.
S\'està enviant
- NONE
- ANT+ Sensors
- SRM ANT+ Bridge
- Polar Bluetooth
- Zephyr Bluetooth
-
+ Cap
diff --git a/MyTracks/res/values-es-rES/strings.xml b/MyTracks/res/values-es-rES/strings.xml
index faf1b5c85..169e3b78a 100644
--- a/MyTracks/res/values-es-rES/strings.xml
+++ b/MyTracks/res/values-es-rES/strings.xml
@@ -129,10 +129,7 @@ limitations under the License.
-->
- NONE
- ANT+ Sensors
- SRM ANT+ Bridge
- Polar Bluetooth
- Zephyr Bluetooth
-
+ Ninguna
+ ANT+ Sensores
+ SRM ANT+ Puente
diff --git a/MyTracks/res/values-ja/strings.xml b/MyTracks/res/values-ja/strings.xml
index d6b75189f..a23fb0bbf 100644
--- a/MyTracks/res/values-ja/strings.xml
+++ b/MyTracks/res/values-ja/strings.xml
@@ -467,8 +467,6 @@ limitations under the License.
なし
ANT+ センサー
SRM ANT+ ブリッジ
- Polar Bluetooth
- Zephyr Bluetooth
トラック記録通知受信
diff --git a/MyTracks/res/values-ru/strings.xml b/MyTracks/res/values-ru/strings.xml
index 77900c7c8..76361ce98 100644
--- a/MyTracks/res/values-ru/strings.xml
+++ b/MyTracks/res/values-ru/strings.xml
@@ -494,8 +494,6 @@ limitations under the License.
Нет
ANT+ Датчик
SRM ANT+ Bridge
- Polar Bluetooth
- Zephyr Bluetooth
получать уведомления о записи трека
diff --git a/MyTracksTest/src/com/google/android/apps/mytracks/services/sensors/PolarMessageParserTest.java b/MyTracksTest/src/com/google/android/apps/mytracks/services/sensors/PolarMessageParserTest.java
index 0f6b09e69..26ce13bef 100644
--- a/MyTracksTest/src/com/google/android/apps/mytracks/services/sensors/PolarMessageParserTest.java
+++ b/MyTracksTest/src/com/google/android/apps/mytracks/services/sensors/PolarMessageParserTest.java
@@ -1,5 +1,7 @@
package com.google.android.apps.mytracks.services.sensors;
+import java.util.Arrays;
+
import com.google.android.apps.mytracks.content.Sensor;
import junit.framework.TestCase;
@@ -7,26 +9,40 @@ import junit.framework.TestCase;
public class PolarMessageParserTest extends TestCase {
PolarMessageParser parser = new PolarMessageParser();
+ // A complete and valid Polar HxM packet
+ // FE08F701D1001104FE08F702D1001104
+ private final byte[] originalBuf =
+ {(byte) 0xFE, 0x08, (byte) 0xF7, 0x01, (byte) 0xD1, 0x00, 0x11, 0x04, (byte) 0xFE, 0x08,
+ (byte) 0xF7, 0x02, (byte) 0xD1, 0x00, 0x11, 0x04};
+ private byte[] buf;
+
+ public void setUp() {
+ buf = Arrays.copyOf(originalBuf, originalBuf.length);
+ }
public void testIsValid() {
- // A complete and valid Polar HxM packet
- // FE08F701D1001104FE08F702D1001104
- byte[] buf = { 0xFE,0x08,0xF7,0x01,0xD1,0x00,0x11,0x04,0xFE,0x08,0xF7,0x02,0xD1,0x00,0x11,0x04 };
-
- buf[0] = 0x03; // Invalidate header
+ assertTrue(parser.isValid(buf));
+ }
+
+ public void testIsValid_invalidHeader() {
+ // Invalidate header.
+ buf[0] = 0x03;
assertFalse(parser.isValid(buf));
-
- buf[0] = 0xFE; // Good header
- buf[2] = 0x03; // Invalidate checkbyte
+ }
+
+ public void testIsValid_invalidCheckbyte() {
+ // Invalidate checkbyte.
+ buf[2] = 0x03;
assertFalse(parser.isValid(buf));
-
- buf[2] = 0xF7; // Good checkbyte
- buf[3] = 0x11; // Invalidate sequence
+ }
+
+ public void testIsValid_invalidSequence() {
+ // Invalidate sequence.
+ buf[3] = 0x11;
assertFalse(parser.isValid(buf));
}
public void testParseBuffer() {
- byte[] buf = { 0xFE,0x08,0xF7,0x01,0xD1,0x00,0x11,0x04,0xFE,0x08,0xF7,0x02,0xD1,0x00,0x11,0x04 };
buf[5] = 70;
Sensor.SensorDataSet sds = parser.parseBuffer(buf);
assertTrue(sds.hasHeartRate());
@@ -34,10 +50,21 @@ public class PolarMessageParserTest extends TestCase {
assertEquals(70, sds.getHeartRate().getValue());
}
- public void testFindNextAlignment() {
- byte[] buf = { 0x0E,0x08,0xF7,0x01,0xD1,0x00,0x11,0x04,0x0E,0x08,0xF7,0x02,0xD1,0x00,0x11,0x04 };
+ public void testFindNextAlignment_offset() {
+ // The first 4 bytes are garbage
+ buf = new byte[originalBuf.length + 4];
+ buf[0] = 4;
+ buf[1] = 2;
+ buf[2] = 4;
+ buf[3] = 2;
+
+ // Then the valid message.
+ System.arraycopy(originalBuf, 0, buf, 4, originalBuf.length);
+ assertEquals(4, parser.findNextAlignment(buf));
+ }
+
+ public void testFindNextAlignment_invalid() {
+ buf[0] = 0;
assertEquals(-1, parser.findNextAlignment(buf));
- buf[8] = 0xFE;
- assertEquals(8, parser.findNextAlignment(buf));
}
}