Modify presenters to use a new Subscriber instance.

Solves #22
This commit is contained in:
Fernando Cejas
2015-07-02 00:40:08 +02:00
parent 77e719a1b7
commit d45a2cf678
2 changed files with 31 additions and 25 deletions

View File

@@ -19,8 +19,8 @@ import android.support.annotation.NonNull;
import com.fernandocejas.android10.sample.domain.User;
import com.fernandocejas.android10.sample.domain.exception.DefaultErrorBundle;
import com.fernandocejas.android10.sample.domain.exception.ErrorBundle;
import com.fernandocejas.android10.sample.domain.interactor.UseCase;
import com.fernandocejas.android10.sample.domain.interactor.DefaultSubscriber;
import com.fernandocejas.android10.sample.domain.interactor.UseCase;
import com.fernandocejas.android10.sample.presentation.exception.ErrorMessageFactory;
import com.fernandocejas.android10.sample.presentation.internal.di.PerActivity;
import com.fernandocejas.android10.sample.presentation.mapper.UserModelDataMapper;
@@ -34,7 +34,7 @@ import javax.inject.Named;
* layer.
*/
@PerActivity
public class UserDetailsPresenter extends DefaultSubscriber<User> implements Presenter {
public class UserDetailsPresenter implements Presenter {
/** id used to retrieve user details */
private int userId;
@@ -108,20 +108,23 @@ public class UserDetailsPresenter extends DefaultSubscriber<User> implements Pre
}
private void getUserDetails() {
this.getUserDetailsUseCase.execute(this);
this.getUserDetailsUseCase.execute(new UserDetailsSubscriber());
}
@Override public void onCompleted() {
this.hideViewLoading();
}
private final class UserDetailsSubscriber extends DefaultSubscriber<User> {
@Override public void onError(Throwable e) {
this.hideViewLoading();
this.showErrorMessage(new DefaultErrorBundle((Exception) e));
this.showViewRetry();
}
@Override public void onCompleted() {
UserDetailsPresenter.this.hideViewLoading();
}
@Override public void onNext(User user) {
this.showUserDetailsInView(user);
@Override public void onError(Throwable e) {
UserDetailsPresenter.this.hideViewLoading();
UserDetailsPresenter.this.showErrorMessage(new DefaultErrorBundle((Exception) e));
UserDetailsPresenter.this.showViewRetry();
}
@Override public void onNext(User user) {
UserDetailsPresenter.this.showUserDetailsInView(user);
}
}
}

View File

@@ -16,10 +16,10 @@
package com.fernandocejas.android10.sample.presentation.presenter;
import android.support.annotation.NonNull;
import com.fernandocejas.android10.sample.domain.interactor.DefaultSubscriber;
import com.fernandocejas.android10.sample.domain.User;
import com.fernandocejas.android10.sample.domain.exception.DefaultErrorBundle;
import com.fernandocejas.android10.sample.domain.exception.ErrorBundle;
import com.fernandocejas.android10.sample.domain.interactor.DefaultSubscriber;
import com.fernandocejas.android10.sample.domain.interactor.UseCase;
import com.fernandocejas.android10.sample.presentation.exception.ErrorMessageFactory;
import com.fernandocejas.android10.sample.presentation.internal.di.PerActivity;
@@ -110,20 +110,23 @@ public class UserListPresenter extends DefaultSubscriber<List<User>> implements
}
private void getUserList() {
this.getUserListUseCase.execute(this);
this.getUserListUseCase.execute(new UserListSubscriber());
}
@Override public void onCompleted() {
this.hideViewLoading();
}
private final class UserListSubscriber extends DefaultSubscriber<List<User>> {
@Override public void onError(Throwable e) {
this.hideViewLoading();
this.showErrorMessage(new DefaultErrorBundle((Exception) e));
this.showViewRetry();
}
@Override public void onCompleted() {
UserListPresenter.this.hideViewLoading();
}
@Override public void onNext(List<User> users) {
this.showUsersCollectionInView(users);
@Override public void onError(Throwable e) {
UserListPresenter.this.hideViewLoading();
UserListPresenter.this.showErrorMessage(new DefaultErrorBundle((Exception) e));
UserListPresenter.this.showViewRetry();
}
@Override public void onNext(List<User> users) {
UserListPresenter.this.showUsersCollectionInView(users);
}
}
}