Browse Source

Removed unused files

master
Preyea Regmi 4 years ago
parent
commit
632fb0791e
  1. 148
      app/src/main/java/com/swifttech/remit/android/common/customwidgets/kjnoticedialog/KJNoticeDialog.java
  2. 34
      app/src/main/java/com/swifttech/remit/android/features/accountmanage/adapter/accountlisting/AccountManageViewPagerAdapter.java
  3. 184
      app/src/main/java/com/swifttech/remit/android/features/accountmanage/adapter/accountlisting/InboundAccountListingRvAdapter.java
  4. 37
      app/src/main/java/com/swifttech/remit/android/features/accountmanage/gateway/inboundaccountmanage/InboundAccountAddV2Gateway.java
  5. 22
      app/src/main/java/com/swifttech/remit/android/features/accountmanage/presenter/inboundaccountmanage/InboundAccountAddV2InteractorInterface.java
  6. 257
      app/src/main/java/com/swifttech/remit/android/features/accountmanage/presenter/inboundaccountmanage/InboundAccountAddV2Presenter.java
  7. 55
      app/src/main/java/com/swifttech/remit/android/features/accountmanage/presenter/inboundaccountmanage/InboundAccountAddV2PresenterInterface.java
  8. 145
      app/src/main/java/com/swifttech/remit/android/features/accountmanage/view/AutoDebitWebBrowserActivityV2.java
  9. 27
      app/src/main/java/com/swifttech/remit/android/features/accountmanage/view/accountlisting/autodebitlisting/AccountAddRVViewHolder.java
  10. 9
      app/src/main/java/com/swifttech/remit/android/features/accountmanage/view/inboundaccountmanage/InboundAccountAddActionListener.java
  11. 155
      app/src/main/java/com/swifttech/remit/android/features/accountmanage/view/inboundaccountmanage/InboundAccountAddActivity.java
  12. 191
      app/src/main/java/com/swifttech/remit/android/features/accountmanage/view/inboundaccountmanage/InboundAddAccountConfirmFragment.java
  13. 171
      app/src/main/java/com/swifttech/remit/android/features/accountmanage/view/inboundaccountmanage/InboundAddAccountPennyTestFragment.java
  14. 23
      app/src/main/java/com/swifttech/remit/android/features/homeV2/view/HomeActivityV2.java
  15. 2
      app/src/main/java/com/swifttech/remit/android/features/homeV2/view/HomeFragmentV2.java
  16. 3
      app/src/main/java/com/swifttech/remit/android/features/inboundreceipt/view/InboundRemitReceiptActivity.java
  17. BIN
      app/src/main/jniLibs/arm64-v8a/libantidebugger.so
  18. BIN
      app/src/main/jniLibs/armeabi-v7a/libantidebugger.so
  19. BIN
      app/src/main/jniLibs/x86/libantidebugger.so
  20. BIN
      app/src/main/jniLibs/x86_64/libantidebugger.so
  21. 32
      app/src/main/res/layout/nav_drawer_fragment.xml
  22. 2
      app/src/main/res/values-mn/strings.xml
  23. 2
      app/src/main/res/values/strings.xml

148
app/src/main/java/com/swifttech/remit/android/common/customwidgets/kjnoticedialog/KJNoticeDialog.java

@ -1,148 +0,0 @@
package com.swifttech.remit.android.common.customwidgets.kjnoticedialog;
import android.app.Dialog;
import android.os.Bundle;
import androidx.appcompat.app.AlertDialog;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewTreeObserver;
import android.view.Window;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.fragment.app.DialogFragment;
import com.swifttech.remit.android.R;
public class KJNoticeDialog extends DialogFragment implements View.OnClickListener {
ImageView imageView;
FrameLayout imageViewContainer;
TextView btnRenew;
TextView btnLater;
private Window window;
private String positiveBtnString=null;
private String negativeBtnString=null;
private KJNoticeDialogListener listener;
private boolean shouldBeCancellable=true;
private static final float HEIGHT_WIDTH_RATIO=0.9216f;
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
View view = getActivity().getLayoutInflater().inflate(R.layout.dialog_kj_notice_prompt, null);
imageView = view.findViewById(R.id.fingerprintScannerImgView);
imageViewContainer = view.findViewById(R.id.imageViewContainer);
btnRenew = view.findViewById(R.id.btnRenew);
btnLater = view.findViewById(R.id.btnLater);
if(positiveBtnString!=null)
btnRenew.setText(positiveBtnString);
if(negativeBtnString!=null)
btnLater.setText(negativeBtnString);
setCancelable(shouldBeCancellable);
builder.setView(view);
initialize();
Dialog dialog = builder.create();
try {
this.window = dialog.getWindow();
window.setBackgroundDrawableResource(R.drawable.ic_rounded_white);
} catch (NullPointerException e) {
imageViewContainer.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
imageViewContainer.getViewTreeObserver().removeOnGlobalLayoutListener(this);
ViewGroup.LayoutParams imageViewLayoutParams = imageViewContainer.getLayoutParams();
imageViewLayoutParams.height = (int) (imageViewContainer.getWidth()*HEIGHT_WIDTH_RATIO);
imageViewContainer.setLayoutParams(imageViewLayoutParams);
}
});
}
return dialog;
}
private void initialize() {
}
public void setCancellable(boolean action)
{
shouldBeCancellable=action;
}
public void setListener(KJNoticeDialogListener listener) {
this.listener = listener;
}
public void setPositiveBtnString(String string)
{
this.positiveBtnString=string;
}
public void setNegativeBtnString(String string)
{
this.negativeBtnString=string;
}
@Override
public void onStart() {
super.onStart();
btnLater.setOnClickListener(this);
btnRenew.setOnClickListener(this);
}
@Override
public void onStop() {
super.onStop();
btnLater.setOnClickListener(null);
btnRenew.setOnClickListener(null);
}
@Override
public void onResume() {
super.onResume();
}
@Override
public void onPause() {
super.onPause();
}
@Override
public void onClick(View v) {
switch(v.getId())
{
case R.id.btnRenew:
if(listener!=null)
listener.onPositiveBtnPressed();
break;
case R.id.btnLater:
if(listener!=null)
listener.onNegativeBtnPressed();
break;
}
}
public interface KJNoticeDialogListener
{
void onNegativeBtnPressed();
void onPositiveBtnPressed();
}
}

34
app/src/main/java/com/swifttech/remit/android/features/accountmanage/adapter/accountlisting/AccountManageViewPagerAdapter.java

@ -1,34 +0,0 @@
package com.swifttech.remit.android.features.accountmanage.adapter.accountlisting;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentPagerAdapter;
import java.util.ArrayList;
import java.util.List;
public class AccountManageViewPagerAdapter extends FragmentPagerAdapter {
private List<Fragment> fraglist;
public AccountManageViewPagerAdapter(FragmentManager fm) {
super(fm);
fraglist=new ArrayList<>();
}
@Override
public Fragment getItem(int position) {
return fraglist.get(position);
}
public void addFragments(List<Fragment> data)
{
fraglist=data;
}
@Override
public int getCount() {
return fraglist.size();
}
}

