api: add support for pagination

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
This commit is contained in:
Harsh Shandilya 2020-09-23 15:27:10 +05:30
parent 93985ee02d
commit e7860e4f55
No known key found for this signature in database
GPG key ID: 366D7BBAD1031E80
3 changed files with 4 additions and 3 deletions

View file

@ -37,7 +37,7 @@ class MainActivity : AppCompatActivity() {
val coroutineScope = rememberCoroutineScope()
val posts = mutableStateListOf<LobstersPost>()
coroutineScope.launch {
posts.addAll(apiClient.getHottestPosts())
posts.addAll(apiClient.getHottestPosts(1))
}
LobstersApp(posts)
}

View file

@ -2,8 +2,9 @@ package dev.msfjarvis.lobsters.api
import dev.msfjarvis.lobsters.model.LobstersPost
import retrofit2.http.GET
import retrofit2.http.Query
interface LobstersApi {
@GET("hottest.json")
suspend fun getHottestPosts(): List<LobstersPost>
suspend fun getHottestPosts(@Query("page") page: Int): List<LobstersPost>
}

View file

@ -27,7 +27,7 @@ class LobstersApiTest {
@Test
fun `api gets correct number of items`() = runBlocking {
val posts = apiClient.getHottestPosts()
val posts = apiClient.getHottestPosts(1)
assertEquals(25, posts.size)
}