mirror of
https://github.com/BrendanGreenlee/openclaw-android-heartbeat.git
synced 2026-08-17 16:49:14 +00:00
Import official OpenClaw Android app (apps/android @ 71a59512ba476df3328cf485d84748121cf341f2)
Pristine fork source for PROJ-0088. v1 will turn this into a WebView web shell; the WebSocket node infrastructure stays intact for v2 heartbeat.
This commit is contained in:
commit
7a380c40ed
656 changed files with 209982 additions and 0 deletions
|
|
@ -0,0 +1,35 @@
|
|||
package ai.openclaw.wear.shared
|
||||
|
||||
import org.junit.Assert.assertArrayEquals
|
||||
import org.junit.Assert.assertEquals
|
||||
import org.junit.Assert.assertNull
|
||||
import org.junit.Test
|
||||
import java.io.ByteArrayInputStream
|
||||
import java.io.ByteArrayOutputStream
|
||||
import java.io.DataOutputStream
|
||||
|
||||
class WearRealtimeTalkTest {
|
||||
@Test
|
||||
fun audioFramesRoundTripAndPreserveBoundaries() {
|
||||
val output = ByteArrayOutputStream()
|
||||
WearRealtimeAudioFraming.write(output, WearRealtimeAudioFrameType.INPUT_PCM, byteArrayOf(1, 2, 3, 4))
|
||||
WearRealtimeAudioFraming.write(output, WearRealtimeAudioFrameType.CLEAR_OUTPUT, byteArrayOf())
|
||||
val input = ByteArrayInputStream(output.toByteArray())
|
||||
|
||||
val audio = WearRealtimeAudioFraming.read(input)!!
|
||||
assertEquals(WearRealtimeAudioFrameType.INPUT_PCM, audio.type)
|
||||
assertArrayEquals(byteArrayOf(1, 2, 3, 4), audio.payload)
|
||||
assertEquals(WearRealtimeAudioFrameType.CLEAR_OUTPUT, WearRealtimeAudioFraming.read(input)!!.type)
|
||||
assertNull(WearRealtimeAudioFraming.read(input))
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException::class)
|
||||
fun rejectsOversizedFrameBeforeAllocatingPayload() {
|
||||
val output = ByteArrayOutputStream()
|
||||
DataOutputStream(output).apply {
|
||||
writeByte(WearRealtimeAudioFrameType.INPUT_PCM.wireValue)
|
||||
writeInt(WearProtocol.MAX_REALTIME_AUDIO_FRAME_BYTES + 1)
|
||||
}
|
||||
WearRealtimeAudioFraming.read(ByteArrayInputStream(output.toByteArray()))
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue