You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@fineract.apache.org by ra...@apache.org on 2019/05/31 17:22:01 UTC
[fineract-cn-mobile] 01/05: FINCN-147: Search not working in Ledger,
Accounts, Tellers
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 ebff7e8fb21378323d2f841aadb60a26fc1e461a
Author: miPlodder <ac...@gmail.com>
AuthorDate: Mon Apr 29 16:07:24 2019 +0530
FINCN-147: Search not working in Ledger, Accounts, Tellers
---
.../online/accounting/accounts/AccountContract.kt | 4 +--
.../online/accounting/accounts/AccountsFragment.kt | 8 +++---
.../accounting/accounts/AccountsPresenter.kt | 30 ++++++--------------
.../ui/online/accounting/ledgers/LedgerContract.kt | 4 +--
.../ui/online/accounting/ledgers/LedgerFragment.kt | 9 +++---
.../online/accounting/ledgers/LedgerPresenter.kt | 31 ++++++---------------
.../fineract/ui/online/teller/TellerContract.kt | 4 ++-
.../fineract/ui/online/teller/TellerFragment.kt | 8 +++---
.../fineract/ui/online/teller/TellerPresenter.kt | 32 ++++++----------------
9 files changed, 46 insertions(+), 84 deletions(-)
diff --git a/app/src/main/java/org/apache/fineract/ui/online/accounting/accounts/AccountContract.kt b/app/src/main/java/org/apache/fineract/ui/online/accounting/accounts/AccountContract.kt
index 3fab8a6..9491718 100644
--- a/app/src/main/java/org/apache/fineract/ui/online/accounting/accounts/AccountContract.kt
+++ b/app/src/main/java/org/apache/fineract/ui/online/accounting/accounts/AccountContract.kt
@@ -19,7 +19,7 @@ interface AccountContract {
fun hideProgressbar()
- fun searchedAccount(account: Account)
+ fun searchedAccount(accounts: List<Account>)
}
@@ -28,6 +28,6 @@ interface AccountContract {
fun getAccountsPage()
- fun searchAccount(query: String)
+ fun searchAccount(account: List<Account>, query: String)
}
}
\ No newline at end of file
diff --git a/app/src/main/java/org/apache/fineract/ui/online/accounting/accounts/AccountsFragment.kt b/app/src/main/java/org/apache/fineract/ui/online/accounting/accounts/AccountsFragment.kt
index a195fe3..891ec82 100644
--- a/app/src/main/java/org/apache/fineract/ui/online/accounting/accounts/AccountsFragment.kt
+++ b/app/src/main/java/org/apache/fineract/ui/online/accounting/accounts/AccountsFragment.kt
@@ -92,7 +92,7 @@ class AccountsFragment : FineractBaseFragment(), AccountContract.View, SwipeRefr
searchView?.setOnQueryTextListener(object : SearchView.OnQueryTextListener {
override fun onQueryTextSubmit(query: String): Boolean {
- accountsPresenter.searchAccount(query)
+ accountsPresenter.searchAccount(accountList, query)
return false
}
@@ -101,16 +101,16 @@ class AccountsFragment : FineractBaseFragment(), AccountContract.View, SwipeRefr
showRecyclerView(true)
accountsAdapter.setAccountsList(accountList)
}
-
+ accountsPresenter.searchAccount(accountList, newText)
return false
}
})
}
- override fun searchedAccount(account: Account) {
+ override fun searchedAccount(accounts: List<Account>) {
showRecyclerView(true)
- accountsAdapter.setAccountsList(Collections.singletonList(account))
+ accountsAdapter.setAccountsList(accounts)
}
override fun onRefresh() {
diff --git a/app/src/main/java/org/apache/fineract/ui/online/accounting/accounts/AccountsPresenter.kt b/app/src/main/java/org/apache/fineract/ui/online/accounting/accounts/AccountsPresenter.kt
index 295f2dd..d8e6116 100644
--- a/app/src/main/java/org/apache/fineract/ui/online/accounting/accounts/AccountsPresenter.kt
+++ b/app/src/main/java/org/apache/fineract/ui/online/accounting/accounts/AccountsPresenter.kt
@@ -1,8 +1,10 @@
package org.apache.fineract.ui.online.accounting.accounts
import android.content.Context
+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
import org.apache.fineract.R
@@ -55,31 +57,17 @@ class AccountsPresenter @Inject constructor(@ApplicationContext context: Context
}))
}
- override fun searchAccount(query: String) {
+ override fun searchAccount(account: List<Account>, query: String) {
checkViewAttached()
- mvpView.showProgressbar()
-
- compositeDisposable.add(dataManagerAccounting
- .findAccount(query)
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribeWith(object : DisposableObserver<Account>() {
- override fun onComplete() {
-
+ mvpView.searchedAccount(Observable.fromIterable(account)
+ .filter(object: Predicate<Account> {
+ override fun test(account: Account): Boolean {
+ return account.identifier?.toLowerCase()
+ ?.contains(query.toLowerCase()).toString().toBoolean()
}
+ }).toList().blockingGet())
- override fun onNext(account: Account) {
- mvpView.hideProgressbar()
- mvpView.searchedAccount(account)
- }
-
- override fun onError(e: Throwable) {
-
- mvpView.hideProgressbar()
- showExceptionError(e, context.getString(R.string.error_fetching_accounts))
- }
- }))
}
override fun detachView() {
diff --git a/app/src/main/java/org/apache/fineract/ui/online/accounting/ledgers/LedgerContract.kt b/app/src/main/java/org/apache/fineract/ui/online/accounting/ledgers/LedgerContract.kt
index e76cd28..0454738 100644
--- a/app/src/main/java/org/apache/fineract/ui/online/accounting/ledgers/LedgerContract.kt
+++ b/app/src/main/java/org/apache/fineract/ui/online/accounting/ledgers/LedgerContract.kt
@@ -19,7 +19,7 @@ interface LedgerContract {
fun hideProgressbar()
- fun searchedLedger(ledger: Ledger)
+ fun searchedLedger(ledgers: List<Ledger>)
}
@@ -27,6 +27,6 @@ interface LedgerContract {
fun getLedgersPage()
- fun searchLedger(identifier: String)
+ fun searchLedger(legderList: List<Ledger>, identifier: String)
}
}
\ No newline at end of file
diff --git a/app/src/main/java/org/apache/fineract/ui/online/accounting/ledgers/LedgerFragment.kt b/app/src/main/java/org/apache/fineract/ui/online/accounting/ledgers/LedgerFragment.kt
index 482eb6d..8462a97 100644
--- a/app/src/main/java/org/apache/fineract/ui/online/accounting/ledgers/LedgerFragment.kt
+++ b/app/src/main/java/org/apache/fineract/ui/online/accounting/ledgers/LedgerFragment.kt
@@ -17,7 +17,6 @@ import org.apache.fineract.ui.adapters.LedgerAdapter
import org.apache.fineract.ui.base.FineractBaseActivity
import org.apache.fineract.ui.base.FineractBaseFragment
import org.apache.fineract.ui.online.accounting.accounts.LedgerContract
-import java.util.*
import javax.inject.Inject
import kotlin.collections.ArrayList
@@ -112,7 +111,7 @@ class LedgerFragment : FineractBaseFragment(), LedgerContract.View,
searchView?.setOnQueryTextListener(object : SearchView.OnQueryTextListener {
override fun onQueryTextSubmit(query: String): Boolean {
- ledgerPresenter.searchLedger(query)
+ ledgerPresenter.searchLedger(ledgerList, query)
return false
}
@@ -121,16 +120,16 @@ class LedgerFragment : FineractBaseFragment(), LedgerContract.View,
showRecyclerView(true)
ledgerAdapter.setLedgerList(ledgerList)
}
-
+ ledgerPresenter.searchLedger(ledgerList, newText)
return false
}
})
}
- override fun searchedLedger(ledger: Ledger) {
+ override fun searchedLedger(ledgers: List<Ledger>) {
showRecyclerView(true)
- ledgerAdapter.setLedgerList(Collections.singletonList(ledger))
+ ledgerAdapter.setLedgerList(ledgers)
}
override fun showRecyclerView(status: Boolean) {
diff --git a/app/src/main/java/org/apache/fineract/ui/online/accounting/ledgers/LedgerPresenter.kt b/app/src/main/java/org/apache/fineract/ui/online/accounting/ledgers/LedgerPresenter.kt
index 3b9e5a4..dde25b3 100644
--- a/app/src/main/java/org/apache/fineract/ui/online/accounting/ledgers/LedgerPresenter.kt
+++ b/app/src/main/java/org/apache/fineract/ui/online/accounting/ledgers/LedgerPresenter.kt
@@ -1,8 +1,10 @@
package org.apache.fineract.ui.online.accounting.ledgers
import android.content.Context
+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
import org.apache.fineract.R
@@ -56,31 +58,16 @@ class LedgerPresenter @Inject constructor(@ApplicationContext context: Context,
)
}
- override fun searchLedger(identifier: String) {
+ override fun searchLedger(ledgerList: List<Ledger>, identifier: String) {
checkViewAttached()
- mvpView.showProgressbar()
-
- compositeDisposable.add(dataManagerAccounting.findLedger(identifier)
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribeWith(object : DisposableObserver<Ledger>() {
- override fun onComplete() {
-
- }
-
- override fun onNext(ledger: Ledger) {
- mvpView.hideProgressbar()
- mvpView.searchedLedger(ledger)
+ mvpView.searchedLedger(Observable.fromIterable(ledgerList)
+ .filter(object: Predicate<Ledger> {
+ override fun test(ledger: Ledger): Boolean {
+ return ledger.identifier?.toLowerCase()
+ ?.contains(identifier.toLowerCase()).toString().toBoolean()
}
-
- override fun onError(throwable: Throwable) {
- mvpView.hideProgressbar()
- showExceptionError(throwable,
- context.getString(R.string.error_fetching_ledger))
- }
- })
- )
+ }).toList().blockingGet())
}
diff --git a/app/src/main/java/org/apache/fineract/ui/online/teller/TellerContract.kt b/app/src/main/java/org/apache/fineract/ui/online/teller/TellerContract.kt
index 58d3821..a9b204a 100644
--- a/app/src/main/java/org/apache/fineract/ui/online/teller/TellerContract.kt
+++ b/app/src/main/java/org/apache/fineract/ui/online/teller/TellerContract.kt
@@ -19,11 +19,13 @@ interface TellerContract {
fun hideProgressbar()
- fun searchedTeller(teller: Teller)
+ fun searchedTeller(tellers: List<Teller>)
}
interface Presenter {
fun fetchTellers()
+
+ fun searchTeller(tellers: List<Teller>, query: String)
}
}
diff --git a/app/src/main/java/org/apache/fineract/ui/online/teller/TellerFragment.kt b/app/src/main/java/org/apache/fineract/ui/online/teller/TellerFragment.kt
index a5799f6..005e078 100644
--- a/app/src/main/java/org/apache/fineract/ui/online/teller/TellerFragment.kt
+++ b/app/src/main/java/org/apache/fineract/ui/online/teller/TellerFragment.kt
@@ -111,7 +111,7 @@ class TellerFragment : FineractBaseFragment(), TellerContract.View, SwipeRefresh
searchView?.setOnQueryTextListener(object : SearchView.OnQueryTextListener {
override fun onQueryTextSubmit(query: String): Boolean {
- tellPresenter.searchTeller(query)
+ tellPresenter.searchTeller(tellerList, query)
return false
}
@@ -120,16 +120,16 @@ class TellerFragment : FineractBaseFragment(), TellerContract.View, SwipeRefresh
showRecyclerView(true)
tellerAdapter.setTellerList(tellerList)
}
-
+ tellPresenter.searchTeller(tellerList, newText)
return false
}
})
}
- override fun searchedTeller(teller: Teller) {
+ override fun searchedTeller(tellers: List<Teller>) {
showRecyclerView(true)
- tellerAdapter.setTellerList(Collections.singletonList(teller))
+ tellerAdapter.setTellerList(tellers)
}
override fun showRecyclerView(status: Boolean) {
diff --git a/app/src/main/java/org/apache/fineract/ui/online/teller/TellerPresenter.kt b/app/src/main/java/org/apache/fineract/ui/online/teller/TellerPresenter.kt
index ab2de29..a94c351 100644
--- a/app/src/main/java/org/apache/fineract/ui/online/teller/TellerPresenter.kt
+++ b/app/src/main/java/org/apache/fineract/ui/online/teller/TellerPresenter.kt
@@ -1,8 +1,10 @@
package org.apache.fineract.ui.online.teller
import android.content.Context
+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
import org.apache.fineract.R
@@ -49,31 +51,15 @@ class TellerPresenter @Inject constructor(@ApplicationContext context: Context,
}))
}
- fun searchTeller(query: String) {
-
+ override fun searchTeller(tellers: List<Teller>, query: String) {
checkViewAttached()
- mvpView.showProgressbar()
-
- compositeDisposable.add(dataManagerTeller.findTeller(query)
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribeWith(object : DisposableObserver<Teller>() {
- override fun onComplete() {
-
- }
-
- override fun onNext(teller: Teller) {
- mvpView.hideProgressbar()
- mvpView.searchedTeller(teller)
-
+ mvpView.searchedTeller(Observable.fromIterable(tellers)
+ .filter(object: Predicate<Teller> {
+ override fun test(teller: Teller): Boolean {
+ return teller.tellerAccountIdentifier?.toLowerCase()
+ ?.contains(query.toLowerCase()).toString().toBoolean()
}
-
- override fun onError(throwable: Throwable) {
- mvpView.hideProgressbar()
- showExceptionError(throwable,
- context.getString(R.string.error_fetching_teller))
- }
- }))
+ }).toList().blockingGet())
}