syncslides: Session and Presentation interfaces.

The Session holds the deckId and presentationId, paramters that
we stored in the Bundle in the old version of Syncslides.  The
plan is to add more functionality to the Session such as the
ability to watch the local slide number for changes.

The Presentation holds all of the state for the presentation that
the user is currently viewing.  The plan is for SyncbaseDB to cache
the most recently used Presentation so that when the user rotates
their phone, we don't need to refetch all of the slide data from
the database-- it'll be right there in the Presentation.

This change adds the first of many methods to Presentation: getSlides().
I plan to use this method in the slide list view of the app.
I didn't include all of that UI code in this change because it
was getting too big.

Change-Id: Iab053dea8798450b9107338bd32033b584726120
13 files changed
tree: e7bd68fdd94414ad6ec0dfd4edccd09cc8fbc2b5
  1. android/
  2. dart/
  3. .gitignore
  4. AUTHORS
  5. CONTRIBUTING.md
  6. CONTRIBUTORS
  7. LICENSE
  8. PATENTS
  9. README.md
  10. schema.md
  11. VERSION
README.md

SyncSlides

A simple multi-device presentation system, with state synced across devices using Syncbase.

Java/Android Version

https://github.com/vanadium/syncslides/tree/master/android

Dart/Flutter Version

https://github.com/vanadium/syncslides/tree/master/dart