Merge pull request #66 from TouchInstinct/changes_fix

Changes fix
This commit is contained in:
Gavriil 2017-07-05 15:26:57 +03:00 committed by GitHub
commit 1c17b565c7
2 changed files with 5 additions and 13 deletions

View File

@ -27,8 +27,8 @@ dependencies {
compile 'io.reactivex:rxandroid:1.2.1'
compile 'io.reactivex:rxjava:1.3.0'
provided 'com.android.support:appcompat-v7:25.3.1'
provided 'com.android.support:recyclerview-v7:25.3.1'
provided 'com.android.support:appcompat-v7:25.4.0'
provided 'com.android.support:recyclerview-v7:25.4.0'
provided 'com.squareup.retrofit2:retrofit:2.3.0'
provided('com.google.http-client:google-http-client-jackson2:1.22.0') {
@ -44,7 +44,7 @@ dependencies {
exclude group: 'org.json', module: 'json'
}
provided('com.crashlytics.sdk.android:crashlytics:2.6.7@aar') {
provided('com.crashlytics.sdk.android:crashlytics:2.6.8@aar') {
transitive = true;
}

View File

@ -31,7 +31,6 @@ import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
import ru.touchin.roboswag.core.log.Lc;
import ru.touchin.roboswag.core.observables.collections.Change;
import ru.touchin.roboswag.core.observables.collections.ObservableCollection;
import ru.touchin.roboswag.core.observables.collections.ObservableList;
import rx.Completable;
@ -77,15 +76,8 @@ public abstract class Chat<TOutgoingMessage> {
final List<TOutgoingMessage> reversedMessages = new ArrayList<>(initialMessages);
Collections.reverse(reversedMessages);
return Observable.from(reversedMessages)
.concatWith(sendingMessages.observeChanges().concatMap(changes -> {
final Collection<TOutgoingMessage> insertedMessages = new ArrayList<>();
for (final Change<TOutgoingMessage> change : changes.getChanges()) {
if (change.getType() == Change.Type.INSERTED) {
insertedMessages.addAll(change.getChangedItems());
}
}
return insertedMessages.isEmpty() ? Observable.empty() : Observable.from(insertedMessages);
}))
.concatWith(sendingMessages.observeChanges().concatMap(changes ->
changes.getInsertedItems().isEmpty() ? Observable.empty() : Observable.from(changes.getInsertedItems())))
//observe on some scheduler?
.flatMap(message -> internalSendMessage(message).toObservable());
});