package com.fastaccess.ui.modules.repos.code.commit;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.widget.SwipeRefreshLayout;
import com.fastaccess.data.dao.BranchesModel;
import com.fastaccess.data.dao.model.Commit;
import com.fastaccess.provider.rest.loadmore.OnLoadMore;
import com.fastaccess.ui.base.mvp.BaseMvp;
import com.fastaccess.ui.widgets.recyclerview.BaseViewHolder;
import java.util.ArrayList;
import java.util.List;
/**
* Created by Kosh on 03 Dec 2016, 3:45 PM
*/
interface RepoCommitsMvp {
interface View extends BaseMvp.FAView, SwipeRefreshLayout.OnRefreshListener,
android.view.View.OnClickListener {
void onNotifyAdapter(@Nullable List<Commit> items, int page);
@NonNull OnLoadMore getLoadMore();
void setBranchesData(@NonNull List<BranchesModel> branches, boolean firstTime);
void showBranchesProgress();
void hideBranchesProgress();
void onShowCommitCount(long sum);
}
interface Presenter extends BaseMvp.FAPresenter,
BaseViewHolder.OnItemClickListener<Commit>,
BaseMvp.PaginationListener {
void onFragmentCreated(@NonNull Bundle bundle);
@NonNull ArrayList<Commit> getCommits();
@NonNull ArrayList<BranchesModel> getBranches();
void onWorkOffline();
void onBranchChanged(@NonNull String branch);
String getDefaultBranch();
}
}