Commit Graph

109 Commits

Author SHA1 Message Date
Óscar García Amor 5363bec22b Fast and dirty fix to Subsonic 6.1.4
Signed-off-by: Óscar García Amor <ogarcia@connectical.com>
2018-11-22 15:19:19 +01: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 1c7e5bb0f2 Support json with UTF-8 bom in VersionInterceptor.
Previously it was peeking at response body and put it into intermediate
string that later used in json parsing. This preserves bom character
and leads to parse fail. Now it passes peek body input stream to
json parser that handles bom internally.

Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2018-05-15 22:10:37 +02:00
Yahor Berdnikau eb09e9b417 Update Ktlint to 0.20.0 version.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2018-03-24 19:54:12 +01:00
Yahor Berdnikau 55a0e7cb3c Update Kluent to 1.35 version.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2018-03-24 19:30:03 +01:00
Yahor Berdnikau 61b92bee39 Update Retrofit to 2.4.0 version.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2018-03-24 18:57:18 +01:00
Yahor Berdnikau 44114e90ab Increase response peek bytes to 1000.
This will increase the probability that version is parsed.

Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2018-03-18 18:38:28 +01:00
Óscar García Amor 871082aea3 Madsonic v 5.1.xxx fix (#145)
* Fixes #129

Signed-off-by: Óscar García Amor <ogarcia@connectical.com>
2018-01-23 21:07:12 +01:00
Yahor Berdnikau 7830ed3dbf Add flag to force using hex password authentication.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2018-01-21 18:06:41 +01:00
Yahor Berdnikau 0b5cc5d3f3 Make subsonic error parser more fail safe.
Now it should parse more malformed error json, though having "code" field is still mandatory.

Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2018-01-20 10:56:58 +01:00
Yahor Berdnikau fff0762e08 Add more test for error responses.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2018-01-13 10:54:30 +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 ada94dc24f Change to handle json parse exception instead of xml.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2018-01-07 13:30:37 +01:00
Yahor Berdnikau 70c2e5213c Fix checkstyle problem.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-12-27 22:28:36 +01:00
Yahor Berdnikau c9bc3df543 Merge branch 'master' into develop 2017-12-27 22:01:10 +01:00
Yahor Berdnikau 1333534988 Allow to use self-signed certificates.
By default OkHttpClient will not allow self-signed certificates, but
some of app users use them.

This is disabled by default, should be enabled explicitly.

It also allows any CN in self-signed certificate.

Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-12-26 12:34:16 +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 b2384a43ce Update api definition to use String type for ids.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-12-16 22:14:01 +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 e62e5c553c Change MusicDirectory ids type to String.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-12-16 20:43:39 +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 3fddef0ec5 Check call if it supported by current server version.
Add a api wrapper that checks if current protocol version is supported
for this call and fail fast if not.

Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-12-10 10:48:41 +01:00
Yahor Berdnikau 336f505ba5 Replace ServerTooOldException with more proper ApiNotSupportedException. 2017-12-03 14:14:01 +01:00
Yahor Berdnikau d384bcc3c5 Update dynamically client version.
Now subsonic api client will update dynamically to the supported server
api version when it doing the requests.
2017-12-02 21:51:26 +01:00
Yahor Berdnikau e838750ee2 Add proxy password interceptor.
It passes request chain either to hex password interceptor or
to md5+salt interceptor depending on current protocol version.
2017-12-02 21:51:26 +01:00
Yahor Berdnikau 0c5ac61402 Add 1.16.0 subsonic version. 2017-12-02 21:51:26 +01:00
Yahor Berdnikau c76d25e1ba Add version interceptor.
This interceptor add version param to request and peeks into response
to parse server version.

Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-12-02 21:51:26 +01:00
Yahor Berdnikau 1c56d6459b Fix subsonic accepts only lowercase md5 password hash.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-12-02 11:48:23 +01:00
Yahor Berdnikau 6b950f7b28 Extract password param providing in separate interceptors.
Added interceptor for api version before 1.12.0 and after.

Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-11-22 21:56:16 +01:00
Yahor Berdnikau 6503ce2e4c Add method to get final stream url.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-11-21 21:29:24 +01:00
Yahor Berdnikau 52545bc714 Add getAvatar() call.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-11-19 21:19:33 +01:00
Yahor Berdnikau 22ec570b69 Add updateShare() call.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-11-19 15:25:31 +01:00
Yahor Berdnikau a1d5450515 Add deleteShare() call.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-11-19 14:36:41 +01:00
Yahor Berdnikau d26b6dce7d Add getVideos() call.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-11-19 13:51:20 +01:00
Yahor Berdnikau ca2ffc7279 Add deleteBookmark() call.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-11-18 22:14:48 +01:00
Yahor Berdnikau 010d7679b9 Add createBookmark() call.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-11-18 21:55:07 +01:00
Yahor Berdnikau 0cc0bbedaf Add getBookmarks() api call.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-11-18 21:33:02 +01:00
Yahor Berdnikau c618538b14 Add addChatMessage() call.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-11-16 22:18:13 +01:00
Yahor Berdnikau c917bcb1a6 Update ktlint to 0.12.1 version.
Also updated ktlint-gradle to 2.3.0 version. Added ktlint reports to
circle CI.

Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-11-16 22:04:38 +01:00
Yahor Berdnikau 9cecebb314 Add getChatMessages() call.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-11-16 21:19:24 +01:00
Yahor Berdnikau 6b74a3e563 Add getUser api call.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-11-14 22:46:51 +01:00
Yahor Berdnikau 5ea9eb7818 Increase default read timeout to 60 sec.
Default Okhttp read timeout is 10 sec, and as subsonic servers may be
not fast, better to increase timeout.

Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-11-14 22:11:03 +01:00
Yahor Berdnikau 10e25e8597 Add getSongsByGenre api call.
Signed-off-by: Yahor Berdnikau <egorr.berd@gmail.com>
2017-11-14 21:57:28 +01:00