Commit Graph

39 Commits

Author SHA1 Message Date
Antoine POPINEAU 080cce00ee
Do not push our own notification when Chromecast session is active. Fixed issue where PlayerService listener would trigger twice on service restart. Implemented basic queue management on Chromecast player. 2020-06-24 19:33:00 +02:00
Antoine POPINEAU 9ed7eab761
Better separation between FOSS and full version. Chromecast playback, basic queue management and playback controls are functional. 2020-06-24 18:33:18 +02:00
Antoine POPINEAU b2d26a8127
Refactored and rationalized some events and commands on the buses. 2020-06-24 14:54:13 +02:00
Antoine POPINEAU dc25a922c2
Changed icons (still need to make full set). 2020-06-23 23:23:46 +02:00
Antoine POPINEAU 490de25b05
Handle radios when logged in anonymously.
On top this fix, this commit adds support for "My content" and
"Favorites" instance radios (fixes #51), as well as clearly separates instance
radios from user radios.

Radios were a bit unusable when not logged in with an actual authorized
user account, this commit fixes the following elements:

 * Anonymous users get a transient session cookie when starting a radio
   session that was not stored and forwarded on playback, meaning no
   radios would play;
 * Anonymous users do not have their own own content. Thus, only the
   "Random" radio makes sense in that context. This commit only display
   the instance radios that are relevant to your authentication status.

"My content" radios needs the user ID to function properly, this commit
also adds retrieving it from the /api/v1/users/users/me/ endpoint, which
now may be used in the future for other purposes.
2020-06-21 13:41:27 +02:00
Antoine POPINEAU 18e981fba5
Fixed an issue where the main playback UI would freeze when skipping an erroring track (in airplane mode, for example). 2020-06-20 22:10:13 +02:00
Antoine POPINEAU 66c7915307
Prevent issue on queue item deletion. Should close #48. 2020-06-20 16:32:14 +02:00
Antoine POPINEAU e539cc26dd
Manage cached and downloaded tracks separately. Downloaded track are not automatically evicted and do not count towards cache storage limit. Contributes to #37. Fixed an issue where the event bus on main would be duplicated. 2020-06-20 15:42:10 +02:00
Antoine POPINEAU a2c35595c7
Better handling of download progress and event. Added an option to retry failed downloads. Performance improvement around downloads UI. 2020-06-14 20:32:48 +02:00
Antoine POPINEAU a2caba8bd1
Added downloaded indicator on track rows. 2020-06-14 20:32:17 +02:00
Antoine POPINEAU 4127421132
Allow downloading whole albums. 2020-06-14 20:31:12 +02:00
Antoine POPINEAU 00fb833cfa
Added basic management of downloads and downloaded tracks. 2020-06-14 20:31:07 +02:00
Antoine POPINEAU 2dfabf74e9
Initial handling of track downloads. 2020-06-14 20:28:05 +02:00
Antoine POPINEAU 17dace030e
Upgraded ExoPlayer, manually compiled FLAC extension. Related to #44. 2020-06-13 22:24:35 +02:00
Antoine POPINEAU e50a43a812
Lint. 2020-06-11 00:01:39 +02:00
Antoine POPINEAU 54f911793a
Fixed skipping tracks on playback error. The faulty track is now removed from the queue. 2020-06-10 11:38:57 +02:00
Antoine POPINEAU 97b7dc2a61
Updated README to mention community localization effort. Fixed a crash with Android media controls when a cover art HTTP call would return an error status code. 2020-06-10 10:51:23 +02:00
Antoine POPINEAU c75f2e45f6
Ability to shuffle play all tracks from an artist. Should close #21. Also added animations over long-running operations. 2020-06-02 18:50:46 +02:00
Antoine POPINEAU cb43615cb1
Fixed some linting issues. Fixed two issues related to current track emphasis and landscape now playing cover background. 2020-06-01 21:25:16 +02:00
Antoine POPINEAU dfeec64bf1
Explicitely set notifications as public. 2020-06-01 17:29:15 +02:00
Antoine POPINEAU ce05acad21
Send track played reports to Funkwhale whenever a track finishes playing. Closes #40. 2020-06-01 16:31:58 +02:00
Antoine POPINEAU dc7803acb4
Added support for native radios (random and less listened to radios). Advancing #8. 2020-06-01 14:38:50 +02:00
Antoine POPINEAU d5c1b89d3d
Cache if playback is in radio mode to be able to continue after app gets killed. 2020-05-31 02:39:32 +02:00
Antoine POPINEAU fd1741ca53
Added experimental radios support. Fixed linter and fastlane metadata. 2020-05-30 21:16:28 +02:00
Antoine POPINEAU 3fb0bb55a4
Seek to start of song when nexting (progress cache would remain at the progress of the previous track. 2020-05-30 17:49:08 +02:00
Antoine POPINEAU cf4cd16bed
Added a toggle for repeat mode on the Now Playing view. Should fix #26. 2020-05-29 23:42:03 +02:00
Antoine POPINEAU 55ab0ce71c
Cache playback position on pause. Should fix #19. 2020-05-29 10:32:09 +02:00
Antoine POPINEAU aad0ec439c
Allow for anonymous connection if server supports it. Should provide basic support for #14. 2019-11-25 23:16:18 +01:00
Antoine POPINEAU a21cafdbe0
Fix miscellaneous bugs to Flow implementation. 2019-11-16 16:52:42 +01:00
Antoine POPINEAU ba12854e6c
Migrate to Flows. 2019-11-16 16:52:39 +01:00
Antoine POPINEAU 43ffffa68f
Added album cover to MediaSession (for WearOS media controls, and future Chromecast support). 2019-10-30 22:21:02 +01:00
Antoine POPINEAU eac875b9cb
Clear queue on logout. 2019-10-30 22:06:57 +01:00
Antoine POPINEAU 7c9a71d6d7
Put buggy features behind an experiments gate (favorites, for now). Optimized layouts to be able to load lots of content. Fixed Funkwhale API URLs to try and be backward compatible. 2019-10-29 23:41:44 +01:00
Antoine POPINEAU 0fa0b5d212
Added support for Flac. 2019-10-23 21:41:50 +02:00
Antoine POPINEAU 78468167ca
Fixed crash on coverless albums. 2019-10-22 21:56:33 +02:00
Antoine POPINEAU 9e7d1cfe29
Added missing ripple effects. Fixed padding around list items. Moved event buses into Application object. 2019-10-22 20:03:52 +02:00
Antoine POPINEAU 69d789c4f8
Add seek bar on notification for Android 10+. 2019-10-21 18:59:48 +02:00
Antoine POPINEAU 31063fb40f
Misc refactoring. 2019-10-21 11:51:32 +02:00
Antoine POPINEAU 5f495f54e5
Initial commit. 2019-10-20 15:19:18 +02:00