Browse Source

Balance and remaining fixes

master
Preyea Regmi 6 years ago
parent
commit
97b2dfac70
  1. 34
      app/src/main/java/com/gmeremit/online/gmeremittance_native/base/PrivilegedGateway.java
  2. 5
      app/src/main/java/com/gmeremit/online/gmeremittance_native/base/PrivilegedGatewayInterface.java
  3. 30
      app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/view/HomeActivityV2.java
  4. 16
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/view/recipientlisting/RecipientListingV2Activity.java
  5. 6
      app/src/main/java/com/gmeremit/online/gmeremittance_native/sendmoneyV2/gateway/SendMoneyV2Gateway.java
  6. 17
      app/src/main/java/com/gmeremit/online/gmeremittance_native/sendmoneyV2/model/SendMoneyTransactionResponseBody.java
  7. 1
      app/src/main/java/com/gmeremit/online/gmeremittance_native/sendmoneyV2/presenter/SendMoneyV2InteractorInterface.java
  8. 6
      app/src/main/java/com/gmeremit/online/gmeremittance_native/sendmoneyV2/presenter/SendMoneyV2Presenter.java
  9. 36
      app/src/main/java/com/gmeremit/online/gmeremittance_native/sendmoneyV2/view/SendMoneyV2Activity.java
  10. 13
      app/src/main/java/com/gmeremit/online/gmeremittance_native/sendmoneyV2/view/SendMoneyV2TransactionCompleteActivity.java
  11. 11
      app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/GenericResponseDataModel.java
  12. 7
      app/src/main/java/com/gmeremit/online/gmeremittance_native/withdrawV2/gateway/WithdrawV2Gateway.java
  13. 1
      app/src/main/java/com/gmeremit/online/gmeremittance_native/withdrawV2/presenter/WithdrawV2InteractorInterface.java
  14. 16
      app/src/main/java/com/gmeremit/online/gmeremittance_native/withdrawV2/presenter/WithdrawV2Presenter.java
  15. 2
      app/src/main/java/com/gmeremit/online/gmeremittance_native/withdrawV2/view/WithdrawV2Activity.java

34
app/src/main/java/com/gmeremit/online/gmeremittance_native/base/PrivilegedGateway.java

@ -1,11 +1,10 @@
package com.gmeremit.online.gmeremittance_native.base; package com.gmeremit.online.gmeremittance_native.base;
import android.annotation.SuppressLint; import android.annotation.SuppressLint;
import android.content.SharedPreferences;
import com.gmeremit.online.gmeremittance_native.GmeApplication; import com.gmeremit.online.gmeremittance_native.GmeApplication;
import java.util.ArrayList;
import java.util.List;
import com.gmeremit.online.gmeremittance_native.homeV2.model.UserInfoModelV2;
/** /**
* Created by Preyea * Created by Preyea
@ -15,19 +14,17 @@ public abstract class PrivilegedGateway implements PrivilegedGatewayInterface {
private static PrivilegedGatewayDataObserverManager privilegedGatewayDataObserverManager = null; private static PrivilegedGatewayDataObserverManager privilegedGatewayDataObserverManager = null;
public interface PrivilegedGatewayDataObserver
{
public interface PrivilegedGatewayDataObserver {
void onUserRelatedDataUpdated(); void onUserRelatedDataUpdated();
} }
private static void registerPrivilegedGatewayDataObserver(PrivilegedGatewayDataObserver observer)
{
private static void registerPrivilegedGatewayDataObserver(PrivilegedGatewayDataObserver observer) {
if (privilegedGatewayDataObserverManager == null) if (privilegedGatewayDataObserverManager == null)
privilegedGatewayDataObserverManager = new PrivilegedGatewayDataObserverManager(); privilegedGatewayDataObserverManager = new PrivilegedGatewayDataObserverManager();
privilegedGatewayDataObserverManager.addObserver(observer); privilegedGatewayDataObserverManager.addObserver(observer);
} }
private static void unregisterPrivilegedGatewayDataObserver(PrivilegedGatewayDataObserver observer)
{
private static void unregisterPrivilegedGatewayDataObserver(PrivilegedGatewayDataObserver observer) {
if (privilegedGatewayDataObserverManager == null) if (privilegedGatewayDataObserverManager == null)
return; return;
privilegedGatewayDataObserverManager.removeObserver(observer); privilegedGatewayDataObserverManager.removeObserver(observer);
@ -130,10 +127,25 @@ public abstract class PrivilegedGateway implements PrivilegedGatewayInterface {
} }
/**
*
* @param loginApiResponseModelV2
*/
@SuppressLint("ApplySharedPref") @SuppressLint("ApplySharedPref")
@Override @Override
public void updateBalance(String balance) {
GmeApplication.getStorage().edit().putString(PrefKeys.USER_AVAILABLE_BALANCE, balance).commit();
public void updateUserInfoInBatch(UserInfoModelV2 loginApiResponseModelV2) {
SharedPreferences.Editor sharedPreferenceEditor = GmeApplication.getStorage().edit();
if (isValidString(loginApiResponseModelV2.getAvailableBalance()))
sharedPreferenceEditor.putString(PrefKeys.USER_AVAILABLE_BALANCE, loginApiResponseModelV2.getAvailableBalance());
if (isValidString(loginApiResponseModelV2.getYearlyLimit()))
sharedPreferenceEditor.putString(PrefKeys.USER_YEARLY_REMAINING_LIMIT, loginApiResponseModelV2.getYearlyLimit());
sharedPreferenceEditor.commit();
privilegedGatewayDataObserverManager.broadcastUserRelatedDataUpdateEvent(); privilegedGatewayDataObserverManager.broadcastUserRelatedDataUpdateEvent();
} }
private boolean isValidString(String word) {
return word != null && word.length() >= 1;
}
} }

