Commit Graph

473 Commits

Author SHA1 Message Date
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
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 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 f510638571
Fix KtLint issue 2021-05-26 08:49:23 +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 0500bd5e88
Handle also UnknownHostException in GenericListModel 2021-05-21 23:34:57 +02:00
tzugen 3d99269c41
Remove context from ShufflePlayBuffer 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 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 f596dc77c1
Make MediaPlayerLifecycleSupport context-free 2021-05-21 19:43:32 +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 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 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