Trying to test new Android Room library with RxJava adapter. And I want to process the result if my query returns 0 objects from the database:
So here is the DAO method:
@Query("SELECT * FROM auth_info")
fun getAuthInfo(): Flowable<AuthResponse>
And how I process it:
database.authDao().getAuthInfo()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.switchIfEmpty { Log.d(TAG, "IS EMPTY") }
.firstOrError()
.subscribe(
{ authResponse -> Log.d(TAG, authResponse.token) },
{ error -> Log.d(TAG, error.message) })
My database is empty, so I expect .switchIfEmty () to work, but none of the processing methods fire. Neither .subscribe () nor .switchIfEmpty ()
source
share