observe changes a bit reworked

This commit is contained in:
Gavriil Sitnikov 2016-07-20 15:14:05 +03:00
parent 9c72590c4c
commit 7fc7d599ef
1 changed files with 3 additions and 4 deletions

View File

@ -65,11 +65,10 @@ public abstract class ObservableCollection<TItem> implements Serializable {
@NonNull
private Observable<Collection<TItem>> createItemsObservable() {
return Observable
.<Collection<TItem>>create(subscriber -> {
subscriber.onNext(getItems());
.<Collection<TItem>>switchOnNext(Observable.create(subscriber -> {
subscriber.onNext(observeChanges().map(changes -> getItems()).startWith(getItems()));
subscriber.onCompleted();
})
.switchMap(initialItems -> observeChanges().map(changes -> getItems()).startWith(initialItems))
}))
.replay(1)
.refCount();
}