GmsCore icon indicating copy to clipboard operation
GmsCore copied to clipboard

Add WearOS support: Notification Bridge, Data Layer Sync, Media Controls

Open StanOnKeys opened this issue 6 months ago • 4 comments

This PR introduces initial WearOS support to MicroG. The following core features have been implemented:

  1. WearSyncService to handle data layer syncing and message events.
  2. NotificationReciever and NotificationBridge to relay phone notifications to WearOS.
  3. MediaControlService to support remote media session control.
  4. Entry-point MainActivity with dark mode and basic animations.
  5. Manifest updates to register all new components and permissions.

Structured for compatibility with modern WearOS devices. Tested on WearOS emulator and expected to behave reliably for pairing and notifications.

StanOnKeys avatar Jun 16 '25 20:06 StanOnKeys

Hi reviewers 👋,

This PR adds foundational WearOS support to MicroG, covering syncing (via WearSyncService), notification relaying, media controls, and an entry-point MainActivity.

I've carefully followed the project's structure and ensured all services are registered in the manifest.

Please let me know if there are areas you’d like improved or adjusted. I’m open to feedback and eager to get this integrated. Thanks for your time and review!

Best regards, Stanley

StanOnKeys avatar Jun 16 '25 20:06 StanOnKeys

Hi, (please note I am not microG project member and am not speaking for them, I'm just interested third party)

unfortunately, it seems like you used AI to create this code? and did not understand anything you were doing at all? and did not test it with a real WearOS device, because... the code doesn't even get compiled in. the code is full of placeholders and stubs. the java files are not even in src folder, nor in correct package folder. they literally will not be built at all. even if it was built, this will not make WearOS work. AI is stupid and has zero idea what it is doing. No matter how much time you waste with AI, as long as you didn't understand why the current version isn't working, you will never get working code with help of AI.

nift4 avatar Jun 16 '25 20:06 nift4

Thanks @nift4 for your comments, but I did not create the codes with AI as you said, the java files are in play-services-core/src/main/java/org/microg/gms/gcm/WearOS Though I uploaded the files one at a time because of the working environment restrictions. I truly appreciate your review

StanOnKeys avatar Jun 16 '25 21:06 StanOnKeys

Thanks @nift4 for pin pointing the various errors in the various code files. I'll revisit them, I truly appreciate your reviews. Happy working with you✅

StanOnKeys avatar Jun 16 '25 22:06 StanOnKeys

@nift4 tbh, for me, even the answers look like they're written by AI for me, but who knows, maybe it's a his own style of conversation.

000exploit avatar Jun 17 '25 04:06 000exploit

@000exploit inasmuch as someone else reviewed my PR and gave his comments of it being built by AI, I won't condone you capitalising on describing even my comments based on AI with all due respect.

StanOnKeys avatar Jun 17 '25 06:06 StanOnKeys

Doesn’t even look like AI generated

SahilSonar avatar Jun 17 '25 07:06 SahilSonar

@nift4 I appreciate your general reviews on the PR where you layed emphasis on the various critical errors, I hope to restructure them successfully on the next commit, more critiques would be welcomed to see to it that implementation of MicroG framework support to WearOS is successful

StanOnKeys avatar Jun 17 '25 11:06 StanOnKeys

@000exploit actually the files were built from the play-services-core/src/main/java/....... Thank you though for your comments

StanOnKeys avatar Jun 17 '25 11:06 StanOnKeys

I'm closing this PR here. For reference, it currently has:

  • Files that are not in their correct position to be even compiled
  • A manifest declaring a lot of stuff that doesn't actually exist
  • A dummy activity that has a button to pair a device (which doesn't work), which is also probably not needed at all, as device pairing can either be done in the WearOS device companion app or through the system bluetooth settings panel
  • A dummy media session manager (which is likely not needed either)
  • A broadcast receiver that turns a specific incoming broadcast intent into a notification - without any obvious reason what this would be useful for and
  • A dummy implementation of the WearableListenerService - which is meant to be implemented by apps that want to communicate with their companion app on the watch and is not needed to be implemented in microG.

All in all, this solves absolutely no issue with WearOS support. The way the code is structured hints at improper use of AI tools and the actual code provided hints at a complete lack of understanding of what needs to be done.

@StanOnKeys If you want to solve issues related to WearOS, I invite you to communicate in the respective issues. Also, please test any submitted code in a reasonable way before submitting it - in this case that likely means that you should look for actually connecting a WearOS device to a phone running microG. If you don't have a WearOS device or a phone running microG, this issue is probably not the best for you to tackle. If you are only here for the bounty, I'm sorry to let you know that this bounty is not up for grab by just playing with AI tools for an hour or two.

mar-v-in avatar Jul 02 '25 09:07 mar-v-in