Skip to content

Implement Wearable Data Layer Sync - #32

Open
singhaditya21 wants to merge 1 commit into
mainfrom
android-wear-sync-17178685256178184017
Open

Implement Wearable Data Layer Sync#32
singhaditya21 wants to merge 1 commit into
mainfrom
android-wear-sync-17178685256178184017

Conversation

@singhaditya21

Copy link
Copy Markdown
Owner

Implemented data syncing between the Android phone app and the Wear OS app using the Google Wearable Data Layer API.

Phone Side:

  • Added com.google.android.gms:play-services-wearable:18.1.0.
  • Created WearableSyncManager to handle PutDataMapRequest creation and execution.
  • Hooked into WeatherViewModel to trigger sync whenever weather data is successfully fetched (either from Open-Meteo or Backend).
  • Mapped weather codes to emoji icons for display on the watch.

Wear Side:

  • Updated WearWeatherRepository to accept Context.
  • Implemented getWeather(context) to query Wearable.getDataClient for data items at path /weather.
  • Parsed DataMap into WearWeatherData DTO.
  • Preserved fallback logic to use cached data or mock data if syncing fails or data is unavailable.
  • Updated all call sites to provide Context.

PR created automatically by Jules for task 17178685256178184017 started by @singhaditya21

- Added `play-services-wearable` dependency to Android app.
- Implemented `WearableSyncManager` in Android app to sync weather data to Wear OS.
- Integrated `WearableSyncManager` into `WeatherViewModel` to sync data on successful fetch.
- Updated `WearWeatherRepository` in Wear OS app to fetch data from Data Layer API (`/weather`).
- Updated Wear OS components (`ComplicationServices`, `WeatherTileService`, `WeatherScreen`) to pass `Context` to repository.
- Implemented fallback mechanisms (cache, then mock data) in Wear OS repository.

Co-authored-by: singhaditya21 <53948039+singhaditya21@users.noreply.github.com>
@google-labs-jules

Copy link
Copy Markdown

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

@singhaditya21

Copy link
Copy Markdown
Owner Author

Leaving this open rather than merging, for two reasons worth recording.

The Android app cannot currently be built. android/gradle/wrapper/gradle-wrapper.jar is absent from the repo — not gitignored, just never committed — so ./gradlew fails from a fresh clone. Until that is regenerated (cd android && gradle wrapper --gradle-version 8.13) there is no way to compile or test this change, and CI has no Android job either. Merging unverifiable platform code into main is not worth the risk while the backend work is landing there.

Everything else in this triage pass was either applied to main with tests or closed with a reason; these Android PRs are the one group blocked on tooling rather than on review.

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