From b4d75f3eb7e9562e7e82dc28b83b5df3cdd4ce5e Mon Sep 17 00:00:00 2001 From: preyearegmi Date: Sun, 2 Sep 2018 16:13:34 +0900 Subject: [PATCH] Login response v2 implemented for new flow --- .../gmeremittance_native/base/PrefKeys.java | 32 ++ .../base/PrivilegedGateway.java | 19 +- .../base/PrivilegedGatewayInterface.java | 2 +- .../presenter/ExchangeRateV2Presenter.java | 4 +- .../presenter/SendMoneyV2Presenter.java | 2 +- .../sign_in/model/LoginModel.java | 60 +++- .../model/data/LoginApiResponseModelV2.java | 327 ++++++++++++++++++ 7 files changed, 427 insertions(+), 19 deletions(-) create mode 100644 app/src/main/java/com/gmeremit/online/gmeremittance_native/base/PrefKeys.java create mode 100644 app/src/main/java/com/gmeremit/online/gmeremittance_native/sign_in/model/data/LoginApiResponseModelV2.java diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/base/PrefKeys.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/base/PrefKeys.java new file mode 100644 index 00000000..4143b242 --- /dev/null +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/base/PrefKeys.java @@ -0,0 +1,32 @@ +package com.gmeremit.online.gmeremittance_native.base; + +public class PrefKeys { + + //USER RELATED DATA + public static final String USER_FIRST_NAME = "USER_FIRST_NAME"; + public static final String USER_MIDDLE_NAME = "USER_MIDDLE_NAME"; + public static final String USER_LAST_NAME = "USER_LAST_NAME"; + public static final String USER_NICK_NAME = "USER_NICK_NAME"; + public static final String USER_EMAIL = "USER_EMAIL_NAME"; + public static final String USER_MSISDN = "USER_MSISDN"; + public static final String USER_REWAD_POINT = "USER_REWAD_POINT"; + public static final String USER_WALLET_NUMBER = "USER_WALLET_NUMBER"; + public static final String USER_AVAILABLE_BALANCE = "USER_AVAILABLE_BALANCE"; + public static final String USER_PRIMARY_BANK_NAME = "USER_PRIMARY_BANK_NAME"; + public static final String USER_ACCESS_CODE = "USER_PRIMARY_BANK"; + public static final String USER_DP_URL = "USER_DP_URL"; + public static final String USER_KYC_VERIFIED = "USER_KYC_VERIFIED"; + public static final String USER_VERIFIED = "USER_VERIFIED"; + public static final String USER_ACTIVE = "USER_ACTIVE"; + public static final String USER_CM_REGISTRATION_ID = "USER_CM_REGISTRATION_ID"; + public static final String USER_IS_REFERRED = "USER_IS_REFERRED"; + public static final String USER_COUNTRY = "USER_COUNTRY"; + public static final String USER_PROVINCE = "USER_PROVINCE"; + public static final String USER_PROVINCE_ID = "USER_PROVINCE_ID"; + public static final String USER_SOURCE_ID = "USER_SOURCE_ID"; + public static final String USER_ID = "USER_ID"; + public static final String USER_ID_TYPE = "USER_ID_TYPE"; + public static final String USER_ID_NUMBER = "USER_ID_NUMBER"; + public static final String USER_COOUNTRY_CODE = "USER_COOUNTRY_CODE"; + +} diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/base/PrivilegedGateway.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/base/PrivilegedGateway.java index 4ed1def5..6ca708c5 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/base/PrivilegedGateway.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/base/PrivilegedGateway.java @@ -1,20 +1,25 @@ package com.gmeremit.online.gmeremittance_native.base; +import android.util.Log; + import com.gmeremit.online.gmeremittance_native.GmeApplication; +import com.gmeremit.online.gmeremittance_native.utils.Utils; + public abstract class PrivilegedGateway implements PrivilegedGatewayInterface { @Override public String getUserID() { - return GmeApplication.getStorage().getString("USER_ID",""); + return GmeApplication.getStorage().getString(PrefKeys.USER_ID,""); + } @Override public String getAuth(){ - return "Basic "+GmeApplication.getStorage().getString("ACCESS_CODE",""); + return "Basic "+GmeApplication.getStorage().getString(PrefKeys.USER_ACCESS_CODE,""); } @Override - public String getSenderCountryId() { + public String getUserCountryId() { return "118"; } @@ -25,21 +30,21 @@ public abstract class PrivilegedGateway implements PrivilegedGatewayInterface { @Override public String getUserFirstName() { - return GmeApplication.getStorage().getString("FIRST_NAME",""); + return GmeApplication.getStorage().getString(PrefKeys.USER_FIRST_NAME,""); } @Override public String getUserLastName() { - return GmeApplication.getStorage().getString("LAST_NAME",""); + return GmeApplication.getStorage().getString(PrefKeys.USER_LAST_NAME,""); } @Override public String getIDType() { - return GmeApplication.getStorage().getString("USER_ID",""); + return GmeApplication.getStorage().getString(PrefKeys.USER_ID_TYPE,""); } @Override public String getIDNumber() { - return GmeApplication.getStorage().getString("USER_ID",""); + return GmeApplication.getStorage().getString(PrefKeys.USER_ID_NUMBER,""); } } diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/base/PrivilegedGatewayInterface.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/base/PrivilegedGatewayInterface.java index cf055e5a..a7bf706b 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/base/PrivilegedGatewayInterface.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/base/PrivilegedGatewayInterface.java @@ -16,7 +16,7 @@ public interface PrivilegedGatewayInterface extends BaseGatewayInterface { String getIDNumber(); - String getSenderCountryId(); + String getUserCountryId(); String getUserPreferredCurrency(); } diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/exchange_rate/presenter/ExchangeRateV2Presenter.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/exchange_rate/presenter/ExchangeRateV2Presenter.java index 9206a8c5..04b5f40f 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/exchange_rate/presenter/ExchangeRateV2Presenter.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/exchange_rate/presenter/ExchangeRateV2Presenter.java @@ -1,7 +1,5 @@ package com.gmeremit.online.gmeremittance_native.exchange_rate.presenter; -import android.util.Log; - import com.gmeremit.online.gmeremittance_native.base.BasePresenter; import com.gmeremit.online.gmeremittance_native.customwidgets.CustomAlertDialog; import com.gmeremit.online.gmeremittance_native.exchange_rate.gateway.ExchangeRateV2Gateway; @@ -87,7 +85,7 @@ public class ExchangeRateV2Presenter extends BasePresenter implements ExchangeRa private Observable getDefaultValue() { return this.gateway.getAllSeedVAlues().flatMap(seedValueList -> { - String nativeCountryCode = this.gateway.getSenderCountryId(); + String nativeCountryCode = this.gateway.getUserCountryId(); for (CountryPaymentServiceSeedValueModel seedValueModel : seedValueList) { if (seedValueModel.getCountryCode().equalsIgnoreCase(nativeCountryCode)) return Observable.just(seedValueModel); diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/sendmoneyV2/presenter/SendMoneyV2Presenter.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/sendmoneyV2/presenter/SendMoneyV2Presenter.java index 95f18d81..3562ba06 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/sendmoneyV2/presenter/SendMoneyV2Presenter.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/sendmoneyV2/presenter/SendMoneyV2Presenter.java @@ -156,7 +156,7 @@ public class SendMoneyV2Presenter extends BasePresenter implements SendMoneyV2Pr public Observable getForex(String recieveAmount, String senderAmount, boolean shouldCaulatedByRecipient,String recieverCurrency) { - String senderCountryId=gateway.getSenderCountryId(); + String senderCountryId=gateway.getUserCountryId(); String senderCurrency=gateway.getUserPreferredCurrency(); String paymentMethodId=selectedPaymentModeData.getId(); String calculationPreference=shouldCaulatedByRecipient?Constants.CALC_BY_RECIPEINT:Constants.CALC_BY_SENDER;; diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/sign_in/model/LoginModel.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/sign_in/model/LoginModel.java index c4245bf4..8524fead 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/sign_in/model/LoginModel.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/sign_in/model/LoginModel.java @@ -1,9 +1,13 @@ package com.gmeremit.online.gmeremittance_native.sign_in.model; import android.content.Context; +import android.content.SharedPreferences; import android.util.Log; +import com.gmeremit.online.gmeremittance_native.GmeApplication; +import com.gmeremit.online.gmeremittance_native.base.PrefKeys; import com.gmeremit.online.gmeremittance_native.sign_in.LoginContract; +import com.gmeremit.online.gmeremittance_native.sign_in.model.data.LoginApiResponseModelV2; import com.gmeremit.online.gmeremittance_native.sign_in.model.data.SignInRequestBody; import com.gmeremit.online.gmeremittance_native.sign_in.model.data.SignInResponse; import com.gmeremit.online.gmeremittance_native.utils.Utils; @@ -30,11 +34,9 @@ public class LoginModel implements LoginContract.LoginModel { public LoginModel(Context context) { this.context = context; -// String deviceId = Constants.DEVICEID; -// String deviceId = Constants.DEVICEID; + b = Utils.toBase64("172017F9EC11222E8107142733:QRK2UM0Q:" + Utils.getDeviceID(context)); -// Log.d("base",b); -// new RestApi(b); +// } @Override @@ -43,19 +45,18 @@ public class LoginModel implements LoginContract.LoginModel { loginListener.onNoInternetConnection(); } else { - Log.e("LOGIN ", "HERE"); Call call = new RestApi(b).apiEndpoints.signIn(signInJsonBody); call.enqueue(new Callback() { @Override public void onResponse(Call call, Response response) { if (response.isSuccessful()) { - Log.e("ACCESS_CODE", new Gson().toJson(response.body())); + + updateLoginCredential(new Gson().toJson(response.body())); loginListener.onSuccessLogin(response.body(), signInJsonBody); } else { Gson gson = new GsonBuilder().create(); APIRequestErrorReturn statusErrorReturn = new APIRequestErrorReturn(); try { - Log.e("ACCESS_CODE", new Gson().toJson(response.errorBody())); statusErrorReturn = gson.fromJson(response.errorBody().string(), APIRequestErrorReturn.class); } catch (IOException e) { } @@ -70,4 +71,49 @@ public class LoginModel implements LoginContract.LoginModel { }); } } + + private void updateLoginCredential(String jsonBody) + { + LoginApiResponseModelV2 loginApiResponseModelV2; + Gson gson=new GsonBuilder().create(); + try{ + loginApiResponseModelV2=gson.fromJson(jsonBody,LoginApiResponseModelV2.class); + + SharedPreferences.Editor sharedPreferenceEditor = GmeApplication.getStorage().edit(); + + + sharedPreferenceEditor.putString(PrefKeys.USER_ACCESS_CODE,Utils.getBaseAccessCode(loginApiResponseModelV2.getAccessCode(),context)); + sharedPreferenceEditor.putBoolean(PrefKeys.USER_ACTIVE,loginApiResponseModelV2.getActive()); + sharedPreferenceEditor.putString(PrefKeys.USER_AVAILABLE_BALANCE,loginApiResponseModelV2.getAvailableBalance()); + sharedPreferenceEditor.putString(PrefKeys.USER_CM_REGISTRATION_ID,loginApiResponseModelV2.getCmRegistrationId()); + sharedPreferenceEditor.putString(PrefKeys.USER_COOUNTRY_CODE,loginApiResponseModelV2.getCountryCode()); + sharedPreferenceEditor.putString(PrefKeys.USER_COUNTRY,loginApiResponseModelV2.getCountry()); + sharedPreferenceEditor.putString(PrefKeys.USER_DP_URL,loginApiResponseModelV2.getDpUrl()); + sharedPreferenceEditor.putString(PrefKeys.USER_EMAIL,loginApiResponseModelV2.getEmail()); + sharedPreferenceEditor.putString(PrefKeys.USER_FIRST_NAME,loginApiResponseModelV2.getFirstName()); + sharedPreferenceEditor.putString(PrefKeys.USER_ID,loginApiResponseModelV2.getId()); + sharedPreferenceEditor.putString(PrefKeys.USER_ID_NUMBER,loginApiResponseModelV2.getIdNumber()); + sharedPreferenceEditor.putString(PrefKeys.USER_ID_TYPE,loginApiResponseModelV2.getIdType()); + sharedPreferenceEditor.putBoolean(PrefKeys.USER_IS_REFERRED,loginApiResponseModelV2.getReferred()); + sharedPreferenceEditor.putBoolean(PrefKeys.USER_KYC_VERIFIED,loginApiResponseModelV2.getKyc()); + sharedPreferenceEditor.putString(PrefKeys.USER_LAST_NAME,loginApiResponseModelV2.getLastName()); + sharedPreferenceEditor.putString(PrefKeys.USER_MIDDLE_NAME,loginApiResponseModelV2.getMiddleName()); + sharedPreferenceEditor.putString(PrefKeys.USER_MSISDN,loginApiResponseModelV2.getMobileNumber()); + sharedPreferenceEditor.putString(PrefKeys.USER_NICK_NAME,loginApiResponseModelV2.getNickName()); + sharedPreferenceEditor.putString(PrefKeys.USER_PRIMARY_BANK_NAME,loginApiResponseModelV2.getPrimaryBankName()); + sharedPreferenceEditor.putString(PrefKeys.USER_PROVINCE,loginApiResponseModelV2.getProvince()); + sharedPreferenceEditor.putString(PrefKeys.USER_PROVINCE_ID,loginApiResponseModelV2.getProvinceId()); + sharedPreferenceEditor.putString(PrefKeys.USER_REWAD_POINT,loginApiResponseModelV2.getRewardPoint()); + sharedPreferenceEditor.putString(PrefKeys.USER_SOURCE_ID,loginApiResponseModelV2.getSourceId()); + sharedPreferenceEditor.putBoolean(PrefKeys.USER_VERIFIED,loginApiResponseModelV2.getVerified()); + sharedPreferenceEditor.putString(PrefKeys.USER_WALLET_NUMBER,loginApiResponseModelV2.getWalletNumber()); + + sharedPreferenceEditor.apply(); + + } + catch(Exception e) + { + Log.d("GMEEXCEPTION",e.getMessage()); + } + } } diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/sign_in/model/data/LoginApiResponseModelV2.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/sign_in/model/data/LoginApiResponseModelV2.java new file mode 100644 index 00000000..734d3499 --- /dev/null +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/sign_in/model/data/LoginApiResponseModelV2.java @@ -0,0 +1,327 @@ +package com.gmeremit.online.gmeremittance_native.sign_in.model.data; + +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +public class LoginApiResponseModelV2 { + + @SerializedName("userId") + @Expose + private String userId; + @SerializedName("firstName") + @Expose + private String firstName; + @SerializedName("middleName") + @Expose + private String middleName; + @SerializedName("lastName") + @Expose + private String lastName; + @SerializedName("nickName") + @Expose + private String nickName; + @SerializedName("email") + @Expose + private String email; + @SerializedName("mobileNumber") + @Expose + private String mobileNumber; + @SerializedName("rewardPoint") + @Expose + private String rewardPoint; + @SerializedName("walletNumber") + @Expose + private String walletNumber; + @SerializedName("availableBalance") + @Expose + private String availableBalance; + @SerializedName("primaryBankName") + @Expose + private String primaryBankName; + @SerializedName("accessCode") + @Expose + private String accessCode; + @SerializedName("dpUrl") + @Expose + private String dpUrl; + @SerializedName("kyc") + @Expose + private Boolean kyc; + @SerializedName("verified") + @Expose + private Boolean verified; + @SerializedName("active") + @Expose + private Boolean active; + @SerializedName("cmRegistrationId") + @Expose + private String cmRegistrationId; + @SerializedName("isReferred") + @Expose + private Boolean isReferred; + @SerializedName("country") + @Expose + private String country; + @SerializedName("province") + @Expose + private String province; + @SerializedName("provinceId") + @Expose + private String provinceId; + @SerializedName("sourceId") + @Expose + private String sourceId; + @SerializedName("idType") + @Expose + private String idType; + @SerializedName("idNumber") + @Expose + private String idNumber; + @SerializedName("countryCode") + @Expose + private String countryCode; + @SerializedName("ErrorCode") + @Expose + private String errorCode; + @SerializedName("Msg") + @Expose + private String msg; + @SerializedName("Id") + @Expose + private String id; + @SerializedName("Data") + @Expose + private Object data; + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public String getFirstName() { + return firstName; + } + + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + public String getMiddleName() { + return middleName; + } + + public void setMiddleName(String middleName) { + this.middleName = middleName; + } + + public String getLastName() { + return lastName; + } + + public void setLastName(String lastName) { + this.lastName = lastName; + } + + public String getNickName() { + return nickName; + } + + public void setNickName(String nickName) { + this.nickName = nickName; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public String getMobileNumber() { + return mobileNumber; + } + + public void setMobileNumber(String mobileNumber) { + this.mobileNumber = mobileNumber; + } + + public String getRewardPoint() { + return rewardPoint; + } + + public void setRewardPoint(String rewardPoint) { + this.rewardPoint = rewardPoint; + } + + public String getWalletNumber() { + return walletNumber; + } + + public void setWalletNumber(String walletNumber) { + this.walletNumber = walletNumber; + } + + public String getAvailableBalance() { + return availableBalance; + } + + public void setAvailableBalance(String availableBalance) { + this.availableBalance = availableBalance; + } + + public String getPrimaryBankName() { + return primaryBankName; + } + + public void setPrimaryBankName(String primaryBankName) { + this.primaryBankName = primaryBankName; + } + + public String getAccessCode() { + return accessCode; + } + + public void setAccessCode(String accessCode) { + this.accessCode = accessCode; + } + + public String getDpUrl() { + return dpUrl; + } + + public void setDpUrl(String dpUrl) { + this.dpUrl = dpUrl; + } + + public Boolean getKyc() { + return kyc; + } + + public void setKyc(Boolean kyc) { + this.kyc = kyc; + } + + public Boolean getVerified() { + return verified; + } + + public void setVerified(Boolean verified) { + this.verified = verified; + } + + public Boolean getActive() { + return active; + } + + public void setActive(Boolean active) { + this.active = active; + } + + public String getCmRegistrationId() { + return cmRegistrationId; + } + + public void setCmRegistrationId(String cmRegistrationId) { + this.cmRegistrationId = cmRegistrationId; + } + + public Boolean getReferred() { + return isReferred; + } + + public void setReferred(Boolean referred) { + isReferred = referred; + } + + public String getCountry() { + return country; + } + + public void setCountry(String country) { + this.country = country; + } + + public String getProvince() { + return province; + } + + public void setProvince(String province) { + this.province = province; + } + + public String getProvinceId() { + return provinceId; + } + + public void setProvinceId(String provinceId) { + this.provinceId = provinceId; + } + + public String getSourceId() { + return sourceId; + } + + public void setSourceId(String sourceId) { + this.sourceId = sourceId; + } + + public String getIdType() { + return idType; + } + + public void setIdType(String idType) { + this.idType = idType; + } + + public String getIdNumber() { + return idNumber; + } + + public void setIdNumber(String idNumber) { + this.idNumber = idNumber; + } + + public String getCountryCode() { + return countryCode; + } + + public void setCountryCode(String countryCode) { + this.countryCode = countryCode; + } + + public String getErrorCode() { + return errorCode; + } + + public void setErrorCode(String errorCode) { + this.errorCode = errorCode; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public Object getData() { + return data; + } + + public void setData(Object data) { + this.data = data; + } +}