package com.sxjs.jd.composition.main;
import android.util.Log;
import com.sxjs.common.base.rxjava.ErrorDisposableObserver;
import com.sxjs.common.model.DataManager;
import com.sxjs.jd.composition.BasePresenter;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import javax.inject.Inject;
import io.reactivex.disposables.Disposable;
import okhttp3.ResponseBody;
/**
* Created by admin on 2017/03/12
*/
public class MainPresenter extends BasePresenter implements MainContract.Presenter{
private DataManager mDataManager;
private MainContract.View mMainView;
private static final String TAG = "MainPresenter";
@Inject
public MainPresenter(DataManager mDataManager, MainContract.View view) {
this.mDataManager = mDataManager;
this.mMainView = view;
}
@Override
public void getText() {
mMainView.showProgressDialogView();
Disposable disposable = mDataManager.getMainData(0, 10, new ErrorDisposableObserver<ResponseBody>() {
@Override
public void onNext(ResponseBody responseBody) {
try {
mMainView.setText(responseBody.string());
} catch (IOException e) {
e.printStackTrace();
}
}
//如果需要发生Error时操作UI可以重写onError,统一错误操作可以在ErrorDisposableObserver中统一执行
@Override
public void onError(Throwable e) {
super.onError(e);
mMainView.hiddenProgressDialogView();
}
@Override
public void onComplete() {
Log.e(TAG, "onComplete: " );
mMainView.hiddenProgressDialogView();
}
});
addDisposabe(disposable);
}
@Override
public void destory() {
if(disposables != null){
disposables.clear();
}
}
@Override
public void saveData() {
HashMap<String, String> map = new HashMap<>();
map.put("username","xiaoming");
map.put("password","123456");
mDataManager.saveSPMapData(map);
}
@Override
public Map<String, String> getData() {
return mDataManager.getSPMapData();
}
}