5
app/src/main/java/com/gmeremit/online/gmeremittance_native/base/PrivilegedGatewayInterface.java

@ -1,6 +1,8 @@
package com.gmeremit.online.gmeremittance_native.base; package com.gmeremit.online.gmeremittance_native.base;
import com.gmeremit.online.gmeremittance_native.homeV2.model.UserInfoModelV2;
public interface PrivilegedGatewayInterface extends BaseGatewayInterface { public interface PrivilegedGatewayInterface extends BaseGatewayInterface {
void addPrivilegedGatewayDataObserver(PrivilegedGateway.PrivilegedGatewayDataObserver observer); void addPrivilegedGatewayDataObserver(PrivilegedGateway.PrivilegedGatewayDataObserver observer);
@ -51,6 +53,5 @@ public interface PrivilegedGatewayInterface extends BaseGatewayInterface {
* Update user related data. * Update user related data.
* This update will trigger broadcast to all observer * This update will trigger broadcast to all observer
*/ */
void updateBalance(String balance);
void updateUserInfoInBatch(UserInfoModelV2 data);
} }

30
app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/view/HomeActivityV2.java

@ -53,8 +53,6 @@ import butterknife.BindView;
import butterknife.ButterKnife; import butterknife.ButterKnife;
import butterknife.OnClick; import butterknife.OnClick;
import static com.gmeremit.online.gmeremittance_native.kycV2.view.KYCFormV2Activity.KYC_RESULT_STATUS_BUNDLE_KEY;
import static com.gmeremit.online.gmeremittance_native.withdrawV2.view.WithdrawV2Activity.WITHDRAW_RESULT_STATUS_BUNDLE_KEY;
public class HomeActivityV2 extends BaseActivity implements HomeParentViewContractV2, HomeV2PresenterInterface.HomeV2ContractInterface { public class HomeActivityV2 extends BaseActivity implements HomeParentViewContractV2, HomeV2PresenterInterface.HomeV2ContractInterface {
@ -259,7 +257,7 @@ public class HomeActivityV2 extends BaseActivity implements HomeParentViewContra
public void showSendMoneyView() { public void showSendMoneyView() {
String unverifiedMessage = presenter.checkIfUserVerified(); String unverifiedMessage = presenter.checkIfUserVerified();
if (unverifiedMessage == null) if (unverifiedMessage == null)
startActivityForResult(new Intent(getApplicationContext(), RecipientListingV2Activity.class),SEND_MONEY_REQUEST_CODE);
startActivity(new Intent(getApplicationContext(), RecipientListingV2Activity.class));
else else
showPopUpMessage(unverifiedMessage, CustomAlertDialog.AlertType.ALERT, null); showPopUpMessage(unverifiedMessage, CustomAlertDialog.AlertType.ALERT, null);
} }
@ -285,10 +283,6 @@ public class HomeActivityV2 extends BaseActivity implements HomeParentViewContra
} }
@Override @Override
public void showTransactionStatementView() { public void showTransactionStatementView() {
String unverifiedMessage = presenter.checkIfUserVerified(); String unverifiedMessage = presenter.checkIfUserVerified();
@ -308,30 +302,12 @@ public class HomeActivityV2 extends BaseActivity implements HomeParentViewContra
private void openWithdrawScreen() { private void openWithdrawScreen() {
String unverifiedMessage = presenter.checkIfUserVerified(); String unverifiedMessage = presenter.checkIfUserVerified();
if (unverifiedMessage == null) if (unverifiedMessage == null)
startActivityForResult(new Intent(this, WithdrawV2Activity.class), WITHDRAW_AMOUNT_REQUEST_CODE);
startActivity(new Intent(this, WithdrawV2Activity.class));
else else
showPopUpMessage(unverifiedMessage, CustomAlertDialog.AlertType.ALERT, null); showPopUpMessage(unverifiedMessage, CustomAlertDialog.AlertType.ALERT, null);
} }
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == WITHDRAW_AMOUNT_REQUEST_CODE) {
if (resultCode == Activity.RESULT_OK) {
boolean result = data.getBooleanExtra(WITHDRAW_RESULT_STATUS_BUNDLE_KEY, false);
if (result&&this.presenter!=null) {
this.presenter.getRequiredCachedData();
}
}
}
if( resultCode==Activity.RESULT_OK)
{
boolean result = data.getBooleanExtra(SendMoneyV2Activity.SEND_MONEY_STATUS_BUNDLE_KEY, false);
if (result&&this.presenter!=null) {
this.presenter.getRequiredCachedData();
}
}
}
@Override @Override
public HomeV2PresenterInterface getPresenter() { public HomeV2PresenterInterface getPresenter() {

16
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/view/recipientlisting/RecipientListingV2Activity.java

@ -30,8 +30,6 @@ import java.util.List;
import butterknife.BindView; import butterknife.BindView;
import butterknife.ButterKnife; import butterknife.ButterKnife;
import static com.gmeremit.online.gmeremittance_native.sendmoneyV2.view.SendMoneyV2Activity.SEND_MONEY_STATUS_BUNDLE_KEY;
import static com.gmeremit.online.gmeremittance_native.withdrawV2.view.WithdrawV2Activity.WITHDRAW_RESULT_STATUS_BUNDLE_KEY;
public class RecipientListingV2Activity extends BaseActivity implements RecipientListingRvAdapter.RecipientSelectionListener, View.OnClickListener, RecipientListingV2PresenterInterface.RecipientListingV2ContractInterface { public class RecipientListingV2Activity extends BaseActivity implements RecipientListingRvAdapter.RecipientSelectionListener, View.OnClickListener, RecipientListingV2PresenterInterface.RecipientListingV2ContractInterface {
@ -56,7 +54,6 @@ public class RecipientListingV2Activity extends BaseActivity implements Recipien
private RecipientListingV2PresenterInterface recipientListingV2PresenterInterface; private RecipientListingV2PresenterInterface recipientListingV2PresenterInterface;
public static int RECIPIENT_INFO_ACTION_EDIT=2999; public static int RECIPIENT_INFO_ACTION_EDIT=2999;
public static final int SEND_MONEY_REQUEST_CODE=2989;
@ -136,7 +133,7 @@ public class RecipientListingV2Activity extends BaseActivity implements Recipien
//Proceed to send money //Proceed to send money
Intent intent = new Intent(this, SendMoneyV2Activity.class); Intent intent = new Intent(this, SendMoneyV2Activity.class);
intent.putExtra(RecipientAddV2Activity.RECIPIENT_INFO_BUNDLE_KEY,recipientInfoModel); intent.putExtra(RecipientAddV2Activity.RECIPIENT_INFO_BUNDLE_KEY,recipientInfoModel);
startActivityForResult(intent,SEND_MONEY_REQUEST_CODE);
startActivity(intent);
} }
@Override @Override
@ -172,17 +169,6 @@ public class RecipientListingV2Activity extends BaseActivity implements Recipien
if (requestCode == RecipientListingV2Activity.RECIPIENT_INFO_ACTION_EDIT && resultCode == RESULT_OK) { if (requestCode == RecipientListingV2Activity.RECIPIENT_INFO_ACTION_EDIT && resultCode == RESULT_OK) {
this.recipientListingV2PresenterInterface.getAllRecipientList(); this.recipientListingV2PresenterInterface.getAllRecipientList();
} }
else if (requestCode == SEND_MONEY_REQUEST_CODE) {
if (resultCode == Activity.RESULT_OK) {
boolean result = data.getBooleanExtra(SEND_MONEY_STATUS_BUNDLE_KEY, false);
{
Intent returnIntent = new Intent();
returnIntent.putExtra(SEND_MONEY_STATUS_BUNDLE_KEY, result);
setResult(Activity.RESULT_OK, returnIntent);
finish();
}
}
}
} }
} }

