Client app for this server.
The coolest part of this whole app are definitely these logos created by my friend @ChrisNotFound:
This application provides user interface and communicates with server's API to search and stream music from database across the network.
Target platform: Android 9; Minimal: Android 6.0
- Search database for songs, albums and artists;
- Stream music from remote server;
- Create custom playlists.
Registration and login forms:
Searching for songs, albums and artists:
Music player fragment and navigation menu:
List of permissions required by this application to fully function.
- INTERNET is needed for network communications with server;
- READ/WRITE_EXTERNAL_STORAGE for caching;
- READ_PHONE_STATE grants access to phone state to control playback volume in case of ongoing phone calls;
- WAKE_LOCK is required by MediaPlayer to keep playing when device is locked;
- MEDIA_CONTENT_CONTROL used to control playback volume dependent on sounds from other applications.
- Greenrobot EventBus handles significant part of background work in this app, primarily used for networking;
- Picasso helps to asynchronously download and display album covers;
- Gson is used to serialize and deserialize JSON data which comes from server;
- and Mini Equalizer by Claucookie to display this cool little equalizer animation when music is being played.
- Possibility to delete songs from playlists would be nice;
- Fully implement transport controls with MediaSession;
- Check refresh token functionality.