Commit Graph

55 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 f2d6281d7f
Initial setup for flavors and Chromecast support. 2020-06-24 18:31:28 +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 1ee9f021ce
Login screen would briefly display an dummy error when authentication succeeded. 2020-06-23 09:40:18 +02:00
Antoine POPINEAU 7a72558d1a
Refresh every second instead of 500ms. 2020-06-22 22:25:03 +02:00
Antoine POPINEAU ff2a915ba4
Periodically refresh download progress while in DownloadsActivity. 2020-06-22 22:24:34 +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 bab7040b8f
Delete downloaded tracks on logout. Cache is not deleted for now (until I find a way). 2020-06-21 18:06:38 +02:00
Antoine POPINEAU 874b79d0d5
Fixed blocking issue when leaving MainActivity where playback state would no longer be reflected in Now Playing. 2020-06-21 16:15:52 +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 1b98850a9c
Add a checkbox to allow cleartext connections to a Funkwhale instance. Should close #6. 2020-06-20 16:52:41 +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 098048ac49
Download state change would not be reflected in the list. 2020-06-14 21:15:13 +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 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 a0e201e68f
Filter music according to own music setting (should close #33). 2020-06-14 20:26:47 +02:00
Antoine POPINEAU 746ae8897d
Frontend logic for displaying only own music. 2020-06-14 20:26:39 +02:00
Antoine POPINEAU fc1419c2fb
Minor style enhancement. 2020-06-14 00:42:45 +02:00
Antoine POPINEAU d76f820f9d
Left test exception throw... 2020-06-11 00:02:49 +02:00
Antoine POPINEAU a4b2907c07
Added Settings item to copy the latest logs in case of crash. 2020-06-10 23:59:09 +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 ce05acad21
Send track played reports to Funkwhale whenever a track finishes playing. Closes #40. 2020-06-01 16:31:58 +02:00
Antoine POPINEAU ae903aba65
Fix repeat icon color in dark mode. 2020-05-31 02:38:59 +02:00
Antoine POPINEAU fd1741ca53
Added experimental radios support. Fixed linter and fastlane metadata. 2020-05-30 21:16:28 +02:00
Antoine POPINEAU 159685bcc1
Added track details from Now Playing view. Should fix #30. 2020-05-30 15:49:06 +02:00
Antoine POPINEAU 98b2b31e20
Open artists and albums in search results. 2020-05-30 14:12:04 +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 b554678500
Added links to artist and album on Now Playing view. Partially covers #30. 2020-05-29 21:40:01 +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 55ab0ce71c
Cache playback position on pause. Should fix #19. 2020-05-29 10:32:09 +02:00
Antoine POPINEAU d9b7ed5b3f
Added version number to settings. 2020-05-29 01:30:05 +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 b7db24ea11
Fixed issue with merging around favorite management. 2019-11-22 20:14:05 +01:00
Antoine POPINEAU 40117122c7
Display error messages from Funkwhale's API on login error. 2019-11-22 00:13:22 +01:00
Antoine POPINEAU 0cb4bda212
Added support for landscape mode. 2019-11-21 23:26:34 +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 e4e91cd013
Finish LoginActivity on successful login to prevent backpressing back to it. 2019-11-16 17:26:43 +01:00
Antoine POPINEAU b735e20fbd
Limit track info to one line on now playing preview. Properly encode search terms. 2019-11-16 16:52:44 +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 657c72480e
Some vendors' battery optimizers killed the background service quite
quickly when the app is in the background and *not* playing music. This
had the effect of breaking all player actions within the app (queue
listing, playback control, etc.).

This "starts" PlayerService every time MainActivity is resumed, which is
a noop if the service is still running, but allows retrieving app
functionality otherwise.
2019-10-31 00:46:35 +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 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 2d5e73dcd4
Fix crash on illegal characters in URL. Fixed caret and error color on login form. 2019-10-23 22:05:56 +02:00
Antoine POPINEAU 0fa0b5d212
Added support for Flac. 2019-10-23 21:41:50 +02:00