184
app/src/main/java/com/swifttech/remit/android/features/accountmanage/adapter/accountlisting/InboundAccountListingRvAdapter.java

@ -1,184 +0,0 @@
package com.swifttech.remit.android.features.accountmanage.adapter.accountlisting;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.swifttech.remit.android.R;
import com.swifttech.remit.android.features.accountmanage.model.accountlisting.InboundAccount;
import com.swifttech.remit.android.features.accountmanage.view.accountlisting.autodebitlisting.AccountAddRVViewHolder;
import com.swifttech.remit.android.common.customwidgets.banklistingdialog.BankIconMapper;
import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
public class InboundAccountListingRvAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
private final InboundAccountActionListener listener;
private static final int NORMAL_ADD_ACCOUNT_VIEW = 12;
private static final int ADD_ACCOUNT_VIEW = 13;
List<InboundAccount> inboundAccountList;
public InboundAccountListingRvAdapter(InboundAccountActionListener listener) {
this.listener = listener;
inboundAccountList = new ArrayList<>();
}
@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view;
if (viewType == NORMAL_ADD_ACCOUNT_VIEW) {
view = LayoutInflater.from(parent.getContext()).inflate(R.layout.inbound_account_list_item, parent, false);
return new InboundListingRVAdapter(view);
} else {
view = LayoutInflater.from(parent.getContext()).inflate(R.layout.auto_debit_add_new_account, parent, false);
return new AccountAddRVViewHolder(view);
}
}
@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, int i) {
if (viewHolder instanceof InboundListingRVAdapter) {
InboundAccount inboundAccount = inboundAccountList.get(i);
((InboundListingRVAdapter) viewHolder).setBankName(inboundAccount.getBank());
((InboundListingRVAdapter) viewHolder).setAccNo(inboundAccount.getAccountNo());
Glide.with( ((InboundListingRVAdapter) viewHolder).getBankIconImageView().getContext())
.load(BankIconMapper.getBankIconFromBankCode(inboundAccount.getBankCode()))
.into( ((InboundListingRVAdapter) viewHolder).getBankIconImageView());
if(inboundAccount.getIsPennyTestSuccess())
{
((InboundListingRVAdapter) viewHolder).getLinkAsInboundImageView().setVisibility(View.GONE);
((InboundListingRVAdapter) viewHolder).getLinkAsInboundImageView().setOnClickListener(null);
}
else
{
((InboundListingRVAdapter) viewHolder).getLinkAsInboundImageView().setVisibility(View.VISIBLE);
((InboundListingRVAdapter) viewHolder).getLinkAsInboundImageView().setOnClickListener(view-> listener.redirectToLinkInboundAccount(inboundAccount));
}
((InboundListingRVAdapter) viewHolder).getDeleteInboundAccImageView().setOnClickListener(view-> listener.deleteInboundAccount(inboundAccount));
} else {
((AccountAddRVViewHolder) viewHolder).getAddAccIcon().setOnClickListener(view -> listener.redirectToAddInboundAccount());
}
}
@Override
public int getItemCount() {
return inboundAccountList.size();
}
@Override
public int getItemViewType(int position) {
if (position == inboundAccountList.size() - 1)
return ADD_ACCOUNT_VIEW;
else
return NORMAL_ADD_ACCOUNT_VIEW;
}
public void setData(List<InboundAccount> accountsList) {
if (accountsList != null && accountsList.size() > 0) {
this.inboundAccountList = accountsList;
notifyDataSetChanged();
}
}
public static class InboundAccountListRvViewholder extends RecyclerView.ViewHolder {
@BindView(R.id.bankNameTxtView)
TextView bankName;
@BindView(R.id.accNo)
TextView accNo;
public InboundAccountListRvViewholder(@NonNull View itemView) {
super(itemView);
ButterKnife.bind(this, itemView);
}
public void setBankName(String bankName) {
this.bankName.setText(bankName);
}
public void setAccNo(String accNo) {
this.accNo.setText(accNo);
}
}
public interface InboundAccountActionListener {
void redirectToLinkInboundAccount(InboundAccount selectedAccount);
void redirectToAddInboundAccount();
void deleteInboundAccount(InboundAccount inboundAccount);
}
public static class InboundListingRVAdapter extends RecyclerView.ViewHolder
{
@BindView(R.id.bankNameTxtView)
TextView bankName;
@BindView(R.id.accNo)
TextView accNo;
@BindView(R.id.iv_passport_id)
ImageView iv_front_image;
@BindView(R.id.iv_link_inbound)
ImageView iv_link_inbound;
@BindView(R.id.iv_delete_inbound)
ImageView iv_delete_inbound;
public InboundListingRVAdapter(@NonNull View itemView) {
super(itemView);
ButterKnife.bind(this,itemView);
}
public void setBankName(String bankName)
{
this.bankName.setText(bankName);
}
public void setAccNo(String accNo)
{
this.accNo.setText(accNo);
}
public ImageView getBankIconImageView()
{
return iv_front_image;
}
public ImageView getLinkAsInboundImageView()
{
return iv_link_inbound;
}
public ImageView getDeleteInboundAccImageView()
{
return iv_delete_inbound;
}
}
}

37
app/src/main/java/com/swifttech/remit/android/features/accountmanage/gateway/inboundaccountmanage/InboundAccountAddV2Gateway.java

@ -1,37 +0,0 @@
package com.swifttech.remit.android.features.accountmanage.gateway.inboundaccountmanage;
import com.swifttech.remit.android.features.accountmanage.model.inboundaccountmanage.InboundAccountAddRequestBody;
import com.swifttech.remit.android.features.accountmanage.presenter.inboundaccountmanage.InboundAccountAddV2InteractorInterface;
import com.swifttech.remit.android.base.PrivilegedGateway;
import com.swifttech.remit.android.utils.https.HttpClientV2;
import com.google.gson.JsonObject;
import io.reactivex.Observable;
import okhttp3.ResponseBody;
public class InboundAccountAddV2Gateway extends PrivilegedGateway implements InboundAccountAddV2InteractorInterface.InboundAccountAddV2GatewayInterface {
@Override
public Observable<ResponseBody> getKoreanBankList(String auth, String Uid) {
return HttpClientV2.getInstance().getAvailableKFTCBankList(auth);
}
@Override
public Observable<ResponseBody> startPennyTest(String auth, String userId, InboundAccountAddRequestBody requestBody,String resend) {
return HttpClientV2.getInstance().startInboundPennyTestStart(auth,userId,requestBody,resend);
}
@Override
public Observable<ResponseBody> submitPennyTest(String auth, String userId, String bankCode, String accountNo, String cerNumber,String accountType,String accountID) {
JsonObject jsonObject=new JsonObject() ;
jsonObject.addProperty("CustomerId",userId);
jsonObject.addProperty("BankCode",bankCode);
jsonObject.addProperty("AccountNo",accountNo);
jsonObject.addProperty("CertNumber",cerNumber);
jsonObject.addProperty("accountId",accountID);
jsonObject.addProperty("accountType",accountType);
return HttpClientV2.getInstance().performInboundPennyTestSubmit(auth,jsonObject);
}
}

