Skip to content

Commit 3077dfa

Browse files
committed
bump version, lint, compare non-case sensitive against AlbumResultType
1 parent 37b49c2 commit 3077dfa

File tree

9 files changed

+395
-331
lines changed

9 files changed

+395
-331
lines changed

.idea/codeStyles/codeStyleConfig.xml

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

README.md

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,19 +28,30 @@ This library is available via Maven Central [here](https://search.maven.org/arti
2828
<dependency>
2929
<groupId>com.adamratzman</groupId>
3030
<artifactId>spotify-api-kotlin</artifactId>
31-
<version>2.1.2</version>
31+
<version>2.1.3</version>
3232
</dependency>
33+
34+
<repository>
35+
<id>jcenter</id>
36+
<name>jcenter-bintray</name>
37+
<url>http://jcenter.bintray.com</url>
38+
</repository>
3339
```
3440

3541
### Gradle
3642
```
37-
compile group: 'com.adamratzman', name: 'spotify-api-kotlin', version: '2.1.2'
43+
repositories {
44+
jcenter()
45+
}
46+
47+
compile group: 'com.adamratzman', name: 'spotify-api-kotlin', version: '2.1.3'
3848
```
3949

40-
To use the latest snapshot instead, you must add the Jitpack repository
50+
To use the latest snapshot instead, you must add the Jitpack repository as well
4151
```
4252
repositories {
43-
maven { url 'https://jitpack.io' }
53+
jcenter()
54+
maven { url 'https://jitpack.io' }
4455
}
4556
```
4657
Then, you can use the following:

src/main/kotlin/com/adamratzman/spotify/endpoints/public/FollowingAPI.kt

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,13 @@ package com.adamratzman.spotify.endpoints.public
33

44
import com.adamratzman.spotify.main.SpotifyAPI
55
import com.adamratzman.spotify.main.SpotifyRestAction
6-
import com.adamratzman.spotify.utils.*
6+
import com.adamratzman.spotify.utils.BadRequestException
7+
import com.adamratzman.spotify.utils.EndpointBuilder
8+
import com.adamratzman.spotify.utils.PlaylistURI
9+
import com.adamratzman.spotify.utils.SpotifyEndpoint
10+
import com.adamratzman.spotify.utils.UserURI
11+
import com.adamratzman.spotify.utils.encode
12+
import com.adamratzman.spotify.utils.toArray
713
import java.util.function.Supplier
814

915
/**
@@ -29,8 +35,8 @@ open class FollowingAPI(api: SpotifyAPI) : SpotifyEndpoint(api) {
2935
return toAction(Supplier {
3036
val user = UserURI(playlistOwner)
3137
get(
32-
EndpointBuilder("/users/${user.id.encode()}/playlists/${PlaylistURI(playlist).id.encode()}/followers/contains")
33-
.with("ids", users.joinToString(",") { UserURI(it).id.encode() }).toString()
38+
EndpointBuilder("/users/${user.id.encode()}/playlists/${PlaylistURI(playlist).id.encode()}/followers/contains")
39+
.with("ids", users.joinToString(",") { UserURI(it).id.encode() }).toString()
3440
).toArray<Boolean>(api)
3541
})
3642
}
@@ -49,9 +55,9 @@ open class FollowingAPI(api: SpotifyAPI) : SpotifyEndpoint(api) {
4955
fun isFollowingPlaylist(playlistOwner: String, playlist: String, user: String): SpotifyRestAction<Boolean> {
5056
return toAction(Supplier {
5157
areFollowingPlaylist(
52-
playlistOwner,
53-
playlist,
54-
users = *arrayOf(user)
58+
playlistOwner,
59+
playlist,
60+
users = *arrayOf(user)
5561
).complete()[0]
5662
})
5763
}

src/main/kotlin/com/adamratzman/spotify/endpoints/public/PlaylistsAPI.kt

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,22 @@ package com.adamratzman.spotify.endpoints.public
44
import com.adamratzman.spotify.main.SpotifyAPI
55
import com.adamratzman.spotify.main.SpotifyRestAction
66
import com.adamratzman.spotify.main.SpotifyRestActionPaging
7-
import com.adamratzman.spotify.utils.*
7+
import com.adamratzman.spotify.utils.BadRequestException
8+
import com.adamratzman.spotify.utils.EndpointBuilder
9+
import com.adamratzman.spotify.utils.Market
10+
import com.adamratzman.spotify.utils.PagingObject
11+
import com.adamratzman.spotify.utils.Playlist
12+
import com.adamratzman.spotify.utils.PlaylistTrack
13+
import com.adamratzman.spotify.utils.PlaylistURI
14+
import com.adamratzman.spotify.utils.SimplePlaylist
15+
import com.adamratzman.spotify.utils.SpotifyEndpoint
16+
import com.adamratzman.spotify.utils.SpotifyImage
17+
import com.adamratzman.spotify.utils.UserURI
18+
import com.adamratzman.spotify.utils.catch
19+
import com.adamratzman.spotify.utils.encode
20+
import com.adamratzman.spotify.utils.toArray
21+
import com.adamratzman.spotify.utils.toObject
22+
import com.adamratzman.spotify.utils.toPagingObject
823
import java.util.function.Supplier
924

1025
/**
@@ -32,9 +47,9 @@ open class PlaylistsAPI(api: SpotifyAPI) : SpotifyEndpoint(api) {
3247
): SpotifyRestActionPaging<SimplePlaylist, PagingObject<SimplePlaylist>> {
3348
return toActionPaging(Supplier {
3449
get(
35-
EndpointBuilder("/users/${UserURI(user).id.encode()}/playlists").with("limit", limit).with(
36-
"offset", offset
37-
).toString()
50+
EndpointBuilder("/users/${UserURI(user).id.encode()}/playlists").with("limit", limit).with(
51+
"offset", offset
52+
).toString()
3853
).toPagingObject<SimplePlaylist>(endpoint = this)
3954
})
4055
}
@@ -51,8 +66,8 @@ open class PlaylistsAPI(api: SpotifyAPI) : SpotifyEndpoint(api) {
5166
return toAction(Supplier {
5267
catch {
5368
get(
54-
EndpointBuilder("/playlists/${PlaylistURI(playlist).id.encode()}")
55-
.with("market", market?.code).toString()
69+
EndpointBuilder("/playlists/${PlaylistURI(playlist).id.encode()}")
70+
.with("market", market?.code).toString()
5671
).toObject<Playlist>(api)
5772
}
5873
})
@@ -76,10 +91,10 @@ open class PlaylistsAPI(api: SpotifyAPI) : SpotifyEndpoint(api) {
7691
): SpotifyRestActionPaging<PlaylistTrack, PagingObject<PlaylistTrack>> {
7792
return toActionPaging(Supplier {
7893
get(
79-
EndpointBuilder("/playlists/${PlaylistURI(playlist).id.encode()}/tracks").with("limit", limit)
80-
.with("offset", offset).with("market", market?.code).toString()
94+
EndpointBuilder("/playlists/${PlaylistURI(playlist).id.encode()}/tracks").with("limit", limit)
95+
.with("offset", offset).with("market", market?.code).toString()
8196
)
82-
.toPagingObject<PlaylistTrack>(null, this)
97+
.toPagingObject<PlaylistTrack>(null, this)
8398
})
8499
}
85100

@@ -92,7 +107,7 @@ open class PlaylistsAPI(api: SpotifyAPI) : SpotifyEndpoint(api) {
92107
fun getPlaylistCovers(playlist: String): SpotifyRestAction<List<SpotifyImage>> {
93108
return toAction(Supplier {
94109
get(EndpointBuilder("/playlists/${PlaylistURI(playlist).id.encode()}/images").toString())
95-
.toArray<SpotifyImage>(api).toList()
110+
.toArray<SpotifyImage>(api).toList()
96111
})
97112
}
98113
}

src/main/kotlin/com/adamratzman/spotify/main/SpotifyAPI.kt

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,33 @@
11
/* Created by Adam Ratzman (2018) */
22
package com.adamratzman.spotify.main
33

4-
import com.adamratzman.spotify.endpoints.client.*
5-
import com.adamratzman.spotify.endpoints.public.*
6-
import com.adamratzman.spotify.utils.*
4+
import com.adamratzman.spotify.endpoints.client.ClientFollowingAPI
5+
import com.adamratzman.spotify.endpoints.client.ClientLibraryAPI
6+
import com.adamratzman.spotify.endpoints.client.ClientPersonalizationAPI
7+
import com.adamratzman.spotify.endpoints.client.ClientPlayerAPI
8+
import com.adamratzman.spotify.endpoints.client.ClientPlaylistAPI
9+
import com.adamratzman.spotify.endpoints.client.ClientUserAPI
10+
import com.adamratzman.spotify.endpoints.public.AlbumAPI
11+
import com.adamratzman.spotify.endpoints.public.ArtistsAPI
12+
import com.adamratzman.spotify.endpoints.public.BrowseAPI
13+
import com.adamratzman.spotify.endpoints.public.FollowingAPI
14+
import com.adamratzman.spotify.endpoints.public.PlaylistsAPI
15+
import com.adamratzman.spotify.endpoints.public.SearchAPI
16+
import com.adamratzman.spotify.endpoints.public.TracksAPI
17+
import com.adamratzman.spotify.endpoints.public.UserAPI
18+
import com.adamratzman.spotify.utils.HttpConnection
19+
import com.adamratzman.spotify.utils.HttpHeader
20+
import com.adamratzman.spotify.utils.HttpRequestMethod
21+
import com.adamratzman.spotify.utils.SpotifyEndpoint
22+
import com.adamratzman.spotify.utils.Token
23+
import com.adamratzman.spotify.utils.byteEncode
24+
import com.adamratzman.spotify.utils.getAlbumConverter
25+
import com.adamratzman.spotify.utils.getFeaturedPlaylistsConverter
26+
import com.adamratzman.spotify.utils.getPlaylistConverter
27+
import com.adamratzman.spotify.utils.getPublicUserConverter
28+
import com.adamratzman.spotify.utils.getSavedTrackConverter
29+
import com.adamratzman.spotify.utils.toObject
30+
import com.adamratzman.spotify.utils.toObjectNullable
731
import com.beust.klaxon.Klaxon
832
import java.util.concurrent.Executors
933
import java.util.concurrent.TimeUnit
@@ -416,4 +440,4 @@ private fun getKlaxon(api: SpotifyAPI) = Klaxon()
416440
.converter(getPlaylistConverter(api))
417441
.converter(getAlbumConverter(api))
418442
.converter(getSavedTrackConverter(api))
419-
.converter(getPublicUserConverter(api))
443+
.converter(getPublicUserConverter(api))

src/main/kotlin/com/adamratzman/spotify/utils/Helpers.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import com.beust.klaxon.Json
77
import com.beust.klaxon.JsonBase
88
import com.beust.klaxon.Klaxon
99
import java.net.URLEncoder
10-
import java.util.*
10+
import java.util.Base64
1111

1212
/**
1313
* The cursor to use as key to find the next (or previous) page of items.
@@ -60,8 +60,8 @@ internal inline fun <reified T> String.toArray(o: SpotifyAPI?): List<T> {
6060
}
6161

6262
internal inline fun <reified T> String.toPagingObject(
63-
innerObjectName: String? = null,
64-
endpoint: SpotifyEndpoint
63+
innerObjectName: String? = null,
64+
endpoint: SpotifyEndpoint
6565
): PagingObject<T> {
6666
val jsonObject = endpoint.api.klaxon.parseJsonObject(this.reader())
6767
.let { if (innerObjectName != null) it.obj(innerObjectName)!! else it }
@@ -81,8 +81,8 @@ internal inline fun <reified T> String.toPagingObject(
8181
}
8282

8383
internal inline fun <reified T> String.toCursorBasedPagingObject(
84-
innerObjectName: String? = null,
85-
endpoint: SpotifyEndpoint
84+
innerObjectName: String? = null,
85+
endpoint: SpotifyEndpoint
8686
): CursorBasedPagingObject<T> {
8787
val jsonObject = endpoint.api.klaxon.parseJsonObject(this.reader())
8888
.let { if (innerObjectName != null) it.obj(innerObjectName)!! else it }

0 commit comments

Comments
 (0)