From 33363df7712e04fbe5925a570e8d7eb19897d8eb Mon Sep 17 00:00:00 2001 From: preyearegmi Date: Tue, 12 Feb 2019 10:33:06 +0900 Subject: [PATCH 1/6] Enc dec test complete --- .../securitykeypad/SecurityKeypadRequestParamBuilder.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/security/securitykeypad/SecurityKeypadRequestParamBuilder.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/security/securitykeypad/SecurityKeypadRequestParamBuilder.java index 535dda26..1da772d0 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/security/securitykeypad/SecurityKeypadRequestParamBuilder.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/security/securitykeypad/SecurityKeypadRequestParamBuilder.java @@ -122,7 +122,7 @@ public class SecurityKeypadRequestParamBuilder //--> SERVER 연동테스트 newIntent.putExtra(TransKeyActivity.mTK_PARAM_CRYPT_TYPE, TransKeyActivity.mTK_TYPE_CRYPT_LOCAL); - newIntent.putExtra(TransKeyActivity.mTK_PARAM_SECURE_KEY, secureKey); +// newIntent.putExtra(TransKeyActivity.mTK_PARAM_SECURE_KEY, secureKey); //<-- SERVER 연동테스트 From 080d9550a2865fb504c289f28ee8a00067dc3c78 Mon Sep 17 00:00:00 2001 From: preyearegmi Date: Tue, 12 Feb 2019 11:21:02 +0900 Subject: [PATCH 2/6] Validation simplified --- .idea/caches/build_file_checksums.ser | Bin 661 -> 661 bytes .../gateway/ChangePasswordV2Gateway.java | 3 +- .../ChangePasswordV2InteractorInterface.java | 2 +- .../presenter/ChangePasswordV2Presenter.java | 47 +++------------ .../ChangePasswordV2PresenterInterface.java | 6 +- .../view/ChangePasswordV2Activity.java | 57 +++--------------- .../loginV2/presenter/LoginV2Presenter.java | 30 +++------ .../presenter/LoginV2PresenterInterface.java | 3 +- .../loginV2/view/LoginV2Activity.java | 9 +-- .../registerV2/gateway/RegisterV2Gateway.java | 3 +- .../RegisterV2InteractorInterface.java | 2 +- .../presenter/RegisterV2Presenter.java | 44 ++++---------- .../RegisterV2PresenterInterface.java | 4 +- .../registerV2/view/RegisterV2Activity.java | 38 ++---------- 14 files changed, 59 insertions(+), 189 deletions(-) diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index f11c9384573e319a9a11ca5773f00565ae6e5886..c3ea18f0ed2629438b183665f2c98f45a4e409d5 100644 GIT binary patch delta 33 rcmV++0N($V1(gMmm;~Q performChangePassRequest(String auth, String userId, String oldPass, String newPass) { + public Observable performChangePassRequest(String auth, String userId, String oldPass, String newPass,String confirmPass) { JsonObject jsonObject=new JsonObject(); jsonObject.addProperty("UserId",userId); jsonObject.addProperty("OldPassword",oldPass); jsonObject.addProperty("NewPassword",newPass); + jsonObject.addProperty("ConfirmPassword",newPass); return HttpClientV2.getInstance().performChangePasswordV2(auth,jsonObject); } diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/changepasswordV2/presenter/ChangePasswordV2InteractorInterface.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/changepasswordV2/presenter/ChangePasswordV2InteractorInterface.java index 263110cd..edba1cec 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/changepasswordV2/presenter/ChangePasswordV2InteractorInterface.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/changepasswordV2/presenter/ChangePasswordV2InteractorInterface.java @@ -11,6 +11,6 @@ public interface ChangePasswordV2InteractorInterface extends BaseInteractorInter interface ChangePasswordV2GatewayInterface extends PrivilegedGatewayInterface { - Observable performChangePassRequest(String auth, String userId, String oldPass, String newPass); + Observable performChangePassRequest(String auth, String userId, String oldPass, String newPass,String confirmPass); } } diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/changepasswordV2/presenter/ChangePasswordV2Presenter.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/changepasswordV2/presenter/ChangePasswordV2Presenter.java index f951483a..a6b56d07 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/changepasswordV2/presenter/ChangePasswordV2Presenter.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/changepasswordV2/presenter/ChangePasswordV2Presenter.java @@ -16,9 +16,7 @@ public class ChangePasswordV2Presenter extends BasePresenter implements ChangePa private final ChangePasswordV2PresenterInterface.ChangePasswordV2ContractInterface view; private final ChangePasswordV2Gateway gateway; - private String currentPassword; - private String newPassword; - private String confirmPassword; + private String encCurrentPassword; private String encNewPassword; private String encConfirmPassword; @@ -26,9 +24,7 @@ public class ChangePasswordV2Presenter extends BasePresenter implements ChangePa public ChangePasswordV2Presenter(ChangePasswordV2PresenterInterface.ChangePasswordV2ContractInterface view) { this.view=view; this.gateway=new ChangePasswordV2Gateway(this); - this.currentPassword=""; - this.newPassword=""; - this.confirmPassword=""; + this.encCurrentPassword=""; this.encNewPassword=""; this.encConfirmPassword=""; @@ -105,45 +101,24 @@ public class ChangePasswordV2Presenter extends BasePresenter implements ChangePa boolean confirmPwdValidation=true; boolean newPwdValidation=true; - if(currentPassword.trim().length()<1) + if(encCurrentPassword==null||encCurrentPassword.trim().length()<1) { this.view.setCurrentPasswordError(getStringfromStringId(R.string.password_empty_error)); currentPwdValidation= false; } - if (!Utils.hasSpecialCharacters(newPassword)) { - this.view.setNewPasswordError(getStringfromStringId(R.string.password_symbol_required_error)); - newPwdValidation= false; - } - if (!Utils.hasNumbers(newPassword)) { - this.view.setNewPasswordError(getStringfromStringId(R.string.password_number_required_error)); - newPwdValidation= false; - } - if (newPassword.length()>1&&newPassword.length()<9) { - this.view.setNewPasswordError(getStringfromStringId(R.string.password_length_error)); - newPwdValidation= false; - } - if (!Utils.hasAtleastOnCapitalLetter(newPassword)) { - this.view.setNewPasswordError(getStringfromStringId(R.string.password_capital_letter_required_error)); - newPwdValidation= false; - } - if(newPassword.trim().length()<1) + if(encNewPassword==null||encNewPassword.trim().length()<1) { this.view.setNewPasswordError(getStringfromStringId(R.string.password_empty_error)); newPwdValidation= false; } - if (!newPassword.equals(confirmPassword)) { - this.view.setConfirmPasswordError(getStringfromStringId(R.string.confirm_password_mismatch_error)); - confirmPwdValidation= false; - } - if(confirmPassword==null||confirmPassword.trim().length()<1) + if(encConfirmPassword==null||encConfirmPassword.trim().length()<1) { this.view.setConfirmPasswordError(getStringfromStringId(R.string.confirm_passowrd_empty_error)); confirmPwdValidation= false; } - if(currentPwdValidation) { view.setCurrentPasswordError(null); } @@ -156,7 +131,6 @@ public class ChangePasswordV2Presenter extends BasePresenter implements ChangePa if(newPwdValidation) { view.setNewPasswordError(null); - } return currentPwdValidation&&confirmPwdValidation&&newPwdValidation; @@ -165,7 +139,7 @@ public class ChangePasswordV2Presenter extends BasePresenter implements ChangePa @Override public void changePassword(String currentPass, String newPass) { - this.gateway.performChangePassRequest(this.gateway.getAuth(),this.gateway.getUserID(),this.currentPassword,this.newPassword) + this.gateway.performChangePassRequest(this.gateway.getAuth(),this.gateway.getUserID(),this.encCurrentPassword,this.encNewPassword,this.encConfirmPassword) .doOnSubscribe(d->view.showProgressBar(true,"Changing password...")) .doFinally(()->view.showProgressBar(false,"")) .subscribeOn(Schedulers.io()) @@ -174,21 +148,18 @@ public class ChangePasswordV2Presenter extends BasePresenter implements ChangePa } @Override - public void updateCurrentPassword(String encCurrentPassword, String currentPassword) { + public void updateCurrentPassword(String encCurrentPassword) { this.encCurrentPassword=encCurrentPassword; - this.currentPassword=currentPassword; } @Override - public void updateNewPassword(String encNewPassword,String newPassword) { + public void updateNewPassword(String encNewPassword) { this.encNewPassword=encNewPassword; - this.newPassword=newPassword; } @Override - public void updateConfirmPassword(String encConfirmPassword, String confirmPassword) { + public void updateConfirmPassword(String encConfirmPassword) { this.encConfirmPassword=encConfirmPassword; - this.confirmPassword=confirmPassword; } diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/changepasswordV2/presenter/ChangePasswordV2PresenterInterface.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/changepasswordV2/presenter/ChangePasswordV2PresenterInterface.java index 11bab10b..cbf44f2e 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/changepasswordV2/presenter/ChangePasswordV2PresenterInterface.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/changepasswordV2/presenter/ChangePasswordV2PresenterInterface.java @@ -13,11 +13,11 @@ public interface ChangePasswordV2PresenterInterface extends BasePresenterInterfa void changePassword(String currentPass,String newPass); - void updateCurrentPassword(String encCurrentPassword,String currentPassword); + void updateCurrentPassword(String encCurrentPassword); - void updateNewPassword(String encNewPassword, String newPassword); + void updateNewPassword(String encNewPassword); - void updateConfirmPassword(String encConfirmPassword, String confirmPassword); + void updateConfirmPassword(String encConfirmPassword); interface ChangePasswordV2ContractInterface extends BaseContractInterface { diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/changepasswordV2/view/ChangePasswordV2Activity.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/changepasswordV2/view/ChangePasswordV2Activity.java index dd21a0e3..480e8d0b 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/changepasswordV2/view/ChangePasswordV2Activity.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/changepasswordV2/view/ChangePasswordV2Activity.java @@ -13,6 +13,7 @@ import android.widget.TextView; import com.gmeremit.online.gmeremittance_native.R; import com.gmeremit.online.gmeremittance_native.base.BaseActivity; +import com.gmeremit.online.gmeremittance_native.changepasswordV2.presenter.ChangePasswordV2InteractorInterface; import com.gmeremit.online.gmeremittance_native.changepasswordV2.presenter.ChangePasswordV2Presenter; import com.gmeremit.online.gmeremittance_native.changepasswordV2.presenter.ChangePasswordV2PresenterInterface; import com.gmeremit.online.gmeremittance_native.customwidgets.GmeErrorTextView; @@ -81,7 +82,7 @@ public class ChangePasswordV2Activity extends BaseActivity implements ChangePass View rootView; - private ChangePasswordV2Presenter presenter; + private ChangePasswordV2PresenterInterface presenter; SecurityKeyboardManager securityKeyboardCurrentPasswordManager; @@ -248,25 +249,12 @@ public class ChangePasswordV2Activity extends BaseActivity implements ChangePass class SecurityKeypadCurrentPasswordListener implements SecurityKeyboardManager.SecurityKeyboardActionListenerFacade,SecurityKeyboardView.SecurityKeyboardFocusStateListener { @Override public void done(Intent intent) { - presenter.updateCurrentPassword(intent.getStringExtra(TransKeyActivity.mTK_PARAM_CIPHER_DATA),getDecryptedDataFromIntent(intent)); + presenter.updateCurrentPassword(intent.getStringExtra(TransKeyActivity.mTK_PARAM_SECURE_DATA)); } @Override public void cancel(Intent intent) { - presenter.updateCurrentPassword(intent.getStringExtra(TransKeyActivity.mTK_PARAM_CIPHER_DATA),getDecryptedDataFromIntent(intent)); - } - - - private String getDecryptedDataFromIntent(Intent intent) - { - if (intent == null) - return ""; - - String cipherData = intent.getStringExtra(TransKeyActivity.mTK_PARAM_CIPHER_DATA); - - byte[] secureKey = intent.getByteArrayExtra(TransKeyActivity.mTK_PARAM_SECURE_KEY); - int iRealDataLength = intent.getIntExtra(TransKeyActivity.mTK_PARAM_DATA_LENGTH, 0); - return EncryptionManager.decryptCipherText(cipherData,secureKey,iRealDataLength); + presenter.updateCurrentPassword(intent.getStringExtra(TransKeyActivity.mTK_PARAM_SECURE_DATA)); } @@ -318,29 +306,14 @@ public class ChangePasswordV2Activity extends BaseActivity implements ChangePass class SecurityKeypadNewPasswordListener implements SecurityKeyboardManager.SecurityKeyboardActionListenerFacade,SecurityKeyboardView.SecurityKeyboardFocusStateListener { @Override public void done(Intent intent) { - presenter.updateNewPassword(intent.getStringExtra(TransKeyActivity.mTK_PARAM_CIPHER_DATA),getDecryptedDataFromIntent(intent)); + presenter.updateNewPassword(intent.getStringExtra(TransKeyActivity.mTK_PARAM_SECURE_DATA)); } @Override public void cancel(Intent intent) { - presenter.updateNewPassword(intent.getStringExtra(TransKeyActivity.mTK_PARAM_CIPHER_DATA),getDecryptedDataFromIntent(intent)); - } - - - private String getDecryptedDataFromIntent(Intent intent) - { - if (intent == null) - return ""; - - String cipherData = intent.getStringExtra(TransKeyActivity.mTK_PARAM_CIPHER_DATA); - - byte[] secureKey = intent.getByteArrayExtra(TransKeyActivity.mTK_PARAM_SECURE_KEY); - int iRealDataLength = intent.getIntExtra(TransKeyActivity.mTK_PARAM_DATA_LENGTH, 0); - Log.d("EncryptedData",cipherData); - return EncryptionManager.decryptCipherText(cipherData,secureKey,iRealDataLength); + presenter.updateNewPassword(intent.getStringExtra(TransKeyActivity.mTK_PARAM_SECURE_DATA)); } - @Override public void input(int i) { @@ -390,29 +363,15 @@ public class ChangePasswordV2Activity extends BaseActivity implements ChangePass class SecurityKeypadConfirmPasswordListener implements SecurityKeyboardManager.SecurityKeyboardActionListenerFacade,SecurityKeyboardView.SecurityKeyboardFocusStateListener { @Override public void done(Intent intent) { - presenter.updateConfirmPassword(intent.getStringExtra(TransKeyActivity.mTK_PARAM_CIPHER_DATA),getDecryptedDataFromIntent(intent)); + presenter.updateConfirmPassword(intent.getStringExtra(TransKeyActivity.mTK_PARAM_SECURE_DATA)); } @Override public void cancel(Intent intent) { - presenter.updateConfirmPassword(intent.getStringExtra(TransKeyActivity.mTK_PARAM_CIPHER_DATA),getDecryptedDataFromIntent(intent)); - - } + presenter.updateConfirmPassword(intent.getStringExtra(TransKeyActivity.mTK_PARAM_SECURE_DATA)); - - private String getDecryptedDataFromIntent(Intent intent) - { - if (intent == null) - return ""; - - String cipherData = intent.getStringExtra(TransKeyActivity.mTK_PARAM_CIPHER_DATA); - - byte[] secureKey = intent.getByteArrayExtra(TransKeyActivity.mTK_PARAM_SECURE_KEY); - int iRealDataLength = intent.getIntExtra(TransKeyActivity.mTK_PARAM_DATA_LENGTH, 0); - return EncryptionManager.decryptCipherText(cipherData,secureKey,iRealDataLength); } - @Override public void input(int i) { diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/loginV2/presenter/LoginV2Presenter.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/loginV2/presenter/LoginV2Presenter.java index cbbe377a..590d55fc 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/loginV2/presenter/LoginV2Presenter.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/loginV2/presenter/LoginV2Presenter.java @@ -9,11 +9,8 @@ import com.gmeremit.online.gmeremittance_native.utils.Constants; import com.gmeremit.online.gmeremittance_native.utils.Utils; import com.gmeremit.online.gmeremittance_native.utils.https.GenericApiObserverResponse; -import java.util.logging.Handler; - import io.reactivex.Observable; import io.reactivex.android.schedulers.AndroidSchedulers; -import io.reactivex.disposables.CompositeDisposable; import io.reactivex.schedulers.Schedulers; public class LoginV2Presenter extends BasePresenter implements LoginV2PresenterInterface, LoginV2InteractorInterface { @@ -21,13 +18,13 @@ public class LoginV2Presenter extends BasePresenter implements LoginV2PresenterI private final LoginV2ContractInterface view; private final LoginV2Gateway gateway; - private String userPassword; + private String encUserPassword; public LoginV2Presenter(LoginV2ContractInterface view) { this.view=view; this.gateway=new LoginV2Gateway(this); - userPassword=""; + encUserPassword =""; } @@ -43,17 +40,8 @@ public class LoginV2Presenter extends BasePresenter implements LoginV2PresenterI } } - @Override - public boolean validatePassword(String s) { -// if(s.length()<1) { -// view.showInvalidPassword("Password cannot be empty."); -// return false; -// } -// else { -// view.showInvalidPassword(null); -// return true; -// } - if(userPassword.length()<1) { + private boolean validatePassword() { + if(encUserPassword.length()<1) { view.showInvalidPassword("Password cannot be empty."); return false; } @@ -64,15 +52,15 @@ public class LoginV2Presenter extends BasePresenter implements LoginV2PresenterI } @Override - public void updateUserPassword(String decryptedDataFromIntent) { - this.userPassword=decryptedDataFromIntent; + public void updateUserPassword(String encryptedPassword) { + this.encUserPassword =encryptedPassword; } @Override public void loginUser(String userId, String userPwd) { String auth= "Basic "+Utils.toBase64("172017F9EC11222E8107142733:QRK2UM0Q:" + GmeApplication.getAppRelatedMetaData().getDeviceId()); - this.gateway.loginUser(auth,userId,userPassword) + this.gateway.loginUser(auth,userId, encUserPassword) // .doOnSubscribe(d->view.showProgressBar(true,"Logging in...")) // .doFinally(()->view.showProgressBar(false,"")) .subscribeOn(Schedulers.io()) @@ -94,9 +82,9 @@ public class LoginV2Presenter extends BasePresenter implements LoginV2PresenterI } @Override - public boolean validateAll(String userId, String password) { + public boolean validateAll(String userId) { boolean result1=validateUserId(userId); - boolean result2 =validatePassword(password); + boolean result2 =validatePassword(); return result1&&result2; } diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/loginV2/presenter/LoginV2PresenterInterface.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/loginV2/presenter/LoginV2PresenterInterface.java index cefeae88..e39e79f9 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/loginV2/presenter/LoginV2PresenterInterface.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/loginV2/presenter/LoginV2PresenterInterface.java @@ -15,9 +15,8 @@ public interface LoginV2PresenterInterface extends BasePresenterInterface { void loginUser(String userId, String userPwd); - boolean validateAll(String userId, String password); + boolean validateAll(String userId); boolean validateUserId(String userId); - boolean validatePassword(String s); void updateUserPassword(String decryptedDataFromIntent); diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/loginV2/view/LoginV2Activity.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/loginV2/view/LoginV2Activity.java index 509fbbb9..284a044d 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/loginV2/view/LoginV2Activity.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/loginV2/view/LoginV2Activity.java @@ -200,7 +200,7 @@ public class LoginV2Activity extends BaseActivity implements View.OnClickListene private void onLoginBtn() { - if (presenter.validateAll(usernameId.getText().toString(),"")){ + if (presenter.validateAll(usernameId.getText().toString())){ hideKeyBoard(); rootView.clearFocus(); morphButtonIntoProgressBar(); @@ -362,14 +362,15 @@ public class LoginV2Activity extends BaseActivity implements View.OnClickListene class SecurityKeypadListener implements SecurityKeyboardManager.SecurityKeyboardActionListenerFacade { @Override public void done(Intent intent) { - presenter.updateUserPassword(getDecryptedDataFromIntent(intent)); + String encryptedText = intent.getStringExtra(TransKeyActivity.mTK_PARAM_SECURE_DATA); + presenter.updateUserPassword(encryptedText); onLoginBtn(); } @Override public void cancel(Intent intent) { - presenter.updateUserPassword(getDecryptedDataFromIntent(intent)); - } + String encryptedText = intent.getStringExtra(TransKeyActivity.mTK_PARAM_SECURE_DATA); + presenter.updateUserPassword(encryptedText); } private String getDecryptedDataFromIntent(Intent intent) diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/registerV2/gateway/RegisterV2Gateway.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/registerV2/gateway/RegisterV2Gateway.java index e3c445d0..7af13e06 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/registerV2/gateway/RegisterV2Gateway.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/registerV2/gateway/RegisterV2Gateway.java @@ -27,12 +27,13 @@ public class RegisterV2Gateway extends PrivilegedGateway implements RegisterV2In } @Override - public Observable registerUser(String auth, String userName, String password,String dob, String clientId, String fcmId, String appVersion, String phoneBrand, String phoneOs, String deviceId, String osVersion) { + public Observable registerUser(String auth, String userName, String password,String confirmPassword, String dob, String clientId, String fcmId, String appVersion, String phoneBrand, String phoneOs, String deviceId, String osVersion) { JsonObject jsonObject=new JsonObject(); jsonObject.addProperty("username",userName); jsonObject.addProperty("password",password); + jsonObject.addProperty("confirmPassword",password); jsonObject.addProperty("dob",dob); jsonObject.addProperty("clientId",clientId); jsonObject.addProperty("uuid",deviceId); diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/registerV2/presenter/RegisterV2InteractorInterface.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/registerV2/presenter/RegisterV2InteractorInterface.java index cd8e489e..0bb4acac 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/registerV2/presenter/RegisterV2InteractorInterface.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/registerV2/presenter/RegisterV2InteractorInterface.java @@ -15,7 +15,7 @@ public interface RegisterV2InteractorInterface extends BaseInteractorInterface { interface Register2GatewayInterface extends PrivilegedGatewayInterface { - Observable registerUser(String auth, String userName, String password,String dob, String clientId, String fcmId, String appVersion, String phoneBrand, String phoneOs, String deviceId, String osVersion); + Observable registerUser(String auth, String userName, String password,String confirmPassword, String dob, String clientId, String fcmId, String appVersion, String phoneBrand, String phoneOs, String deviceId, String osVersion); void updateUserId(String userId); } diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/registerV2/presenter/RegisterV2Presenter.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/registerV2/presenter/RegisterV2Presenter.java index 92c7a632..3caaa36a 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/registerV2/presenter/RegisterV2Presenter.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/registerV2/presenter/RegisterV2Presenter.java @@ -23,8 +23,7 @@ public class RegisterV2Presenter extends BasePresenter implements RegisterV2Pres private final RegisterV2ContractInterface view; private CompositeDisposable compositeDisposable; - private String password; - private String confirmPassword; + private String encPassword; private String encConfirmPassword; @@ -32,8 +31,6 @@ public class RegisterV2Presenter extends BasePresenter implements RegisterV2Pres this.view = view; compositeDisposable=new CompositeDisposable(); this.gateway = new RegisterV2Gateway(this); - password=""; - confirmPassword=""; encPassword=""; encConfirmPassword=""; } @@ -88,40 +85,23 @@ public class RegisterV2Presenter extends BasePresenter implements RegisterV2Pres return pwdValidation&&confirmPwdValidation; } + /** + * Validation removed after implementing security keypad + * @return + */ @Override public boolean validatePasswords() { boolean pwdValidation=true; boolean confirmPwdValidation=true; - - if (!Utils.hasSpecialCharacters(password)) { - this.view.setPasswordError("Password should have at least one symbol"); - pwdValidation= false; - } - if (!Utils.hasNumbers(password)) { - this.view.setPasswordError("Password should have at least one number"); - pwdValidation= false; - } - if (password.length()>1&&password.length()<9) { - this.view.setPasswordError("Password should have at least 9 characters"); - pwdValidation= false; - } - if (!Utils.hasAtleastOnCapitalLetter(password)) { - this.view.setPasswordError("Password should have at least one capital letter"); - pwdValidation= false; - } - if(password.trim().length()<1) + if(encPassword==null||encPassword.trim().length()<1) { this.view.setPasswordError("Password cannot be empty"); pwdValidation= false; } - if (!password.equals(confirmPassword)) { - this.view.setConfirmPasswordError("Passwords does not match"); - confirmPwdValidation= false; - } - if(confirmPassword==null||confirmPassword.trim().length()<1) + if(encConfirmPassword==null||encConfirmPassword.trim().length()<1) { this.view.setConfirmPasswordError("Confirm password cannot be empty"); confirmPwdValidation= false; @@ -134,6 +114,7 @@ public class RegisterV2Presenter extends BasePresenter implements RegisterV2Pres view.setConfirmPasswordError(null); } + return pwdValidation&&confirmPwdValidation; } @@ -154,7 +135,8 @@ public class RegisterV2Presenter extends BasePresenter implements RegisterV2Pres this.gateway.registerUser( auth, userId, - this.password, + this.encPassword, + this.encConfirmPassword, dob, "172017F9EC11222E8107142733", fcmID, @@ -211,15 +193,13 @@ public class RegisterV2Presenter extends BasePresenter implements RegisterV2Pres } @Override - public void updatePassword(String encUpdatedPassword, String updatedPassword) { + public void updatePassword(String encUpdatedPassword) { this.encPassword=encUpdatedPassword; - this.password=updatedPassword; } @Override - public void updateConfirmPassword(String encConfirmPassword, String confirmPassword) { + public void updateConfirmPassword(String encConfirmPassword) { this.encConfirmPassword=encConfirmPassword; - this.confirmPassword=confirmPassword; } @Override diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/registerV2/presenter/RegisterV2PresenterInterface.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/registerV2/presenter/RegisterV2PresenterInterface.java index 16306279..2142de2d 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/registerV2/presenter/RegisterV2PresenterInterface.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/registerV2/presenter/RegisterV2PresenterInterface.java @@ -17,9 +17,9 @@ public interface RegisterV2PresenterInterface extends BasePresenterInterface { boolean validateAll(String emailId,String dobString); - void updatePassword(String encUpdatedPassword, String updatedPassword); + void updatePassword(String encUpdatedPassword); - void updateConfirmPassword(String encConfirmPassword, String confirmPassword); + void updateConfirmPassword(String encConfirmPassword); boolean validatePasswords(); diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/registerV2/view/RegisterV2Activity.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/registerV2/view/RegisterV2Activity.java index 1aa56403..1b6a2398 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/registerV2/view/RegisterV2Activity.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/registerV2/view/RegisterV2Activity.java @@ -328,31 +328,15 @@ public class RegisterV2Activity extends BaseActivity implements RegisterV2Presen @Override public void done(Intent intent) { String encryptedText = intent.getStringExtra(TransKeyActivity.mTK_PARAM_SECURE_DATA); - Log.d("RegisterScreen", encryptedText); - presenter.updatePassword(intent.getStringExtra(encryptedText), getDecryptedDataFromIntent(intent)); + presenter.updatePassword(encryptedText); } @Override public void cancel(Intent intent) { String encryptedText = intent.getStringExtra(TransKeyActivity.mTK_PARAM_SECURE_DATA); - Log.d("RegisterScreen", encryptedText); - presenter.updatePassword(encryptedText, getDecryptedDataFromIntent(intent)); + presenter.updatePassword(encryptedText); } - - private String getDecryptedDataFromIntent(Intent intent) { - if (intent == null) - return ""; - - String cipherData = intent.getStringExtra(TransKeyActivity.mTK_PARAM_CIPHER_DATA); - - byte[] secureKey = intent.getByteArrayExtra(TransKeyActivity.mTK_PARAM_SECURE_KEY); - int iRealDataLength = intent.getIntExtra(TransKeyActivity.mTK_PARAM_DATA_LENGTH, 0); - Log.d("EncryptedData", cipherData); - return EncryptionManager.decryptCipherText(cipherData, secureKey, iRealDataLength); - } - - @Override public void input(int i) { @@ -402,28 +386,14 @@ public class RegisterV2Activity extends BaseActivity implements RegisterV2Presen @Override public void done(Intent intent) { String encryptedText = intent.getStringExtra(TransKeyActivity.mTK_PARAM_SECURE_DATA); - Log.d("RegisterScreen", encryptedText); - presenter.updateConfirmPassword(encryptedText, getDecryptedDataFromIntent(intent)); + presenter.updateConfirmPassword(encryptedText); } @Override public void cancel(Intent intent) { String encryptedText = intent.getStringExtra(TransKeyActivity.mTK_PARAM_SECURE_DATA); - Log.d("RegisterScreen", encryptedText); - presenter.updateConfirmPassword(encryptedText, getDecryptedDataFromIntent(intent)); - - } - - - private String getDecryptedDataFromIntent(Intent intent) { - if (intent == null) - return ""; - - String cipherData = intent.getStringExtra(TransKeyActivity.mTK_PARAM_CIPHER_DATA); + presenter.updateConfirmPassword(encryptedText); - byte[] secureKey = intent.getByteArrayExtra(TransKeyActivity.mTK_PARAM_SECURE_KEY); - int iRealDataLength = intent.getIntExtra(TransKeyActivity.mTK_PARAM_DATA_LENGTH, 0); - return EncryptionManager.decryptCipherText(cipherData, secureKey, iRealDataLength); } From 50f3ab080ac72a042acd8897ee35c968ce8ecbd1 Mon Sep 17 00:00:00 2001 From: preyearegmi Date: Tue, 12 Feb 2019 11:23:23 +0900 Subject: [PATCH 3/6] Validation simplified --- .../sendmoneyV2/view/SendMoneyV2Activity.java | 4 +--- .../TransactionPasswordPromptActivity.java | 9 +-------- 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/sendmoneyV2/view/SendMoneyV2Activity.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/sendmoneyV2/view/SendMoneyV2Activity.java index 59d26c30..92858201 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/sendmoneyV2/view/SendMoneyV2Activity.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/sendmoneyV2/view/SendMoneyV2Activity.java @@ -22,7 +22,6 @@ import butterknife.BindView; import butterknife.ButterKnife; import static com.gmeremit.online.gmeremittance_native.recipientV2.view.recipientadd.RecipientAddV2Activity.RECIPIENT_INFO_BUNDLE_KEY; -import static com.gmeremit.online.gmeremittance_native.transactionpasspromt.TransactionPasswordPromptActivity.TRANSACTION_PWD_DEC_DATA; import static com.gmeremit.online.gmeremittance_native.transactionpasspromt.TransactionPasswordPromptActivity.TRANSACTION_PWD_ENC_DATA; public class SendMoneyV2Activity extends BaseActivity implements SendMoneyActionListener, SendMoneyV2PresenterInterface.SendMoneyV2ContractInterface, View.OnClickListener { @@ -273,9 +272,8 @@ public class SendMoneyV2Activity extends BaseActivity implements SendMoneyAction if (requestCode == PASSWORD_PROMPT_REQUEST) { if (resultCode == Activity.RESULT_OK) { String encData=data.getStringExtra(TRANSACTION_PWD_ENC_DATA); - String decData=data.getStringExtra(TRANSACTION_PWD_DEC_DATA); if(this.passwordPromptListener!=null) - passwordPromptListener.onPasswordSubmit(decData); + passwordPromptListener.onPasswordSubmit(encData); this.passwordPromptListener=null; } } diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/transactionpasspromt/TransactionPasswordPromptActivity.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/transactionpasspromt/TransactionPasswordPromptActivity.java index 6281c7cb..6e2b0776 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/transactionpasspromt/TransactionPasswordPromptActivity.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/transactionpasspromt/TransactionPasswordPromptActivity.java @@ -54,7 +54,6 @@ public class TransactionPasswordPromptActivity extends BaseActivity implements S public static final String TRANSACTION_PWD_ENC_DATA="bundleKeyEncData"; - public static final String TRANSACTION_PWD_DEC_DATA="bundleKeyDecData"; @Override protected void onCreate(Bundle savedInstanceState) { @@ -160,16 +159,11 @@ public class TransactionPasswordPromptActivity extends BaseActivity implements S class SecurityKeypadListener implements SecurityKeyboardManager.SecurityKeyboardActionListenerFacade { @Override public void done(Intent intent) { -// String encData=intent.getStringExtra(TransKeyActivity.mTK_PARAM_CIPHER_DATA); String encData=intent.getStringExtra(TransKeyActivity.mTK_PARAM_SECURE_DATA); - Log.d("PasswordPrompt",encData); - - String decData=getDecryptedDataFromIntent(intent); - if(validateStringNotEmpty(decData)) { + if(validateStringNotEmpty(encData)) { passwordErrorTxt.setErrorText(null); Intent returnIntent = new Intent(); returnIntent.putExtra(TRANSACTION_PWD_ENC_DATA, encData); - returnIntent.putExtra(TRANSACTION_PWD_DEC_DATA, decData); setResult(Activity.RESULT_OK, returnIntent); finish(); } @@ -185,7 +179,6 @@ public class TransactionPasswordPromptActivity extends BaseActivity implements S @Override public void cancel(Intent intent) { - Log.d("SecurityKeypad","done"); finish(); } From a9ac3d3aed9301bc7cff8d35651104adb4222bd7 Mon Sep 17 00:00:00 2001 From: preyearegmi Date: Tue, 12 Feb 2019 13:28:10 +0900 Subject: [PATCH 4/6] Validation simplified --- .../registerV2/view/RegisterV2Activity.java | 1 - .../securitykeypad/SecurityKeypadRequestParamBuilder.java | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/registerV2/view/RegisterV2Activity.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/registerV2/view/RegisterV2Activity.java index 1b6a2398..dc0ffa07 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/registerV2/view/RegisterV2Activity.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/registerV2/view/RegisterV2Activity.java @@ -430,7 +430,6 @@ public class RegisterV2Activity extends BaseActivity implements RegisterV2Presen public void onSecurityViewLostFocus() { if (securityKeyboardConfirmPasswordManager != null && securityKeyboardConfirmPasswordManager.isKeyboardVisible()) { securityKeyboardConfirmPasswordManager.hideKeyboard(); - Log.d("RegisterScreen", "PasswordConfirmKeyboard Hide"); } else hideKeyBoard(); } diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/security/securitykeypad/SecurityKeypadRequestParamBuilder.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/security/securitykeypad/SecurityKeypadRequestParamBuilder.java index 1da772d0..e291d2ea 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/security/securitykeypad/SecurityKeypadRequestParamBuilder.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/security/securitykeypad/SecurityKeypadRequestParamBuilder.java @@ -111,7 +111,7 @@ public class SecurityKeypadRequestParamBuilder newIntent.putExtra(TransKeyActivity.mTK_PARAM_DISABLE_SPACE, false); //최대 입력값 설정 1 - 16 - newIntent.putExtra(TransKeyActivity.mTK_PARAM_INPUT_MAXLENGTH, 20); + newIntent.putExtra(TransKeyActivity.mTK_PARAM_INPUT_MAXLENGTH, 30); //인터페이스 - maxLength시에 메시지 박스 보여주기. 기본은 메시지 안나옴. newIntent.putExtra(TransKeyActivity.mTK_PARAM_MAX_LENGTH_MESSAGE, maxLengthErrorMessage); From 55b4bc174438b6febf23f0a2f5a54fecf86ab2d9 Mon Sep 17 00:00:00 2001 From: preyearegmi Date: Tue, 12 Feb 2019 18:47:54 +0900 Subject: [PATCH 5/6] Keypad fixes --- .../securitykeypad/SecurityKeyboardView.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/security/securitykeypad/SecurityKeyboardView.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/security/securitykeypad/SecurityKeyboardView.java index d4876a2c..c0b75fcb 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/security/securitykeypad/SecurityKeyboardView.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/security/securitykeypad/SecurityKeyboardView.java @@ -151,6 +151,23 @@ public class SecurityKeyboardView extends RelativeLayout implements SecurityKeyb return securityKeypadBoundRect.contains(posX, posY); } + private boolean checkIfClearButtonIsPressed(float x, float y) { + int posX = (int) x; + int posY = (int) y; + + int[] securityKeypadClearButtonLeftAndTopCoordinates = new int[2]; + + + clearImageButton.getLocationOnScreen(securityKeypadClearButtonLeftAndTopCoordinates); + + + + Rect securityKeypadClearViewBoundRect = new Rect(securityKeypadClearButtonLeftAndTopCoordinates[0], securityKeypadClearButtonLeftAndTopCoordinates[1], + securityKeypadClearButtonLeftAndTopCoordinates[0] + getMeasuredWidth(), + securityKeypadClearButtonLeftAndTopCoordinates[1] + getMeasuredHeight()); + + return securityKeypadClearViewBoundRect.contains(posX, posY); + } private boolean checkIfUserIsTyping(float x, float y) { @@ -185,6 +202,8 @@ public class SecurityKeyboardView extends RelativeLayout implements SecurityKeyb if (focusListener != null) { if (hasIntersected) focusListener.onSecurityViewRecievedFocus(); + else if(checkIfClearButtonIsPressed(e.getX(),e.getY())) + return super.onSingleTapUp(e); else { boolean isUserTypingonKeypad = checkIfUserIsTyping(e.getX(), e.getY()); if (!isUserTypingonKeypad) From cac11dafd656f59418fa1551b6e5de429bd7d4a2 Mon Sep 17 00:00:00 2001 From: preyearegmi Date: Wed, 13 Feb 2019 10:35:01 +0900 Subject: [PATCH 6/6] Apk split removed --- .idea/caches/build_file_checksums.ser | Bin 661 -> 661 bytes app/build.gradle | 17 +++++++++-------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index c3ea18f0ed2629438b183665f2c98f45a4e409d5..33e581051da3c5d95cbb8f11a7fbd63148924558 100644 GIT binary patch delta 33 rcmV++0N($V1(gMmm;~fe%+j%(=m8OG=UG&-_!Z#T-{*=Y5SnLr7B3L( delta 33 rcmV++0N($V1(gMmm;~Q