package com.artemzin.qualitymatters.ui.views;
import android.support.annotation.NonNull;
import com.artemzin.qualitymatters.api.entities.Item;
import com.artemzin.qualitymatters.performance.AnyThread;
import java.util.List;
/**
* Main purpose of such interfaces — hide details of View implementation,
* such as hundred methods of {@link android.support.v4.app.Fragment}.
*/
public interface ItemsView {
// Presenter does not know about Main Thread. It's a detail of View implementation!
@AnyThread
void showLoadingUi();
@AnyThread
void showErrorUi(@NonNull Throwable error);
@AnyThread
void showContentUi(@NonNull List<Item> items);
}