Skip to content

Latest commit

 

History

History
63 lines (45 loc) · 2.12 KB

readme.md

File metadata and controls

63 lines (45 loc) · 2.12 KB

Android E-Book Reader

Android CI Build Status

E-book reader for android.

Supported book formats:

Libraries used:

  • Android Architecture components
  • Dagger 2
  • Google ExoPlayer

based on:

How the app works

This app uses Android's Media Service. The architecture is event based, which can make it difficult to follow execution.

Architecture classes: Client classes:

  • MediaControllerCallback
  • MediaBrowserConnectionCallback
  • TransportControls

Server classes:

  • PlaybackPreparer
  • QueueManager

The client predominate sends commands to the service using the transportControls.

The server can declare which features it in DaisyPlaybackPreparer.

actions service handler
playFromMediaId MediaSessionConnector.PlaybackPreparer.
skipToNext MediaSessionConnector.QueueNavigator.onSkipToNext
skipToPrevious MediaSessionConnector.QueueNavigator.onSkipToPrevious
skipToQueueItem MediaSessionConnector.QueueNavigator.onSkipToQueueItem
pause MediaSessionConecctor

License

Copyright 2018 Benney Au

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.