22
app/src/main/java/com/swifttech/remit/android/features/accountmanage/presenter/inboundaccountmanage/InboundAccountAddV2InteractorInterface.java

@ -1,22 +0,0 @@
package com.swifttech.remit.android.features.accountmanage.presenter.inboundaccountmanage;
import com.swifttech.remit.android.features.accountmanage.model.inboundaccountmanage.InboundAccountAddRequestBody;
import com.swifttech.remit.android.base.BaseInteractorInterface;
import com.swifttech.remit.android.base.PrivilegedGatewayInterface;
import io.reactivex.Observable;
import okhttp3.ResponseBody;
public interface InboundAccountAddV2InteractorInterface extends BaseInteractorInterface {
interface InboundAccountAddV2GatewayInterface extends PrivilegedGatewayInterface
{
Observable<ResponseBody> getKoreanBankList(String auth, String Uid);
Observable<ResponseBody> startPennyTest(String auth, String userId, InboundAccountAddRequestBody requestBody,String resend);
Observable<ResponseBody> submitPennyTest(String auth,String userId,String bankCode, String accountNo, String cerNumber,String accountType,String accountID);
}
}

257
app/src/main/java/com/swifttech/remit/android/features/accountmanage/presenter/inboundaccountmanage/InboundAccountAddV2Presenter.java

@ -1,257 +0,0 @@
package com.swifttech.remit.android.features.accountmanage.presenter.inboundaccountmanage;
import com.swifttech.remit.android.R;
import com.swifttech.remit.android.features.accountmanage.model.accountlisting.AutoDebitAccount;
import com.swifttech.remit.android.features.accountmanage.model.accountlisting.InboundAccount;
import com.swifttech.remit.android.features.accountmanage.model.bankaccountvalidation.BankInfo;
import com.swifttech.remit.android.features.accountmanage.model.inboundaccountmanage.InboundAccountAddRequestBody;
import com.swifttech.remit.android.features.accountmanage.view.inboundaccountmanage.InboundAddAccountConfirmFragment;
import com.swifttech.remit.android.features.accountmanage.view.inboundaccountmanage.InboundAddAccountPennyTestFragment;
import com.swifttech.remit.android.base.BasePresenter;
import com.swifttech.remit.android.common.customwidgets.CustomAlertDialog;
import com.swifttech.remit.android.utils.Constants;
import com.swifttech.remit.android.utils.https.GenericApiObserverResponseV2;
import com.swifttech.remit.android.utils.https.GenericResponseDataModel;
import com.swifttech.remit.android.utils.https.MessageResponseDataModel;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;
import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.CompositeDisposable;
import io.reactivex.schedulers.Schedulers;
import io.reactivex.subjects.BehaviorSubject;
public class InboundAccountAddV2Presenter extends BasePresenter implements InboundAccountAddV2PresenterInterface {
private final InboundAccountAddV2ContractInterface view;
private final InboundAccountAddV2InteractorInterface.InboundAccountAddV2GatewayInterface gateway;
private final CompositeDisposable compositeDisposable;
private InboundAccountAddRequestBody pennyTestRequestBody;
private List<BankInfo> availableKoreanBankList;
private BehaviorSubject<InboundAddAccountConfirmFragment.InboundAddAccountViewDTO> addAcountDataSubject;
private BehaviorSubject<InboundAddAccountPennyTestFragment.InboundPennyTestViewDTO> pennyTestDataSubject;
public InboundAccountAddV2Presenter(InboundAccountAddV2ContractInterface view, InboundAccountAddV2InteractorInterface.InboundAccountAddV2GatewayInterface gateway) {
this.view = view;
this.gateway = gateway;
this.compositeDisposable = new CompositeDisposable();
this.pennyTestRequestBody = new InboundAccountAddRequestBody();
this.availableKoreanBankList = new ArrayList<>();
addAcountDataSubject = BehaviorSubject.create();
pennyTestDataSubject = BehaviorSubject.create();
}
@Override
public void updateAutoDebitAccountData(AutoDebitAccount autoDebitAccount) {
this.pennyTestRequestBody = InboundAccountAddRequestBody.createRequestBodyFromAutoDebitAccount(autoDebitAccount);
InboundAddAccountConfirmFragment.InboundAddAccountViewDTO addAccountViewDTO = new InboundAddAccountConfirmFragment.InboundAddAccountViewDTO(autoDebitAccount.getBankName(), autoDebitAccount.getBankCode(), autoDebitAccount.getAccountNumMasked(), false);
addAcountDataSubject.onNext(addAccountViewDTO);
}
@Override
public void updateInboundAccount(InboundAccount inboundAccount) {
this.pennyTestRequestBody = InboundAccountAddRequestBody.createRequestBodyFromInboundAccount(inboundAccount);
InboundAddAccountConfirmFragment.InboundAddAccountViewDTO addAccountViewDTO = new InboundAddAccountConfirmFragment.InboundAddAccountViewDTO(inboundAccount.getBank(), inboundAccount.getBankCode(), inboundAccount.getAccountNo(), false);
addAcountDataSubject.onNext(addAccountViewDTO);
}
@Override
public void getRelatedData() {
compositeDisposable.add(
this.gateway.getKoreanBankList(this.gateway.getAuth(), this.gateway.getUserIDNumber())
.doOnSubscribe(subs -> view.showProgressBar(true, getStringfromStringId(R.string.processing_request_text)))
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.doFinally(() -> view.showProgressBar(false, ""))
.subscribeWith(new KoreanBankListObserver())
);
}
@Override
public void requestForPennyTest(String resend) {
compositeDisposable.add(
this.gateway.startPennyTest(this.gateway.getAuth(), this.gateway.getUserIDNumber(), this.pennyTestRequestBody,resend)
.doOnSubscribe(subs -> view.showProgressBar(true, getStringfromStringId(R.string.processing_request_text)))
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.doFinally(() -> view.showProgressBar(false, ""))
.subscribeWith(new PennyTestRequestObserver())
);
}
@Override
public void submitPennyTest(String depositReference) {
compositeDisposable.add(
this.gateway.submitPennyTest(this.gateway.getAuth(), this.gateway.getUserIDNumber(), this.pennyTestRequestBody.getBankCode(), this.pennyTestRequestBody.getAccountNo(), depositReference,this.pennyTestRequestBody.getAccountType(),this.pennyTestRequestBody.getAccountId())
.doOnSubscribe(subs -> view.showProgressBar(true, getStringfromStringId(R.string.processing_request_text)))
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.doFinally(() -> view.showProgressBar(false, ""))
.subscribeWith(new PennyTestResultObserver())
);
}
@Override
public List<BankInfo> getKoreanBankList() {
return availableKoreanBankList;
}
@Override
public void updateBank(BankInfo selectedBank) {
this.pennyTestRequestBody.setBankName(selectedBank.getBankName());
this.pennyTestRequestBody.setBankCode(selectedBank.getBankCode());
validateForm1();
}
@Override
public void onBankAccNoChanged(String bankAccNo) {
if (bankAccNo != null && bankAccNo.length() > 0) {
pennyTestRequestBody.setAccountNo(bankAccNo);
view.showInvalidAccNoError(null);
} else {
pennyTestRequestBody.setAccountNo(null);
view.showInvalidAccNoError(getStringfromStringId(R.string.invalid_account_error_text));
}
validateForm1();
}
private void validateForm1() {
view.enableForm1Button(pennyTestRequestBody.getAccountNo() != null && pennyTestRequestBody.getAccountNo().length() >= 1 && pennyTestRequestBody.getBankCode() != null && pennyTestRequestBody.getBankName() != null);
}
@Override
public Observable<InboundAddAccountConfirmFragment.InboundAddAccountViewDTO> subscribeToInboundAddAccountDataEvent() {
return addAcountDataSubject;
}
@Override
public Observable<InboundAddAccountPennyTestFragment.InboundPennyTestViewDTO> subscribeToPennyTestDataEvent() {
return pennyTestDataSubject;
}
@Override
public void onDepositReferenceChanged(String depositReference) {
if (depositReference != null && depositReference.length() == 4) {
view.showInvalidDepositError(null);
view.enableForm2Button(true);
} else {
view.showInvalidDepositError(getStringfromStringId(R.string.empty_field_error_text));
view.enableForm2Button(false);
}
}
@Override
public void onBankDetailValidated() {
requestForPennyTest("N");
}
public class PennyTestRequestObserver extends GenericApiObserverResponseV2<MessageResponseDataModel> {
@Override
protected void onSuccess(GenericResponseDataModel<MessageResponseDataModel> t) {
if (t.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) {
InboundAddAccountPennyTestFragment.InboundPennyTestViewDTO pennyTestViewDTO = new InboundAddAccountPennyTestFragment.InboundPennyTestViewDTO(pennyTestRequestBody.getBankName(), pennyTestRequestBody.getBankCode(), pennyTestRequestBody.getAccountNo(), getStringfromStringId(R.string.pennytest_information_text));
view.showPopUpMessage(getStringfromStringId(R.string.pennytest_information_text), CustomAlertDialog.AlertType.SUCCESS, alertType -> {
pennyTestDataSubject.onNext(pennyTestViewDTO);
view.showPennyTestScreen();
});
} else {
view.showPopUpMessage(t.getMsg(), CustomAlertDialog.AlertType.FAILED, null);
}
}
@Override
public void onFailed(String message) {
view.showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED, null);
}
@Override
protected void onConnectionNotEstablished(String message) {
view.showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED, null);
}
@Override
protected void unauthorizedAccess(String message) {
view.showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED, null);
}
}
public class PennyTestResultObserver extends GenericApiObserverResponseV2<MessageResponseDataModel> {
@Override
protected void onSuccess(GenericResponseDataModel<MessageResponseDataModel> t) {
if (t.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) {
view.showPopUpMessage(t.getMsg(), CustomAlertDialog.AlertType.SUCCESS, alertType -> view.onPennyTestSuccess());
} else {
view.showPopUpMessage(t.getMsg(), CustomAlertDialog.AlertType.FAILED, null);
}
}
@Override
public void onFailed(String message) {
view.showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED, null);
}
@Override
protected void onConnectionNotEstablished(String message) {
view.showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED, null);
}
@Override
protected void unauthorizedAccess(String message) {
view.showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED, null);
}
}
public class KoreanBankListObserver extends GenericApiObserverResponseV2<List<BankInfo>> {
@Override
protected Type getDataType() {
return TypeToken.getParameterized(List.class, BankInfo.class).getType();
}
@Override
protected void onSuccess(GenericResponseDataModel<List<BankInfo>> t) {
if (t.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) {
availableKoreanBankList = t.getData();
} else {
view.showPopUpMessage(t.getMsg(), CustomAlertDialog.AlertType.FAILED, alertType -> view.exitView());
}
}
@Override
public void onFailed(String message) {
view.showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED, alertType -> view.exitView());
}
@Override
protected void onConnectionNotEstablished(String message) {
view.showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED, alertType -> view.exitView());
}
@Override
protected void unauthorizedAccess(String message) {
view.showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED, alertType -> view.logout());
}
}
}

