Do not treat telemetry message as IM

master
sh123 2022-09-12 18:35:35 +03:00
rodzic ec9dee33c7
commit 1995051f89
2 zmienionych plików z 13 dodań i 4 usunięć

Wyświetl plik

@ -10,8 +10,8 @@ android {
applicationId "com.radio.codec2talkie" applicationId "com.radio.codec2talkie"
minSdkVersion 23 minSdkVersion 23
targetSdkVersion 30 targetSdkVersion 30
versionCode 146 versionCode 147
versionName "1.46" versionName "1.47"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
} }

Wyświetl plik

@ -5,6 +5,8 @@ import com.radio.codec2talkie.protocol.position.Position;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class AprsDataTextMessage implements AprsData { public class AprsDataTextMessage implements AprsData {
@ -61,8 +63,9 @@ public class AprsDataTextMessage implements AprsData {
byte[] message = new byte[buffer.remaining()]; byte[] message = new byte[buffer.remaining()];
buffer.get(message); buffer.get(message);
textMessage = new String(message, StandardCharsets.UTF_8); textMessage = new String(message, StandardCharsets.UTF_8);
// TODO, message id: {xxxxx // TODO, message id: {xxxxx (for auto ack)
_isValid = true; // TODO, telemetry, make subclass from message, extend and extract values
_isValid = !isTelemetry(textMessage);
} }
@Override @Override
@ -74,4 +77,10 @@ public class AprsDataTextMessage implements AprsData {
public boolean isValid() { public boolean isValid() {
return _isValid; return _isValid;
} }
private boolean isTelemetry(String textMessage) {
Pattern p = Pattern.compile("^(EQNS|PARM|UNIT|BITS)[.].+$");
Matcher m = p.matcher(textMessage);
return m.matches();
}
} }