Commit Graph

746 Commits

Author SHA1 Message Date
tzugen 24ae0d9e81
Catch all exceptions in GenericListModel
This is how it used to be, before i changed it because
detekt was complaining.
2021-06-09 20:53:01 +02:00
tzugen 6ab0ff973a
Fix version checking for freshly added servers 2021-06-09 19:33:17 +02:00
tzugen 620239f859
Improve the extension function by making it call-chainable 2021-06-09 17:36:11 +02:00
tzugen a60a843edf
Fix tests 2021-06-09 17:00:25 +02:00
tzugen d9a7fa2413
Cleaner separation of API result handling.
* CallResponseChecker functionality are now Kotlin Extensions
* Removed unfitting shortcuts from SubsonicAPIClient
* Increase timeout to get a video url
* Fix a bug, that the Rest API version was checked twice on each call
2021-06-09 14:15:39 +02:00
tzugen 175f7cd6f6
Fix imports (ownership and thus package names have changed for Mockito-Kotlin) 2021-06-08 22:00:04 +02:00
tzugen 4eeff191aa
Add two ToDos 2021-06-08 17:20:45 +02:00
tzugen be356d9c0a
Cleanup unused functions from RESTMusicService,
put the caching functionality into the ImageLoader
2021-06-08 17:12:55 +02:00
tzugen 3c554caf2e
On disk we are only caching the full-size images.
So when modify the key to query for the full size image,
because scaling down a larger size image on the device is quicker than
requesting the down-sized image from the network.
2021-06-08 14:49:49 +02:00
Nite 78cb4d09cf
Separated cache entries for large images 2021-06-07 21:38:39 +02:00
Nite fa6566e903
Fixed showing the unknown image when a source isn't specified 2021-06-07 20:32:44 +02:00
Nite 7182694c5d
Fixed currentDownloading to be nullable
(It can be null when nothing is downloading)
2021-06-07 20:06:40 +02:00
tzugen 6dff5c5a23
Add mandatory stableKey to tests 2021-06-07 14:37:01 +02:00
tzugen 566e429e4c
Use file cache in Picasso 2021-06-07 14:22:33 +02:00
tzugen 9161f9dc99
Move ImageLoader module into main module. 2021-06-07 13:26:08 +02:00
tzugen 92fe7359ff
Finish removing unneeded preferences and fix import problem 2021-06-07 13:26:07 +02:00
tzugen 41eb217d8f
Finish removing unneeded preferences 2021-06-07 13:26:07 +02:00
tzugen 0989ee20a6
Remove LegacyImageLoader, use Picasso as default 2021-06-07 13:26:07 +02:00
tzugen 2eaa9a2091
Fix two bugs in the new image loader:
1. Id was checked for nullability, but it is actually an empty string in most cases where there is no Cover art.
This lead to queries without id set.
2. Size was not respected by the new image loader.
2021-06-07 13:26:07 +02:00
tzugen 90ecbe4b78
Make getCoverArt require a non-null entry 2021-06-07 13:26:07 +02:00
James Wells e95b2ce09c
refactored a bit, and some cleanup 2021-06-06 18:28:46 -04:00
James Wells be4ffc2c7e
Merge branch 'develop' into AndroidAuto 2021-06-06 16:36:33 -04:00
Óscar García Amor 1dc480b141
Bump version to 2.21.0 2021-06-03 10:33:05 +02:00
Óscar García Amor e0f9059de8
Update translations 2021-06-03 08:58:13 +02:00
Maxence G 17b9b776fb
Add french translation 2021-05-31 17:02:27 +02:00
Nite 132ee3b563
Removed unused string 2021-05-31 14:26:48 +02:00
Nite fe5ee8b12a
Fixed ktlint 2021-05-31 14:04:46 +02:00
Nite 41023282e8
Fixed detekt
Fixed code duplication
Added more info to the Connection Test dialog for the user
2021-05-31 13:38:53 +02:00
Maxence G 67870efd67
Fix length 2021-05-29 15:46:09 +02:00
Maxence G 3e08735374
run ktlint 2021-05-29 15:42:15 +02:00
Maxence G 075b80c01f
Fix new active server getter 2021-05-29 15:30:01 +02:00
Maxence G d8e7b991cd
Merge remote-tracking branch 'base/develop' into check-server-features 2021-05-29 15:28:25 +02:00
Maxence G fd48367cab
Reduce function length 2021-05-29 15:00:46 +02:00
James Wells e666498f13
Initial Test of Android Auto 2021-05-28 20:40:00 -04:00
tzugen 8aa1cf1e2c
Fix Kotlin 1.5 deprecated calls 2021-05-28 20:32:31 +02:00
tzugen 71068fe635
Upgrade Koin to 3.0.2 2021-05-28 19:39:27 +02:00
tzugen ee9c478bfe
Make parentId nullable in TrackCollectionModel 2021-05-28 12:35:29 +02:00
tzugen e21ae1299b
Fix more detekt and lint issues and remove them from the baseline. 2021-05-27 15:30:20 +02:00
tzugen 6dc0eb7ecc
Move files to Koltin dir 2021-05-27 11:33:10 +02:00
tzugen cc7e273d50
Fix remaining warnings 2021-05-27 11:18:29 +02:00
tzugen ac77d9557c
Clarify time handling for the time limited cache
(Less magic numbers)
2021-05-27 11:15:28 +02:00
tzugen aa1c0d8baa
Convert TimeLimitedCache to Kotlin 2021-05-27 11:13:23 +02:00
tzugen 38c1480f77
Whitespace and detekt 2021-05-26 23:32:25 +02:00
tzugen 8567fc0105
Fix warning in FileLoggerTree.kt 2021-05-26 23:22:13 +02:00
tzugen e059d737bc
Adopt changes from stricter nullabilities 2021-05-26 23:21:56 +02:00
tzugen b30584f99c
Make Entry always have an id 2021-05-26 23:20:19 +02:00
tzugen 3257fb9153
Make Entry always have an id 2021-05-26 23:19:16 +02:00
tzugen 5ac36b749b
Convert all Services to Kotlin 2021-05-26 23:17:52 +02:00
tzugen 3f2daaa7ec
Rename .java to .kt 2021-05-26 23:17:52 +02:00
tzugen e55d894f45
Consistently throw Exeception in OfflineMusicService 2021-05-26 21:32:52 +02:00
tzugen f510638571
Fix KtLint issue 2021-05-26 08:49:23 +02:00
tzugen 31850bf270
Cleanup AlertDialog method
The other method was unused, so we can get rid of it.
Also use a lambda for the callback
2021-05-26 08:49:12 +02:00
Maxence G 3c4a5064b0
change exception type 2021-05-25 19:30:02 +02:00
Maxence G 070e0ac792
Fix lintFormat + remove synchronized 2021-05-25 18:51:00 +02:00
Maxence G 1b7f48c53a
Implement server feature checking 2021-05-24 23:25:12 +02:00
tzugen 2db7d2daf1
Hide cluttering koin warning, which was added in 2.2.0 and will be removed again in 2.3.0
See https://github.com/InsertKoinIO/koin/issues/939 for more details
2021-05-22 11:01:12 +02:00
tzugen 79fd1ac84f
Remove resolved issues from baselines 2021-05-21 23:34:57 +02:00
tzugen 0500bd5e88
Handle also UnknownHostException in GenericListModel 2021-05-21 23:34:57 +02:00
tzugen 005c1cb8f7
Fix an String resource int that wasn't converted to a String 2021-05-21 23:34:57 +02:00
tzugen 3d99269c41
Remove context from ShufflePlayBuffer 2021-05-21 23:34:57 +02:00
tzugen ed6c6c9057
Remove two warnings in Downloader 2021-05-21 23:34:57 +02:00
tzugen b8fbbd8c49
Remove Context from Downloader & DownloadFile 2021-05-21 23:34:52 +02:00
tzugen 9b2e54b94e
Remove context from JukeboxMediaPlayer and Scrobbler 2021-05-21 22:52:16 +02:00
tzugen 00e64cdddc
Use lambdas in OfflineMusicService 2021-05-21 22:39:21 +02:00
tzugen 1b5db9da1f
Make ExternalStorageMonitor context-free 2021-05-21 22:37:43 +02:00
tzugen df047dd463
Refactor MediaPlayerController to Kotlin
and also make MediaPlayerService context-free
2021-05-21 22:35:22 +02:00
tzugen a801e276ee
Rename .java to .kt 2021-05-21 22:35:21 +02:00
tzugen 05cb82921d
Fix remaining warnings in MediaPlayerLifecycleSupport 2021-05-21 19:43:37 +02:00
tzugen f596dc77c1
Make MediaPlayerLifecycleSupport context-free 2021-05-21 19:43:32 +02:00
tzugen 7922d6caad
Prevent leaks by making cleanup tasks static 2021-05-21 19:11:26 +02:00
tzugen b25a118148
Remove unused context from CacheCleaner 2021-05-21 18:50:57 +02:00
tzugen 402fe961ba
Merge MediaPlayerController interface & implementation 2021-05-21 18:50:33 +02:00
tzugen f1713fdbd3
Use a recently maintained version of DSLV, which compiles correctly with newer Gradles. 2021-05-21 09:16:06 +02:00
tzugen 387119a90c
Make the CI fail if any new lint issues (warnings or errors) are added. 2021-05-20 18:16:55 +02:00
tzugen d26f8595ab
Manually disable IconMissingDensityFolder 2021-05-20 18:16:55 +02:00
tzugen dff054847a
Regenerate lint baseline
Removes 238 fixed issues
Adds 177 previously unlisted issues
2021-05-20 18:16:55 +02:00
tzugen 3a05f30907
Fix more warnings 2021-05-20 18:16:55 +02:00
tzugen b559f6420e
Move certain ignores from the baseline to the specified files. This makes refactoring much less fragile. 2021-05-20 18:16:55 +02:00
tzugen 8b01118233
Remove local copy of com.mobeta.android.dslv in favour of importing it from maven 2021-05-20 18:16:42 +02:00
tzugen 5f08e7e7cd
Create a new SelectMusicFolderViewHolder instance when the Adapter is recreated,
instead of reusing an old one. This lead to a crash.