55
app/src/main/java/com/swifttech/remit/android/features/accountmanage/presenter/inboundaccountmanage/InboundAccountAddV2PresenterInterface.java

@ -1,55 +0,0 @@
package com.swifttech.remit.android.features.accountmanage.presenter.inboundaccountmanage;
import com.swifttech.remit.android.features.accountmanage.model.accountlisting.AutoDebitAccount;
import com.swifttech.remit.android.features.accountmanage.model.accountlisting.InboundAccount;
import com.swifttech.remit.android.features.accountmanage.model.bankaccountvalidation.BankInfo;
import com.swifttech.remit.android.features.accountmanage.view.inboundaccountmanage.InboundAddAccountConfirmFragment;
import com.swifttech.remit.android.features.accountmanage.view.inboundaccountmanage.InboundAddAccountPennyTestFragment;
import com.swifttech.remit.android.base.BaseContractInterface;
import com.swifttech.remit.android.base.BasePresenterInterface;
import java.util.List;
import io.reactivex.Observable;
public interface InboundAccountAddV2PresenterInterface extends BasePresenterInterface {
void updateAutoDebitAccountData(AutoDebitAccount autoDebitAccount);
void updateInboundAccount(InboundAccount inboundAccount);
void getRelatedData();
void requestForPennyTest(String resend);
void submitPennyTest(String depositReference);
List<BankInfo> getKoreanBankList();
void updateBank(BankInfo selectedBank);
void onBankAccNoChanged(String bankAccNo);
Observable<InboundAddAccountConfirmFragment.InboundAddAccountViewDTO> subscribeToInboundAddAccountDataEvent();
Observable<InboundAddAccountPennyTestFragment.InboundPennyTestViewDTO> subscribeToPennyTestDataEvent();
void onDepositReferenceChanged(String depositReference);
void onBankDetailValidated();
interface InboundAccountAddV2ContractInterface extends BaseContractInterface
{
void showInvalidAccNoError(String errorMessage);
void enableForm1Button(boolean action);
void showPennyTestScreen();
void showInvalidDepositError(String errorMessage);
void enableForm2Button(boolean action);
void onPennyTestSuccess();
}
}

145
app/src/main/java/com/swifttech/remit/android/features/accountmanage/view/AutoDebitWebBrowserActivityV2.java

