From c2ecf80df96f9782ef716d01678ed33f886a6480 Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Thu, 1 Oct 2015 15:04:06 +1300 Subject: Fix Luhn checksum calculation --- src/org/traccar/protocol/MeiligaoProtocolDecoder.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'src/org/traccar/protocol/MeiligaoProtocolDecoder.java') diff --git a/src/org/traccar/protocol/MeiligaoProtocolDecoder.java b/src/org/traccar/protocol/MeiligaoProtocolDecoder.java index c660107ca..faf3a5baf 100644 --- a/src/org/traccar/protocol/MeiligaoProtocolDecoder.java +++ b/src/org/traccar/protocol/MeiligaoProtocolDecoder.java @@ -98,14 +98,11 @@ public class MeiligaoProtocolDecoder extends BaseProtocolDecoder { } if (id.length() == 14) { + // Try to recreate full IMEI number // Sometimes first digit is cut, so this won't work if (identify(id + Crc.luhnChecksum(Long.valueOf(id)), channel, null, false)) { return true; } - } else if (id.length() > 15) { - if (identify(id.substring(0, 15), channel, null, false)) { - return true; - } } return identify(id, channel); -- cgit v1.2.3