Commit Graph

71 Commits

Author SHA1 Message Date
tzugen f2948cd3db
Various fixes & cleanups 2021-12-02 13:20:08 +01:00
tzugen f1e789ea9b
Fixed search, put compareTo method into Interface 2021-11-30 21:21:04 +01:00
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 82d90a6aee
Fix context menus.
Also cleanup files, rename layouts
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 f8a87f7c85
BookmarksFragment is now based on TrackCollectionFragment
Also start SearchFragment.kt
2021-11-28 19:13:24 +01:00
tzugen 5f716f5008
Use MultiTypeAdapter as a backend for RecyclerView stuff 2021-11-25 16:53:22 +01:00
Nite 2847a51674
Fixed autoplay
Fixed uncaught exception
Fixed playlist loading from file
2021-10-23 16:09:49 +02:00
tzugen 1d5b335f97
Add Download Fragment which show active downloads 2021-10-23 15:58:32 +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
tzugen ad81f3bf6d
Use semantically correct API endpoint when streaming/downloading.
Fixes #257
2021-08-28 11:39:32 +02:00
tzugen d83cf0917c
Fix compiler warning 2021-08-26 22:58:39 +02: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 36dccc845b
Use ListAdapter class to calculate Diff off the main thread 2021-06-20 08:31:12 +02:00
tzugen 57d740af12
Properly generate the Video stream url, without actually making a request! 2021-06-14 20:53:55 +02:00
tzugen 5e4c6cc627
I made currentApiVersion nullable here two commits ago while testing,
but it doesn't need to be.
Also update some comments
2021-06-11 10:24:21 +02:00
tzugen 619f441790
Fix tests 2021-06-09 20:23:22 +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 9161f9dc99
Move ImageLoader module into main module. 2021-06-07 13:26:08 +02:00
tzugen f8efb6d592
Update a test to reflect new arguments 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 8aa1cf1e2c
Fix Kotlin 1.5 deprecated calls 2021-05-28 20:32:31 +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 154662bec5
Make Artist and Entry comparable (thus sortable) 2021-05-27 11:14:23 +02:00
tzugen 3257fb9153
Make Entry always have an id 2021-05-26 23:19:16 +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 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
Nite 0b2a62f391
Fixed some more warnings 2021-05-07 15:55:03 +02:00
Nite e37791e37c
Fixed deprecation warnings for kluent 2021-05-07 15:36:11 +02:00
tzugen 4d27c35cf4
Remove unused versions.kt & semver 2021-05-06 12:09:23 +02:00
tzugen 410e1df980
Upgrade detekt to v1.16.0 to get Type Resolution support
In course I had to modify the rules (many were renamed or dropped),
and create a new baseline (many new rules added errors in old files)
2021-04-23 11:26:15 +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 42967ef45f
Remove warning about deprecated 'variant.getGenerateBuildConfig()' 2021-04-18 22:18:41 +02:00
Nite c4ea2086d2
Removed unused code, minor fixes 2021-02-09 19:49:26 +01:00
Nite fe120a0bf2
Updated API to 29, fixed failing tests 2020-11-29 13:25:06 +01:00
Nite 273bee1341
Added ACCEPT_SINGLE_VALUE_AS_ARRAY = true to JacksonMapper to maximize compatibility 2020-10-16 15:04:26 +02:00
Nite a396b4b27b
Fixed Subsonic API version detection
Fixed server change detection
Minor fixes
2020-10-13 21:41:01 +02:00
Nite 5de20861ca
Added Timber to Koin and OkHttp, started implementing file logging 2020-09-30 18:17:57 +02:00
Nite 7217f2cca8
Refactored Log calls to Timber 2020-09-30 14:47:59 +02:00