Add local per-member radio mute controls on desktop and Android
This commit is contained in:
1 parent
a069d11ef9
commit
7e19cbaf3a
33 files changed
+735
-27
No files matched your search
@@ -0,0 +1,24 @@
|
||||
package com.utun.chat.data
|
||||
|
||||
import org.junit.Assert.*
|
||||
import org.junit.Test
|
||||
import java.nio.ByteBuffer
|
||||
import java.nio.ByteOrder
|
||||
|
||||
class MemberRadioMuteTest {
|
||||
@Test fun muteUpdatesKeepRadioSubscriptionAndOtherProperties() {
|
||||
val bytes = ByteArray(MEMBER_WIRE_SIZE)
|
||||
ByteBuffer.wrap(bytes).order(ByteOrder.LITTLE_ENDIAN).putLong(0, 42)
|
||||
bytes[8] = 1; bytes[10] = 0x32
|
||||
val previous = ChatMember(42, "Alice", isVerified = true, directUp = true, nodeType = 4)
|
||||
val muted = requireNotNull(parseMemberWire(bytes)).toChatMember(previous)
|
||||
assertTrue(muted.radioMuted); assertTrue(muted.radioActive); assertTrue(muted.isAdmin)
|
||||
assertTrue(muted.isVerified); assertTrue(muted.directUp); assertEquals(4, muted.nodeType)
|
||||
bytes[10] = 0x12
|
||||
val listening = requireNotNull(parseMemberWire(bytes)).toChatMember(muted)
|
||||
assertFalse(listening.radioMuted); assertTrue(listening.radioActive); assertTrue(listening.isVerified)
|
||||
bytes[10] = 0x20
|
||||
val offlineRadio = requireNotNull(parseMemberWire(bytes)).toChatMember(listening)
|
||||
assertTrue(offlineRadio.radioMuted); assertFalse(offlineRadio.radioActive)
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user