in ContentProviderPagingKotlin/app/src/main/kotlin/com.example.android.contentproviderpaging/ImageClientFragment.kt [110:136]
override fun onLoadFinished(loader: Loader<Cursor>, cursor: Cursor) {
val extras = cursor.extras
val totalSize = extras.getInt(ContentResolver.EXTRA_TOTAL_COUNT)
mAdapter!!.setTotalSize(totalSize)
val beforeCount = mAdapter!!.fetchedItemCount
while (cursor.moveToNext()) {
val displayName = cursor.getString(cursor.getColumnIndex(
ImageContract.Columns.DISPLAY_NAME))
val absolutePath = cursor.getString(cursor.getColumnIndex(
ImageContract.Columns.ABSOLUTE_PATH))
val imageDocument = ImageAdapter.ImageDocument(absolutePath, displayName)
mAdapter!!.add(imageDocument)
}
val cursorCount = cursor.count
if (cursorCount == 0) {
return
}
val activity = this@ImageClientFragment.activity
mAdapter!!.notifyItemRangeChanged(beforeCount, cursorCount)
val offsetSnapShot = mOffset.get()
val message = activity.resources
.getString(R.string.fetched_images_out_of, offsetSnapShot + 1,
offsetSnapShot + cursorCount, totalSize)
mOffset.addAndGet(cursorCount)
Toast.makeText(activity, message, Toast.LENGTH_LONG).show()
}