columba/python
torlando-tech fa59db20b8 feat: add LXST voice call support
Implement real-time voice calling over Reticulum using LXST Telephony:

- KotlinAudioBridge: Android AudioTrack/AudioRecord wrapper for Python
- chaquopy_audio_backend.py: Chaquopy-compatible replacement for Pyjnius soundcard
- CallBridge: Bidirectional state management between Python LXST and Kotlin UI
- call_manager.py: LXST Telephone wrapper with Kotlin callbacks

- VoiceCallScreen: Active call UI with mute/speaker controls
- IncomingCallScreen: Incoming call UI with pulsing animation
- CallViewModel: Call state management with Hilt DI
- Call button added to MessagingScreen TopAppBar

- CallNotificationHelper: Incoming/ongoing call notifications with full-screen intent
- CallActionReceiver: Notification action handling (answer/decline/end)
- AudioCoordinator: Audio focus, wake locks, proximity sensor

- RECORD_AUDIO for microphone access
- MODIFY_AUDIO_SETTINGS for audio routing
- USE_FULL_SCREEN_INTENT for incoming call overlay

Supports all LXST quality profiles (Opus/Codec2) for bandwidth-adaptive calls.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 22:04:40 -05:00
..
ble_modules refactor: remove local BLEInterface.py copy 2026-01-01 20:03:45 -05:00
drivers initial commit 2025-11-30 19:59:14 -05:00
jnius fix: Correct TCP RNode config format and add stub modules 2025-12-14 00:10:49 -05:00
lxst_modules feat: add LXST voice call support 2026-01-16 22:04:40 -05:00
patches initial commit 2025-11-30 19:59:14 -05:00
usb4a fix: Correct TCP RNode config format and add stub modules 2025-12-14 00:10:49 -05:00
usbserial4a fix: Correct TCP RNode config format and add stub modules 2025-12-14 00:10:49 -05:00
android_ble_interface.py initial commit 2025-11-30 19:59:14 -05:00
columba_logo.py feat: display Columba logo on RNode OLED via external framebuffer 2025-12-08 21:58:48 -05:00
conftest.py test: Add comprehensive unit tests for reticulum_wrapper.py 2025-12-12 22:22:10 -05:00
logging_utils.py initial commit 2025-11-30 19:59:14 -05:00
requirements.txt Capture receiving interface and hops for opportunistic messages 2026-01-12 23:59:47 -05:00
reticulum_wrapper.py feat: add LXST voice call support 2026-01-16 22:04:40 -05:00
rmsp_client.py Revert "fix(security): correct destination direction in RMSP hash verification" 2026-01-12 21:25:45 -05:00
rnode_interface.py fix: TDD fixes for BLE deduplication cooldown asymmetry and test stability 2025-12-09 18:56:16 -05:00
test_android_ble_driver.py test: add coverage tests for request_identity_resync method 2025-12-30 16:11:42 -05:00
test_announce_handler.py Fix test_extract_interface_from_announce_table mock setup 2026-01-13 19:25:27 -05:00
test_opportunistic_timeout.py test: update propagation node tests to match None-clearing behavior 2026-01-16 19:00:06 -05:00
test_path_request.py feat: Auto-request path for unknown destinations 2025-12-12 19:18:48 -05:00
test_propagated_status_protection.py fix(#257): add Python tracking + Kotlin guard for propagated message status 2026-01-16 16:55:42 -05:00
test_propagation_fallback.py feat: Add automatic relay fallback and manual retry for failed messages 2025-12-13 00:01:13 -05:00
test_reticulum_wrapper.py test: add comprehensive tests for offline maps feature 2026-01-11 01:09:51 -05:00
test_rmsp_client.py fix(tests): use explicit global coverage marker in Server D test 2026-01-11 21:44:49 -05:00
test_rnode_interface.py fix: TDD fixes for BLE deduplication cooldown asymmetry and test stability 2025-12-09 18:56:16 -05:00
test_stub_modules.py test: Improve patch coverage from 20.94% to 80%+ with 61 new tests 2025-12-14 01:30:09 -05:00
test_telemetry_format.py test: add comprehensive telemetry format tests 2025-12-29 17:50:57 -05:00
test_wrapper_announce_polling.py Fix receiving interface capture for AutoInterface messages 2026-01-13 18:50:36 -05:00
test_wrapper_ble.py test: Add 30 tests to improve TCP RNode patch coverage to 80%+ 2025-12-14 01:58:19 -05:00
test_wrapper_config.py test: Add 30 tests to improve TCP RNode patch coverage to 80%+ 2025-12-14 01:58:19 -05:00
test_wrapper_destination.py test: Add comprehensive unit tests for reticulum_wrapper.py 2025-12-12 22:22:10 -05:00
test_wrapper_heartbeat.py test: add coverage for heartbeat, exception handler, and persistence fields 2025-12-28 22:03:19 -05:00
test_wrapper_identity.py test: Add comprehensive unit tests for reticulum_wrapper.py 2025-12-12 22:22:10 -05:00
test_wrapper_initialization.py fix: Enable async TCP startup to prevent initialization timeout 2025-12-15 10:08:37 -05:00
test_wrapper_link.py test: add unit tests for reticulum_wrapper coverage 2026-01-09 23:45:26 -05:00
test_wrapper_message_size_limit.py test: add comprehensive tests for incoming message size limit feature 2026-01-03 23:04:51 -05:00
test_wrapper_messaging.py fix(#257): add Python tracking + Kotlin guard for propagated message status 2026-01-16 16:55:42 -05:00
test_wrapper_path.py fix: add LXMF mock to TestOnLXMFDelivery and fix hop count test 2026-01-09 09:26:36 -05:00
test_wrapper_peer_identity.py perf: Optimize peer identity restoration from minutes to milliseconds 2025-12-14 22:13:35 -05:00
test_wrapper_propagation.py test: update propagation node tests to match None-clearing behavior 2026-01-16 19:00:06 -05:00
test_wrapper_reactions.py auto-claude: subtask-4-3 - Add Python tests for reaction send/receive 2025-12-24 20:46:18 -05:00
test_wrapper_stamp_generator.py test: add Python tests for stamp generator callback 2025-12-16 18:52:21 -05:00
test_wrapper_utilities.py test: Add comprehensive unit tests for reticulum_wrapper.py 2025-12-12 22:22:10 -05:00