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
import android.os.Looper
import android.support.v4.util.Pair
import chat.rocket.core.SortDirection
import chat.rocket.core.models.Spotlight
import chat.rocket.core.repositories.SpotlightRepository
import chat.rocket.persistence.realm.RealmStore
......@@ -19,12 +18,11 @@ import java.util.ArrayList
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>>({
Pair<Realm, Looper>(RealmStore.getRealm(hostname), Looper.myLooper())
}, { pair -> RxJavaInterop.toV2Flowable<RealmResults<RealmSpotlight>>(pair.first.where(RealmSpotlight::class.java)
.like(Columns.NAME, "*$term*", Case.INSENSITIVE)
.findAllSorted(Columns.NAME, if (direction == SortDirection.ASC) Sort.ASCENDING else Sort.DESCENDING)
.findAllSorted(Columns.TYPE, Sort.DESCENDING)
.asObservable())
}) { pair -> close(pair.first, pair.second) }
.unsubscribeOn(AndroidSchedulers.from(Looper.myLooper()!!))
......
package chat.rocket.core.repositories
import chat.rocket.core.SortDirection
import chat.rocket.core.models.Spotlight
import io.reactivex.Flowable
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