@ -1,145 +0,0 @@
package com.swifttech.remit.android.features.accountmanage.view;
import android.app.Activity;
import android.content.Context;
import android.webkit.JavascriptInterface;
import android.webkit.WebView;
import com.swifttech.remit.android.R;
import com.swifttech.remit.android.RemitApplication;
import com.swifttech.remit.android.features.accountmanage.model.accountlisting.AutoDebitAddSeriveAuthenticationServiceModel;
import com.swifttech.remit.android.features.accountmanage.model.accountlisting.WebRequestModel;
import com.swifttech.remit.android.common.customwidgets.CustomAlertDialog;
import com.swifttech.remit.android.utils.https.GenericApiObserverResponse;
import com.swifttech.remit.android.utils.https.HttpClientV2;
import com.swifttech.remit.android.features.webbrowser.WebBrowserV2Activity;
import com.google.gson.stream.MalformedJsonException;
import java.util.Map;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.CompositeDisposable;
import io.reactivex.schedulers.Schedulers;
public class AutoDebitWebBrowserActivityV2 extends WebBrowserV2Activity {
private WebView webView;
private WebRequestModel webRequestModel;
private CompositeDisposable compositeDisposable;
private WebAppInterface webInterface;
private final static String WEB_INTERFACE_NAME = "Android";
@Override
protected void doTask(WebRequestModel webRequestModel, WebView webView) {
if (webRequestModel != null) {
this.webView = webView;
this.webRequestModel = webRequestModel;
this.compositeDisposable = new CompositeDisposable();
this.webInterface = new WebAppInterface(AutoDebitWebBrowserActivityV2.this);
authenticateService();
}
}
private void authenticateService() {
this.compositeDisposable.add(
HttpClientV2.getInstance().postDataForAddingAutoDebitAccount(webRequestModel.getUrl(), webRequestModel.getHeaderAsMapData())
.doOnSubscribe(subs -> showProgressBar(true, getString(R.string.processing_request_text)))
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.doFinally(() -> showProgressBar(false, (String) null))
.subscribeWith(new AutoDebitAddRequestObserver()));
}
@Override
public void onBackPressed() {
finish();
}
@Override
protected void onDestroy() {
super.onDestroy();
try {
webView.removeJavascriptInterface(WEB_INTERFACE_NAME);
} catch (Exception e) {
}
if (compositeDisposable != null && !compositeDisposable.isDisposed())
compositeDisposable.dispose();
}
class AutoDebitAddRequestObserver extends GenericApiObserverResponse<AutoDebitAddSeriveAuthenticationServiceModel> {
@Override
protected void onSuccess(AutoDebitAddSeriveAuthenticationServiceModel data) {
updateTitleInBrowser(webRequestModel.getWebTitle() != null && webRequestModel.getWebTitle().length() > 0 ? webRequestModel.getWebTitle() : "");
String url = data.getAuthenticatedUrl();
if (url == null || url.length() < 1)
showPopUpMessage("Invalid url", CustomAlertDialog.AlertType.FAILED, alertType -> finish());
else {
showUrlInWebView(data.getAuthenticatedUrl(), null);
}
}
private void showUrlInWebView(String url, Map<String, String> headerValue) {
webView.addJavascriptInterface(webInterface, WEB_INTERFACE_NAME);
if (headerValue != null)
webView.loadUrl(url, headerValue);
else
webView.loadUrl(url);
}
@Override
public void onFailed(String message) {
showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED, alertType -> finish());
}
@Override
protected void onConnectionNotEstablished(String message) {
showPopUpMessage(message, CustomAlertDialog.AlertType.NO_INTERNET, alertType -> finish());
}
@Override
protected void unauthorizedAccess(String message) {
RemitApplication.getStorage().edit().clear().commit();
showPopUpMessage(message, CustomAlertDialog.AlertType.ALERT, alertType -> logout());
}
@Override
public void onError(Throwable e) {
if (e instanceof MalformedJsonException) {
showUrlInWebView(webRequestModel.getUrl(), webRequestModel.getHeaderAsMapData());
} else
super.onError(e);
}
}
class WebAppInterface {
Context mContext;
/**
* Instantiate the interface and set the context
*/
WebAppInterface(Context c) {
mContext = c;
}
/**
* Show a toast from the web page
*/
@JavascriptInterface
public void onAutoDebitAccountResult(String message) {
showToastMessage(message);
setResult(Activity.RESULT_OK);
finish();
}
}
}

27
app/src/main/java/com/swifttech/remit/android/features/accountmanage/view/accountlisting/autodebitlisting/AccountAddRVViewHolder.java

@ -1,27 +0,0 @@
package com.swifttech.remit.android.features.accountmanage.view.accountlisting.autodebitlisting;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import android.view.View;
import com.swifttech.remit.android.R;
import butterknife.BindView;
import butterknife.ButterKnife;
public class AccountAddRVViewHolder extends RecyclerView.ViewHolder {
@BindView(R.id.accAddImageView)
View addAccIcon;
public AccountAddRVViewHolder(@NonNull View itemView) {
super(itemView);
ButterKnife.bind(this,itemView);
}
public View getAddAccIcon()
{
return addAccIcon;
}
}

9
app/src/main/java/com/swifttech/remit/android/features/accountmanage/view/inboundaccountmanage/InboundAccountAddActionListener.java

@ -1,9 +0,0 @@
package com.swifttech.remit.android.features.accountmanage.view.inboundaccountmanage;
import com.swifttech.remit.android.features.accountmanage.presenter.inboundaccountmanage.InboundAccountAddV2PresenterInterface;
public interface InboundAccountAddActionListener {
InboundAccountAddV2PresenterInterface getPresenter();
}

155
app/src/main/java/com/swifttech/remit/android/features/accountmanage/view/inboundaccountmanage/InboundAccountAddActivity.java

