Commit Graph

700 Commits

Author SHA1 Message Date
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
tzugen 26ba022003
Modernize Service Notification
Use the native Android way of generating playback notifications,
by using a "Media Style" and creating a Media Session.
2021-04-23 11:13:43 +02:00
tzugen 417496aacc
Remove unecessary null-check 2021-04-23 11:13:43 +02:00
tzugen 6c681ddb52
Fix #428 2021-04-21 18:42:59 +02:00
tzugen 9cb2ed3356
Update gradle plugin and androidxcore
We need core at 1.5.0-rc01 to be able to clearActions()
2021-04-19 12:21:42 +02:00
tzugen b5806cbbbf
Set language level 1.8 correctly also to Kotlin compiler,
removed unused variables.
2021-04-19 12:21:36 +02:00
tzugen 467df602ec
Show download percentage also in the title 2021-04-17 12:32:29 +02:00
tzugen 4787924fcc
Remove noisy log calls 2021-04-17 12:32:29 +02:00
tzugen 8d4d1ba660
Move function out of companion object 2021-04-17 12:32:29 +02:00
tzugen 0efb3547c3
Update license of two files. 2021-04-17 12:32:29 +02:00
tzugen d9d82b77d4
Rename a function semantically 2021-04-17 12:32:25 +02:00
tzugen a97cb30d1c
Move DownloadFile.kt to Kotlin directory 2021-04-17 12:11:21 +02:00
tzugen aac74d1eef
Make SongView display a percentag while downloading
Closes #403
2021-04-17 12:11:20 +02:00
tzugen cf68038e20
Migrate DownloadFile to Kotlin 2021-04-17 12:11:17 +02:00
tzugen 3139c94d11
Rename .java to .kt 2021-04-17 12:02:45 +02:00
tzugen a13306c680
Remove unused parameters from getDownloadInputStream() 2021-04-17 12:02:45 +02:00
tzugen 6b750dac4d
Rename download layouts semantically. 2021-04-17 12:02:45 +02:00
tzugen 0bf0d2db87
Fix a number of lint issues 2021-04-17 12:02:45 +02:00
tzugen b438559da6
Update license of MediaStoreService.kt 2021-04-16 11:47:16 +02:00
Nite fbcbc65be8
Merge branch 'develop' into mediastore 2021-04-15 09:48:07 +02:00
James Wells e5158c8a2f
correct for swipe refresh
Signed-off-by: James Wells <james@jameswells.net>
2021-04-14 22:25:31 -04:00
James Wells 39c94fe1e9
Clean empty text view
Signed-off-by: James Wells <james@jameswells.net>
2021-04-13 22:35:06 -04:00
James Wells 38b6066258
small change to view group
Signed-off-by: James Wells <james@jameswells.net>
2021-04-13 00:12:38 -04:00
James Wells 3a1e2c96fc
Don't show header when using ID3 tags
Signed-off-by: James Wells <james@jameswells.net>
2021-04-11 16:02:07 -04:00
tzugen 8fbc2a9fa3
Remove scanMedia(), as ACTION_MEDIA_SCANNER_SCAN_FILE is deprecated,
in favour of the MediaStore API which we are already using.
2021-04-11 08:49:17 +02:00
tzugen 0349746228
Move Kotlin file 2021-04-11 01:20:16 +02:00
tzugen 86db983f81
Migrate MediaStore to Kotlin, fix issues wih wrong path 2021-04-11 01:19:27 +02:00
tzugen 46a56a1797
Rename .java to .kt 2021-04-11 01:14:17 +02:00
James Wells 268a41d1f4
Don't use musicFolderId in Recently Added filter
Signed-off-by: James Wells <james@jameswells.net>
2021-04-10 17:48:52 -04:00
James Wells f00a487b51
loads music folder list
Signed-off-by: James Wells <james@jameswells.net>
2021-04-09 22:41:38 -04:00
James Wells 580fc1aa89
review comments
Signed-off-by: James Wells <james@jameswells.net>
2021-04-06 22:55:21 -04:00
James Wells 2672ea7edf
Merge branch 'develop' into SelectMusicFolderView
Signed-off-by: James Wells <james@jameswells.net>
2021-04-06 18:36:12 -04:00
James Wells 3e54e4cf05
restrict header to album list only
Signed-off-by: James Wells <james@jameswells.net>
2021-04-04 15:30:31 -04:00
James Wells 191f9512bb
Introduce the SelectMusicFolderView
Signed-off-by: James Wells <james@jameswells.net>
2021-04-01 23:00:01 -04:00
tzugen f738bca1ad
Merge remote-tracking branch 'origin/develop' into NPE 2021-03-30 14:39:09 +02:00
tzugen 05067aaf3c
Rename onCreate/onDestroy functions; create a new MediaPlayer instance on release() 2021-03-30 14:38:59 +02:00
Nite fa5df96ee3
Fixed VideoPlayer using wrong context 2021-03-27 20:14:56 +01:00
tzugen 974afda777
Merge remote-tracking branch 'mine/NPE' into NPE 2021-03-25 20:34:48 +01:00
tzugen 970d93bd91
Pass down the autoPlay value to BufferTask() 2021-03-25 20:33:51 +01:00
tzugen b64a4d1320
Merge branch 'develop' into NPE 2021-03-25 18:44:30 +01:00
tzugen bf106b0384
Handle a case when reset() is called after release(). 2021-03-25 18:37:41 +01:00
tzugen 51dafd542a
Static analysis fixes 2021-03-25 18:37:41 +01:00
tzugen 8e7cf487fd
Checkstyle fixes 2021-03-25 18:37:41 +01:00
tzugen 8d65b1d25f
Private BufferTask() accepts only non-null now 2021-03-25 18:37:41 +01:00
tzugen 2171c971a3
Make remoteControl code more functional
Fixes #390
2021-03-25 18:37:41 +01:00
tzugen 60a0fe17dd
Fix a bad cast 2021-03-25 18:37:41 +01:00
tzugen 493a587b37
Introduce postRunnable helper function 2021-03-25 18:37:41 +01:00