From 1995051f8996651907c96195cd1f4b0c752a743a Mon Sep 17 00:00:00 2001 From: sh123 Date: Mon, 12 Sep 2022 18:35:35 +0300 Subject: [PATCH] Do not treat telemetry message as IM --- codec2talkie/build.gradle | 4 ++-- .../protocol/aprs/AprsDataTextMessage.java | 13 +++++++++++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/codec2talkie/build.gradle b/codec2talkie/build.gradle index bc555b1..21c95c8 100644 --- a/codec2talkie/build.gradle +++ b/codec2talkie/build.gradle @@ -10,8 +10,8 @@ android { applicationId "com.radio.codec2talkie" minSdkVersion 23 targetSdkVersion 30 - versionCode 146 - versionName "1.46" + versionCode 147 + versionName "1.47" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } diff --git a/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/aprs/AprsDataTextMessage.java b/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/aprs/AprsDataTextMessage.java index e11aa2a..29c53ef 100644 --- a/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/aprs/AprsDataTextMessage.java +++ b/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/aprs/AprsDataTextMessage.java @@ -5,6 +5,8 @@ import com.radio.codec2talkie.protocol.position.Position; import java.nio.ByteBuffer; import java.nio.charset.StandardCharsets; +import java.util.regex.Matcher; +import java.util.regex.Pattern; public class AprsDataTextMessage implements AprsData { @@ -61,8 +63,9 @@ public class AprsDataTextMessage implements AprsData { byte[] message = new byte[buffer.remaining()]; buffer.get(message); textMessage = new String(message, StandardCharsets.UTF_8); - // TODO, message id: {xxxxx - _isValid = true; + // TODO, message id: {xxxxx (for auto ack) + // TODO, telemetry, make subclass from message, extend and extract values + _isValid = !isTelemetry(textMessage); } @Override @@ -74,4 +77,10 @@ public class AprsDataTextMessage implements AprsData { public boolean isValid() { return _isValid; } + + private boolean isTelemetry(String textMessage) { + Pattern p = Pattern.compile("^(EQNS|PARM|UNIT|BITS)[.].+$"); + Matcher m = p.matcher(textMessage); + return m.matches(); + } }