Commit Graph

500 Commits

Author SHA1 Message Date
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 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 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 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
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 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 23cca33d5a
Started implementing server colors 2021-10-14 17:17:32 +02:00
tzugen fbdf6d846b
Cleanup dead code paths 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
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 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 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
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 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
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
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 c99c4478f2
Remove file storage code from RESTAPI class 2021-06-29 18:01: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 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 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 28336c8bf7
Convert PlayerFragment to Kotlin 2021-06-19 23:52:24 +02:00
tzugen 38f1f5f5c6
Nicer catch all 2021-06-19 23:25:02 +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 db31fefe83
Remove flash support 2021-06-12 15:31:21 +02:00
tzugen 172cbd0476
Add an option to load the demo database for new users 2021-06-12 15:04:17 +02:00
James Wells 8855d19113
Merge branch 'develop' into AndroidAuto 2021-06-10 19:19:29 -04:00
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 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 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 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
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