Commit 15b8e060 authored by Filipe de Lima Brito's avatar Filipe de Lima Brito

Update SpotlightRepository.kt and RealmSpotlightRepository.kt

parent 1397823a
...@@ -2,7 +2,6 @@ package chat.rocket.persistence.realm.repositories ...@@ -2,7 +2,6 @@ package chat.rocket.persistence.realm.repositories
import android.os.Looper import android.os.Looper
import android.support.v4.util.Pair import android.support.v4.util.Pair
import chat.rocket.core.SortDirection
import chat.rocket.core.models.Spotlight import chat.rocket.core.models.Spotlight
import chat.rocket.core.repositories.SpotlightRepository import chat.rocket.core.repositories.SpotlightRepository
import chat.rocket.persistence.realm.RealmStore import chat.rocket.persistence.realm.RealmStore
...@@ -19,12 +18,11 @@ import java.util.ArrayList ...@@ -19,12 +18,11 @@ import java.util.ArrayList
class RealmSpotlightRepository(private val hostname: String) : RealmRepository(), SpotlightRepository { class RealmSpotlightRepository(private val hostname: String) : RealmRepository(), SpotlightRepository {
override fun getSuggestionsFor(term: String, direction: SortDirection, limit: Int): Flowable<List<Spotlight>> { override fun getSuggestionsFor(term: String, limit: Int): Flowable<List<Spotlight>> {
return Flowable.defer { Flowable.using<RealmResults<RealmSpotlight>, Pair<Realm, Looper>>({ return Flowable.defer { Flowable.using<RealmResults<RealmSpotlight>, Pair<Realm, Looper>>({
Pair<Realm, Looper>(RealmStore.getRealm(hostname), Looper.myLooper()) Pair<Realm, Looper>(RealmStore.getRealm(hostname), Looper.myLooper())
}, { pair -> RxJavaInterop.toV2Flowable<RealmResults<RealmSpotlight>>(pair.first.where(RealmSpotlight::class.java) }, { pair -> RxJavaInterop.toV2Flowable<RealmResults<RealmSpotlight>>(pair.first.where(RealmSpotlight::class.java)
.like(Columns.NAME, "*$term*", Case.INSENSITIVE) .findAllSorted(Columns.TYPE, Sort.DESCENDING)
.findAllSorted(Columns.NAME, if (direction == SortDirection.ASC) Sort.ASCENDING else Sort.DESCENDING)
.asObservable()) .asObservable())
}) { pair -> close(pair.first, pair.second) } }) { pair -> close(pair.first, pair.second) }
.unsubscribeOn(AndroidSchedulers.from(Looper.myLooper()!!)) .unsubscribeOn(AndroidSchedulers.from(Looper.myLooper()!!))
......
package chat.rocket.core.repositories package chat.rocket.core.repositories
import chat.rocket.core.SortDirection
import chat.rocket.core.models.Spotlight import chat.rocket.core.models.Spotlight
import io.reactivex.Flowable import io.reactivex.Flowable
interface SpotlightRepository { interface SpotlightRepository {
fun getSuggestionsFor(term: String, direction: SortDirection, limit: Int): Flowable<List<Spotlight>> fun getSuggestionsFor(term: String, limit: Int): Flowable<List<Spotlight>>
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment