I'm having an issue where the following code is causing a NetworkOnMainThreadException.
InternetConnectionUtil.isInternetOn()
.flatMap { isInternetOn -> if (isInternetOn) RxFirebaseDatabase.observeValueEvent(vinylRef,{it.children.map { it.value as String }}) else Flowable.error(Exception("No internet connection")) }
.flatMap {stylesList -> Flowable.fromIterable(stylesList) }
.flatMap { style -> vinylRepository.getVinyls(style)}
.toObservable()
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(observer)
However when I mock a list of styles with:
InternetConnectionUtil.isInternetOn()
.flatMap { isInternetOn -> if (isInternetOn) Flowable.fromIterable(listOf("House")) else Flowable.error(Exception("No internet connection")) }
.flatMap { style -> vinylRepository.getVinyls(style)}
.toObservable()
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(observer)
I get an expected response... Any thoughts?