Cross-platform remote control system (Android client + host). Focuses on robust transport, session management, and low-latency command execution for remote media and device control.
Tech stack
- Java / Kotlin (Android) — native client; lifecycle and permission integration.
- Gradle (gradle-wrapper.jar) — reproducible builds and CI-friendly setup.
- WebSocket / TCP transport — bidirectional real-time control.
- JSON/protobuf schemas — stable message formats and versioning.
Purpose & where to look
- JutsuPlayer/: Android client handling playback hooks, input capture, and command handling.
- host/: server or desktop components that manage sessions and forward commands to clients.
Interesting code patterns
- Reconnection with exponential backoff + jitter to improve resilience under flaky networks.
- Permission-first design: explicit runtime permission handling and graceful degradation.
- Modular command handlers separating transport from execution, easing feature extension.
Build & test
- Open in Android Studio using Gradle wrapper.
- Build APK and test on device/emulator.
- Run host server locally for initial pairing and QA.
Security notes
- Ensure TLS and certificate pinning for production; avoid storing long-lived secrets on-device.