6
app/src/main/java/com/gmeremit/online/gmeremittance_native/sendmoneyV2/gateway/SendMoneyV2Gateway.java

@ -93,12 +93,6 @@ public class SendMoneyV2Gateway extends PrivilegedGateway implements SendMoneyV2
return HttpClientV2.getInstance().performSendMoneyTransactionV2(auth,requestBody); return HttpClientV2.getInstance().performSendMoneyTransactionV2(auth,requestBody);
} }
@Override
public void updateBalance(String userBalance) {
SharedPreferences.Editor sharedPreferenceEditor = GmeApplication.getStorage().edit();
sharedPreferenceEditor.putString(PrefKeys.USER_AVAILABLE_BALANCE,userBalance);
sharedPreferenceEditor.commit();
}
@Override @Override

17
app/src/main/java/com/gmeremit/online/gmeremittance_native/sendmoneyV2/model/SendMoneyTransactionResponseBody.java

@ -20,11 +20,18 @@ public class SendMoneyTransactionResponseBody {
@SerializedName("Extra") @SerializedName("Extra")
@Expose @Expose
private String extra; private String extra;
@SerializedName("Extra2")
@Expose
private String extra2;
public SendMoneyTransactionResponseBody(String errorCode, String msg, String id) {
public SendMoneyTransactionResponseBody(String errorCode, String msg, String id, Object data, String extra, String extra2) {
this.errorCode = errorCode; this.errorCode = errorCode;
this.msg = msg; this.msg = msg;
this.id = id; this.id = id;
this.data = data;
this.extra = extra;
this.extra2 = extra2;
} }
public String getErrorCode() { public String getErrorCode() {
@ -66,4 +73,12 @@ public class SendMoneyTransactionResponseBody {
public void setExtra(String extra) { public void setExtra(String extra) {
this.extra = extra; this.extra = extra;
} }
public String getExtra2() {
return extra2;
}
public void setExtra2(String extra2) {
this.extra2 = extra2;
}
} }

1
app/src/main/java/com/gmeremit/online/gmeremittance_native/sendmoneyV2/presenter/SendMoneyV2InteractorInterface.java

@ -46,7 +46,6 @@ public interface SendMoneyV2InteractorInterface extends BaseInteractorInterface
Observable<SendMoneyTransactionResponseBody> performSendMoneyTransaction(String auth, SendMoneyAPIRequestBody requestBody); Observable<SendMoneyTransactionResponseBody> performSendMoneyTransaction(String auth, SendMoneyAPIRequestBody requestBody);
void updateBalance(String userBalance);
} }

