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 897ae883..b44166a0 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 @@ -380,6 +380,8 @@ public class RegisterV2Presenter extends BasePresenter implements RegisterV2Pres view.setUserIdError(t.getMsg()); validateAll(); } + view.registerUserIdNumberListeners(false); + view.setUserIdFocus(false); } @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 a24a04b6..ecdb50a3 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 @@ -59,5 +59,7 @@ public interface RegisterV2PresenterInterface extends BasePresenterInterface { void redirectToSplash(); void registerUserIdNumberListeners(boolean action); + + void setUserIdFocus(boolean action); } } 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 f7c38eae..8c763b94 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 @@ -124,10 +124,10 @@ public class RegisterV2Activity extends BaseActivity implements RegisterV2Presen private void initialize() { - this.presenter = new RegisterV2Presenter(this,new RegisterV2Gateway(),new LoginV2Gateway()); + this.presenter = new RegisterV2Presenter(this, new RegisterV2Gateway(), new LoginV2Gateway()); - userIdTextWatcher=new UserIdTextWatcher(); - mobileNumberTextWatcher=new MobileNumberTextWatcher(); + userIdTextWatcher = new UserIdTextWatcher(); + mobileNumberTextWatcher = new MobileNumberTextWatcher(); rootViewOnClickGestureDetector = new RootViewOnClickGestureDetector(); dobConatinerClickGestureDetector = new GestureDetectorCompat(this, rootViewOnClickGestureDetector); @@ -170,7 +170,7 @@ public class RegisterV2Activity extends BaseActivity implements RegisterV2Presen @Override protected void onStart() { super.onStart(); - registerListeners(true); + registerListeners(true); } @@ -182,18 +182,14 @@ public class RegisterV2Activity extends BaseActivity implements RegisterV2Presen } - private void registerListeners(boolean action) - { - if(action) - { + private void registerListeners(boolean action) { + if (action) { tv_login.setOnClickListener(this); btn_submit.setOnClickListener(this); securityKeyboardPasswordView.setSecurityKeyboardFocusStateListener(securityKeyboardPasswordListener); ed_mobile.addTextChangedListener(mobileNumberTextWatcher); ed_userId.addTextChangedListener(userIdTextWatcher); - } - else - { + } else { tv_login.setOnClickListener(null); btn_submit.setOnClickListener(null); securityKeyboardPasswordView.setSecurityKeyboardFocusStateListener(null); @@ -205,7 +201,7 @@ public class RegisterV2Activity extends BaseActivity implements RegisterV2Presen @Override public boolean dispatchTouchEvent(MotionEvent ev) { - return (securityKeyboardPasswordView.checkIfTouchIntersectKeypadLayout(ev) || dobConatinerClickGestureDetector.onTouchEvent(ev) || super.dispatchTouchEvent(ev)); + return (securityKeyboardPasswordView.checkIfTouchIntersectKeypadLayout(ev) || dobConatinerClickGestureDetector.onTouchEvent(ev) || super.dispatchTouchEvent(ev)); } @@ -267,7 +263,7 @@ public class RegisterV2Activity extends BaseActivity implements RegisterV2Presen @Override public void setMobileError(String error) { - mobileErrorTxt.setErrorText(error); + mobileErrorTxt.setErrorText(error); } @Override @@ -313,23 +309,18 @@ public class RegisterV2Activity extends BaseActivity implements RegisterV2Presen boolean result = data.getBooleanExtra(KYC_RESULT_STATUS_BUNDLE_KEY, false); if (result) { redirectToPennyTestView(LoginV2Activity.PENNY_TEST_REQUEST_FROM_PRE_LOGIN_SCREEN_CODE); - } - else + } else finish(); } - } - else if (requestCode == LoginV2Activity.PENNY_TEST_REQUEST_FROM_PRE_LOGIN_SCREEN_CODE) { + } else if (requestCode == LoginV2Activity.PENNY_TEST_REQUEST_FROM_PRE_LOGIN_SCREEN_CODE) { if (resultCode == Activity.RESULT_OK) { boolean pennTestCompletedResult = data.getBooleanExtra(PennyTestActivity.PENNY_TEST_COMPLETED_PERFORMED_STATUS_BUNDLE_KEY, false); if (pennTestCompletedResult) { presenter.performLoginInternally(); - } - else + } else finish(); - } - else - { - finish(); + } else { + finish(); } } } @@ -347,24 +338,30 @@ public class RegisterV2Activity extends BaseActivity implements RegisterV2Presen @Override public void redirectToSplash() { - restartApp(); + restartApp(); } @Override public void registerUserIdNumberListeners(boolean action) { - if(action) - { + if (action) { ed_userId.setOnFocusChangeListener(this); ed_userId.setOnEditorActionListener(this); - } - else - { + } else { ed_userId.setOnFocusChangeListener(null); ed_userId.setOnEditorActionListener(null); } } + @Override + public void setUserIdFocus(boolean action) { + if (action) + ed_userId.requestFocus(); + else + ed_userId.clearFocus(); +// ed_userId.setCursorVisible(action); + } + @Override public boolean onTouch(View v, MotionEvent event) { @@ -385,9 +382,8 @@ public class RegisterV2Activity extends BaseActivity implements RegisterV2Presen @Override public void onFocusChange(View v, boolean hasFocus) { - if(v.getId()==R.id.ed_userId) - { - if(!hasFocus) + if (v.getId() == R.id.ed_userId) { + if (!ed_userId.hasFocus()) presenter.validateUserIdRealtime(ed_userId.getText().toString()); } } @@ -397,7 +393,6 @@ public class RegisterV2Activity extends BaseActivity implements RegisterV2Presen if (v.getId() == R.id.ed_userId) { if (actionId == EditorInfo.IME_ACTION_DONE) { hideKeyBoard(); -// presenter.validateUserIdRealtime(ed_userId.getText().toString()); return true; } @@ -409,22 +404,23 @@ public class RegisterV2Activity extends BaseActivity implements RegisterV2Presen @Override public boolean onSingleTapUp(MotionEvent e) { if (e.getAction() == MotionEvent.ACTION_UP) { - int x,y; - x= (int) e.getX(); - y= (int) e.getY(); - boolean isNativeCountryContainerClicked = checkIfNativeContainerIsClicked(x, y); - boolean hasUserIdFocus=foucsOutUserIdIfAlreadyHasFocus(x,y); - if (isNativeCountryContainerClicked) - promptNativeCountrySelection(); - else if(hasUserIdFocus) - ed_userId.clearFocus(); - return isNativeCountryContainerClicked||hasUserIdFocus; + int x, y; + x = (int) e.getX(); + y = (int) e.getY(); + if (!securityKeyboardPasswordManager.isKeyboardVisible()) { + boolean isNativeCountryContainerClicked = checkIfNativeContainerIsClicked(x, y); + boolean hasUserIdFocus = foucsOutUserIdIfAlreadyHasFocus(x, y); + if (isNativeCountryContainerClicked) + promptNativeCountrySelection(); + else if (hasUserIdFocus) + setUserIdFocus(false); + return isNativeCountryContainerClicked || hasUserIdFocus; + } } return super.onSingleTapUp(e); } - private boolean foucsOutUserIdIfAlreadyHasFocus(int posX, int posY) - { + private boolean foucsOutUserIdIfAlreadyHasFocus(int posX, int posY) { int[] userIdConatinerLeftAndTopCoordinates = new int[2]; @@ -459,15 +455,15 @@ public class RegisterV2Activity extends BaseActivity implements RegisterV2Presen @Override public void done(Intent intent) { String encryptedText = intent.getStringExtra(TransKeyActivity.mTK_PARAM_SECURE_DATA); - int length=intent.getIntExtra(TransKeyActivity.mTK_PARAM_DATA_LENGTH,0); - presenter.updatePassword(encryptedText,length); + int length = intent.getIntExtra(TransKeyActivity.mTK_PARAM_DATA_LENGTH, 0); + presenter.updatePassword(encryptedText, length); } @Override public void cancel(Intent intent) { String encryptedText = intent.getStringExtra(TransKeyActivity.mTK_PARAM_SECURE_DATA); - int length=intent.getIntExtra(TransKeyActivity.mTK_PARAM_DATA_LENGTH,0); - presenter.updatePassword(encryptedText,length); + int length = intent.getIntExtra(TransKeyActivity.mTK_PARAM_DATA_LENGTH, 0); + presenter.updatePassword(encryptedText, length); } @Override @@ -508,8 +504,7 @@ public class RegisterV2Activity extends BaseActivity implements RegisterV2Presen } - public class UserIdTextWatcher extends TextWatcherAdapter - { + public class UserIdTextWatcher extends TextWatcherAdapter { @Override public void onTextUpdated(String text) { @@ -518,8 +513,7 @@ public class RegisterV2Activity extends BaseActivity implements RegisterV2Presen } } - public class MobileNumberTextWatcher extends TextWatcherAdapter - { + public class MobileNumberTextWatcher extends TextWatcherAdapter { @Override public void afterTextChanged(Editable s) { diff --git a/app/src/main/res/layout/activity_register_v2.xml b/app/src/main/res/layout/activity_register_v2.xml index 7adab8a9..c5099b18 100644 --- a/app/src/main/res/layout/activity_register_v2.xml +++ b/app/src/main/res/layout/activity_register_v2.xml @@ -10,6 +10,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" + android:focusableInTouchMode="true" android:background="#fff">