Commit Graph

44 Commits

Author SHA1 Message Date
Antoine POPINEAU 049822005e
#15: implemented removing track from playlist. 2020-09-06 14:56:44 +02:00
Antoine POPINEAU 54d4dc2235
#15: initial support for adding tracks to a playlist. 2020-09-06 14:56:43 +02:00
Antoine POPINEAU ce8d956cee
#52: implemented UI and functionnal filtering for all, me and subscribed. Funkwhale still does not seem to respect that. 2020-09-03 22:55:09 +02:00
Antoine POPINEAU 4cf77404a1
#73: fix track sorting order by fixing a mistake and taking disc_number into consideration. 2020-09-01 18:25:10 +02:00
Antoine POPINEAU b9e9272336
Optimized workflow between two searches. 2020-07-11 17:17:26 +02:00
Antoine POPINEAU 61fdb116ad
Fixed an issue where favorited tracks would not show up erroneously in track lists. 2020-07-11 16:56:09 +02:00
Antoine POPINEAU 3a81d26cd9
Renamed some components to refer to Otter instead of Funkwhale. 2020-07-10 20:40:18 +02:00
Antoine POPINEAU b14b703f05
Fix an issue where always retrieving favorites from the network could be really costly and introduce stack overflows (#60). 2020-07-10 15:50:56 +02:00
Antoine POPINEAU 5d397ab1fe
Sort radios, playlists and favorites by name. 2020-07-08 23:23:14 +02:00
Antoine POPINEAU 37d5c7b7be
Load data from network on resume if cached data is empty. 2020-07-08 23:00:10 +02:00
Antoine POPINEAU b2e6ec43a8
Improved loading of new and cached items.
Scrolling through large lists was a pain. The next page would only load
when the end of the list was reached, stopping the scroll action while the new
page was fetched.

This commits adds two items:

 * Artists, albums and playlists do not refresh data on resume, only
   using cached data until manually refreshed.
 * When manually refreshed, we initially fetch a few pages instead
   of only one. Also, on scroll, we try as best as we can to always keep
   10 pages (pages as in screen estate) worth of data loaded.
2020-07-08 22:11:50 +02:00
Antoine POPINEAU 37f4b1da9e
Sort artists and global albums by name/title. Sort an artist's albums by release date. Display the release year in the albums view (#54). 2020-07-08 13:19:47 +02:00
Antoine POPINEAU 9c61fcf462
Tidied up usage of GlobalScope to the profit of AndroidX's lifecycle coroutine scopes. 2020-06-25 01:26:15 +02:00
Antoine POPINEAU 03fcf1a382
Fixed download and cache indicators on search screen. Fixed an issue with placeholder texts when some search terms did not return results. 2020-06-22 21:48:31 +02:00
Antoine POPINEAU a19e500f09
Prevent long-running requests to make the app crash when user is logging out. 2020-06-21 14:16:30 +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 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 94fd3d51aa
Add downloaded indicators in favorites view. 2020-06-14 20:32:20 +02:00
Antoine POPINEAU a2caba8bd1
Added downloaded indicator on track rows. 2020-06-14 20:32:17 +02:00
Antoine POPINEAU a0e201e68f
Filter music according to own music setting (should close #33). 2020-06-14 20:26:47 +02:00
Antoine POPINEAU e50a43a812
Lint. 2020-06-11 00:01:39 +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 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 fd1741ca53
Added experimental radios support. Fixed linter and fastlane metadata. 2020-05-30 21:16:28 +02:00
Antoine POPINEAU fa82f13a9c
Display search results for artists and albums. Only cosmetic for now, there is no action on them. 2020-05-29 13:19:28 +02:00
Antoine POPINEAU 534e48e2c8
Upgrades dependencies. Enhanced login screen appearance. Fixed a seriously dumb issue where we would not transmit the token to the server. 2020-05-29 01:11:15 +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 a55986343f
Format code and fixed favoriting issue on favorite tab. 2019-11-23 14:45:56 +01:00
Antoine POPINEAU fbe5ea4db9
Sort album view by track position. 2019-11-22 20:24:08 +01:00
Antoine POPINEAU b7db24ea11
Fixed issue with merging around favorite management. 2019-11-22 20:14:05 +01:00
Antoine POPINEAU cac32332e0
Favorites button is now async. Added favorite button management in queue and search. 2019-11-21 22:13:59 +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 22c99d384c
Fixed issue #7 to display all search results properly. 2019-10-31 11:20:12 +01:00
Antoine POPINEAU 07d00ee69c
Fixed GitHub releases. 2019-10-30 15:09:15 +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 a63f3f7e68
Added ability to not fetch on create for fragments. Added animation on queue change. 2019-10-24 12:35:34 +02:00
Antoine POPINEAU e84455390b
Several improvements in UI (better colors for night mode, added icons).
Better handling of startup (login activity would reset if put in the background).
Allow use of schemeless hostname for login.
Destroy main activity and clear cache on logout.
Change of endpoint for favorites retrieval for one with much better performance.
2019-10-23 20:21:18 +02:00
Antoine POPINEAU 78468167ca
Fixed crash on coverless albums. 2019-10-22 21:56:33 +02:00
Antoine POPINEAU 5a14b3cfa4
Set page size to 50. Added favorite management on playlists. Fixed loop over loading of playlist tracks. 2019-10-21 20:26:26 +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