6
app/src/main/java/com/gmeremit/online/gmeremittance_native/sendmoneyV2/presenter/SendMoneyV2Presenter.java

@ -4,6 +4,7 @@ import com.gmeremit.online.gmeremittance_native.base.BasePresenter;
import com.gmeremit.online.gmeremittance_native.customwidgets.CustomAlertDialog; import com.gmeremit.online.gmeremittance_native.customwidgets.CustomAlertDialog;
import com.gmeremit.online.gmeremittance_native.customwidgets.passwordpromptdialog.PasswordPromptDialog; import com.gmeremit.online.gmeremittance_native.customwidgets.passwordpromptdialog.PasswordPromptDialog;
import com.gmeremit.online.gmeremittance_native.exchange_rate.model.datav2.ExchangeCalculationApiResponse; import com.gmeremit.online.gmeremittance_native.exchange_rate.model.datav2.ExchangeCalculationApiResponse;
import com.gmeremit.online.gmeremittance_native.homeV2.model.UserInfoModelV2;
import com.gmeremit.online.gmeremittance_native.recipientV2.model.recipientlisting.RecipientInfoModel; import com.gmeremit.online.gmeremittance_native.recipientV2.model.recipientlisting.RecipientInfoModel;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.gateway.SendMoneyV2Gateway; import com.gmeremit.online.gmeremittance_native.sendmoneyV2.gateway.SendMoneyV2Gateway;
import com.gmeremit.online.gmeremittance_native.sendmoneyV2.model.SendMoneyAPIRequestBody; import com.gmeremit.online.gmeremittance_native.sendmoneyV2.model.SendMoneyAPIRequestBody;
@ -353,7 +354,10 @@ public class SendMoneyV2Presenter extends BasePresenter implements SendMoneyV2Pr
@Override @Override
protected void onSuccess(SendMoneyTransactionResponseBody sendMoneyResponse) { protected void onSuccess(SendMoneyTransactionResponseBody sendMoneyResponse) {
if (sendMoneyResponse.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) { if (sendMoneyResponse.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) {
gateway.updateBalance(sendMoneyResponse.getExtra());
UserInfoModelV2 userInfoModelV2=new UserInfoModelV2();
userInfoModelV2.setAvailableBalance(sendMoneyResponse.getExtra());
userInfoModelV2.setYearlyLimit(sendMoneyResponse.getExtra2());
gateway.updateUserInfoInBatch(userInfoModelV2);
currentTransactionSuccess=true; currentTransactionSuccess=true;
view.showPopUpMessage(sendMoneyResponse.getMsg(), CustomAlertDialog.AlertType.SUCCESS, new CustomAlertDialog.CustomDialogActionListener() { view.showPopUpMessage(sendMoneyResponse.getMsg(), CustomAlertDialog.AlertType.SUCCESS, new CustomAlertDialog.CustomDialogActionListener() {

36
app/src/main/java/com/gmeremit/online/gmeremittance_native/sendmoneyV2/view/SendMoneyV2Activity.java

@ -44,11 +44,6 @@ public class SendMoneyV2Activity extends BaseActivity implements SendMoneyAction
public static String RECIPIENT_DATA = "recipientData"; public static String RECIPIENT_DATA = "recipientData";
public static final String SEND_MONEY_STATUS_BUNDLE_KEY ="sendMoneyStatusResultBundleKey";
public static final int RECIEPT_REQUEST_CODE=43532;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
@ -246,35 +241,6 @@ public class SendMoneyV2Activity extends BaseActivity implements SendMoneyAction
super.onBackPressed(); super.onBackPressed();
} }
@Override
public void finish() {
if(this.presenter.isRecentTransactionSuccess()) {
setResultToCallingActivity();
}
super.finish();
}
private void setResultToCallingActivity()
{
if(this.presenter.isRecentTransactionSuccess()) {
Intent returnIntent = new Intent();
returnIntent.putExtra(SEND_MONEY_STATUS_BUNDLE_KEY, true);
setResult(Activity.RESULT_OK, returnIntent);
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == RECIEPT_REQUEST_CODE) {
if (resultCode == Activity.RESULT_OK) {
this.finish();
}
}
}
@Override @Override
protected void onSaveInstanceState(Bundle outState) { protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState); super.onSaveInstanceState(outState);
@ -302,7 +268,7 @@ public class SendMoneyV2Activity extends BaseActivity implements SendMoneyAction
startReceiptActivity.putExtra(SendMoneyV2TransactionCompleteActivity.SEND_MONEY_TID_BUNDLE_KEY, transactionId); startReceiptActivity.putExtra(SendMoneyV2TransactionCompleteActivity.SEND_MONEY_TID_BUNDLE_KEY, transactionId);
startReceiptActivity.putExtra(SendMoneyV2TransactionCompleteActivity.IS_TRANSACTION_DETAIL_REQUEST_FROM_SEND_MONEY_BUNDLE_KEY, true); startReceiptActivity.putExtra(SendMoneyV2TransactionCompleteActivity.IS_TRANSACTION_DETAIL_REQUEST_FROM_SEND_MONEY_BUNDLE_KEY, true);
startReceiptActivity.putExtra(SendMoneyV2TransactionCompleteActivity.SHOULD_UPDATE_BALANCE_UPON_RETURN, true); startReceiptActivity.putExtra(SendMoneyV2TransactionCompleteActivity.SHOULD_UPDATE_BALANCE_UPON_RETURN, true);
startActivityForResult(startReceiptActivity,RECIEPT_REQUEST_CODE);
startActivity(startReceiptActivity);
} }
@Override @Override

13
app/src/main/java/com/gmeremit/online/gmeremittance_native/sendmoneyV2/view/SendMoneyV2TransactionCompleteActivity.java

@ -21,7 +21,6 @@ import com.gmeremit.online.gmeremittance_native.supportV2.view.SupportActivityV2
import butterknife.BindView; import butterknife.BindView;
import butterknife.ButterKnife; import butterknife.ButterKnife;
import static com.gmeremit.online.gmeremittance_native.sendmoneyV2.view.SendMoneyV2Activity.SEND_MONEY_STATUS_BUNDLE_KEY;
public class SendMoneyV2TransactionCompleteActivity extends BaseActivity implements SendMoneyTransactionCompleteV2PresenterInterface.SendMoneyTransactionCompleteV2PresenterInterfaceV2ContractInterface, View.OnClickListener { public class SendMoneyV2TransactionCompleteActivity extends BaseActivity implements SendMoneyTransactionCompleteV2PresenterInterface.SendMoneyTransactionCompleteV2PresenterInterfaceV2ContractInterface, View.OnClickListener {
@ -85,7 +84,6 @@ public class SendMoneyV2TransactionCompleteActivity extends BaseActivity impleme
public static final String IS_TRANSACTION_DETAIL_REQUEST_FROM_SEND_MONEY_BUNDLE_KEY = "bundleKeyTransactionDetailRequest"; public static final String IS_TRANSACTION_DETAIL_REQUEST_FROM_SEND_MONEY_BUNDLE_KEY = "bundleKeyTransactionDetailRequest";
private boolean isRequestedBySendMoney = false; private boolean isRequestedBySendMoney = false;
private String controlId; private String controlId;
private boolean shouldUpdateBalanceUponReturn=false;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
@ -103,7 +101,6 @@ public class SendMoneyV2TransactionCompleteActivity extends BaseActivity impleme
try { try {
transactionId = getIntent().getStringExtra(SEND_MONEY_TID_BUNDLE_KEY); transactionId = getIntent().getStringExtra(SEND_MONEY_TID_BUNDLE_KEY);
isRequestedBySendMoney = getIntent().getBooleanExtra(IS_TRANSACTION_DETAIL_REQUEST_FROM_SEND_MONEY_BUNDLE_KEY, false); isRequestedBySendMoney = getIntent().getBooleanExtra(IS_TRANSACTION_DETAIL_REQUEST_FROM_SEND_MONEY_BUNDLE_KEY, false);
shouldUpdateBalanceUponReturn = getIntent().getBooleanExtra(SHOULD_UPDATE_BALANCE_UPON_RETURN, false);
prepareForm(); prepareForm();
if (!isRequestedBySendMoney) { if (!isRequestedBySendMoney) {
controlId = getIntent().getStringExtra(SEND_MONEY_CONTROL_NO_BUNDLE_KEY); controlId = getIntent().getStringExtra(SEND_MONEY_CONTROL_NO_BUNDLE_KEY);
@ -222,15 +219,7 @@ public class SendMoneyV2TransactionCompleteActivity extends BaseActivity impleme
} }
} }
@Override
public void finish() {
if(shouldUpdateBalanceUponReturn) {
Intent returnIntent = new Intent();
returnIntent.putExtra(SEND_MONEY_STATUS_BUNDLE_KEY, true);
setResult(Activity.RESULT_OK, returnIntent);
}
super.finish();
}
} }

11
app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/GenericResponseDataModel.java

@ -12,6 +12,9 @@ public class GenericResponseDataModel<T> {
@SerializedName("Extra") @SerializedName("Extra")
@Expose @Expose
private String extra; private String extra;
@SerializedName("Extra2")
@Expose
private String extra2;
@SerializedName("Msg") @SerializedName("Msg")
@Expose @Expose
private String msg; private String msg;
@ -61,4 +64,12 @@ public class GenericResponseDataModel<T> {
public void setExtra(String extra) { public void setExtra(String extra) {
this.extra = extra; this.extra = extra;
} }
public String getExtra2() {
return extra2;
}
public void setExtra2(String extra2) {
this.extra2 = extra2;
}
} }

7
app/src/main/java/com/gmeremit/online/gmeremittance_native/withdrawV2/gateway/WithdrawV2Gateway.java

@ -38,14 +38,7 @@ public class WithdrawV2Gateway extends PrivilegedGateway implements WithdrawV2In
return HttpClientV2.getInstance().performRefundOperation(auth,body); return HttpClientV2.getInstance().performRefundOperation(auth,body);
} }
@Override
public void updateUserBalance(String userBalance) {
SharedPreferences.Editor sharedPreferenceEditor = GmeApplication.getStorage().edit();
sharedPreferenceEditor.putString(PrefKeys.USER_AVAILABLE_BALANCE,userBalance);
sharedPreferenceEditor.commit();
}
} }

