Skip to content

feat: add WearOS watch audio source integration#6459

Draft
neurocis wants to merge 2 commits intoBasedHardware:mainfrom
neurocis:feature/wearos-audio-source
Draft

feat: add WearOS watch audio source integration#6459
neurocis wants to merge 2 commits intoBasedHardware:mainfrom
neurocis:feature/wearos-audio-source

Conversation

@neurocis
Copy link
Copy Markdown

@neurocis neurocis commented Apr 9, 2026

Adds support for receiving audio from an omi4wearOS watch app via Wear Data Layer, feeding it into the existing Omi audio pipeline (WAL + WebSocket transcription) with minimal modifications.

New files:

  • WearOsListenerService.kt: WearableListenerService receiving audio chunks from watch via Data Layer MessageClient
  • WearOsAudioBridge.kt: Singleton EventChannel/MethodChannel bridge from native Android to Flutter
  • wearos_source.dart: AudioSource implementation for WearOS
  • wearos_service.dart: Flutter singleton service for watch comms

Modified files:

  • AndroidManifest.xml: WearOS listener service + optional watch feature
  • build.gradle: play-services-wearable dependency
  • MainActivity.kt: Initialize WearOsAudioBridge
  • capture_provider.dart: streamWearOsRecording()/stopWearOsRecording()

The integration is fully optional - the app works normally without a watch connected.

Compatible with WearOS app from:

https://github.com/neurocis/omi4WearOS
or
https://github.com/cipioh/omi4wos-cipioh

neurocis and others added 2 commits April 9, 2026 00:13
Adds support for receiving audio from an omi4wearOS watch app via
Wear Data Layer, feeding it into the existing Omi audio pipeline
(WAL + WebSocket transcription) with minimal modifications.

New files:
- WearOsListenerService.kt: WearableListenerService receiving audio
  chunks from watch via Data Layer MessageClient
- WearOsAudioBridge.kt: Singleton EventChannel/MethodChannel bridge
  from native Android to Flutter
- wearos_source.dart: AudioSource implementation for WearOS
- wearos_service.dart: Flutter singleton service for watch comms

Modified files:
- AndroidManifest.xml: WearOS listener service + optional watch feature
- build.gradle: play-services-wearable dependency
- MainActivity.kt: Initialize WearOsAudioBridge
- capture_provider.dart: streamWearOsRecording()/stopWearOsRecording()

The integration is fully optional - the app works normally without
a watch connected.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant