package com.hpw.myapp.ui.tv.contract; import com.hpw.mvpframe.base.CoreBaseModel; import com.hpw.mvpframe.base.CoreBasePresenter; import com.hpw.mvpframe.base.CoreBaseView; import com.hpw.myapp.ui.tv.model.FirstBannerBean; import com.hpw.myapp.ui.tv.model.FirstBean; import com.hpw.myapp.ui.tv.model.OtherBean; import com.hpw.myapp.ui.tv.model.TabBean; import com.hpw.myapp.ui.tv.model.TvShowBean; import java.util.List; import rx.Observable; /** * Created by hpw on 16/12/2. */ public interface TvContract { //主页接口 abstract class TvMainPresenter extends CoreBasePresenter<TvContract.TvMainModel, TvContract.TvMainView> { public abstract void getTabList(); } interface TvMainModel extends CoreBaseModel { Observable<List<TabBean>> getTabList(); } interface TvMainView extends CoreBaseView { void showTabList(List<TabBean> mTabs); } //Other接口 abstract class OtherPresenter extends CoreBasePresenter<TvContract.OtherModel, TvContract.OtherView> { public abstract void getOtherData(String url); } interface OtherModel extends CoreBaseModel { Observable<OtherBean> getOtherData(String url); } interface OtherView extends CoreBaseView { void showContent(OtherBean info); } //First接口 abstract class FirstPresenter extends CoreBasePresenter<TvContract.FirstModel, TvContract.FirstView> { public abstract void getFirstData(); public abstract void getBannerData(); public abstract void startInterval(); } interface FirstModel extends CoreBaseModel { Observable<FirstBean> getFirstData(); Observable<Object> getBannerData(); } interface FirstView extends CoreBaseView { void showContent(FirstBean info); void showBannerContent(List<FirstBannerBean> info); void doInterval(int i); } //TvShow接口 abstract class TvShowPresenter extends CoreBasePresenter<TvContract.TvShowModel, TvContract.TvShowView> { public abstract void onTvShow(String url); } interface TvShowModel extends CoreBaseModel { Observable<TvShowBean> onTvShow(String url); } interface TvShowView extends CoreBaseView { void showContent(TvShowBean info); void onConnecting(); void onReConnecting(); void onConnectSucces(); void onConnectFailed(); void onPlayComleted(); void onPlayerStart(); void onPlayePause(); } }