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"
minSdkVersion 23
targetSdkVersion 30
versionCode 146
versionName "1.46"
versionCode 147
versionName "1.47"
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.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();
}
}