Antoine POPINEAU
28949a8e17
Fixed loading wheel.
2020-07-10 20:37:28 +02:00
Antoine POPINEAU
bc1e911b41
Globalize the use of caching for main sections data, improved handling of loading more pages.
2020-07-10 20:28:44 +02:00
Antoine POPINEAU
57692f2e42
Added copyright and license information ( #58 ).
2020-07-10 20:25:35 +02:00
Antoine POPINEAU
fe224b097a
Re-enabled media session on service start. Do not condition radio resumption to having a cookie, since those are only valid when authenticated anonymously.
2020-07-10 18:46:49 +02:00
Antoine POPINEAU
080c07eeab
Specify in the app name when using a develop build.
2020-07-10 17:23:02 +02:00
Antoine POPINEAU
b34810d631
Allow media session resuming from media buttons when service is killed.
2020-07-10 17:18:29 +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
4ecb607f45
Let the media session live when playback is paused.
...
As per Android policy and internal logic, we stopped the playback
foreground service when playback was paused. This made our PlayService
elligible for garbage collection by the OS. This had the consequences of
not allowing someone to pause playback and resume it after some time.
Android would always kill the service after around one minute.
This commit, on supported Android version (7.0+) detaches the
notification when stopping the foreground service, leaving the
notification in place even when the service is killed, allowing the user
to resume playback whenever they please.
We also had to move the MediaSession out of the service, for it to
remain alive between service killing and resurrection.
2020-07-09 23:01:35 +02:00
Antoine POPINEAU
a3f84cc56c
Add an application ID suffix for development versions.
2020-07-09 23:00:50 +02:00
Antoine POPINEAU
4b2cf10e78
Fix IO thread performing UI task on some occasion ( #59 ).
2020-07-09 10:45:52 +02:00
Antoine POPINEAU
5d397ab1fe
Sort radios, playlists and favorites by name.
2020-07-08 23:23:14 +02:00
Antoine POPINEAU
f3bbca9c27
Fixed caching of metadata.
2020-07-08 23:21:47 +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
97bb621d7f
Enable network security setting to allow for user-configured CAs.
2020-07-08 22:20:38 +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
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
2c4f8a4329
Added margin on the left of album release date.
2020-07-08 14:08:59 +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
a3f74af076
Fixed tag regex so that CI kicks in on release.
2020-07-07 21:11:45 +02:00
Antoine POPINEAU
34ddef8489
Prepare 1.0.20: provide missing debug values.
2020-07-07 21:04:24 +02:00
Antoine POPINEAU
7f6b748032
Prepare 1.0.20: resized screenshots to be accepted by the Play Store.
2020-07-07 20:38:41 +02:00
Antoine POPINEAU
c5a63f88da
Merge branch 'master' into develop
2020-07-07 20:10:58 +02:00
Antoine POPINEAU
1a105654f0
Prepare 1.0.20.
2020-07-07 20:10:35 +02:00
Antoine POPINEAU
8b4537217b
Mention our brand new Matrix channel.
2020-07-07 19:52:15 +02:00
Antoine POPINEAU
1238931384
Updated banner with new logo. Added source files for logo and banner.
2020-06-26 20:37:47 +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
72ba8733b3
Added downloads option menu in landscape mode.
2020-06-26 19:43:32 +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
441ca3249c
Added new full set of adaptive icons.
2020-06-26 12:34:08 +02:00
Antoine POPINEAU
c420f26b88
Added the full-size logo to prevent blurry Otter icon. Resized album cover arts in landscape mode.
2020-06-25 22:33:01 +02:00
Antoine POPINEAU
921154edbb
Updated Gradle and Gradle plugin versions. Enabled artifact minification and resource shrinking (reduces APK size by more than 50%).
2020-06-25 22:29:33 +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
eb57b4c872
Updated README to reflect GitHub Actions build status.
2020-06-24 21:27:47 +02:00
Antoine POPINEAU
9dbaf509c2
Added FUNDING.yml (related to #18 ).
2020-06-24 21:08:04 +02:00
Antoine POPINEAU
bedae61646
Migrated main release build from Travis to GitHub Actions.
2020-06-24 21:02:37 +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
08a7a28c22
Nicest highlight of selected row.
2020-06-22 18:05:25 +02:00
Antoine POPINEAU
3a88e02ca0
Delete regular data cache on logout.
2020-06-21 18:51:22 +02:00