E-book reader for android.
Supported book formats:
Libraries used:
- Android Architecture components
- Dagger 2
- Google ExoPlayer
based on:
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 |
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.