|
|
@ -5,11 +5,10 @@ import android.animation.AnimatorListenerAdapter; |
|
|
|
import android.animation.AnimatorSet; |
|
|
|
import android.animation.ObjectAnimator; |
|
|
|
import android.animation.ValueAnimator; |
|
|
|
import android.annotation.SuppressLint; |
|
|
|
import android.content.Intent; |
|
|
|
import android.graphics.drawable.GradientDrawable; |
|
|
|
import android.os.Bundle; |
|
|
|
import android.os.Handler; |
|
|
|
import android.support.design.widget.TextInputLayout; |
|
|
|
import android.support.v4.content.ContextCompat; |
|
|
|
import android.support.v4.view.ViewCompat; |
|
|
|
import android.util.Log; |
|
|
@ -40,12 +39,12 @@ import com.gmeremit.online.gmeremittance_native.resetpassV2.view.ResetPassV2Acti |
|
|
|
import butterknife.BindView; |
|
|
|
import butterknife.ButterKnife; |
|
|
|
|
|
|
|
public class LoginV2Activity extends BaseActivity implements View.OnClickListener, LoginV2PresenterInterface.LoginV2ContractInterface { |
|
|
|
public class LoginV2Activity extends BaseActivity implements View.OnClickListener, LoginV2PresenterInterface.LoginV2ContractInterface, SecurityKeyboardView.SecurityKeyboardFocusStateListener { |
|
|
|
|
|
|
|
@BindView(R.id.usernameId) |
|
|
|
EditText usernameId; |
|
|
|
|
|
|
|
// @BindView(R.id.passwordId) |
|
|
|
// @BindView(R.id.passwordId) |
|
|
|
EditText passwordId; |
|
|
|
|
|
|
|
@BindView(R.id.btn_submit) |
|
|
@ -88,12 +87,12 @@ public class LoginV2Activity extends BaseActivity implements View.OnClickListene |
|
|
|
|
|
|
|
|
|
|
|
private LoginV2Presenter presenter; |
|
|
|
private AnimatorSet mMorphingAnimatorSet=null; |
|
|
|
private boolean mIsMorphingInProgress=false; |
|
|
|
private AnimatorSet mMorphingAnimatorSet = null; |
|
|
|
private boolean mIsMorphingInProgress = false; |
|
|
|
private static float DEFAULT_CORNER_RADIUS; |
|
|
|
private Interpolator interpolator=new AccelerateDecelerateInterpolator(); |
|
|
|
private Interpolator interpolator = new AccelerateDecelerateInterpolator(); |
|
|
|
private int originalButtonWidth; |
|
|
|
private boolean isLoadingInProgress=false; |
|
|
|
private boolean isLoadingInProgress = false; |
|
|
|
|
|
|
|
@Override |
|
|
|
protected void onCreate(Bundle savedInstanceState) { |
|
|
@ -105,18 +104,19 @@ private Interpolator interpolator=new AccelerateDecelerateInterpolator(); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void initialize() { |
|
|
|
this.presenter=new LoginV2Presenter(this); |
|
|
|
DEFAULT_CORNER_RADIUS=35*getResources().getDisplayMetrics().density; |
|
|
|
loginButtonText=loginBtn.getText().toString(); |
|
|
|
progressbar_login.getIndeterminateDrawable().setColorFilter(ContextCompat.getColor(this,android.R.color.white), android.graphics.PorterDuff.Mode.MULTIPLY); |
|
|
|
ViewCompat.setTranslationZ(progressbar_login, 100); |
|
|
|
progressbar_login.setVisibility(View.GONE); |
|
|
|
this.presenter = new LoginV2Presenter(this); |
|
|
|
DEFAULT_CORNER_RADIUS = 35 * getResources().getDisplayMetrics().density; |
|
|
|
loginButtonText = loginBtn.getText().toString(); |
|
|
|
progressbar_login.getIndeterminateDrawable().setColorFilter(ContextCompat.getColor(this, android.R.color.white), android.graphics.PorterDuff.Mode.MULTIPLY); |
|
|
|
ViewCompat.setTranslationZ(progressbar_login, 100); |
|
|
|
progressbar_login.setVisibility(View.GONE); |
|
|
|
securityKeyboardView.setKeyboardContainerView(keypadContainer); |
|
|
|
securityKeyboardView.setKeyboardBallonView(ballonView); |
|
|
|
|
|
|
|
try { |
|
|
|
securityKeyboardManager=new SecurityKeyboardManager(this); |
|
|
|
SecurityKeypadRequestParamBuilder request =new SecurityKeypadRequestParamBuilder(this); |
|
|
|
securityKeyboardManager = new SecurityKeyboardManager(this); |
|
|
|
SecurityKeypadRequestParamBuilder request = new SecurityKeypadRequestParamBuilder(this); |
|
|
|
request.setHintString("Password"); |
|
|
|
|
|
|
|
securityKeyboardManager.bindWithSecurityWidgetView(securityKeyboardView) |
|
|
@ -153,29 +153,17 @@ private Interpolator interpolator=new AccelerateDecelerateInterpolator(); |
|
|
|
|
|
|
|
} catch (Exception e) { |
|
|
|
e.printStackTrace(); |
|
|
|
Log.d("GMESecurityKeyboard",e.getMessage()); |
|
|
|
Log.d("GMESecurityKeyboard", e.getMessage()); |
|
|
|
} |
|
|
|
|
|
|
|
passwordId=securityKeyboardManager.getEditTextView(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
private void performDefaultAction(Bundle savedInstanceState) { |
|
|
|
new Handler().postDelayed((new Runnable() { |
|
|
|
@Override |
|
|
|
public void run() { |
|
|
|
|
|
|
|
|
|
|
|
try { |
|
|
|
securityKeyboardManager.showKeyboard(); |
|
|
|
} catch (IllegalAccessException e) { |
|
|
|
e.printStackTrace(); |
|
|
|
} |
|
|
|
} |
|
|
|
}),200); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@SuppressLint("ClickableViewAccessibility") |
|
|
|
@Override |
|
|
|
protected void onStart() { |
|
|
|
super.onStart(); |
|
|
@ -183,9 +171,12 @@ private Interpolator interpolator=new AccelerateDecelerateInterpolator(); |
|
|
|
registerTxt.setOnClickListener(this); |
|
|
|
loginBtn.setOnClickListener(this); |
|
|
|
// iv_back.setOnClickListener(this); |
|
|
|
securityKeyboardView.setSecurityKeyboardFocusStateListener(this); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@SuppressLint("ClickableViewAccessibility") |
|
|
|
@Override |
|
|
|
protected void onStop() { |
|
|
|
super.onStop(); |
|
|
@ -193,6 +184,9 @@ private Interpolator interpolator=new AccelerateDecelerateInterpolator(); |
|
|
|
registerTxt.setOnClickListener(null); |
|
|
|
loginBtn.setOnClickListener(null); |
|
|
|
// iv_back.setOnClickListener(null); |
|
|
|
securityKeyboardView.setSecurityKeyboardFocusStateListener(null); |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
@ -204,7 +198,7 @@ private Interpolator interpolator=new AccelerateDecelerateInterpolator(); |
|
|
|
break; |
|
|
|
|
|
|
|
case R.id.btn_submit: |
|
|
|
if(presenter.validateAll(usernameId.getText().toString(),passwordId.getText().toString())) { |
|
|
|
if (presenter.validateAll(usernameId.getText().toString(), passwordId.getText().toString())) { |
|
|
|
hideKeyBoard(); |
|
|
|
rootView.clearFocus(); |
|
|
|
morphButtonIntoProgressBar(); |
|
|
@ -216,30 +210,33 @@ private Interpolator interpolator=new AccelerateDecelerateInterpolator(); |
|
|
|
startActivity(forgetPassIntent); |
|
|
|
break; |
|
|
|
|
|
|
|
case R.id.iv_back: |
|
|
|
case R.id.iv_back: |
|
|
|
onBackPressed(); |
|
|
|
break; |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public boolean dispatchTouchEvent(MotionEvent ev) { |
|
|
|
return isLoadingInProgress || super.dispatchTouchEvent(ev); |
|
|
|
return (isLoadingInProgress||securityKeyboardView.checkIfTouchIntersectKeypadLayout(ev)||super.dispatchTouchEvent(ev)); |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void onBackPressed() { |
|
|
|
if (!isLoadingInProgress) { |
|
|
|
if(securityKeyboardManager.isKeyboardVisible()) |
|
|
|
securityKeyboardManager.hideKeyboard(); |
|
|
|
else |
|
|
|
super.onBackPressed(); |
|
|
|
if (securityKeyboardManager.isKeyboardVisible()) |
|
|
|
securityKeyboardManager.hideKeyboard(); |
|
|
|
else |
|
|
|
super.onBackPressed(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private void morphButtonIntoProgressBar() |
|
|
|
{ |
|
|
|
|
|
|
|
private void morphButtonIntoProgressBar() { |
|
|
|
GradientDrawable mGradientDrawable = (GradientDrawable) loginBtn.getBackground(); |
|
|
|
|
|
|
|
|
|
|
@ -249,7 +246,7 @@ private Interpolator interpolator=new AccelerateDecelerateInterpolator(); |
|
|
|
DEFAULT_CORNER_RADIUS, |
|
|
|
loginBtn.getHeight()); |
|
|
|
|
|
|
|
originalButtonWidth=loginBtn.getWidth(); |
|
|
|
originalButtonWidth = loginBtn.getWidth(); |
|
|
|
ValueAnimator widthAnimation = ValueAnimator.ofInt(loginBtn.getWidth(), loginBtn.getHeight()); |
|
|
|
widthAnimation.addUpdateListener(valueAnimator -> { |
|
|
|
int val = (Integer) valueAnimator.getAnimatedValue(); |
|
|
@ -268,7 +265,7 @@ private Interpolator interpolator=new AccelerateDecelerateInterpolator(); |
|
|
|
public void onAnimationStart(Animator animation) { |
|
|
|
super.onAnimationStart(animation); |
|
|
|
mIsMorphingInProgress = true; |
|
|
|
isLoadingInProgress=true; |
|
|
|
isLoadingInProgress = true; |
|
|
|
loginBtn.setText(""); |
|
|
|
} |
|
|
|
|
|
|
@ -285,8 +282,7 @@ private Interpolator interpolator=new AccelerateDecelerateInterpolator(); |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
public void morphProgressBarIntoButton(Runnable callback) |
|
|
|
{ |
|
|
|
public void morphProgressBarIntoButton(Runnable callback) { |
|
|
|
GradientDrawable mGradientDrawable = (GradientDrawable) loginBtn.getBackground(); |
|
|
|
|
|
|
|
|
|
|
@ -323,8 +319,8 @@ private Interpolator interpolator=new AccelerateDecelerateInterpolator(); |
|
|
|
public void onAnimationEnd(Animator animation) { |
|
|
|
mIsMorphingInProgress = false; |
|
|
|
loginBtn.setText(loginButtonText); |
|
|
|
isLoadingInProgress=false; |
|
|
|
if(callback!=null) |
|
|
|
isLoadingInProgress = false; |
|
|
|
if (callback != null) |
|
|
|
callback.run(); |
|
|
|
|
|
|
|
|
|
|
@ -352,4 +348,19 @@ private Interpolator interpolator=new AccelerateDecelerateInterpolator(); |
|
|
|
startActivity(intent); |
|
|
|
finish(); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
public void onSecurityViewRecievedFocus() { |
|
|
|
if(securityKeyboardManager!=null&&!securityKeyboardManager.isKeyboardVisible()) { |
|
|
|
hideKeyBoard(); |
|
|
|
securityKeyboardManager.showKeyboard(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void onSecurityViewLostFocus() { |
|
|
|
if(securityKeyboardManager!=null&&securityKeyboardManager.isKeyboardVisible()) |
|
|
|
securityKeyboardManager.hideKeyboard(); |
|
|
|
} |
|
|
|
} |