kopia lustrzana https://github.com/meshtastic/Meshtastic-Android
Expose wantAck in Mesh Packet (#1703)
* Expose wantAck in Mesh Packet * Update DataPacket.kt * Update DataPacket.kt * Update DataPacket.kt * Update DataPacket.kt * Refactor: Change wantAck field type in DataPacket - Changed the `wantAck` field in `DataPacket` from `Int` to `Boolean`. - Updated read/write and equals/hashcode functions accordingly. * Update MeshService.kt * Update MeshService.kt --------- Co-authored-by: Ben Meadors <benmmeadors@gmail.com> Co-authored-by: James Rich <2199651+jamesarich@users.noreply.github.com>pull/1516/head^2
rodzic
123b296b6c
commit
3bc4454c0e
app/src/main/java/com/geeksville/mesh
service
|
@ -58,6 +58,7 @@ data class DataPacket(
|
|||
var status: MessageStatus? = MessageStatus.UNKNOWN,
|
||||
var hopLimit: Int = 0,
|
||||
var channel: Int = 0, // channel index
|
||||
var wantAck: Boolean = true, // If true, the receiver should send an ack back
|
||||
) : Parcelable {
|
||||
|
||||
/**
|
||||
|
@ -118,6 +119,7 @@ data class DataPacket(
|
|||
parcel.readParcelableCompat(MessageStatus::class.java.classLoader),
|
||||
parcel.readInt(),
|
||||
parcel.readInt(),
|
||||
parcel.readInt() == 1,
|
||||
)
|
||||
|
||||
override fun equals(other: Any?): Boolean {
|
||||
|
@ -135,6 +137,7 @@ data class DataPacket(
|
|||
if (!bytes!!.contentEquals(other.bytes!!)) return false
|
||||
if (status != other.status) return false
|
||||
if (hopLimit != other.hopLimit) return false
|
||||
if (wantAck != other.wantAck) return false
|
||||
|
||||
return true
|
||||
}
|
||||
|
@ -149,6 +152,7 @@ data class DataPacket(
|
|||
result = 31 * result + status.hashCode()
|
||||
result = 31 * result + hopLimit
|
||||
result = 31 * result + channel
|
||||
result = 31 * result + wantAck.hashCode()
|
||||
return result
|
||||
}
|
||||
|
||||
|
@ -162,6 +166,7 @@ data class DataPacket(
|
|||
parcel.writeParcelable(status, flags)
|
||||
parcel.writeInt(hopLimit)
|
||||
parcel.writeInt(channel)
|
||||
parcel.writeInt(if (wantAck) 1 else 0)
|
||||
}
|
||||
|
||||
override fun describeContents(): Int {
|
||||
|
@ -179,6 +184,7 @@ data class DataPacket(
|
|||
status = parcel.readParcelableCompat(MessageStatus::class.java.classLoader)
|
||||
hopLimit = parcel.readInt()
|
||||
channel = parcel.readInt()
|
||||
wantAck = parcel.readInt() == 1
|
||||
}
|
||||
|
||||
companion object CREATOR : Parcelable.Creator<DataPacket> {
|
||||
|
|
|
@ -655,6 +655,7 @@ class MeshService : Service(), Logging {
|
|||
bytes = data.payload.toByteArray(),
|
||||
hopLimit = packet.hopLimit,
|
||||
channel = if (packet.pkiEncrypted) DataPacket.PKC_CHANNEL_INDEX else packet.channel,
|
||||
wantAck = packet.wantAck,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -662,7 +663,7 @@ class MeshService : Service(), Logging {
|
|||
private fun toMeshPacket(p: DataPacket): MeshPacket {
|
||||
return newMeshPacketTo(p.to!!).buildMeshPacket(
|
||||
id = p.id,
|
||||
wantAck = true,
|
||||
wantAck = p.wantAck,
|
||||
hopLimit = p.hopLimit,
|
||||
channel = p.channel,
|
||||
) {
|
||||
|
|
Ładowanie…
Reference in New Issue