From c4be79d6aae926d6017431418632bcc421a76e0a Mon Sep 17 00:00:00 2001 From: sh123 Date: Fri, 19 Aug 2022 19:53:43 +0300 Subject: [PATCH] Refactor date interface to include path --- .../com/radio/codec2talkie/app/AppWorker.java | 4 ++-- .../com/radio/codec2talkie/protocol/Aprs.java | 17 ++++++++--------- .../codec2talkie/protocol/AudioCodec2.java | 12 ++++++------ .../protocol/AudioFrameAggregator.java | 12 ++++++------ .../com/radio/codec2talkie/protocol/Ax25.java | 18 +++++++++--------- .../radio/codec2talkie/protocol/Freedv.java | 2 +- .../com/radio/codec2talkie/protocol/Hdlc.java | 2 +- .../com/radio/codec2talkie/protocol/Kiss.java | 2 +- .../radio/codec2talkie/protocol/Protocol.java | 2 +- .../protocol/ProtocolCallback.java | 4 ++-- .../com/radio/codec2talkie/protocol/Raw.java | 2 +- .../radio/codec2talkie/protocol/Recorder.java | 12 ++++++------ .../radio/codec2talkie/protocol/Scrambler.java | 14 +++++++------- 13 files changed, 51 insertions(+), 52 deletions(-) diff --git a/codec2talkie/src/main/java/com/radio/codec2talkie/app/AppWorker.java b/codec2talkie/src/main/java/com/radio/codec2talkie/app/AppWorker.java index e6acc98..6f7747d 100644 --- a/codec2talkie/src/main/java/com/radio/codec2talkie/app/AppWorker.java +++ b/codec2talkie/src/main/java/com/radio/codec2talkie/app/AppWorker.java @@ -294,7 +294,7 @@ public class AppWorker extends Thread { } @Override - protected void onReceiveData(String src, String dst, byte[] data) { + protected void onReceiveData(String src, String dst, String path, byte[] data) { String note = (src == null ? "UNK" : src) + "→" + (dst == null ? "UNK" : dst); sendStatusUpdate(AppMessage.EV_DATA_RECEIVED, note); } @@ -336,7 +336,7 @@ public class AppWorker extends Thread { } @Override - protected void onTransmitData(String src, String dst, byte[] data) { + protected void onTransmitData(String src, String dst, String path, byte[] data) { String note = (src == null ? "UNK" : src) + "→" + (dst == null ? "UNK" : dst); sendStatusUpdate(AppMessage.EV_TRANSMITTED_VOICE, note); } diff --git a/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/Aprs.java b/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/Aprs.java index 0d5bc2c..f4dc414 100644 --- a/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/Aprs.java +++ b/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/Aprs.java @@ -2,7 +2,6 @@ package com.radio.codec2talkie.protocol; import android.content.Context; import android.content.SharedPreferences; -import android.provider.Settings; import android.util.Log; import androidx.preference.PreferenceManager; @@ -91,7 +90,7 @@ public class Aprs implements Protocol { aprsData.fromTextMessage(textMessage); if (aprsData.isValid()) { textMessage.src = _srcCallsign; - sendData(_srcCallsign, _dstCallsign, aprsData.toBinary()); + sendData(_srcCallsign, _dstCallsign, null, aprsData.toBinary()); _parentProtocolCallback.onTransmitTextMessage(textMessage); } else { Log.e(TAG, "Invalid APRS message"); @@ -109,8 +108,8 @@ public class Aprs implements Protocol { } @Override - public void sendData(String src, String dst, byte[] dataPacket) throws IOException { - _childProtocol.sendData(src == null ? _srcCallsign : src, dst == null ? _dstCallsign : dst, dataPacket); + public void sendData(String src, String dst, String path, byte[] dataPacket) throws IOException { + _childProtocol.sendData(src == null ? _srcCallsign : src, dst == null ? _dstCallsign : dst, path, dataPacket); } @Override @@ -141,7 +140,7 @@ public class Aprs implements Protocol { } @Override - protected void onReceiveData(String src, String dst, byte[] data) { + protected void onReceiveData(String src, String dst, String path, byte[] data) { if (data.length == 0) return; AprsDataType dataType = new AprsDataType((char)data[0]); AprsData aprsData = AprsDataFactory.fromBinary(src, dst, data); @@ -158,7 +157,7 @@ public class Aprs implements Protocol { } } } - _parentProtocolCallback.onReceiveData(src, dst, data); + _parentProtocolCallback.onReceiveData(src, dst, path, data); } @Override @@ -193,8 +192,8 @@ public class Aprs implements Protocol { } @Override - protected void onTransmitData(String src, String dst, byte[] data) { - _parentProtocolCallback.onTransmitData(src, dst, data); + protected void onTransmitData(String src, String dst, String path, byte[] data) { + _parentProtocolCallback.onTransmitData(src, dst, path, data); } @Override @@ -235,7 +234,7 @@ public class Aprs implements Protocol { return; } if (aprsData.isValid()) { - sendData(position.srcCallsign, position.dstCallsign, aprsData.toBinary()); + sendData(position.srcCallsign, position.dstCallsign, null, aprsData.toBinary()); _parentProtocolCallback.onTransmitPosition(position); } else { Log.e(TAG, "Invalid APRS data"); diff --git a/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/AudioCodec2.java b/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/AudioCodec2.java index f4c90da..e82b547 100644 --- a/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/AudioCodec2.java +++ b/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/AudioCodec2.java @@ -63,8 +63,8 @@ public class AudioCodec2 implements Protocol { } @Override - public void sendData(String src, String dst, byte[] dataPacket) throws IOException { - _childProtocol.sendData(src, dst, dataPacket); + public void sendData(String src, String dst, String path, byte[] dataPacket) throws IOException { + _childProtocol.sendData(src, dst, path, dataPacket); } @Override @@ -95,8 +95,8 @@ public class AudioCodec2 implements Protocol { } @Override - protected void onReceiveData(String src, String dst, byte[] data) { - _parentProtocolCallback.onReceiveData(src, dst, data); + protected void onReceiveData(String src, String dst, String path, byte[] data) { + _parentProtocolCallback.onReceiveData(src, dst, path, data); } @Override @@ -130,8 +130,8 @@ public class AudioCodec2 implements Protocol { } @Override - protected void onTransmitData(String src, String dst, byte[] data) { - _parentProtocolCallback.onTransmitData(src, dst, data); + protected void onTransmitData(String src, String dst, String path, byte[] data) { + _parentProtocolCallback.onTransmitData(src, dst, path, data); } @Override diff --git a/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/AudioFrameAggregator.java b/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/AudioFrameAggregator.java index a6ed886..7ce8fbc 100644 --- a/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/AudioFrameAggregator.java +++ b/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/AudioFrameAggregator.java @@ -86,8 +86,8 @@ public class AudioFrameAggregator implements Protocol { } @Override - public void sendData(String src, String dst, byte[] dataPacket) throws IOException { - _childProtocol.sendData(src, dst, dataPacket); + public void sendData(String src, String dst, String path, byte[] dataPacket) throws IOException { + _childProtocol.sendData(src, dst, path, dataPacket); } @Override @@ -129,8 +129,8 @@ public class AudioFrameAggregator implements Protocol { } @Override - protected void onReceiveData(String src, String dst, byte[] data) { - _parentProtocolCallback.onReceiveData(src, dst, data); + protected void onReceiveData(String src, String dst, String path, byte[] data) { + _parentProtocolCallback.onReceiveData(src, dst, path, data); } @Override @@ -164,8 +164,8 @@ public class AudioFrameAggregator implements Protocol { } @Override - protected void onTransmitData(String src, String dst, byte[] data) { - _parentProtocolCallback.onTransmitData(src, dst, data); + protected void onTransmitData(String src, String dst, String path, byte[] data) { + _parentProtocolCallback.onTransmitData(src, dst, path, data); } @Override diff --git a/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/Ax25.java b/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/Ax25.java index 8668df7..03f26be 100644 --- a/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/Ax25.java +++ b/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/Ax25.java @@ -85,8 +85,8 @@ public class Ax25 implements Protocol { } @Override - public void sendData(String src, String dst, byte[] dataPacket) throws IOException { - _parentProtocolCallback.onTransmitData(src, dst, dataPacket); + public void sendData(String src, String dst, String path, byte[] dataPacket) throws IOException { + _parentProtocolCallback.onTransmitData(src, dst, _digipath, dataPacket); AX25Packet ax25Packet = new AX25Packet(); ax25Packet.src = src; ax25Packet.dst = dst; @@ -98,7 +98,7 @@ public class Ax25 implements Protocol { Log.e(TAG, "Cannot convert AX.25 data packet to binary"); _parentProtocolCallback.onProtocolTxError(); } else { - _childProtocol.sendData(src, dst, ax25Frame); + _childProtocol.sendData(src, dst, _digipath, ax25Frame); _parentProtocolCallback.onTransmitLog(ax25Packet.toString()); } } @@ -127,7 +127,7 @@ public class Ax25 implements Protocol { if (ax25Data.isAudio) { _parentProtocolCallback.onReceiveCompressedAudio(ax25Data.src, ax25Data.dst, ax25Data.codec2Mode, ax25Data.rawData); } else { - _parentProtocolCallback.onReceiveData(ax25Data.src, ax25Data.dst, ax25Data.rawData); + _parentProtocolCallback.onReceiveData(ax25Data.src, ax25Data.dst, ax25Data.digipath, ax25Data.rawData); _parentProtocolCallback.onReceiveLog(ax25Data.toString()); if (_isDigiRepeaterEnabled) digiRepeat(ax25Data); } @@ -143,8 +143,8 @@ public class Ax25 implements Protocol { } @Override - protected void onReceiveData(String src, String dst, byte[] data) { - _parentProtocolCallback.onReceiveData(src, dst, data); + protected void onReceiveData(String src, String dst, String path, byte[] data) { + _parentProtocolCallback.onReceiveData(src, dst, path, data); } @Override @@ -178,8 +178,8 @@ public class Ax25 implements Protocol { } @Override - protected void onTransmitData(String src, String dst, byte[] data) { - _parentProtocolCallback.onTransmitData(src, dst, data); + protected void onTransmitData(String src, String dst, String path, byte[] data) { + _parentProtocolCallback.onTransmitData(src, dst, path, data); } @Override @@ -222,7 +222,7 @@ public class Ax25 implements Protocol { _parentProtocolCallback.onProtocolTxError(); } else { try { - _childProtocol.sendData(ax25Packet.src, ax25Packet.dst, ax25Frame); + _childProtocol.sendData(ax25Packet.src, ax25Packet.dst, ax25Packet.digipath, ax25Frame); } catch (IOException e) { Log.e(TAG, "Cannot send AX.25 digi repeated packet"); e.printStackTrace(); diff --git a/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/Freedv.java b/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/Freedv.java index 4344b3f..71ddfd4 100644 --- a/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/Freedv.java +++ b/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/Freedv.java @@ -88,7 +88,7 @@ public class Freedv implements Protocol { } @Override - public void sendData(String src, String dst, byte[] dataPacket) throws IOException { + public void sendData(String src, String dst, String path, byte[] dataPacket) throws IOException { if (dataPacket.length > _dataBuffer.length - 2) { Log.e(TAG, "Too large packet " + dataPacket.length + " > " + _dataBuffer.length); return; diff --git a/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/Hdlc.java b/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/Hdlc.java index 7e114d1..4acac90 100644 --- a/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/Hdlc.java +++ b/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/Hdlc.java @@ -70,7 +70,7 @@ public class Hdlc implements Protocol { } @Override - public void sendData(String src, String dst, byte[] dataPacket) throws IOException { + public void sendData(String src, String dst, String path, byte[] dataPacket) throws IOException { _transport.write(hdlcEncode(dataPacket)); } diff --git a/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/Kiss.java b/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/Kiss.java index d1f5ae4..bd9dfb0 100644 --- a/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/Kiss.java +++ b/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/Kiss.java @@ -221,7 +221,7 @@ public class Kiss implements Protocol { } @Override - public void sendData(String src, String dst, byte[] dataPacket) throws IOException { + public void sendData(String src, String dst, String path, byte[] dataPacket) throws IOException { // NOTE, KISS does not distinguish between audio and data packet, upper layer should decide send(dataPacket); } diff --git a/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/Protocol.java b/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/Protocol.java index f971678..64ab3a5 100644 --- a/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/Protocol.java +++ b/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/Protocol.java @@ -18,7 +18,7 @@ public interface Protocol { // messaging void sendTextMessage(TextMessage textMessage) throws IOException; // data - void sendData(String src, String dst, byte[] dataPacket) throws IOException; + void sendData(String src, String dst, String path, byte[] dataPacket) throws IOException; // callback boolean receive() throws IOException; // gps diff --git a/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/ProtocolCallback.java b/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/ProtocolCallback.java index 941b676..fe84995 100644 --- a/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/ProtocolCallback.java +++ b/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/ProtocolCallback.java @@ -9,7 +9,7 @@ public abstract class ProtocolCallback { abstract protected void onReceivePcmAudio(String src, String dst, int codec, short[] pcmFrame); abstract protected void onReceiveCompressedAudio(String src, String dst, int codec, byte[] frame); abstract protected void onReceiveTextMessage(TextMessage textMessage); - abstract protected void onReceiveData(String src, String dst, byte[] data); + abstract protected void onReceiveData(String src, String dst, String path, byte[] data); abstract protected void onReceiveSignalLevel(short rssi, short snr); abstract protected void onReceiveLog(String logData); @@ -18,7 +18,7 @@ public abstract class ProtocolCallback { abstract protected void onTransmitCompressedAudio(String src, String dst, int codec, byte[] frame); abstract protected void onTransmitTextMessage(TextMessage textMessage); abstract protected void onTransmitPosition(Position position); - abstract protected void onTransmitData(String src, String dst, byte[] data); + abstract protected void onTransmitData(String src, String dst, String path, byte[] data); abstract protected void onTransmitLog(String logData); // errors diff --git a/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/Raw.java b/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/Raw.java index b9e042a..82472aa 100644 --- a/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/Raw.java +++ b/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/Raw.java @@ -52,7 +52,7 @@ public class Raw implements Protocol { } @Override - public void sendData(String src, String dst, byte[] dataPacket) throws IOException { + public void sendData(String src, String dst, String path, byte[] dataPacket) throws IOException { _transport.write(Arrays.copyOf(dataPacket, dataPacket.length)); } diff --git a/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/Recorder.java b/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/Recorder.java index fa0cd90..b6fe307 100644 --- a/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/Recorder.java +++ b/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/Recorder.java @@ -76,8 +76,8 @@ public class Recorder implements Protocol { } @Override - public void sendData(String src, String dst, byte[] dataPacket) throws IOException { - _childProtocol.sendData(src, dst, dataPacket); + public void sendData(String src, String dst, String path, byte[] dataPacket) throws IOException { + _childProtocol.sendData(src, dst, path, dataPacket); } @Override @@ -109,8 +109,8 @@ public class Recorder implements Protocol { } @Override - protected void onReceiveData(String src, String dst, byte[] data) { - _parentProtocolCallback.onReceiveData(src, dst, data); + protected void onReceiveData(String src, String dst, String path, byte[] data) { + _parentProtocolCallback.onReceiveData(src, dst, path, data); } @Override @@ -144,8 +144,8 @@ public class Recorder implements Protocol { } @Override - protected void onTransmitData(String src, String dst, byte[] data) { - _parentProtocolCallback.onTransmitData(src, dst, data); + protected void onTransmitData(String src, String dst, String path, byte[] data) { + _parentProtocolCallback.onTransmitData(src, dst, path, data); } @Override diff --git a/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/Scrambler.java b/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/Scrambler.java index 51cb2a2..1a11b09 100644 --- a/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/Scrambler.java +++ b/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/Scrambler.java @@ -56,7 +56,7 @@ public class Scrambler implements Protocol { if (result == null) { _parentProtocolCallback.onProtocolTxError(); } else { - _childProtocol.sendData(src, dst, result); + _childProtocol.sendData(src, dst, null, result); } } @@ -71,12 +71,12 @@ public class Scrambler implements Protocol { } @Override - public void sendData(String src, String dst, byte[] dataPacket) throws IOException { + public void sendData(String src, String dst, String path, byte[] dataPacket) throws IOException { byte[] result = scramble(dataPacket); if (result == null) { _parentProtocolCallback.onProtocolTxError(); } else { - _childProtocol.sendData(src, dst, result); + _childProtocol.sendData(src, dst, path, result); } } @@ -113,12 +113,12 @@ public class Scrambler implements Protocol { } @Override - protected void onReceiveData(String src, String dst, byte[] scrambledData) { + protected void onReceiveData(String src, String dst, String path, byte[] scrambledData) { byte[] data = unscramble(scrambledData); if (data == null) { _parentProtocolCallback.onProtocolRxError(); } else { - _parentProtocolCallback.onReceiveData(src, dst, data); + _parentProtocolCallback.onReceiveData(src, dst, path, data); } } @@ -153,8 +153,8 @@ public class Scrambler implements Protocol { } @Override - protected void onTransmitData(String src, String dst, byte[] data) { - _parentProtocolCallback.onTransmitData(src, dst, data); + protected void onTransmitData(String src, String dst, String path, byte[] data) { + _parentProtocolCallback.onTransmitData(src, dst, path, data); } @Override