1
app/src/main/java/com/gmeremit/online/gmeremittance_native/withdrawV2/presenter/WithdrawV2InteractorInterface.java

@ -15,6 +15,5 @@ public interface WithdrawV2InteractorInterface extends BaseInteractorInterface {
Observable<ResponseBody> getWithdrawRelatedData(String userId, String auth); Observable<ResponseBody> getWithdrawRelatedData(String userId, String auth);
Observable<ResponseBody> performWithdrawMoney(String userName, String amount, String chargeAmount, String userId, String auth); Observable<ResponseBody> performWithdrawMoney(String userName, String amount, String chargeAmount, String userId, String auth);
void updateUserBalance(String userBalance);
} }
} }

16
app/src/main/java/com/gmeremit/online/gmeremittance_native/withdrawV2/presenter/WithdrawV2Presenter.java

@ -2,6 +2,7 @@ package com.gmeremit.online.gmeremittance_native.withdrawV2.presenter;
import com.gmeremit.online.gmeremittance_native.base.BasePresenter; import com.gmeremit.online.gmeremittance_native.base.BasePresenter;
import com.gmeremit.online.gmeremittance_native.customwidgets.CustomAlertDialog; import com.gmeremit.online.gmeremittance_native.customwidgets.CustomAlertDialog;
import com.gmeremit.online.gmeremittance_native.homeV2.model.UserInfoModelV2;
import com.gmeremit.online.gmeremittance_native.utils.Constants; import com.gmeremit.online.gmeremittance_native.utils.Constants;
import com.gmeremit.online.gmeremittance_native.utils.Utils; import com.gmeremit.online.gmeremittance_native.utils.Utils;
import com.gmeremit.online.gmeremittance_native.utils.https.GenericApiObserverResponseV2; import com.gmeremit.online.gmeremittance_native.utils.https.GenericApiObserverResponseV2;
@ -50,7 +51,12 @@ public class WithdrawV2Presenter extends BasePresenter implements WithdrawV2Pres
} }
private boolean validateAmount(String amount) { private boolean validateAmount(String amount) {
this.gateway.updateBalance(amount);
//TODO remove this
UserInfoModelV2 userInfoModelV2=new UserInfoModelV2();
userInfoModelV2.setAvailableBalance(amount);
userInfoModelV2.setYearlyLimit(999+"");
gateway.updateUserInfoInBatch(userInfoModelV2);
this.view.onWithdrawSuccess();
if (amount == null || amount.length() < 1) { if (amount == null || amount.length() < 1) {
view.showToastMessage("Amount cannot be empty"); view.showToastMessage("Amount cannot be empty");
return false; return false;
@ -138,9 +144,6 @@ public class WithdrawV2Presenter extends BasePresenter implements WithdrawV2Pres
protected void onConnectionNotEstablished(String message) { protected void onConnectionNotEstablished(String message) {
view.showPopUpMessage(message, CustomAlertDialog.AlertType.NO_INTERNET, alertType -> view.exitView()); view.showPopUpMessage(message, CustomAlertDialog.AlertType.NO_INTERNET, alertType -> view.exitView());
} }
} }
class WithdrawOperationDataObserver extends GenericApiObserverResponseV2<MessageResponseDataModel> { class WithdrawOperationDataObserver extends GenericApiObserverResponseV2<MessageResponseDataModel> {
@ -153,7 +156,10 @@ public class WithdrawV2Presenter extends BasePresenter implements WithdrawV2Pres
@Override @Override
protected void onSuccess(GenericResponseDataModel<MessageResponseDataModel> response) { protected void onSuccess(GenericResponseDataModel<MessageResponseDataModel> response) {
if (response.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) { if (response.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) {
gateway.updateUserBalance(response.getExtra());
UserInfoModelV2 userInfoModelV2=new UserInfoModelV2();
userInfoModelV2.setAvailableBalance(response.getExtra());
userInfoModelV2.setYearlyLimit(response.getExtra2());
gateway.updateUserInfoInBatch(userInfoModelV2);
view.showPopUpMessage(response.getData().getMsg(), CustomAlertDialog.AlertType.SUCCESS, alertType -> view.onWithdrawSuccess()); view.showPopUpMessage(response.getData().getMsg(), CustomAlertDialog.AlertType.SUCCESS, alertType -> view.onWithdrawSuccess());
} else { } else {
view.showPopUpMessage(response.getMsg(), CustomAlertDialog.AlertType.FAILED, null); view.showPopUpMessage(response.getMsg(), CustomAlertDialog.AlertType.FAILED, null);

2
app/src/main/java/com/gmeremit/online/gmeremittance_native/withdrawV2/view/WithdrawV2Activity.java

@ -47,7 +47,6 @@ public class WithdrawV2Activity extends BaseActivity implements View.OnClickList
private CurrencyFormatterTextWatcher currencyFormatterTextWatcher; private CurrencyFormatterTextWatcher currencyFormatterTextWatcher;
public static final String WITHDRAW_RESULT_STATUS_BUNDLE_KEY ="withdrawStatusResultBundleKey";
@ -126,7 +125,6 @@ public class WithdrawV2Activity extends BaseActivity implements View.OnClickList
@Override @Override
public void onWithdrawSuccess() { public void onWithdrawSuccess() {
Intent returnIntent = new Intent(); Intent returnIntent = new Intent();
returnIntent.putExtra(WITHDRAW_RESULT_STATUS_BUNDLE_KEY,true);
setResult(Activity.RESULT_OK,returnIntent); setResult(Activity.RESULT_OK,returnIntent);
finish(); finish();
} }

Loading…
Cancel
Save