package com.dingmouren.dingdingmusic.ui.rock; import com.dingmouren.dingdingmusic.Constant; import com.dingmouren.dingdingmusic.MyApplication; import com.dingmouren.dingdingmusic.api.ApiManager; import com.dingmouren.dingdingmusic.bean.MusicBean; import java.util.List; import rx.Observable; import rx.android.schedulers.AndroidSchedulers; import rx.schedulers.Schedulers; /** * Created by dingmouren on 2017/2/15. */ public class RockPresenter implements RockConstract.Presenter { private static final String TAG = RockPresenter.class.getName(); private RockConstract.View mView; public RockPresenter(RockConstract.View view) { this.mView = view; } @Override public void requestData() { ApiManager.getApiManager().getQQMusicApiService() .getQQMusic(Constant.QQ_MUSIC_APP_ID, Constant.QQ_MUSIC_SIGN,Constant.MUSIC_ROCK) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(qqMusicBodyQQMusicResult -> parseData(Constant.MUSIC_ROCK,qqMusicBodyQQMusicResult.getShowapi_res_body().getPagebean().getSonglist()),this:: loadError); } private void loadError(Throwable throwable) { throwable.printStackTrace(); } private void parseData(String topic,List<MusicBean> list){ mView.setData(list); if (null != topic && null != list) { Observable.from(list).observeOn(Schedulers.io()).subscribe(bean -> { bean.setType(Integer.parseInt(topic)); MyApplication.getDaoSession().getMusicBeanDao().insertOrReplace(bean); }); } } }