Skip to content

Instantly share code, notes, and snippets.

@Zhuinden
Last active August 11, 2016 11:03
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 Zhuinden/6767238594603b0d9d047795ecc23b4a to your computer and use it in GitHub Desktop.
Save Zhuinden/6767238594603b0d9d047795ecc23b4a to your computer and use it in GitHub Desktop.
Realm RxJava write transaction
catService.getCats()
.subscribeOn(Schedulers.io())
.retry()
.subscribe(catsBO -> {
try(Realm realm = Realm.getDefaultInstance()) {
Cat defaultCat = new Cat();
long rank;
if(realm.where(Cat.class).count() > 0) {
rank = realm.where(Cat.class).max(CatFields.RANK).longValue();
} else {
rank = 0;
}
for(CatBO catBO : catsBO.getCats()) {
defaultCat.setId(catBO.getId());
defaultCat.setRank(++rank);
defaultCat.setUrl(catBO.getUrl());
realm.insertOrUpdate(defaultCat);
}
} // auto-close because of try-with-resources
}, throwable -> {
Log.e(TAG, "An error occurred", throwable);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment