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
de0a494b43
Do not transform URLs to HTTPS now that we support cleartext connections.
2020-07-08 15:12:49 +02:00
Antoine POPINEAU
0facf09c94
Do not list artists without albums.
...
As of now, Otter cannot list albumless tracks (for example, tracks in
compilation, appearing under the original artist, but not part of an
album published by this artist). This created a lot of "empty" artists
(with no albums) in the Artists section of the app.
This may be rolled back if we are some day able to list "orphan"
tracks.
2020-07-08 14:09:48 +02:00
Antoine POPINEAU
e17c706ae3
Release date can be null, changed model and added checks.
2020-07-08 14:08:35 +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
b0d7ff393d
Changed track metadata reporting method so it could work similarly across devices (notification, ambient display, lockscreen, watches, ...) ( #55 ).
2020-07-08 12:46:52 +02:00
Antoine POPINEAU
100514cde6
Limit the width of the login screen in landscape mode to be easier on the eye.
2020-06-26 20:03:48 +02:00
Antoine POPINEAU
49f5754f2b
Add more emphasis to currently playing track in listings.
2020-06-26 19:42:10 +02:00
Antoine POPINEAU
9b888ba17f
Do not skip track on error if the user paused playback. Fixed an issue where two track could be marked as playing at the same time in TracksFragment.
2020-06-26 19:05:11 +02:00
Antoine POPINEAU
212b44a22f
Actually disable caching if cache size is set to zero.
2020-06-26 18:50:17 +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
f7a5a29eea
Pulled some fixes from dev/chromecast ( 080cce00ee
).
2020-06-24 19:45:16 +02:00
Antoine POPINEAU
2b9eb789e8
Changed style for main shuffle button to be less conspicuous.
2020-06-24 16:04:36 +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
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
3a88e02ca0
Delete regular data cache on logout.
2020-06-21 18:51:22 +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
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
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
13f3c2d465
Add light animation when scrolling listings.
2020-06-15 00:26:22 +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
abff279df9
Fix performance issue on download tracking from the Favorites section.
2020-06-14 20:40:08 +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
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
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
17dace030e
Upgraded ExoPlayer, manually compiled FLAC extension. Related to #44 .
2020-06-13 22:24:35 +02:00
Antoine POPINEAU
eb97c3d4be
Promote Radios to stable!
2020-06-11 10:56:31 +02:00
Antoine POPINEAU
6dcd9afc31
Fixed an issue where RadiosFragment would wake up on track change even when the app is killed, causing a crash.
2020-06-11 08:08:20 +02:00
Antoine POPINEAU
d76f820f9d
Left test exception throw...
2020-06-11 00:02:49 +02:00
Antoine POPINEAU
e50a43a812
Lint.
2020-06-11 00:01:39 +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
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
80554796d3
Resize native radios icons to be more legible.
2020-06-01 17:05:13 +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
Derek Schmidt
c9159166d2
Avoid java.net.URL's RFC 2396 parsing
2020-05-30 18:54:57 -07: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
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
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
159685bcc1
Added track details from Now Playing view. Should fix #30 .
2020-05-30 15:49:06 +02:00
Antoine POPINEAU
1038ee00ff
Hide search results sections if no result for a kind.
2020-05-30 14:15:59 +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
3101fa5302
Fixed a bug where lists would crash if a second page was loaded.
2019-11-25 21:39:10 +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
40117122c7
Display error messages from Funkwhale's API on login error.
2019-11-22 00:13:22 +01:00
Antoine POPINEAU
c36616ab92
Promote Favorites tab to stable.
2019-11-21 23:26:35 +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
98b7812a47
We failed to remove bold typeface for non-currently playing tracks when recycling views. This is fixed.
2019-11-16 16:52:43 +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
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
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
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
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
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
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
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
0b14415e1e
Linting.
2019-10-21 19:49:48 +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