@ -1,155 +0,0 @@
package com.swifttech.remit.android.features.accountmanage.view.inboundaccountmanage;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.os.Build;
import android.os.Parcelable;
import androidx.fragment.app.Fragment;
import androidx.viewpager.widget.ViewPager;
import android.os.Bundle;
import android.view.ViewGroup;
import android.view.Window;
import com.swifttech.remit.android.R;
import com.swifttech.remit.android.features.accountmanage.adapter.accountlisting.AccountManageViewPagerAdapter;
import com.swifttech.remit.android.features.accountmanage.gateway.inboundaccountmanage.InboundAccountAddV2Gateway;
import com.swifttech.remit.android.features.accountmanage.model.accountlisting.AutoDebitAccount;
import com.swifttech.remit.android.features.accountmanage.model.accountlisting.InboundAccount;
import com.swifttech.remit.android.features.accountmanage.presenter.inboundaccountmanage.InboundAccountAddV2Presenter;
import com.swifttech.remit.android.features.accountmanage.presenter.inboundaccountmanage.InboundAccountAddV2PresenterInterface;
import com.swifttech.remit.android.base.BaseActivity;
import com.swifttech.remit.android.features.homeV2.view.HomeActivityV2;
import java.util.ArrayList;
import butterknife.BindView;
import butterknife.ButterKnife;
public class InboundAccountAddActivity extends BaseActivity implements InboundAccountAddV2PresenterInterface.InboundAccountAddV2ContractInterface,InboundAccountAddActionListener {
private static final String ACCOUNT_DATA_BUNDLE_KEY = "ACCOUNT_DATA_BUNDLE_KEY";
@BindView(R.id.fragmentContainer)
ViewPager fragmentContainer;
private AccountManageViewPagerAdapter accountManageViewPagerAdapter;
private ArrayList<Fragment> fragments;
private InboundAccountAddV2PresenterInterface presenter;
@SuppressLint("SourceLockedOrientationActivity")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_inbound_account_add_activitity);
if (Build.VERSION.SDK_INT == Build.VERSION_CODES.O||Build.VERSION.SDK_INT==Build.VERSION_CODES.O_MR1) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
} else {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
Window window = getWindow();
if (window != null) {
window.getAttributes().windowAnimations = R.style.SlideInAnimation;
window.setBackgroundDrawableResource(R.drawable.ic_rounded_grey_bg_with_inset);
window.setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
// window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING);
}
ButterKnife.bind(this);
init();
performDefaultAction(savedInstanceState);
}
public static void launchActivity(Context context, AutoDebitAccount autoDebitAccount) {
Intent intent = new Intent(context, InboundAccountAddActivity.class);
intent.putExtra(ACCOUNT_DATA_BUNDLE_KEY, autoDebitAccount);
context.startActivity(intent);
}
public static void launchActivity(Context context, InboundAccount inboundAccount) {
Intent intent = new Intent(context, InboundAccountAddActivity.class);
intent.putExtra(ACCOUNT_DATA_BUNDLE_KEY, inboundAccount);
context.startActivity(intent);
}
private void init() {
presenter = new InboundAccountAddV2Presenter(this,new InboundAccountAddV2Gateway());
setupViewPager();
}
private void performDefaultAction(Bundle savedInstance) {
Parcelable data = getIntent().getParcelableExtra(ACCOUNT_DATA_BUNDLE_KEY);
if (data != null) {
if (data instanceof AutoDebitAccount)
presenter.updateAutoDebitAccountData((AutoDebitAccount) data);
else
presenter.updateInboundAccount((InboundAccount) data);
} else
presenter.getRelatedData();
}
private void setupViewPager() {
accountManageViewPagerAdapter = new AccountManageViewPagerAdapter(getSupportFragmentManager());
fragments = new ArrayList<>();
fragments.add(new InboundAddAccountConfirmFragment());
fragments.add(new InboundAddAccountPennyTestFragment());
accountManageViewPagerAdapter.addFragments(fragments);
fragmentContainer.setAdapter(accountManageViewPagerAdapter);
}
@Override
public void showInvalidAccNoError(String errorMessage) {
((InboundAddAccountConfirmFragment) fragments.get(0)).showInvalidAccNo(errorMessage);
}
@Override
public void enableForm1Button(boolean action) {
((InboundAddAccountConfirmFragment) fragments.get(0)).enableButton(action);
}
@Override
public void showPennyTestScreen() {
fragmentContainer.setCurrentItem(1,true);
}
@Override
public void showInvalidDepositError(String errorMessage) {
((InboundAddAccountPennyTestFragment) fragments.get(1)).showInvalidDepositError(errorMessage);
}
@Override
public void enableForm2Button(boolean action) {
((InboundAddAccountPennyTestFragment) fragments.get(1)).enableButton(action);
}
@Override
public void onPennyTestSuccess() {
Intent a = new Intent(this, HomeActivityV2.class);
a.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
a.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(a);
finish();
}
@Override
public InboundAccountAddV2PresenterInterface getPresenter() {
return this.presenter;
}
}

191
app/src/main/java/com/swifttech/remit/android/features/accountmanage/view/inboundaccountmanage/InboundAddAccountConfirmFragment.java

