Skip to content

Send downloaded episodes to Wear OS for offline playback (phase 2) #277

Description

@mapitman

Summary

Follow-up to #276. Once the watch app can sync subscriptions/queue and stream episodes over its own LTE connection, add the ability to push a downloaded episode file from the phone to the watch, so it can be played without any network connection at all (LTE dead zone, watch left on airplane mode, etc.).

Scope

  • Transfer the file at FeedItem.downloadedFilePath to the watch's local storage over the Data Layer API (or ChannelClient for larger payloads).
  • Extend the watch's MediaSessionService to prefer a locally-transferred file over streaming, mirroring the phone's PlaybackUrlResolver/PlaybackMediaItemFactory local-vs-stream resolution pattern.
  • Storage management on the watch (eviction policy, similar to Feed.maxDownloadsToKeep on the phone) since watch storage is limited.
  • UI affordance on phone and/or watch to trigger "send to watch" for a downloaded episode.

Depends on

#276 (subscription/queue sync and streaming playback must exist first).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions