kopia lustrzana https://github.com/sh123/codec2_talkie
Handle auto reply messages
rodzic
1edf1c4c51
commit
854bd629da
|
@ -299,7 +299,11 @@ public class AppWorker extends Thread {
|
||||||
String note = (textMessage.src == null ? "UNK" : textMessage.src) + "→" +
|
String note = (textMessage.src == null ? "UNK" : textMessage.src) + "→" +
|
||||||
(textMessage.dst == null ? "UNK" : textMessage.dst);
|
(textMessage.dst == null ? "UNK" : textMessage.dst);
|
||||||
sendStatusUpdate(AppMessage.EV_TEXT_MESSAGE_RECEIVED, note + ": " + textMessage.text);
|
sendStatusUpdate(AppMessage.EV_TEXT_MESSAGE_RECEIVED, note + ": " + textMessage.text);
|
||||||
_messageItemRepository.insertMessageItem(textMessage.toMessageItem(false));
|
if (textMessage.isAutoReply()) {
|
||||||
|
// TODO, acknowledge or reject message with the given (src, dst, ackId)
|
||||||
|
} else {
|
||||||
|
_messageItemRepository.insertMessageItem(textMessage.toMessageItem(false));
|
||||||
|
}
|
||||||
Log.i(TAG, "message received: " + textMessage.text);
|
Log.i(TAG, "message received: " + textMessage.text);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -342,7 +346,9 @@ public class AppWorker extends Thread {
|
||||||
String note = (textMessage.src == null ? "UNK" : textMessage.src) + "→" +
|
String note = (textMessage.src == null ? "UNK" : textMessage.src) + "→" +
|
||||||
(textMessage.dst == null ? "UNK" : textMessage.dst);
|
(textMessage.dst == null ? "UNK" : textMessage.dst);
|
||||||
sendStatusUpdate(AppMessage.EV_TEXT_MESSAGE_TRANSMITTED, note);
|
sendStatusUpdate(AppMessage.EV_TEXT_MESSAGE_TRANSMITTED, note);
|
||||||
_messageItemRepository.insertMessageItem(textMessage.toMessageItem(true));
|
if (!textMessage.isAutoReply()) {
|
||||||
|
_messageItemRepository.insertMessageItem(textMessage.toMessageItem(true));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -2,6 +2,8 @@ package com.radio.codec2talkie.protocol.message;
|
||||||
|
|
||||||
import com.radio.codec2talkie.storage.message.MessageItem;
|
import com.radio.codec2talkie.storage.message.MessageItem;
|
||||||
|
|
||||||
|
import java.util.Locale;
|
||||||
|
|
||||||
public class TextMessage {
|
public class TextMessage {
|
||||||
public String src;
|
public String src;
|
||||||
public String dst;
|
public String dst;
|
||||||
|
@ -21,4 +23,20 @@ public class TextMessage {
|
||||||
messageItem.setRetryCnt(0);
|
messageItem.setRetryCnt(0);
|
||||||
return messageItem;
|
return messageItem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isAck() {
|
||||||
|
return this.text != null &&
|
||||||
|
this.text.toLowerCase(Locale.ROOT).equals("ack") &&
|
||||||
|
this.ackId > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isRej() {
|
||||||
|
return this.text != null &&
|
||||||
|
this.text.toLowerCase(Locale.ROOT).equals("rej") &&
|
||||||
|
this.ackId > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isAutoReply() {
|
||||||
|
return isAck() || isRej();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,7 +20,7 @@ import java.util.concurrent.ExecutorService;
|
||||||
import java.util.concurrent.Executors;
|
import java.util.concurrent.Executors;
|
||||||
|
|
||||||
@androidx.room.Database(
|
@androidx.room.Database(
|
||||||
version = 12,
|
version = 13,
|
||||||
entities = {LogItem.class, MessageItem.class, PositionItem.class, StationItem.class},
|
entities = {LogItem.class, MessageItem.class, PositionItem.class, StationItem.class},
|
||||||
exportSchema = false
|
exportSchema = false
|
||||||
)
|
)
|
||||||
|
|
|
@ -4,7 +4,7 @@ import androidx.room.Entity;
|
||||||
import androidx.room.Index;
|
import androidx.room.Index;
|
||||||
import androidx.room.PrimaryKey;
|
import androidx.room.PrimaryKey;
|
||||||
|
|
||||||
@Entity(indices = {@Index(value = {"id", "srcCallsign", "ackId"}, unique = true)})
|
@Entity(indices = {@Index(value = {"id", "srcCallsign", "dstCallsign", "ackId"}, unique = true)})
|
||||||
public class MessageItem {
|
public class MessageItem {
|
||||||
|
|
||||||
@PrimaryKey(autoGenerate = true)
|
@PrimaryKey(autoGenerate = true)
|
||||||
|
|
Ładowanie…
Reference in New Issue