45 lines
1.3 KiB
Java
45 lines
1.3 KiB
Java
package org.mercury_im.messenger.persistence.room.repository;
|
|
|
|
import org.jxmpp.jid.EntityBareJid;
|
|
import org.mercury_im.messenger.persistence.model.EntityModel;
|
|
import org.mercury_im.messenger.persistence.repository.ContactRepository;
|
|
import org.mercury_im.messenger.persistence.room.dao.ContactDao;
|
|
import org.mercury_im.messenger.persistence.room.model.RoomContactModel;
|
|
|
|
import java.util.List;
|
|
|
|
import javax.inject.Inject;
|
|
|
|
import io.reactivex.Maybe;
|
|
import io.reactivex.Observable;
|
|
|
|
public class IContactRepository implements ContactRepository<RoomContactModel> {
|
|
|
|
private final ContactDao dao;
|
|
|
|
@Inject
|
|
public IContactRepository(ContactDao dao) {
|
|
this.dao = dao;
|
|
}
|
|
|
|
@Override
|
|
public Maybe<RoomContactModel> getContact(long accountId, EntityBareJid jid) {
|
|
return dao.getContactAndEntity(accountId, jid);
|
|
}
|
|
|
|
@Override
|
|
public Maybe<RoomContactModel> getContactForEntity(EntityModel entityModel) {
|
|
return getContact(entityModel.getAccountId(), entityModel.getJid());
|
|
}
|
|
|
|
@Override
|
|
public Observable<List<RoomContactModel>> getAllContactsOfAccount(long accountId) {
|
|
return dao.getAllContactAndEntities(accountId);
|
|
}
|
|
|
|
@Override
|
|
public Observable<List<RoomContactModel>> getAllContacts() {
|
|
return dao.getAllContactAndEntities();
|
|
}
|
|
}
|