package com.fastaccess.ui.modules.repos.code.files;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.widget.SwipeRefreshLayout;
import com.fastaccess.data.dao.model.RepoFile;
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 20 Nov 2016, 11:10 AM
*/
interface RepoFilesMvp {
interface View extends BaseMvp.FAView, SwipeRefreshLayout.OnRefreshListener {
void onNotifyAdapter();
void onItemClicked(@NonNull RepoFile model);
void onMenuClicked(@NonNull RepoFile model, android.view.View view);
void onSetData(@NonNull String login, @NonNull String repoId, @NonNull String path, @NonNull String ref,
boolean clear, @Nullable RepoFile toAppend);
boolean isRefreshing();
void onUpdateTab(@Nullable RepoFile toAppend);
}
interface Presenter extends BaseMvp.FAPresenter,
BaseViewHolder.OnItemClickListener<RepoFile> {
@NonNull ArrayList<RepoFile> getFiles();
void onWorkOffline();
void onCallApi(@Nullable RepoFile toAppend);
void onInitDataAndRequest(@NonNull String login, @NonNull String repoId, @NonNull String path,
@NonNull String ref, boolean clear, @Nullable RepoFile toAppend);
@Nullable List<RepoFile> getCachedFiles(@NonNull String url, @NonNull String ref);
}
}