@ -1,191 +0,0 @@
package com.swifttech.remit.android.features.accountmanage.view.inboundaccountmanage;
import android.os.Bundle;
import androidx.annotation.Nullable;
import android.text.Editable;
import android.text.InputFilter;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;
import com.swifttech.remit.android.R;
import com.swifttech.remit.android.features.accountmanage.model.bankaccountvalidation.BankInfo;
import com.swifttech.remit.android.base.BaseFragment;
import com.swifttech.remit.android.common.customwidgets.GMEFormInputField;
import com.swifttech.remit.android.common.customwidgets.TextWatcherAdapter;
import com.swifttech.remit.android.common.customwidgets.banklistingdialog.BankIconMapper;
import com.swifttech.remit.android.common.customwidgets.common.GenericImageWithTextListingDialog;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import io.reactivex.observers.DisposableObserver;
public class InboundAddAccountConfirmFragment extends BaseFragment {
@BindView(R.id.bankAccountNumberFormInputField)
GMEFormInputField bankAccountNumberFormInputField;
@BindView(R.id.bankSelectionFormInputField)
GMEFormInputField bankSelectionFormInputField;
@BindView(R.id.bank_ico_imageview)
ImageView bankIconImageView;
@BindView(R.id.startPennyTestButton)
Button startPennyTestButton;
private BankSelectClickListener bankSelectionClickListener;
private GenericImageWithTextListingDialog<BankInfo> bankListingDialog;
private BankAccountNumberTextWatcher bankAccountNoTextWatcher;
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_inbound_account_add, container, false);
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
ButterKnife.bind(this, view);
init();
performDefaultAction(savedInstanceState);
}
private void init() {
bankSelectionClickListener = new BankSelectClickListener();
bankAccountNoTextWatcher=new BankAccountNumberTextWatcher();
bankSelectionFormInputField.setInputFilters (new InputFilter[]{});
((InboundAccountAddActionListener) getActivity()).getPresenter().subscribeToInboundAddAccountDataEvent().subscribe(new InboundAddAccoountDataObserver());
}
@Override
public void onStart() {
super.onStart();
registerTextWatchers(true);
bankSelectionFormInputField.getEditTextView().setOnClickListener(bankSelectionClickListener);
}
@Override
public void onStop() {
super.onStop();
registerTextWatchers(false);
bankSelectionFormInputField.getEditTextView().setOnClickListener(null);
}
private void registerTextWatchers(boolean action) {
if (action) {
bankAccountNumberFormInputField.getEditTextView().addTextChangedListener(bankAccountNoTextWatcher);
} else {
bankAccountNumberFormInputField.getEditTextView().removeTextChangedListener(bankAccountNoTextWatcher);
}
}
@OnClick(R.id.startPennyTestButton)
public void startPennyTest() {
if (startPennyTestButton.isEnabled()) {
((InboundAccountAddActionListener) getActivity()).getPresenter().onBankDetailValidated();
}
}
private void performDefaultAction(Bundle savedInstance) {
}
private void updateData(InboundAddAccountViewDTO inboundAddAccountViewDTO) {
registerTextWatchers(false);
bankAccountNumberFormInputField.getEditTextView().setText(inboundAddAccountViewDTO.accountNo);
bankSelectionFormInputField.getEditTextView().setText(inboundAddAccountViewDTO.bankName);
bankIconImageView.setImageResource(BankIconMapper.getBankIconFromBankCode(inboundAddAccountViewDTO.bankCode));
bankSelectionFormInputField.setEnabled(inboundAddAccountViewDTO.enableFields);
bankAccountNumberFormInputField.setEnabled(inboundAddAccountViewDTO.enableFields);
registerTextWatchers(true);
startPennyTestButton.setEnabled(true);
}
public void showInvalidAccNo(String errorMessage) {
bankAccountNumberFormInputField.setErrorEnabled(errorMessage!=null);
bankAccountNumberFormInputField.setError(errorMessage);
}
public void enableButton(boolean action) {
startPennyTestButton.setEnabled(action);
}
public class BankSelectClickListener implements View.OnClickListener {
@Override
public void onClick(View v) {
if (bankListingDialog == null)
bankListingDialog = new GenericImageWithTextListingDialog<>();
bankListingDialog.setData(((InboundAccountAddActionListener) getActivity()).getPresenter().getKoreanBankList());
bankListingDialog.setListener(selectedBank ->
{
((InboundAccountAddActionListener) getActivity()).getPresenter().updateBank(selectedBank);
bankSelectionFormInputField.getEditTextView().setText(selectedBank.toString());
bankIconImageView.setImageResource(BankIconMapper.getBankIconFromBankCode(selectedBank.getBankCode()));
bankListingDialog.dismiss();
});
bankListingDialog.setHintAndTitle(getString(R.string.search_bank_text), getString(R.string.bank_placeholder_text), getString(R.string.no_bank_found_text));
bankListingDialog.disableSearch(false);
if (!bankListingDialog.isAdded())
bankListingDialog.show(getFragmentManager(), "BankSelectionDialog");
}
}
public class BankAccountNumberTextWatcher extends TextWatcherAdapter
{
@Override
public void afterTextChanged(Editable s) {
((InboundAccountAddActionListener) getActivity()).getPresenter().onBankAccNoChanged(s.toString());
}
}
public static class InboundAddAccountViewDTO {
String bankName;
String bankCode;
String accountNo;
boolean enableFields;
public InboundAddAccountViewDTO(String bankName, String bankCode, String accountNo, boolean enableFields) {
this.bankName = bankName;
this.bankCode = bankCode;
this.accountNo = accountNo;
this.enableFields = enableFields;
}
}
public class InboundAddAccoountDataObserver extends DisposableObserver<InboundAddAccountViewDTO>
{
@Override
public void onNext(InboundAddAccountViewDTO inboundAddAccountViewDTO) {
updateData(inboundAddAccountViewDTO);
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
}
}

171
app/src/main/java/com/swifttech/remit/android/features/accountmanage/view/inboundaccountmanage/InboundAddAccountPennyTestFragment.java

@ -1,171 +0,0 @@
package com.swifttech.remit.android.features.accountmanage.view.inboundaccountmanage;
import android.os.Bundle;
import androidx.annotation.Nullable;
import com.swifttech.remit.android.utils.other.Utility;
import com.google.android.material.textfield.TextInputLayout;
import android.text.Editable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import com.swifttech.remit.android.R;
import com.swifttech.remit.android.base.BaseFragment;
import com.swifttech.remit.android.common.customwidgets.TextWatcherAdapter;
import com.swifttech.remit.android.common.customwidgets.banklistingdialog.BankIconMapper;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import io.reactivex.observers.DisposableObserver;
public class InboundAddAccountPennyTestFragment extends BaseFragment {
@BindView(R.id.depositReferenceInputWrapper)
TextInputLayout depositReferenceInputWrapper;
@BindView(R.id.ed_creditNumber)
EditText ed_creditNumber;
@BindView(R.id.txt_pennytest_msg)
TextView txt_pennytest_msg;
@BindView(R.id.bankNameTxtView)
TextView bankNameTxtView;
@BindView(R.id.bankAccNoTxtView)
TextView bankAccNoTxtView;
@BindView(R.id.bankIcon)
ImageView bankIcon;
@BindView(R.id.agreeButton)
Button pennyTestCompleteButton;
private DepositReferenceTextWatcher depositReferenceTextWatcher;
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_inbound_account_penny_test, container, false);
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
ButterKnife.bind(this, view);
init();
performDefaultAction(savedInstanceState);
}
private void init() {
depositReferenceTextWatcher = new DepositReferenceTextWatcher();
((InboundAccountAddActionListener) getActivity()).getPresenter().subscribeToPennyTestDataEvent().subscribe(new InboundPennyTestDataObserver());
}
private void performDefaultAction(Bundle savedInstance) {
}
public void updateData(InboundPennyTestViewDTO inboundPennyTestViewDTO) {
txt_pennytest_msg.setText(inboundPennyTestViewDTO.pennyTestMessage);
bankIcon.setImageResource(BankIconMapper.getBankIconFromBankCode(inboundPennyTestViewDTO.bankCode));
bankNameTxtView.setText(inboundPennyTestViewDTO.bankName);
bankAccNoTxtView.setText(inboundPennyTestViewDTO.accountNo);
}
@Override
public void onStart() {
super.onStart();
ed_creditNumber.addTextChangedListener(depositReferenceTextWatcher);
}
@Override
public void onStop() {
super.onStop();
ed_creditNumber.removeTextChangedListener(depositReferenceTextWatcher);
}
@OnClick(R.id.image_example)
public void showSample()
{
Utility.showImageDialog(getActivity(), null, R.drawable.penny_test_sample);
}
@OnClick(R.id.resend_request)
public void resendRequest()
{
((InboundAccountAddActionListener) getActivity()).getPresenter().requestForPennyTest("Y");
}
public void showInvalidDepositError(String errorMessage) {
depositReferenceInputWrapper.setErrorEnabled(errorMessage!=null);
depositReferenceInputWrapper.setError(errorMessage);
}
public void enableButton(boolean action) {
pennyTestCompleteButton.setEnabled(action);
}
@OnClick(R.id.agreeButton)
public void onPennyTestCompleteButtonPressed()
{
if(pennyTestCompleteButton.isEnabled())
{
((InboundAccountAddActionListener) getActivity()).getPresenter().submitPennyTest(ed_creditNumber.getText().toString());
}
}
public class DepositReferenceTextWatcher extends TextWatcherAdapter
{
@Override
public void afterTextChanged(Editable s) {
((InboundAccountAddActionListener) getActivity()).getPresenter().onDepositReferenceChanged(s.toString());
}
}
public static class InboundPennyTestViewDTO
{
String bankName;
String bankCode;
String accountNo;
String pennyTestMessage;
public InboundPennyTestViewDTO(String bankName, String bankCode, String accountNo,String pennyTestMessage) {
this.bankName = bankName;
this.bankCode = bankCode;
this.accountNo = accountNo;
this.pennyTestMessage=pennyTestMessage;
}
}
public class InboundPennyTestDataObserver extends DisposableObserver<InboundPennyTestViewDTO>
{
@Override
public void onNext(InboundPennyTestViewDTO inboundAddAccountViewDTO) {
updateData(inboundAddAccountViewDTO);
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
}
}

