Slide 47
Slide 47 text
CROSS THE STREAMS
@Override
public synchronized void post(Object event) {
if (event instanceof AlbumResponse || event instanceof AlbumError) {
albumResponse = event;
}
if (event instanceof LooksResponse || event instanceof LooksError) {
looksResponse = event;
}
if (event instanceof SaveDraftsResponse || event instanceof SaveDraftsError) {
draftsResponse = event;
}
if (looksResponse == null || draftsResponse == null || albumResponse == null) {
return;
}
if (draftsResponse instanceof SaveDraftsResponse && looksResponse instanceof LooksResponse) {
postable.post(new CombinedAlbumResponse(getAlbum(), ((SaveDraftsResponse)
draftsResponse).drafts(), (LooksResponse) looksResponse));
clear();
} else if (draftsResponse instanceof SaveDraftsResponse &&
looksResponse instanceof BaseError && (((BaseError) looksResponse).isReasonNoConnection()
||
terminationError((BaseError) looksResponse))) {
postable.post(new CombinedAlbumResponse(getAlbum(), ((SaveDraftsResponse)
draftsResponse).drafts(), new LooksResponse( new ArrayList(), false)));
clear();
} else if (draftsResponse instanceof BaseError) {
postable.post(looksResponse);
clear();
}
}