Skip to content

Commit

Permalink
[Unsplash] Support sort orders
Browse files Browse the repository at this point in the history
  • Loading branch information
Bnyro committed Feb 12, 2023
1 parent cdc2686 commit bbb5d23
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 5 deletions.
6 changes: 4 additions & 2 deletions app/src/main/java/com/bnyro/wallpaper/api/us/Unsplash.kt
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,15 @@ import retrofit2.http.Query
interface Unsplash {
@GET("/napi/photos")
suspend fun getWallpapers(
@Query("page") page: Int
@Query("page") page: Int,
@Query("order_by") order: String
): List<UsImage>

@GET("/napi/search/photos")
suspend fun searchWallpapers(
@Query("page") page: Int,
@Query("query") query: String
@Query("query") query: String,
@Query("order_by") order: String
): UsSearch

@GET("/napi/photos/random")
Expand Down
8 changes: 5 additions & 3 deletions app/src/main/java/com/bnyro/wallpaper/api/us/UsApi.kt
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@ import com.bnyro.wallpaper.util.RetrofitBuilder
class UsApi() : Api() {
override val name: String = "Unsplash"
override val baseUrl: String = "https://unsplash.com"
override val filters: Map<String, List<String>> = mapOf()
override val filters: Map<String, List<String>> = mapOf(
"order_by" to listOf("latest", "oldest", "popular")
)
override val supportsTags: Boolean = true

private val api = RetrofitBuilder.create(baseUrl, Unsplash::class.java)
Expand All @@ -16,9 +18,9 @@ class UsApi() : Api() {
val tags = getTags()

val wallpapers = if (tags.isEmpty()) {
api.getWallpapers(page)
api.getWallpapers(page, getQuery("order_by"))
} else {
api.searchWallpapers(page, tags.joinToString(" ")).results
api.searchWallpapers(page, tags.joinToString(" "), getQuery("order_by")).results
}

return wallpapers.filter { it.premium != true }.map {
Expand Down

0 comments on commit bbb5d23

Please sign in to comment.