package org.bookdash.android.presentation.bookinfo; import android.support.annotation.StringRes; import org.bookdash.android.domain.model.firebase.FireBookDetails; import org.bookdash.android.domain.model.firebase.FireContributor; import org.bookdash.android.domain.model.gson.BookPages; import org.bookdash.android.presentation.base.MvpPresenter; import org.bookdash.android.presentation.base.MvpView; import java.util.List; /** * @author rebeccafranks * @since 15/11/03. */ public interface BookInfoContract { interface View extends MvpView { void showBookDetailView(); void showError(String errorMessage); void showError(@StringRes int stringRes); void showSnackBarMessage(int message, String errorDetail); void showSnackBarMessage(int message); void showDownloadProgress(int downloadProgress); void showDownloadFinished(); void setToolbarTitle(String title); void setBookInfoBinding(FireBookDetails bookInfo); void openBook(FireBookDetails bookDetail, BookPages bookPages, String location); void showContributors(List<FireContributor> contributors); void sendShareEvent(String bookTitle); } interface Presenter extends MvpPresenter<View> { void loadContributorInformation(FireBookDetails bookDetailId); void downloadBook(FireBookDetails bookDetail); void shareBookClicked(FireBookDetails bookInfo); } }