package com.wangdaye.mysplash.main.presenter.widget; import com.wangdaye.mysplash.common.i.model.LoadModel; import com.wangdaye.mysplash.common.i.presenter.LoadPresenter; import com.wangdaye.mysplash.common.i.view.LoadView; import com.wangdaye.mysplash.main.model.widget.LoadObject; /** * Load implementor. * * A {@link LoadPresenter} for {@link com.wangdaye.mysplash.common.i.view.LoadView} * in {@link com.wangdaye.mysplash.main.view.widget}. * * */ public class LoadImplementor implements LoadPresenter { private LoadModel model; private LoadView view; public LoadImplementor(LoadModel model, LoadView view) { this.model = model; this.view = view; } @Override public void setLoadingState() { switch (model.getState()) { case LoadObject.FAILED_STATE: model.setState(LoadObject.LOADING_STATE); view.setLoadingState(); break; case LoadObject.NORMAL_STATE: model.setState(LoadObject.LOADING_STATE); view.resetLoadingState(); break; } } @Override public void setFailedState() { if (model.getState() == LoadObject.LOADING_STATE) { model.setState(LoadObject.FAILED_STATE); view.setFailedState(); } } @Override public void setNormalState() { if (model.getState() == LoadObject.LOADING_STATE) { model.setState(LoadObject.NORMAL_STATE); view.setNormalState(); } } @Override public int getLoadState() { return model.getState(); } }