Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- inline fun <T : Any> ContentResolver.itemsFor(
- crossinline queryRawData: ContentResolver.() -> Cursor,
- crossinline mapRawData: (Cursor) -> T): Flowable<T> =
- Flowable.generate<T, Cursor>(
- Callable<Cursor> { queryRawData(this) },
- BiFunction<Cursor, Emitter<T>, Cursor> { cursor, emitter ->
- if (cursor.moveToNext()) {
- emitter.onNext(mapRawData(cursor))
- } else {
- emitter.onComplete()
- }
- return@BiFunction cursor
- },
- Consumer<Cursor> { cursor -> cursor.close() }
- )
Add Comment
Please, Sign In to add comment