package com.cheng.mvpframestudy.rxjavamvp.model.impl;
import android.util.Log;
import com.cheng.mvpframestudy.rxjavamvp.model.bean.User;
import com.cheng.mvpframestudy.rxjavamvp.model.i.IUserModel;
import com.cheng.utils.Logger;
import rx.Observable;
import rx.Subscriber;
import rx.schedulers.Schedulers;
/**
* Created by Android on 2015/12/4.
*/
public class UserModleImpl implements IUserModel {
static {
Logger.TAG = "UserModleImpl";
}
@Override
public Observable<User> getUser() {
return Observable.create(new Observable.OnSubscribe<User>() {
@Override
public void call(Subscriber<? super User> subscriber) {
try {
// 设置个2000ms的延迟,模拟网络访问、数据库操作等等延时操作
Thread.sleep(2000);
} catch (InterruptedException e) {
Logger.e(e);
}
final User user = new User("Java");
if (user == null) {
subscriber.onError(new Exception("User = null"));
} else {
subscriber.onNext(user);
subscriber.onCompleted();
}
}
}).subscribeOn(Schedulers.io());
}
}