aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/org/traccar/protocol/MiniFinderProtocolDecoder.java4
-rw-r--r--test/org/traccar/protocol/MiniFinderProtocolDecoderTest.java3
2 files changed, 5 insertions, 2 deletions
diff --git a/src/org/traccar/protocol/MiniFinderProtocolDecoder.java b/src/org/traccar/protocol/MiniFinderProtocolDecoder.java
index eda085bc3..631a4b56b 100644
--- a/src/org/traccar/protocol/MiniFinderProtocolDecoder.java
+++ b/src/org/traccar/protocol/MiniFinderProtocolDecoder.java
@@ -33,7 +33,7 @@ public class MiniFinderProtocolDecoder extends BaseProtocolDecoder {
}
private static final Pattern PATTERN = new PatternBuilder()
- .expression("![AD],")
+ .expression("![A-D],")
.number("(d+)/(d+)/(d+),") // date
.number("(d+):(d+):(d+),") // time
.number("(-?d+.d+),") // latitude
@@ -62,7 +62,7 @@ public class MiniFinderProtocolDecoder extends BaseProtocolDecoder {
identify(sentence.substring(3, sentence.length()), channel, remoteAddress);
- } else if ((sentence.startsWith("!D") || sentence.startsWith("!A")) && hasDeviceId()) {
+ } else if (sentence.matches("![A-D].*") && hasDeviceId()) {
Parser parser = new Parser(PATTERN, sentence);
if (!parser.matches()) {
diff --git a/test/org/traccar/protocol/MiniFinderProtocolDecoderTest.java b/test/org/traccar/protocol/MiniFinderProtocolDecoderTest.java
index 46d01ac01..2b5bbd574 100644
--- a/test/org/traccar/protocol/MiniFinderProtocolDecoderTest.java
+++ b/test/org/traccar/protocol/MiniFinderProtocolDecoderTest.java
@@ -20,6 +20,9 @@ public class MiniFinderProtocolDecoderTest extends ProtocolTest {
"!1,860719027585011"));
verifyPosition(decoder, text(
+ "!C,30/1/16,1:1:6,31.259157,30.020910,0,0,100001,25.32,100,0.03,0.01,0"));
+
+ verifyPosition(decoder, text(
"!A,26/10/12,00:28:41,7.770385,-72.215706,0.0,25101,0"));
verifyPosition(decoder, text(