This is an automated email from the ASF dual-hosted git repository. rajanmaurya154 pushed a commit to branch development in repository https://gitbox.apache.org/repos/asf/fineract-cn-mobile.git
commit bca0f71d05357c68a2947981abdd34e4702349bf Author: miPlodder <[email protected]> AuthorDate: Sun May 5 15:21:45 2019 +0530 FINCN-151 : Filters fixed in Identification Cards --- .../IdentificationsContract.java | 4 +-- .../IdentificationsFragment.java | 9 +++--- .../IdentificationsPresenter.java | 32 ++++++---------------- 3 files changed, 14 insertions(+), 31 deletions(-) diff --git a/app/src/main/java/org/apache/fineract/ui/online/identification/identificationlist/IdentificationsContract.java b/app/src/main/java/org/apache/fineract/ui/online/identification/identificationlist/IdentificationsContract.java index 5127e53..4812a3f 100644 --- a/app/src/main/java/org/apache/fineract/ui/online/identification/identificationlist/IdentificationsContract.java +++ b/app/src/main/java/org/apache/fineract/ui/online/identification/identificationlist/IdentificationsContract.java @@ -27,13 +27,13 @@ public interface IdentificationsContract { void showMessage(String message); - void searchIdentificationList(Identification identification); + void searchedIdentifications(List<Identification> identification); } interface Presenter { void fetchIdentifications(String customerIdentifier); - void searchIdentifications(String identifier, String number); + void searchIdentifications(List<Identification> identificationList, String query); } } diff --git a/app/src/main/java/org/apache/fineract/ui/online/identification/identificationlist/IdentificationsFragment.java b/app/src/main/java/org/apache/fineract/ui/online/identification/identificationlist/IdentificationsFragment.java index fa7613e..c9e2193 100644 --- a/app/src/main/java/org/apache/fineract/ui/online/identification/identificationlist/IdentificationsFragment.java +++ b/app/src/main/java/org/apache/fineract/ui/online/identification/identificationlist/IdentificationsFragment.java @@ -29,7 +29,6 @@ import org.apache.fineract.ui.online.identification.identificationdetails.Identi import org.apache.fineract.utils.ConstantKeys; import java.util.ArrayList; -import java.util.Collections; import java.util.List; import javax.inject.Inject; @@ -175,8 +174,8 @@ public class IdentificationsFragment extends FineractBaseFragment implements } @Override - public void searchIdentificationList(Identification identification) { - identificationAdapter.setIdentifications(Collections.singletonList(identification)); + public void searchedIdentifications(List<Identification> identification) { + identificationAdapter.setIdentifications(identification); } @Override @@ -209,7 +208,7 @@ public class IdentificationsFragment extends FineractBaseFragment implements searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() { @Override public boolean onQueryTextSubmit(String query) { - identificationsPresenter.searchIdentifications(customerIdentifier, query); + identificationsPresenter.searchIdentifications(identifications, query); return false; } @@ -218,7 +217,7 @@ public class IdentificationsFragment extends FineractBaseFragment implements if (TextUtils.isEmpty(newText)) { identificationAdapter.setIdentifications(identifications); } - + identificationsPresenter.searchIdentifications(identifications, newText); return false; } }); diff --git a/app/src/main/java/org/apache/fineract/ui/online/identification/identificationlist/IdentificationsPresenter.java b/app/src/main/java/org/apache/fineract/ui/online/identification/identificationlist/IdentificationsPresenter.java index ed7d8e2..dd7f3b6 100644 --- a/app/src/main/java/org/apache/fineract/ui/online/identification/identificationlist/IdentificationsPresenter.java +++ b/app/src/main/java/org/apache/fineract/ui/online/identification/identificationlist/IdentificationsPresenter.java @@ -13,8 +13,10 @@ import java.util.List; import javax.inject.Inject; +import io.reactivex.Observable; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.disposables.CompositeDisposable; +import io.reactivex.functions.Predicate; import io.reactivex.observers.DisposableObserver; import io.reactivex.schedulers.Schedulers; @@ -83,33 +85,15 @@ public class IdentificationsPresenter extends BasePresenter<IdentificationsContr } @Override - public void searchIdentifications(String identifier, String number) { + public void searchIdentifications(List<Identification> identificationList, final String query) { checkViewAttached(); - getMvpView().showProgressbar(); - - compositeDisposable.add(dataManagerCustomer.searchIdentifications(identifier, number) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .subscribeWith(new DisposableObserver<Identification>() { - + getMvpView().searchedIdentifications(Observable.fromIterable(identificationList). + filter(new Predicate<Identification>() { @Override - public void onNext(Identification identification) { - getMvpView().hideProgressbar(); - getMvpView().searchIdentificationList(identification); + public boolean test(Identification identification) { + return identification.getType().toLowerCase().contains(query.toLowerCase()); } - - @Override - public void onError(Throwable e) { - showExceptionError(e, context.getString - (R.string.error_finding_identification)); - } - - @Override - public void onComplete() { - - } - - })); + }).toList().blockingGet()); }
