Browse Source

Search added for resend transaction listing

master
preyearegmi 6 years ago
parent
commit
1b98ee1706
  1. 37
      app/src/main/java/com/gmeremit/online/gmeremittance_native/resendV2/model/transactionlisting/TransactionModel.java
  2. 47
      app/src/main/java/com/gmeremit/online/gmeremittance_native/resendV2/presenter/transactionlisting/TransactionListingV2Presenter.java
  3. 3
      app/src/main/java/com/gmeremit/online/gmeremittance_native/resendV2/view/TransactionListingV2Activity.java
  4. 2
      app/src/main/res/layout/activity_transaction_listing_v2.xml
  5. 1
      app/src/main/res/values/strings.xml

37
app/src/main/java/com/gmeremit/online/gmeremittance_native/resendV2/model/transactionlisting/TransactionModel.java

@ -45,7 +45,14 @@ public class TransactionModel implements Parcelable {
@Expose @Expose
private String paidDate; private String paidDate;
@SerializedName("BankName")
@Expose
private String bankName;
public String getReceiverName() { public String getReceiverName() {
if(receiverName==null)
return "";
return receiverName; return receiverName;
} }
@ -70,6 +77,8 @@ public class TransactionModel implements Parcelable {
} }
public String getControlNo() { public String getControlNo() {
if(controlNo==null)
return "" ;
return controlNo; return controlNo;
} }
@ -141,6 +150,27 @@ public class TransactionModel implements Parcelable {
this.paidDate = paidDate; this.paidDate = paidDate;
} }
public String getpCurr() {
return pCurr;
}
public void setpCurr(String pCurr) {
this.pCurr = pCurr;
}
public String getBankName() {
if(bankName==null)
return "";
return bankName;
}
public void setBankName(String bankName) {
this.bankName = bankName;
}
public TransactionModel() {
}
@Override @Override
public int describeContents() { public int describeContents() {
return 0; return 0;
@ -160,9 +190,7 @@ public class TransactionModel implements Parcelable {
dest.writeString(this.payoutMode); dest.writeString(this.payoutMode);
dest.writeString(this.sendDate); dest.writeString(this.sendDate);
dest.writeString(this.paidDate); dest.writeString(this.paidDate);
}
public TransactionModel() {
dest.writeString(this.bankName);
} }
protected TransactionModel(Parcel in) { protected TransactionModel(Parcel in) {
@ -178,9 +206,10 @@ public class TransactionModel implements Parcelable {
this.payoutMode = in.readString(); this.payoutMode = in.readString();
this.sendDate = in.readString(); this.sendDate = in.readString();
this.paidDate = in.readString(); this.paidDate = in.readString();
this.bankName = in.readString();
} }
public static final Parcelable.Creator<TransactionModel> CREATOR = new Parcelable.Creator<TransactionModel>() {
public static final Creator<TransactionModel> CREATOR = new Creator<TransactionModel>() {
@Override @Override
public TransactionModel createFromParcel(Parcel source) { public TransactionModel createFromParcel(Parcel source) {
return new TransactionModel(source); return new TransactionModel(source);

47
app/src/main/java/com/gmeremit/online/gmeremittance_native/resendV2/presenter/transactionlisting/TransactionListingV2Presenter.java

@ -31,22 +31,22 @@ public class TransactionListingV2Presenter extends BasePresenter implements Tran
private TransactionModel selectedTransaction; private TransactionModel selectedTransaction;
public TransactionListingV2Presenter(TransactionListingV2ContractInterface view) { public TransactionListingV2Presenter(TransactionListingV2ContractInterface view) {
this.view=view;
this.gateway=new TransactionListingV2Gateway(this);
this.view = view;
this.gateway = new TransactionListingV2Gateway(this);
this.compositeObservable = new CompositeDisposable(); this.compositeObservable = new CompositeDisposable();
} }
@Override @Override
public void getTransactionHistory(String startDate, String endDate) { public void getTransactionHistory(String startDate, String endDate) {
if(startDate==null)
startDate="";
if(endDate==null)
endDate="";
if (startDate == null)
startDate = "";
if (endDate == null)
endDate = "";
compositeObservable.add( compositeObservable.add(
this.gateway.getTransactionHistory(this.gateway.getAuth(),startDate,endDate)
.doOnSubscribe(subs->view.showProgressBar(true,getStringfromStringId(R.string.processing_request_text)))
.doFinally(()->view.showProgressBar(false,""))
this.gateway.getTransactionHistory(this.gateway.getAuth(), startDate, endDate)
.doOnSubscribe(subs -> view.showProgressBar(true, getStringfromStringId(R.string.processing_request_text)))
.doFinally(() -> view.showProgressBar(false, ""))
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())
.subscribeWith(new TransactionListingObserver())); .subscribeWith(new TransactionListingObserver()));
@ -55,16 +55,16 @@ public class TransactionListingV2Presenter extends BasePresenter implements Tran
@Override @Override
public void searchForTransaction(String s) { public void searchForTransaction(String s) {
if (this.transactionList != null&&transactionList.size()>0) {
if (this.transactionList != null && transactionList.size() > 0) {
if (s.length() > 0) { if (s.length() > 0) {
List<TransactionModel> searchedData = new ArrayList<>(); List<TransactionModel> searchedData = new ArrayList<>();
for (TransactionModel item : transactionList) { for (TransactionModel item : transactionList) {
if (item.toString().toLowerCase().contains(s.toLowerCase())) {
if (searchForTransactionInList(item, s.toUpperCase())) {
searchedData.add(item); searchedData.add(item);
} }
} }
if (searchedData.size() > 0) if (searchedData.size() > 0)
view.updateSearchData(searchedData);
view.updateSearchData(searchedData);
else else
view.showNoTransactionView(true); view.showNoTransactionView(true);
@ -75,6 +75,11 @@ public class TransactionListingV2Presenter extends BasePresenter implements Tran
} }
} }
private boolean searchForTransactionInList(TransactionModel model, String queryString) {
return model.getBankName().contains(queryString) || model.getReceiverName().contains(queryString) || model.getControlNo().contains(queryString);
}
@Override @Override
public void onViewDestroyed() { public void onViewDestroyed() {
super.onViewDestroyed(); super.onViewDestroyed();
@ -86,18 +91,17 @@ public class TransactionListingV2Presenter extends BasePresenter implements Tran
@Override @Override
public void prepareDataForSelectingPaymentSource(TransactionModel selectedTransactionModel) { public void prepareDataForSelectingPaymentSource(TransactionModel selectedTransactionModel) {
this.selectedTransaction=selectedTransactionModel;
this.selectedTransaction = selectedTransactionModel;
this.view.showPaymentSourceSelectionView(this.availablePaymentSource); this.view.showPaymentSourceSelectionView(this.availablePaymentSource);
} }
@Override @Override
public PreviousTransactionRelatedData getResendMoneyRequiredData(AutoDebitAccount selectedAccount) { public PreviousTransactionRelatedData getResendMoneyRequiredData(AutoDebitAccount selectedAccount) {
return new PreviousTransactionRelatedData(selectedAccount,this.selectedTransaction);
return new PreviousTransactionRelatedData(selectedAccount, this.selectedTransaction);
} }
public class TransactionListingObserver extends GenericApiObserverResponseV2<TransactionListingModel>
{
public class TransactionListingObserver extends GenericApiObserverResponseV2<TransactionListingModel> {
@Override @Override
protected Type setType() { protected Type setType() {
@ -106,23 +110,22 @@ public class TransactionListingV2Presenter extends BasePresenter implements Tran
@Override @Override
protected void onSuccess(GenericResponseDataModel<TransactionListingModel> t) { protected void onSuccess(GenericResponseDataModel<TransactionListingModel> t) {
if(t.getData().getTransactions()!=null&&t.getData().getTransactions().size()>0) {
if (t.getData().getTransactions() != null && t.getData().getTransactions().size() > 0) {
transactionList = t.getData().getTransactions(); transactionList = t.getData().getTransactions();
availablePaymentSource = t.getData().getAccounts(); availablePaymentSource = t.getData().getAccounts();
view.updateSearchData(transactionList); view.updateSearchData(transactionList);
}
else
} else
view.showNoTransactionView(true); view.showNoTransactionView(true);
} }
@Override @Override
public void onFailed(String message) { public void onFailed(String message) {
view.showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED,alertType -> view.exitView());
view.showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED, alertType -> view.exitView());
} }
@Override @Override
protected void onConnectionNotEstablished(String message) { protected void onConnectionNotEstablished(String message) {
view.showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED,alertType -> view.exitView());
view.showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED, alertType -> view.exitView());
} }
@Override @Override
@ -133,6 +136,4 @@ public class TransactionListingV2Presenter extends BasePresenter implements Tran
} }
} }

3
app/src/main/java/com/gmeremit/online/gmeremittance_native/resendV2/view/TransactionListingV2Activity.java

@ -108,6 +108,7 @@ public class TransactionListingV2Activity extends BaseActivity implements Transa
super.onStart(); super.onStart();
ivBack.setOnClickListener(this); ivBack.setOnClickListener(this);
ivCalendar.setOnClickListener(this); ivCalendar.setOnClickListener(this);
searchEditText.addTextChangedListener(searchTextChangeListener);
} }
@Override @Override
@ -115,6 +116,8 @@ public class TransactionListingV2Activity extends BaseActivity implements Transa
super.onStop(); super.onStop();
ivBack.setOnClickListener(null); ivBack.setOnClickListener(null);
ivCalendar.setOnClickListener(null); ivCalendar.setOnClickListener(null);
searchEditText.removeTextChangedListener(searchTextChangeListener);
} }
private void promptCalendarPicker() { private void promptCalendarPicker() {

2
app/src/main/res/layout/activity_transaction_listing_v2.xml

@ -76,7 +76,7 @@
android:layout_weight="1" android:layout_weight="1"
android:background="@null" android:background="@null"
android:gravity="center_vertical" android:gravity="center_vertical"
android:hint="@string/search_with_controlno_text"
android:hint="@string/resend_search_hint_text"
android:imeActionLabel="Done" android:imeActionLabel="Done"
android:imeOptions="actionDone" android:imeOptions="actionDone"
android:inputType="text" android:inputType="text"

1
app/src/main/res/values/strings.xml

@ -456,6 +456,7 @@
<string name="no_transaction_id_error_text">No transaction id found</string> <string name="no_transaction_id_error_text">No transaction id found</string>
<string name="subject_text">Subject</string> <string name="subject_text">Subject</string>
<string name="account_no_validation_error_text">Invalid account number (Only numbers and alphabets allowed)</string> <string name="account_no_validation_error_text">Invalid account number (Only numbers and alphabets allowed)</string>
<string name="resend_search_hint_text">GME No / Receiver Name / Bank Name</string>
</resources> </resources>
Loading…
Cancel
Save