Commit Graph

261 Commits

Author SHA1 Message Date
Nite 4e6df12f4e
Moved minimumApiVersion detection to be executed before any first request
Refactored RESTMusicService to Kotlin
Refactored OfflineMusicService not to be a subclass of RESTMusicService
Minor fixes
2020-10-15 10:22:15 +02:00
Nite a396b4b27b
Fixed Subsonic API version detection
Fixed server change detection
Minor fixes
2020-10-13 21:41:01 +02:00
Nite 60a8599a02
Merge branch 'develop' into feature/log_to_file 2020-10-06 17:07:16 +02:00
Max Pop 675a32a3ef
Remove useless import 2020-10-05 01:59:53 +02:00
Max Pop 6ae3c9692a
Add Material Black Theme 2020-10-05 01:45:58 +02:00
Nite e15fa23def
Fixed ktLint errors 2020-10-02 19:08:05 +02:00
Nite 6e7ebeabef
Implemented file logging settings
Implemented log rotation, log deletion
Minor fixes
2020-10-02 18:47:21 +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
Nite 4991eb8d13
Fixed Edit Server button layout and exit check 2020-09-25 20:02:59 +02:00
Óscar García Amor 5387b58e35
Finish convert drawables to vectors. Closes #308
Signed-off-by: Óscar García Amor <ogarcia@connectical.com>
2020-09-25 18:20:18 +02:00
Nite ef09807e3e
Fixed stopping playback when selecting the same server 2020-09-25 11:15:19 +02:00
Nite 7bbc3234f2
Added applying changes when the currently active server is modified 2020-09-25 11:04:48 +02:00
Nite db4f8b83d3
Updated missing index handling 2020-09-25 10:43:33 +02:00
Nite 02716c827a
Added new preference key to avoid duplicate migration 2020-09-24 21:00:21 +02:00
Nite 102f3e8a04
Updated ServerSettingsModel to use Room for handling LiveData 2020-09-24 20:32:51 +02:00
Nite 5b0c9906f1
Fixed Server Id and Indexing 2020-09-24 18:20:59 +02:00
Óscar García Amor a7d29a4093
More UltraSonic -> Ultrasonic
Signed-off-by: Óscar García Amor <ogarcia@connectical.com>
2020-09-24 13:03:05 +02:00
Nite 31853cc8bc
Made the hostname part of the server url mandatory 2020-09-23 17:14:14 +02:00
Nite b7c21e4aac
Fixed Server Id to be the same as the Preference was 2020-09-23 16:26:54 +02:00
Nite 55105e52b6
Fixed ktlint errors 2020-09-22 22:01:33 +02:00
Nite 06109424ec
Index fix, added logging 2020-09-22 21:50:53 +02:00
Nite bed29ce33b
Fixed migrated server indexing 2020-09-22 20:18:36 +02:00
Nite cc954e4d5a
Fixed migration to check for empty database at every start 2020-09-22 17:03:04 +02:00
Nite 234e4703a1
Fixed first time migration
Minor fixes
2020-09-19 11:56:10 +02:00
Nite 6721500202
Updated Server Settings UI and Storage
Updated Koin to latest
2020-09-18 09:37:19 +02:00
Nite ca2bfbf14b
Updated Subsonic API version handling 2020-08-27 10:27:25 +02:00
Nite 5739b2bf4b
Implemented file picker for cache folder settings 2020-08-18 21:24:24 +02:00
Nite 07553464e8
Fixed ktlintCheck 2020-07-13 16:37:13 +02:00
Nite 3d61dde83f
Fixed audio focus handling 2020-07-07 18:50:26 +02:00
Nite 5b5c8ea8b7
Fixed CI things 2020-06-30 17:09:13 +02:00
Nite bd77c2a851
Added null checks, moved MediaPlayer to its own Koin module 2020-06-26 16:33:27 +02:00
Nite bbe9f39300
Moved externally visible functions to interface, added comments 2020-06-26 15:18:14 +02:00
Nite b83631107c
Major cleanup, minor fixes 2020-06-25 14:33:44 +02:00
Nite 0820763c7f
Refactored playback related things 2020-06-23 18:40:44 +02:00
Nite 53628dde54
Started to use Koin, refactored lifecycleSupport and Intent handling 2020-06-22 18:44:15 +02:00
Nite de7eaef668
Updated Gradle to 6.5
Tried to satisfy ktlint rules
2020-06-13 19:04:31 +02:00
Nite b23c1b4a6a
Cleaned up dependencies.gradle
Moved MultiDex to debug only
2020-06-05 17:09:33 +02:00
Nite 915a659b5d
Fixed MultiDex 2020-05-29 11:23:51 +02:00
Nite ab624be93d
Implemented five star rating 2020-01-13 21:20:52 +01:00
Yahor Berdnikau c2924df25f Use Koin java module.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2018-08-03 22:08:30 +02:00
Yahor Berdnikau 48acc64ee3 Migrate Koin to 1.0.0-beta3 version.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2018-08-03 21:50:21 +02:00
Yahor Berdnikau a63c47112c Add feature flags that contains new image loader flag.
This allows to release new versions of the app with unfinished/
not fully implemented features.

Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2018-07-15 09:50:07 +02:00
Yahor Berdnikau 02467cb05b Add loading user avatars.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2018-07-14 20:55:45 +02:00
Yahor Berdnikau c0b6500b47 Provide configuration for image load request.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2018-06-28 22:03:47 +02:00
Yahor Berdnikau 77eb257d84 Glue together old ImageLoader impl and new one.
Currently it is working in a pretty limited way.

Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2018-06-26 23:09:16 +02:00
Yahor Berdnikau b97e09b14b Provide app okhttp client instance to subsonic api client.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2018-06-24 17:30:38 +02:00
Yahor Berdnikau f007418298 Move subsonic api client to it's own DI module.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2018-06-24 17:30:38 +02:00
Yahor Berdnikau 8dc9534327 Move api client configuration to separate data class.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2018-06-24 17:30:38 +02:00
Yahor Berdnikau 52b32d0fd6 Add DI for MusicService.
It is still hidden behind MusicServiceFactory, but opens a way to use
it directly via injection.

Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2018-06-24 17:30:38 +02:00
Yahor Berdnikau ad52e3ad95 Move domain entities to own module.
This allow other modules to depend on them.

Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2018-03-10 19:42:28 +01:00
Yahor Berdnikau 182eb7ec3b Fix unit tests.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2018-02-24 22:19:34 +01:00
Yahor Berdnikau a11037ecf1 Fix ChatMessage was not data class.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2018-02-24 22:19:17 +01:00
Yahor Berdnikau 440eb4067d Fix missing empty line in the end.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2018-02-22 22:47:41 +01:00
Yahor Berdnikau 1fe6da5f46 Convert MusicDirectory domain entity to kotlin.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2018-02-22 22:45:28 +01:00
Yahor Berdnikau 47d5a4dba1 Convert Artist domain entity to kotlin.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2018-02-22 22:30:39 +01:00
Yahor Berdnikau 3e3d39e2cd Convert Bookmark domain entity to kotlin.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2018-02-22 22:23:48 +01:00
Yahor Berdnikau 817122c16f Convert ChatMessage domain entity to kotlin.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2018-02-22 22:18:23 +01:00
Yahor Berdnikau ea5fd0d1be Convert Genre domain entity to kotlin.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2018-02-22 21:57:10 +01:00
Yahor Berdnikau 9ddd68f941 Convert Indexes domain entity to kotlin.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2018-02-22 21:46:53 +01:00
Yahor Berdnikau 21b3fcc77c Convert JukeboxStatus domain entity to kotlin.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2018-02-22 21:36:58 +01:00
Yahor Berdnikau 3dd7e531b9 Convert Lyrics domain entity to kotlin.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2018-02-22 21:26:40 +01:00
Yahor Berdnikau a1f2132a17 Convert MusicFolder domain entity to kotlin.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2018-02-22 21:18:24 +01:00
Yahor Berdnikau b3d70f8745 Convert Playlist domain enum to kotlin.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2018-02-22 21:16:41 +01:00
Yahor Berdnikau 5265e58d47 Convert Playlist domain entity to kotlin.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2018-02-22 21:15:32 +01:00
Yahor Berdnikau 257a014b18 Migrate PodcastsChannel entity to kotlin.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2018-02-21 22:38:13 +01:00
Yahor Berdnikau 82e265fda9 Migrate RepeatMode enum to kotlin.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2018-02-21 22:09:34 +01:00
Yahor Berdnikau 773158859e Migrate SearchCriteria entity to kotlin.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2018-02-21 22:07:11 +01:00
Yahor Berdnikau 8c5944d858 Migrate SearchResult entity to kotlin.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2018-02-21 22:05:38 +01:00
Yahor Berdnikau 20773761fa Migrate Share entity to kotlin.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2018-02-21 21:51:40 +01:00
Yahor Berdnikau cb02582740 Migrate UserInfo to Kotlin.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2018-02-20 22:08:34 +01:00
Yahor Berdnikau 4218698a16 Convert Version class to Kotlin.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2018-02-20 21:54:53 +01:00
Yahor Berdnikau ef4d606db2 Move all converters to domain package.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2018-02-17 20:36:19 +01:00
Yahor Berdnikau 365bd96f56 Remove unnecessary cast.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2018-01-20 12:53:26 +01:00
Yahor Berdnikau 749c257731 Replace generic error empty message with custom message.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2018-01-20 11:12:00 +01:00
Yahor Berdnikau 3e1dbe3476 Fix api error parses always in generic error.
Now it parses to right error representation. Also fix that right
exception for error is not thrown on api call.

Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2018-01-13 10:19:42 +01:00
Yahor Berdnikau 1e7f2989eb Append generic error message to displayed text.
As generic error can provide different reasons, it is worth to add received message to displayed error text.

Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2018-01-08 19:45:55 +01:00
Yahor Berdnikau 27465a086d Add displaying more specific api errors.
Now app will show more specific api errors to user.

Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2018-01-07 13:17:53 +01:00
Yahor Berdnikau 07802e9206 Update KtLint to 0.14.0 version.
Also fix style problems.

Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-12-21 10:58:43 +01:00
Yahor Berdnikau 5bf5af2842 Change MusicDirectoryChild ids type to String.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-12-16 21:28:18 +01:00
Yahor Berdnikau ad20064d79 Change Share id type to String.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-12-16 20:54:43 +01:00
Yahor Berdnikau 9cb6a5c4e9 Change PodcastChannel id type to String.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-12-16 20:51:07 +01:00
Yahor Berdnikau 434d07c4a3 Change Playlist id type to String.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-12-16 20:47:00 +01:00
Yahor Berdnikau f2d838cb1c Change album ids type to String.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-12-16 20:10:25 +01:00
Yahor Berdnikau a694f895e9 Change artist id type to String.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-12-16 19:50:57 +01:00
Yahor Berdnikau 66d7973c5a Replace type of id property to String.
Some api implementations are using UUID string for ids.

Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-12-12 21:08:49 +01:00
Yahor Berdnikau 6b2a682646 Add helper functions to convert api Bookmark entity to domain entity.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-11-18 21:34:03 +01:00
Yahor Berdnikau 6c1039126e Add converter function for ChatMessage entity to domain entity.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-11-16 21:32:36 +01:00
Yahor Berdnikau 2402ed6a50 Add converter from api User entity to domain entity.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-11-15 21:56:01 +01:00
Yahor Berdnikau d693971baf Add helper functions to convert api Genre to domain entity.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-11-12 00:00:28 +01:00
Yahor Berdnikau 3bbd1fb16b Add methods to convert api share entity to domain entity.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-11-10 22:00:10 +01:00
Yahor Berdnikau 17aaa0f87f Add JukeboxStatus converter to domain entity.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-11-07 21:57:43 +01:00
Yahor Berdnikau bb95d04dc5 Add method to convert list of Albums to MusicDirectory Entry list.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-09-16 20:02:44 +02:00
Yahor Berdnikau 645728c0f7 Add converting MusicDirectoryChild list to domain entities list.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-09-14 22:01:55 +02:00
Yahor Berdnikau 290eb95246 Add converting subsonic api Lyrics entity to domain entity.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-09-03 22:23:32 +02:00
Yahor Berdnikau ba0152bbca Use new subsonic api getPodcasts call in RestMusicService.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-09-03 21:42:17 +02:00
Yahor Berdnikau f7498409b9 Split new subsonic api converting extension functions into different files.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-09-02 19:40:32 +02:00
Yahor Berdnikau d82ff15f57 Add converting subsonic api Playlist entity to domain entity.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-09-01 22:46:37 +02:00
Yahor Berdnikau b8b53dc81d Add converting Playlist to MusicDirectoryDomainEntity.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-08-27 22:31:33 +02:00
Yahor Berdnikau 0f7a3cdf30 Add converting SearchThreeResult to domain entity.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-08-27 12:51:50 +02:00
Yahor Berdnikau e730347985 Add converting function from SearchTwoResult to domain SearchResult.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-08-25 21:57:23 +02:00
Yahor Berdnikau 6bfd091b6b Add function that converts SearchResult to domain entity.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-08-24 22:04:53 +02:00
Yahor Berdnikau 03fbf3dbfe Add mapping from subsonic api album entity to MusicDirectory domain entity.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-08-21 21:27:39 +02:00
Yahor Berdnikau 8c483e1f4a Add converting album api entity to domain entity.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-08-20 21:01:22 +02:00
Yahor Berdnikau 768616d14a Add converter from api MusicDirectory to domain MusicDirectory.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-08-20 15:10:34 +02:00
Yahor Berdnikau 13cf2cd8bf Add parsing shortcuts info.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-08-12 21:19:46 +02:00
Yahor Berdnikau b57a425e9d Implement converting Indexes Subsonic api entity to domain entity.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-08-12 20:19:27 +02:00
Yahor Berdnikau 3c4f91efef Change to extension functions in api converter.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-08-12 10:11:14 +02:00
Yahor Berdnikau 317ccd2ed8 Fix detekt issues.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-07-30 22:23:25 +02:00
Yahor Berdnikau 4fd5493d15 Use getMusicFolders() method from SubsonicAPI kotlin implementation.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-07-26 22:04:20 +02:00
Yahor Berdnikau 9ed0921218 Make MusicFolder has default values.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-07-26 22:02:35 +02:00