Skip to content

Instantly share code, notes, and snippets.

@andrzejchm
Last active July 12, 2016 06:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save andrzejchm/b78bb7412d31078e4d8e9841401914a9 to your computer and use it in GitHub Desktop.
Save andrzejchm/b78bb7412d31078e4d8e9841401914a9 to your computer and use it in GitHub Desktop.
public class GetUserDetailsUsecase {
private final DB db;
@Inject public GetUserDetailsUsecase(DB db) {
this.db = db;
}
public Observable<UserDetails> getUserDetails() {
return Observable.create(new Observable.OnSubscribe<UserDetails>() {
@Override public void call(Subscriber<? super UserDetails> subscriber) {
try {
UserDetails userDetails = ... //retrieve data from database here
if (!subscriber.isUnsubscribed()) {
subscriber.onNext(userDetails);
subscriber.onCompleted();
}
} catch (Exception ex) {
Log.e(ex, "error while retrieving user details");
if (!subscriber.isUnsubscribed()) {
subscriber.onError(ex);
}
}
}
});
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment