|
@@ -6,6 +6,7 @@ import androidx.appcompat.app.AppCompatActivity
|
|
|
import androidx.appcompat.widget.SearchView
|
|
|
import androidx.lifecycle.lifecycleScope
|
|
|
import androidx.recyclerview.widget.GridLayoutManager
|
|
|
+import androidx.recyclerview.widget.RecyclerView
|
|
|
import com.livelike.flickersearchlibrary.databinding.ActivityFlickrPhotosBinding
|
|
|
import com.livelike.flickersearchlibrary.ui.adapter.FlickrPhotosAdapter
|
|
|
|
|
@@ -20,6 +21,7 @@ class FlickrPhotosActivity : AppCompatActivity() {
|
|
|
|
|
|
private companion object {
|
|
|
private const val PHOTOS_DEFAULT_COLUMN_COUNT = 3
|
|
|
+ private const val BOTTOM_DIRECTION = 1
|
|
|
}
|
|
|
|
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
@@ -57,11 +59,20 @@ class FlickrPhotosActivity : AppCompatActivity() {
|
|
|
return true
|
|
|
}
|
|
|
})
|
|
|
+
|
|
|
+ views.gridView.addOnScrollListener(object : RecyclerView.OnScrollListener() {
|
|
|
+ override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
|
|
|
+ super.onScrolled(recyclerView, dx, dy)
|
|
|
+ if (!recyclerView.canScrollVertically(BOTTOM_DIRECTION)) {
|
|
|
+ viewModel.loadMorePhotos()
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
private fun setupObservers() {
|
|
|
viewModel.photos.observe(this) {
|
|
|
- photosAdapter.setItems(it)
|
|
|
+ photosAdapter.appendItems(it)
|
|
|
}
|
|
|
}
|
|
|
|