Skip to content
pforhan edited this page Sep 13, 2010 · 3 revisions

Right now, ContentService is a real monster. How about breaking it up along functional lines? Some stuff is not yet implemented.

SubscriptionService

tracks subscriptions and their settings

Functions

  • add/remove/edit subscriptions
  • subscription search
  • import/export
  • email subscription
  • Scanning submodule
    • scans the list of subscriptions, determines what needs to be downloaded
    • provides progress updates
    • scans for and provides notification of new downloads available (but not yet downloaded) based on a timer
    • needs to be aware of download history, to determine what to skip.

PodcastService

Deals with the podcasts, downloading, their metadata, download history, listen history

Functions

  • obtain list of podcasts in folder
  • knows current podcast
  • tracks time elapsed for each podcast
  • manage ordering of podcasts (next/prev podcast)
  • delete podcast
  • email podcast
  • import metadata from drop-in files
  • given a list of things to download, download them
  • add successful downloads to download history
  • add errors to some other list (possibly so we can tell the user, they can select what to retry)

PlayerService

Deals with the mechanics of playing/displaying a single podcast

Functions

  • play/pause/current podcast, etc (basically, all the rest of ContentService)
  • skip forward/back
  • record audio note
  • get show notes page
  • play speed
  • can internally kill this, perhaps, in order to force the media player off (to prevent any random media startups)