Also make the AlbumList use the correct placeholder,
remove an unused resource file, and update the placeholder to look less clumsy.
2021-05-18 08:50:04 +02:00
tzugen 2cf80707f7
Correctly display the folder header also in album view
Also fix a number of smaller issues
2021-05-16 21:06:04 +02:00
tzugen 72c03cc500
Introduce new Generic Fragments, ViewModels, and Adapters for the display of API data.
* Splits former SelectAlbumFragment into separate fragments for Albums and general collections of tracks
* Renames and refactors SelectArtist view to extend the new Generic classes
* Adds error handling (Fixes #484)
* Adds EndlessScrolling capabilities to all Album Lists
* Uses RecyclerViews and LiveData for performance and in-memory caching
* Refreshes the UI to be aligned with the ArtistList UI
* Add a new GenericEntry to the domain data classes, and make other types extend it
2021-05-16 17:42:31 +02:00
tzugen c6a744cc14
Rename classes in preparation of split. 2021-05-16 17:42:31 +02:00
tzugen a60be2157b
Removing remaining context from MusicService signatures. 2021-05-11 14:26:29 +02:00
tzugen c66118172c
Revert accidental changes in the method signature. 2021-05-11 12:04:29 +02:00
tzugen 5b6fa20050
This was literally the result of removing one(!) dependency on context inside FileUtil
17 Classes with x function  which don't need to pass around context anymore..
2021-05-11 12:04:29 +02:00
tzugen f2b1ba0e94
Remove unused context references in MusicServiceFactory 2021-05-11 12:04:29 +02:00
tzugen 76ba4c8ac9
Remove more context dependencies 2021-05-11 12:04:29 +02:00
tzugen 2c5f8d9dd0
Now we can stop passing around the context for a lot of API calls 2021-05-11 12:04:29 +02:00
tzugen 9ec92c6cf3
Make all preference operations context-free
(use the application context for them)
2021-05-11 12:04:26 +02:00
tzugen 6c122b9e80
Fix #415 2021-05-09 18:31:54 +02:00
tzugen e0eb2aaf61
Fix a number of warnings 2021-05-09 18:30:38 +02:00
Nite ec21e14e33
Merge branch 'develop' into lockscreen-controls 2021-05-07 16:15:20 +02:00
Nite e37791e37c
Fixed deprecation warnings for kluent 2021-05-07 15:36:11 +02:00
Nite afccbf3f65
Merge branch 'develop' into patch-further 2021-05-07 09:14:27 +02:00
tzugen a6c914cf7f
Make the server setting model a local val 2021-05-06 20:45:45 +02:00
tzugen 9ca15deef2
Fix a copy & paste mistake
(Wrongly inserted if clause)
2021-05-06 20:45:45 +02:00
tzugen 094c0d2757
Cache requireArguments() in a local val 2021-05-06 20:45:45 +02:00
tzugen bc2c591ff2
Set isActive correctly when pausing. 2021-05-06 13:23:38 +02:00
tzugen a910818b70
Add skip functions to lockscreen 2021-05-06 13:23:35 +02:00
tzugen 85e2e473e5
Fix a typo, make two functions private 2021-05-06 12:53:25 +02:00
tzugen 8ebd53a8eb
Remove no longer needed safe call. 2021-05-06 12:40:49 +02:00
Nite 3a2c41b879
Merge branch 'develop' into remove-mediastore 2021-05-06 09:49:46 +02:00
Nite e9b22b827a
Fixed updating CacheLocation setting after change 2021-05-06 08:23:08 +02:00
Nite 83b186b9b5
Merge branch 'develop' into remove-mediastore 2021-05-05 09:41:09 +02:00
tzugen a3b97fef47
Delegate all handling of the Intent receiver registering to our Service Class. 2021-05-04 16:32:17 +02:00
tzugen 80036034e4
Rename method for clarity 2021-05-04 16:16:05 +02:00
Nite fb74d6465e
Merge branch 'develop' into rogue-session 2021-05-02 12:04:23 +02:00
tzugen 66a306152d
Remove MediaStoreService, reinstate Util.scanMedia
This partially reverts commit 8fbc2a9fa3.
2021-05-01 13:31:48 +02:00
tzugen f6a8ee7241
Remove @Deprecated tag (keep it in JDoc because it doesn't generate a warning) 2021-05-01 10:50:54 +02:00
tzugen adc350b5c4
Fix wrong injection method after rebase 2021-05-01 10:50:54 +02:00
tzugen 98ba9ecd3e
Migrate from deprecated registerMediaButtonReceiver to MediaSession equivalent 2021-05-01 10:49:23 +02:00
tzugen 4af0d1db25
executeOnStartedMediaPlayerService takes a lambda now 2021-05-01 10:49:23 +02:00
tzugen d385cf271e
Add comments and deprecation notices 2021-04-27 20:45:25 +02:00
tzugen ce2f5a95d9
Remove unused parameter 2021-04-27 20:41:14 +02:00
tzugen fe69141e19
Don't leak context in model 2021-04-27 20:41:14 +02:00
tzugen 25f072a5d5
Cleanup some methods
+ Ktlint WS fixes
2021-04-27 20:40:57 +02:00
tzugen dca26f14eb
Fix more compiler warnings 2021-04-27 20:39:52 +02:00
tzugen 1802e91fa7
Use lambdas in Listeners, fix various warnings 2021-04-27 20:39:52 +02:00
tzugen fa4f4d6c9c
Move loading functions into ViewModel 2021-04-27 20:39:48 +02:00
tzugen 1f57fb334b
Refactor: LoadTask to Coroutines. 2021-04-27 19:52:13 +02:00
Óscar García Amor 1c58062496
Ignore quantity errors in translations 2021-04-27 19:13:27 +02:00
Óscar García Amor f9dcc62ed7
Bump version to 2.20.0 2021-04-27 18:43:35 +02:00
Óscar García Amor 2d4b295f7f
Better scrobble text and description, closes #442 2021-04-27 17:33:15 +02:00
tzugen 4f70c61592
Fix Magic Number problem in DownloadFile (caused by #431). 2021-04-27 10:21:57 +02:00
tzugen 3e8cf63603
Merge branch 'develop' into modern-notification-2 2021-04-27 08:18:49 +02:00
James Wells d084270c4b
Add a retry count to stop infinite downloads
Signed-off-by: James Wells <james@jameswells.net>
2021-04-25 23:08:12 -04:00
tzugen 0a170918c8
Adjust Timber debug level 2021-04-25 16:49:14 +02:00
tzugen cd27734c04
Emulate keycode for the Session callbacks 2021-04-23 15:04:01 +02:00
tzugen 8004bc31fe
Add PlaybackState actions
.. and map PlayerStates more precisely.
2021-04-23 11:26:15 +02:00
tzugen 0ad6d0b691
Move MediaPlayerService to Kotlin dir 2021-04-23 11:26:15 +02:00
tzugen 3aae91bf13
Refactor after conversion 2021-04-23 11:26:15 +02:00
tzugen 35e89b47c6
Convert MediaPlayerService to Kotlin 2021-04-23 11:26:15 +02:00
tzugen 9472aa4c22
Rename .java to .kt 2021-04-23 11:26:14 +02:00
tzugen e6135dc21a
Set Session to active 2021-04-23 11:26:14 +02:00
tzugen 205f477b43
Refactor all event listeners to lambdas 2021-04-23 11:26:10 +02:00
tzugen 2adb9ffc7e
Remove two warnings 2021-04-23 11:21:28 +02:00
tzugen f27212f263
Set AudioAttributes in LocalMediaPlayer 2021-04-23 11:21:24 +02:00
tzugen 5f8e3ce851
Modernize AudioFocusHandler 2021-04-23 11:20:09 +02:00
tzugen 8640d39438
We need androidx.media at v1.3.0.
Also do the minor gradle update
2021-04-23 11:13:44 +02:00
tzugen 37632dd031
Convert AudioFocusHandler to Kotlin 2021-04-23 11:13:44 +02:00
tzugen 0550116b35
Rename .java to .kt 2021-04-23 11:13:44 +02:00
tzugen 8bfc5d04ef
Pass keyevents from the session to MediaPlayerLifecycleSupport 2021-04-23 11:13:44 +02:00
tzugen 88f6bdb3a9
setShowBadge = false 2021-04-23 11:13:44 +02:00
tzugen e4bf431cfe
Add deleteIntent 2021-04-23 11:13:43 +02:00
tzugen d3b94f3d4c
Add Star/Unstar and close Action
Also: Add album to subtitle :)
2021-04-23 11:13:43 +02:00
tzugen 1ee36322db
Remove unused views and util function 2021-04-23 11:13:43 +02:00
tzugen 116307df56
Fix a regression were we accidentally reset our current MediaPlayer
Fixes #418
2021-04-23 11:13:43 +02:00
tzugen 731447fda5
Improve icon sizes 2021-04-23 11:13:43 +02:00
tzugen 19580cda8b
We can now remove the deprecated Remote Control API 2021-04-23 11:13:43 +02:00