23
app/src/main/java/com/swifttech/remit/android/features/homeV2/view/HomeActivityV2.java

@ -189,7 +189,7 @@ public class HomeActivityV2 extends BaseActivity implements HomeParentViewContra
presenter.getRequiredData();
}
@OnClick({R.id.iv_help, R.id.iv_nav, R.id.btn_withdraw, R.id.view_about_gme, R.id.view_setting, R.id.view_logout, R.id.iv_close, R.id.iv_notification, R.id.view_transaction_report})
@OnClick({R.id.iv_help, R.id.iv_nav, R.id.btn_withdraw, R.id.view_about_gme, R.id.view_setting, R.id.view_logout, R.id.iv_close, R.id.iv_notification})
public void onClick(View view) {
switch (view.getId()) {
@ -219,10 +219,6 @@ public class HomeActivityV2 extends BaseActivity implements HomeParentViewContra
case R.id.view_transaction_report:
showTransactionHistoryView();
break;
}
}
@ -485,23 +481,6 @@ public class HomeActivityV2 extends BaseActivity implements HomeParentViewContra
@Override
public void showPrivilegedOperationView(Boolean action) {
View withdrawView = nav_drawer.findViewById(R.id.btn_withdraw);
View manageAccountDivider = nav_drawer.findViewById(R.id.manageAccountsDivider);
View transactionReportView = nav_drawer.findViewById(R.id.view_transaction_report);
if (action) {
// withdrawView.setVisibility(View.VISIBLE);
manageAccountDivider.setVisibility(View.VISIBLE);
transactionReportView.setVisibility(View.VISIBLE);
} else {
// withdrawView.setVisibility(View.INVISIBLE);
manageAccountDivider.setVisibility(View.GONE);
transactionReportView.setVisibility(View.GONE);
}
}

2
app/src/main/java/com/swifttech/remit/android/features/homeV2/view/HomeFragmentV2.java

@ -163,7 +163,7 @@ public class HomeFragmentV2 extends BaseFragment implements HomeMenuRvAdapterV2.
List<MenuItem> menuList = new ArrayList<>();
menuList.add(new MenuItem(getString(R.string.send_money_text), R.drawable.ic_menu_sendmoney, 1));
menuList.add(new MenuItem(getString(R.string.todays_rate_text), R.drawable.ic_menu_exchange_rate, 3));
menuList.add(new MenuItem(getString(R.string.transaction_report_text), R.drawable.ic_menu_trackloc, 7));
menuList.add(new MenuItem(getString(R.string.transaction_report_text), R.drawable.ic_menu_statement, 7));
menuList.add(new MenuItem(getString(R.string.gme_wallet_statement_text), R.drawable.ic_menu_wallet_statement, 4));
return menuList;
}

3
app/src/main/java/com/swifttech/remit/android/features/inboundreceipt/view/InboundRemitReceiptActivity.java

@ -10,7 +10,7 @@ import android.widget.TextView;
import androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat;
import com.swifttech.remit.android.R;
import com.swifttech.remit.android.features.accountmanage.view.inboundaccountmanage.InboundAccountAddActivity;
import com.swifttech.remit.android.base.BaseActivity;
import com.swifttech.remit.android.common.customwidgets.exchangecountrylistingdialog.CountryFlagMapper;
import com.swifttech.remit.android.features.inboundreceipt.gateway.InboundRemitReceiptGateway;
@ -205,7 +205,6 @@ public class InboundRemitReceiptActivity extends BaseActivity implements Inbound
@OnClick({R.id.btn_link})
public void requestBankLink() {
InboundAccountAddActivity.launchActivity(this, presenter.getInboundBankLinkParam());
}
@Override

BIN
app/src/main/jniLibs/arm64-v8a/libantidebugger.so

BIN
app/src/main/jniLibs/armeabi-v7a/libantidebugger.so

BIN
app/src/main/jniLibs/x86/libantidebugger.so

BIN
app/src/main/jniLibs/x86_64/libantidebugger.so

32
app/src/main/res/layout/nav_drawer_fragment.xml

@ -182,38 +182,6 @@
android:layout_marginStart="52dp"
android:orientation="vertical">
<LinearLayout
android:id="@+id/view_transaction_report"
android:layout_width="match_parent"
android:layout_height="48dp"
android:visibility="gone"
android:gravity="center"
android:orientation="horizontal">
<ImageView
android:layout_width="16dp"
android:layout_height="16dp"
android:src="@drawable/sm_txn_report" />
<com.swifttech.remit.android.common.customwidgets.GmeTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="14dp"
android:layout_marginStart="14dp"
android:text="@string/transaction_report_text"
android:textColor="@color/darkgray"
android:textSize="@dimen/_10ssp" />
</LinearLayout>
<View
android:id="@+id/manageAccountsDivider"
android:visibility="gone"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/divider" />
<LinearLayout
android:id="@+id/view_about_gme"
android:layout_width="match_parent"

2
app/src/main/res/values-mn/strings.xml

@ -44,7 +44,7 @@
<string name="verification_in_aproval_process_text">Гишүүний бүртгэлийг шалгаж байна. Тун удахгүй та GME үйлчилгээг ашиглах боломжтой болно.</string>
<string name="complete_penny_test">Гишүүний бүртгэлийг идэвхижүүлэхийн тулд банкны дансаа баталгаажуулна уу.</string>
<string name="remaining_limit_text">Шилжүүлэх боломжтой нийт мөнгөн дүн</string>
<string name="send_money_text">Мөнгө шилжүүлэх</string>
<string name="send_money_text">Мөнгө илгээх</string>
<string name="todays_rate_text">Өнөөдрийн ханш</string>
<string name="transaction_report_text">Хийгдсэн гүйлгээний баримт</string>
<string name="gme_wallet_statement_text">GME дансны хуулга</string>

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

@ -110,7 +110,7 @@
<string name="send_money_text">Send Money</string>
<string name="todays_rate_text">Today\'s Rate</string>
<string name="transaction_report_text">Transaction Report</string>
<string name="gme_wallet_statement_text">Fast Remit Wallet Statement</string>
<string name="gme_wallet_statement_text">Wallet Statement</string>
<string name="home_text">Home</string>
<string name="profile_text">Profile</string>
<string name="help_you_text">We are there to help you (Available time 10:00AM - 12:00AM)</string>

Loading…
Cancel
Save