Browse Source

Register touch fixes for samsung devices

master
Preyea Regmi 5 years ago
parent
commit
9b73176352
  1. 2
      app/src/main/java/com/gmeremit/online/gmeremittance_native/registerV2/presenter/RegisterV2Presenter.java
  2. 2
      app/src/main/java/com/gmeremit/online/gmeremittance_native/registerV2/presenter/RegisterV2PresenterInterface.java
  3. 100
      app/src/main/java/com/gmeremit/online/gmeremittance_native/registerV2/view/RegisterV2Activity.java
  4. 1
      app/src/main/res/layout/activity_register_v2.xml

2
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

2
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);
}
}

100
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) {

1
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">
<include layout="@layout/layout_kyc_toolbar"/>
<RelativeLayout

Loading…
Cancel
Save