package com.badoo.chateau.ui.chat.info;
import android.support.annotation.NonNull;
import com.badoo.barf.mvp.BaseRxPresenter;
import com.badoo.barf.rx.ScheduleOn;
import com.badoo.chateau.core.model.Conversation;
import com.badoo.chateau.core.usecases.conversations.GetConversation;
/**
*/
public class BaseChatInfoPresenter<C extends Conversation> extends BaseRxPresenter implements ChatInfoPresenter<C> {
@NonNull
private final ChatInfoView<C> mView;
@NonNull
private final String mConversationId;
@NonNull
private final GetConversation<C> mGetConversation;
public BaseChatInfoPresenter(@NonNull ChatInfoView<C> view,
@NonNull String conversationId,
@NonNull GetConversation<C> getConversation) {
mView = view;
mConversationId = conversationId;
mGetConversation = getConversation;
}
@Override
public void onStart() {
super.onStart();
manage(mGetConversation.execute(mConversationId)
.compose(ScheduleOn.io())
.subscribe(mView::showConversation));
}
}