RxJava - не пойму как обернуть метод из Dao в Single в Репозитории

In Dao:

@Query("SELECT * FROM person_table WHERE status = :status_debil ORDER BY RANDOM() LIMIT 5")
    List<Person> getFivePersonsFrom(String status_debil);

In Repo:

public class PersonRepository {
//variables declared

    PersonRepository(Application application) {
        PersonRoomDatabase db = PersonRoomDatabase.getDatabase(application);
    //variables initialized
    }

//Methods
}

Что и где мне нужно написать в Repository, чтобы правильно получаемый List обернуть в Single и затем мочь дернуть метод из ViewModel указав нужные потоки?


Ответы (1 шт):

Автор решения: woesss

Не совсем понятен вопрос - в простейшем случае:
In Dao:

    @Query("SELECT * FROM person_table WHERE status = :status_genius ORDER BY RANDOM() LIMIT 5")
    Singe<List<Person>> getFivePersonsFrom(String status_genius);

In Repo:

public class PersonRepository {
//variables declared
    private PersonDao mDao;

    PersonRepository(Application application) {
        PersonRoomDatabase db = PersonRoomDatabase.getDatabase(application);
        mDao = db.getPersonDao();
    //variables initialized
    }

//Methods
    public Singe<List<Person>> getFivePersonsFrom(String status_genius) {
        return mDao.getFivePersonsFrom(status_genius);
    }
}
→ Ссылка