Commit Graph

1003 Commits

Author SHA1 Message Date
tzugen bdac092eff
Make SearchResults expandable,
finish music folder support,
change Service interface of AlbumList to return listOf(Album)
2021-11-30 00:47:03 +01:00
tzugen aa33d7c882
Cleanup nested functions on OfflineMusicService and make it return the correct MusicDirectory type 2021-11-29 20:14:11 +01:00
tzugen 775f56c6fa
Fix header glitch 2021-11-29 19:00:28 +01:00
tzugen 2f0ff384d0
Various fixes
* Work on folder selector,
* Make current play queue drag&droppable
* Fix album view in offline mode
2021-11-29 15:09:51 +01:00
tzugen 82d90a6aee
Fix context menus.
Also cleanup files, rename layouts
2021-11-28 19:13:25 +01:00
tzugen b33fe2d451
Add nice looking empty list view
Also fix shouldRetry() in the Downloader
2021-11-28 19:13:25 +01:00
tzugen 4e37a2483c
Add an MusicDirectory.Album model to represent the APIAlbum model
It became necessary in order to have different types for Tracks vs Albums,
instead of just differentiating by isDirectory: Boolean.

Also:
* Fix Album display in SearchFragment.kt
* Use same ids in all lists
2021-11-28 19:13:24 +01:00
tzugen 5dfb66eec2
Implement singular selection for Bookmarks 2021-11-28 19:13:24 +01:00
tzugen ad793e27a5
Remove viewRefresh setting 2021-11-28 19:13:24 +01:00
tzugen 2086a6cac5
Unify play next and play last icons,
style fixes
2021-11-28 19:13:24 +01:00
tzugen eeb2d13d96
Delete a bunch of now-unused classes
Also run KtLint
2021-11-28 19:13:24 +01:00
tzugen f8a87f7c85
BookmarksFragment is now based on TrackCollectionFragment
Also start SearchFragment.kt
2021-11-28 19:13:24 +01:00
tzugen 7640f4c4aa
Start migration of Album and Artist 2021-11-25 18:43:50 +01:00
tzugen d243ae1b44
Use RecycleView inside PlayerFragment 2021-11-25 18:43:46 +01:00
tzugen 6277ee73c0
Simplify and fix download status display 2021-11-25 18:43:46 +01:00
tzugen 7a2dbf65d9
Fix jumping downloads in Download view 2021-11-25 18:43:31 +01:00
tzugen 19d014709f
Don't create DownloadFile instances unnecessarily 2021-11-25 16:53:25 +01:00
tzugen d0e39efc50
Migrate DownloadsFragment to new system 2021-11-25 16:53:25 +01:00
tzugen e81b1ef8c2
Add a HeaderView binder 2021-11-25 16:53:25 +01:00
tzugen 5f716f5008
Use MultiTypeAdapter as a backend for RecyclerView stuff 2021-11-25 16:53:22 +01:00
Nite 5cf914f555
Added file caches to speed up SAF
Updated settings page with default music cache path reset
Fixed a bunch of bugs
2021-11-23 20:22:31 +01:00
Nite 5c7cde2349
Merged develop into api30 2021-11-19 20:34:03 +01:00
Nite 3f570636dd
Merge changes 2021-11-19 19:09:27 +01:00
Nite 1d0bb944e1
Implemented Storage Access Framework as Music Cache 2021-11-19 18:43:52 +01:00
Nite d84a0a3929
Merge branch 'develop' into ready/rm-viewflipper 2021-11-18 20:30:20 +01:00
tzugen cddbe72752
Remove network communication from main thread 2021-11-18 19:54:49 +01:00
tzugen 744282f10a
Prevent overlap in very long song titles 2021-11-18 19:07:35 +01:00
tzugen 51d6a23208
Provide Scope differently 2021-11-18 19:07:35 +01:00
tzugen a327a5b390
Update detekt-baseline 2021-11-18 19:07:35 +01:00
tzugen 36b581e3c1
Rename UncaughtExceptionHandler 2021-11-18 19:07:35 +01:00
tzugen 1ed9360bc7
CommunicationError to Object with static methods 2021-11-18 19:07:34 +01:00
tzugen ed152fa52a
Remove SilentBackgroundTask.kt 2021-11-18 19:07:34 +01:00
tzugen b1cb70764c
Remove MyViewFlipper.java
It was a workaround for a bug in Android 2, which is fixed in Android 3 and later.
2021-11-16 20:00:27 +01:00
tzugen 00cd4fce44
Migrate CacheCleaner to Coroutine 2021-11-16 18:01:04 +01:00
tzugen 00781ba7de
Add a comment 2021-11-16 14:56:39 +01:00
Nite d6f908b80c
Merge branch 'develop' into refactor-events 2021-11-15 18:20:56 +01:00
Nite e019ec788d
Fixed subscription 2021-11-15 18:20:26 +01:00
tzugen f73457298d
Move file methods to FileUtil.kt 2021-11-13 18:16:05 +01:00
tzugen c9e276dc76
API 30 2021-11-13 18:16:03 +01:00
tzugen bb36116d70
Add .ifNotNull extension function as a more readable alternative to ?.let 2021-11-09 22:20:41 +01:00
tzugen 8830d76497
Make public playlist immutable (only Downloader can touch it)
Remove external usage of playlist_revision
2021-11-09 20:46:44 +01:00
tzugen 61f23fa948
Update lint 2021-11-09 18:45:00 +01:00
tzugen 92adcf47bd
Tweak drop shadow 2021-11-09 18:09:50 +01:00
tzugen 7e3cb19bac
Visually align song details.
* Also cleanup unused layout and color files
2021-11-09 18:09:50 +01:00
Nite 69825b28bb
Merged player state and track changes into a single event 2021-11-08 20:38:05 +01:00
Nite 66df5b1daf
Merge branch 'develop' into refactor-events 2021-11-05 19:26:45 +01:00
tzugen aac73cd6d7
Further cleanup maxBitrate function 2021-11-03 12:59:06 +01:00
tzugen a66d07ae84
Use modern network APIs 2021-11-03 12:23:53 +01:00
Nite 4e3102f131
Fixed condition for directory listing
Minor cleanup
2021-11-02 22:19:09 +01:00
Nite eba42b82dc
Merge branch 'develop' into cc 2021-11-02 21:33:53 +01:00
Nite ffb2d59886
Updated Events to ReactiveX
Minor fixes
2021-11-02 17:45:01 +01:00
tzugen a6e76e9d53
Ktlint 2021-11-02 09:07:38 +01:00
tzugen c4e2c786d1
Fix flags 2021-11-02 09:05:51 +01:00
tzugen 050161bbb0
API 30 2021-11-01 17:10:46 +01:00
tzugen f085a8ab65
Transform CacheCleaner to Kotlin 2021-11-01 14:26:32 +01:00
tzugen dfb3561965
Remove custom Pair implementation 2021-11-01 14:20:57 +01:00
tzugen 8c99c84a90
Default arguments 2021-11-01 14:14:12 +01:00
tzugen 4fb4ab18da
Unused argument 2021-11-01 14:13:25 +01:00
tzugen e6624ada9a
Unnecesary null-check 2021-11-01 14:12:35 +01:00
tzugen e32b3461c9
Remove global scope use 2021-10-31 19:18:20 +01:00
Nite fec2d78d30
Merge branch 'develop' into refactor-events 2021-10-31 17:20:03 +01:00
Nite 7c43d01f8e
Fixed nullable parameters 2021-10-31 16:54:37 +01:00
Nite 5eaf9cccb1
Started refactoring events to ReactiveX 2021-10-31 15:22:15 +01:00
tzugen bd23f54783
Remove Build switches for Lollipop 2021-10-30 16:07:47 +02:00
tzugen 5fe1921ca5
Cleanup issues 2021-10-30 15:59:51 +02:00
tzugen e5f7ca6310
Convert SettingsFragment to Kotlin 2021-10-30 15:40:43 +02:00
tzugen 4d42c0d9d2
Use lambdas in SettingsFragment, remove Consumer class. 2021-10-30 15:28:53 +02:00
tzugen e19d43d6b3
Better wording 2021-10-30 15:16:17 +02:00
tzugen 2d9a212b5c
Cleanup a bunch of preference setters and getters by using the new utility class 2021-10-30 15:14:15 +02:00
tzugen 7c956566a0
Merge branch 'develop' into downloader-ld 2021-10-28 11:44:22 +02:00
Nite 70e42fb443
Fixed default foreground color 2021-10-28 10:00:23 +02:00
tzugen c83a9778fc
Tweak layout 2021-10-28 09:36:46 +02:00
Nite 6636d6a558
Minor fixes 2021-10-28 07:38:43 +02:00
Nite 7ccb9d055c
Fixed lint 2021-10-28 07:30:31 +02:00
Nite 9782e18b6e
Updated looks of navigation header 2021-10-28 07:28:31 +02:00
tzugen eb2e6ada0a
Tweaked selected color, added circle to offline icon 2021-10-25 20:16:19 +02:00
Nite cef1153f89
Merge branch 'develop' into navigation-servers 2021-10-24 22:34:56 +02:00
tzugen fea515a526
Replace consumer use with a lambda 2021-10-23 16:54:00 +02:00
tzugen c44257f569
Fix a minor warning 2021-10-23 16:49:56 +02:00
tzugen 939cd8583c
Semantically rename DownloadQueueSerializer to PlaybackStateSerializer 2021-10-23 16:39:58 +02:00
tzugen ece53f7687
Add a comment 2021-10-23 16:13:05 +02:00
Nite 2847a51674
Fixed autoplay
Fixed uncaught exception
Fixed playlist loading from file
2021-10-23 16:09:49 +02:00
tzugen 24092ce465
Remove unneccessary call to checkDownloads() which were interferring with AutoPlay somehow. 2021-10-23 15:58:33 +02:00
tzugen 6f676d20b0
Update baseline to remove closed issues 2021-10-23 15:58:33 +02:00
tzugen 1d5b335f97
Add Download Fragment which show active downloads 2021-10-23 15:58:32 +02:00
tzugen 9bc19ec044
Semantic rename 2021-10-23 15:58:32 +02:00
tzugen 0bcf51a409
Implement LiveData in Downloader.kt
Minor: Also remove a suppress comment
2021-10-23 15:58:32 +02:00
Nite f58c361e4e
Fixed navigation on welcome screen
Fixed navigation after selecting new server
Fixed color for new server
Fixed typo
2021-10-21 17:55:19 +02:00
Nite 949e7e58ba
Merge branch 'develop' into navigation-servers 2021-10-20 19:48:41 +02:00
tzugen 62bade916f
Use delegate for Settings, reduces Boilerplate code 2021-10-18 17:32:12 +02:00
Nite ccf39661ab
Cleaned up warnings in FilePickerAdapter 2021-10-15 16:35:27 +02:00
Nite 7c66bc7ec8
Implemented navigation header coloring based on selected server 2021-10-15 16:26:06 +02:00
Nite 477f6f5d7c
Merge remote-tracking branch 'remotes/upstream/develop' into navigation-servers 2021-10-15 13:52:50 +02:00
Nite 16b2a99631
Fixed lint errors 2021-10-14 20:26:21 +02:00
Nite 427034053c
Merge branch 'develop' into permission_failed 2021-10-14 19:45:44 +02:00
Nite 23cca33d5a
Started implementing server colors 2021-10-14 17:17:32 +02:00
Óscar García Amor 62986ca79d
Fix lint errors 2021-10-14 10:02:22 +02:00
Óscar García Amor e2cff64e4e
Bump version to 2.24.0 2021-10-14 09:35:57 +02:00
Óscar García Amor 704f78366a
Merge branch 'master' into develop 2021-10-14 09:19:39 +02:00
Óscar García Amor e426081d1d
Update translations 2021-10-14 09:04:08 +02:00
tzugen 83f4ecb15a
Prepare a number of layouts for RTL and thereby fix a lot of lint messages 2021-10-13 18:51:11 +02:00
tzugen fbdf6d846b
Cleanup dead code paths 2021-10-13 18:51:11 +02:00
tzugen d1e636f553
Fix some new lint issues 2021-10-13 18:51:11 +02:00
tzugen b892b7b8d3
Migrate PermissionUtil to Kotlin
- Set min SDK to 16 (was 14), because READ_EXTERNAL_STORAGE is minimum 16
- Add new shortcut to Settings.kt class
- Use showDialog util function
2021-10-13 18:51:04 +02:00
tzugen 87c2e44ab8
Fix NPE 2021-10-13 15:10:06 +02:00
Nite b44e0517ce
Updated Settings for sharing 2021-10-12 21:09:19 +02:00
Nite 5a3eb6482a
Added option whether to create a share on the server when sharing songs 2021-10-12 21:09:19 +02:00
Nite 2f98bf9ae0
Merge branch 'develop' into playback_complete 2021-10-12 16:47:59 +02:00
tzugen aea2e6baef
Style fix 2021-10-12 15:16:40 +02:00
Nite eff1a714e2
Fixed album lists in landscape mode
Fixed starring on album lists
Fixed reading starred state on the Subsonic API
2021-10-12 15:16:40 +02:00
Nite f752307a38
Changed navigation header colors 2021-10-11 19:43:01 +02:00
Nite 86f2aa1656
Fixed lint 2021-10-11 17:43:17 +02:00
Nite 256f785d39
Updated navigation header style 2021-10-11 17:31:32 +02:00
Nite 62150b77d3
Removed strings 2021-10-10 15:03:57 +02:00
Nite 652f85b070
Removed unused strings 2021-10-10 14:41:16 +02:00
Nite 381e29b2d1
Fixed lint issues 2021-10-10 14:15:03 +02:00
Nite 4b4853374c
Moved server selector to the navigation menu 2021-10-10 14:03:53 +02:00
Nite a3128c5f7f
Fixed lint 2021-10-07 18:02:23 +02:00
Nite 221f218856
Added PlaybackComplete intent when a song playback is completed 2021-10-07 17:51:19 +02:00
tzugen 35a0dd761d
Fix a bug where newly added Artists were not cached correctly 2021-10-04 11:20:52 +02:00
Nite fda746905d
Merged changes from develop 2021-09-24 21:12:02 +02:00
Nite b640805559
Moved settings related properties from Util to their own class 2021-09-24 18:20:53 +02:00
Nite d4ce10ebfa
fixed lint error 2021-09-23 16:00:20 +02:00
Nite be49145aa8
Created different notification when Ultrasonic is only downloading files
Fixed null check
2021-09-23 15:51:53 +02:00
Nite 01aa1fe887
Moved kotlin files to their place 2021-09-21 15:20:56 +02:00
Nite 77f857b1c6
Added setting to disable Now Playing List sending for incompatible bluetooth devices 2021-09-17 16:45:33 +02:00
tzugen 02129a8fd0
Remove unused strings 2021-09-15 21:34:48 +02:00
tzugen ecc7e870f1
Save Artists in Offline database 2021-09-15 20:51:42 +02:00
tzugen 28097bf325
Optimize Imageloader to not create empty MusicDirectory.Entries 2021-09-15 20:46:05 +02:00
tzugen 611539be55
Handle WifiLock in Download manager class, instead of creating an individual lock per task.
Also only stop the executor when done.
2021-09-15 20:46:05 +02:00
tzugen 5ff4d21abc
Merge FileUtil functions into a single class. 2021-09-15 20:46:05 +02:00
tzugen ec49775d7e
Convert FileUtil to Kotlin 2021-09-15 20:46:05 +02:00
tzugen c48c41284e
Migrate Constants to Kotlin, update a copyright notice. 2021-09-15 20:46:05 +02:00
tzugen ba745a5f9a
Run download task inside service 2021-09-15 20:46:05 +02:00
Óscar García Amor a64fe47353
Bump version to 2.23.1 2021-09-13 11:09:50 +02:00
Óscar García Amor 8928980bae
Update translations 2021-09-13 11:04:29 +02:00
Nite ee1e4548e3
Fixed lint errors 2021-09-12 09:18:49 +02:00
Nite 07f334a7fd
Moved drag handle to the left in the Now Playing list
Updated drag handle to the dotted version
2021-09-12 09:18:49 +02:00
Nite 5ef3ced111
Fixed media session null checks 2021-09-12 08:54:08 +02:00
Nite 84d28178bf
Fixed media session null checks 2021-09-05 09:34:38 +02:00
Nite 9f1315b6dc
Merge branch 'develop' into semanticDownloadView 2021-09-01 18:19:55 +02:00
tzugen d08a38ea1c
Small fixes 2021-08-28 11:43:33 +02:00
tzugen ad81f3bf6d
Use semantically correct API endpoint when streaming/downloading.
Fixes #257
2021-08-28 11:39:32 +02:00
tzugen 594e94eea7
Finish 2021-08-28 11:29:47 +02:00
tzugen f9aac1ca43
Add parallel downloading, better priority handling 2021-08-28 11:29:47 +02:00
tzugen b8eddb2d24
Rename .java to .kt 2021-08-28 11:29:47 +02:00
tzugen e0df24182e
Add nullability annotation 2021-08-28 11:29:47 +02:00
tzugen 662cb1728b
Fix a number of minor warnings in Util.kt 2021-08-27 11:50:31 +02:00
tzugen e8baea6195
Convert MainFragment to Kotlin 2021-08-26 22:58:40 +02:00
tzugen e00137a635
Rename .java to .kt 2021-08-26 22:58:39 +02:00
Maxence G (Hello-Fluffy) 0a2e7358fa
Fix CI 2021-08-26 22:58:39 +02:00
Maxence G (Hello-Fluffy) 7eb3d01ae8
Limit GetSongs if length is too short 2021-08-26 22:58:39 +02:00
Maxence G (Hello-Fluffy) a23e5ff794
Add better offline Support 2021-08-26 22:58:39 +02:00
Óscar García Amor 6202484df7
Bump version to 2.23.0 2021-08-26 11:04:21 +02:00
Óscar García Amor 4a10b76067
Update translations 2021-08-26 10:29:20 +02:00
Nite 2655a4a606
Merge branch 'develop' into video-cleanup 2021-08-25 14:27:05 +02:00
tzugen a051d4d040
Clean up Util.kt after conversion
(currentSong was assigned but never actually used)
2021-08-20 20:53:17 +02:00
tzugen 54f39be7ca
Video call can be static 2021-08-18 09:09:08 +02:00
tzugen 3afb86c22c
Video call can be static 2021-08-18 09:07:57 +02:00
Nite 9546bdeab5
Fixed playing single track in empty playlist 2021-07-19 15:31:52 +02:00
James Wells 961c726da8
restore previous code 2021-07-18 16:14:43 -04:00
Nite c9f2050c46
Suppress detekt LongMethod 2021-07-18 13:23:20 +02:00
Nite 982639d2c7
Fixed lint errors
Added comments
2021-07-18 13:17:29 +02:00
Nite cf05d3c781
Implemented Media Browsing 2021-07-18 11:33:39 +02:00
Nite f50d6f13f4
Started implementing Media Browser
Added root menus, playlists and artists
2021-07-16 17:29:21 +02:00
Nite 51dbdfb39a
Implemented track detail display in the playlist
Fixed playback position disappearing when paused
2021-07-14 16:09:52 +02:00
Nite 56af9e4bf2
Moved MediaSession handling to its own class
Fixed queue and position handling on Now Playing screen
2021-07-13 19:25:37 +02:00
Nite 83c6b76d0a
Updated Android Auto to use MediaPlayerService separately
Added some missing features found in the docs
2021-07-12 16:13:34 +02:00
James Wells db0669098c
Another Attempt at Auto 2021-07-04 16:42:18 -04:00
James Wells 04de4544ee
merge develop 2021-07-04 15:41:56 -04:00
tzugen b546f2c2fb
The Tests actually caught an error :)
If shortcuts were set, these were added as duplicates to the list.
2021-06-29 18:01:26 +02:00
tzugen dbdb59bbff
Add a Room database for Artists, Indexes and MusicFolders.
* There is one database for each Server
* Index items are saved with a "musicFolderId" prop, which makes it possible to filter the database by musicFolder without necessarily having to query the server for it.
* Databases for new Servers are created on the fly
* If the user removes a server, the respective database is deleted.
2021-06-29 18:01:26 +02:00
tzugen fa94cd24da
Export schema 2021-06-29 18:01:26 +02:00
tzugen c99c4478f2
Remove file storage code from RESTAPI class 2021-06-29 18:01:26 +02:00
Óscar García Amor bc8a78e772
Bump version to 2.22.0 2021-06-29 11:51:24 +02:00
Óscar García Amor 68acf3789c
Update translations 2021-06-29 11:28:26 +02:00
tzugen e3e8d36f5c
Save the correct field to the server preferences 2021-06-25 17:47:11 +02:00
tzugen 2da4f79098
Increase memory cache size 2021-06-23 17:31:41 +02:00
James Wells 4ff167e497
merge develop 2021-06-22 20:08:49 -04:00
tzugen d916e937f9
Move a resource from a versioned folder
(v14 is the default now)
2021-06-22 20:42:05 +02:00
tzugen d4c0f62b1d
Don't keep a reference to context here,
it's a leak and not used anyway.
2021-06-21 19:11:30 +02:00
tzugen 1132ec6c87
Merge branch 'develop' into fix-save-playlist 2021-06-21 18:49:25 +02:00
tzugen bc16b64be4
Avoid unnecessary reloads when navigating back,
this preserves the scroll position.
2021-06-21 13:41:39 +02:00
tzugen 16c6b6b03e
Fix a potential exception in shuffle()
If getCurrentPlayingIndex() returns -1,
then remove() fails
2021-06-20 23:38:13 +02:00
tzugen 36dccc845b
Use ListAdapter class to calculate Diff off the main thread 2021-06-20 08:31:12 +02:00
tzugen 1ecb577c50
Use DiffUtil for better performance when refreshing the data.. 2021-06-20 00:29:35 +02:00
tzugen 8c2896ea16
Remove static field leaks on SeekBar,
cleanup code and update baseline
2021-06-19 23:52:24 +02:00
tzugen d8b032e2e3
Cleanup code 2021-06-19 23:52:24 +02:00
tzugen 30bbeb7594
Rename .java to .kt 2021-06-19 23:52:24 +02:00
tzugen 28336c8bf7
Convert PlayerFragment to Kotlin 2021-06-19 23:52:24 +02:00
tzugen 5cfb49ac69
Rename .java to .kt 2021-06-19 23:52:24 +02:00
tzugen 38f1f5f5c6
Nicer catch all 2021-06-19 23:25:02 +02:00
tzugen 956d555b35
Update PlayerFragment.java 2021-06-19 23:23:39 +02:00
James Wells 793c4a6ca7
working version 2021-06-19 00:05:19 -04:00
James Wells 3853fce818
Merge branch 'develop' into AndroidAuto 2021-06-18 22:52:56 -04:00
Maxence G d440b8c76d
Fix no server call when starring song from notification 2021-06-16 20:33:21 +02:00
tzugen 57d740af12
Properly generate the Video stream url, without actually making a request! 2021-06-14 20:53:55 +02:00
tzugen bc295a825b
Merge branch 'develop' into remove-flash 2021-06-14 19:10:56 +02:00
Nite a02b620531
Fixed typos 2021-06-14 15:42:24 +02:00
tzugen 3b5b8feb56
Update baseline files 2021-06-12 20:00:44 +02:00