|
|
@ -14,7 +14,9 @@ import android.view.LayoutInflater; |
|
|
|
import android.view.View; |
|
|
|
import android.view.ViewGroup; |
|
|
|
import android.view.animation.AccelerateDecelerateInterpolator; |
|
|
|
import android.view.animation.Animation; |
|
|
|
import android.view.animation.Interpolator; |
|
|
|
import android.view.animation.Transformation; |
|
|
|
import android.widget.Button; |
|
|
|
import android.widget.EditText; |
|
|
|
import android.widget.TextView; |
|
|
@ -60,6 +62,9 @@ public class PayoutModeSendMoneyFragment extends BaseFragment implements SendMon |
|
|
|
@BindView(R.id.accountWrapper) |
|
|
|
View accountViewContainer; |
|
|
|
|
|
|
|
@BindView(R.id.bankDetailContainer) |
|
|
|
View bankDetailContainer; |
|
|
|
|
|
|
|
@BindView(R.id.payoutModeContinueButton) |
|
|
|
Button paymentButtonContinue; |
|
|
|
|
|
|
@ -165,27 +170,116 @@ public class PayoutModeSendMoneyFragment extends BaseFragment implements SendMon |
|
|
|
@Override |
|
|
|
public void onPayoutModeSelected(PayoutMode selectedPayoutMode) { |
|
|
|
this.selectedPayoutMode = selectedPayoutMode; |
|
|
|
showBankSelectView(this.selectedPayoutMode.getBankrequired().equalsIgnoreCase(Constants.TRUE_STRING)); |
|
|
|
clearBankData(); |
|
|
|
clearBranchData(); |
|
|
|
clearAccounData(); |
|
|
|
showBankSelectView(this.selectedPayoutMode.getBankrequired().equalsIgnoreCase(Constants.TRUE_STRING)); |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
public static void expand(final View v,Runnable onAnimationEndTask) { |
|
|
|
v.measure(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); |
|
|
|
final int targetHeight = v.getMeasuredHeight(); |
|
|
|
|
|
|
|
v.getLayoutParams().height = 1; |
|
|
|
v.setVisibility(View.VISIBLE); |
|
|
|
Animation a = new Animation() |
|
|
|
{ |
|
|
|
@Override |
|
|
|
protected void applyTransformation(float interpolatedTime, Transformation t) { |
|
|
|
v.getLayoutParams().height = interpolatedTime == 1 |
|
|
|
? ViewGroup.LayoutParams.WRAP_CONTENT |
|
|
|
: (int)(targetHeight * interpolatedTime); |
|
|
|
v.requestLayout(); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public boolean willChangeBounds() { |
|
|
|
return true; |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
a.setDuration((int)(targetHeight / v.getContext().getResources().getDisplayMetrics().density)); |
|
|
|
a.setAnimationListener(new Animation.AnimationListener() { |
|
|
|
@Override |
|
|
|
public void onAnimationStart(Animation animation) { |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void onAnimationEnd(Animation animation) { |
|
|
|
if(onAnimationEndTask!=null) |
|
|
|
onAnimationEndTask.run(); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void onAnimationRepeat(Animation animation) { |
|
|
|
|
|
|
|
} |
|
|
|
}); |
|
|
|
v.startAnimation(a); |
|
|
|
} |
|
|
|
|
|
|
|
public static void collapse(final View v,Runnable onAnimationEndTask) { |
|
|
|
final int initialHeight = v.getMeasuredHeight(); |
|
|
|
|
|
|
|
Animation a = new Animation() |
|
|
|
{ |
|
|
|
@Override |
|
|
|
protected void applyTransformation(float interpolatedTime, Transformation t) { |
|
|
|
if(interpolatedTime == 1){ |
|
|
|
v.setVisibility(View.GONE); |
|
|
|
}else{ |
|
|
|
v.getLayoutParams().height = initialHeight - (int)(initialHeight * interpolatedTime); |
|
|
|
v.requestLayout(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public boolean willChangeBounds() { |
|
|
|
return true; |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
a.setDuration((int)(initialHeight / v.getContext().getResources().getDisplayMetrics().density)); |
|
|
|
a.setAnimationListener(new Animation.AnimationListener() { |
|
|
|
@Override |
|
|
|
public void onAnimationStart(Animation animation) { |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void onAnimationEnd(Animation animation) { |
|
|
|
if(onAnimationEndTask!=null) |
|
|
|
onAnimationEndTask.run(); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void onAnimationRepeat(Animation animation) { |
|
|
|
|
|
|
|
} |
|
|
|
}); |
|
|
|
v.startAnimation(a); |
|
|
|
} |
|
|
|
|
|
|
|
private void showBankSelectView(boolean action) { |
|
|
|
branchListContainer.setVisibility(View.GONE); |
|
|
|
accountViewContainer.setVisibility(View.GONE); |
|
|
|
if (action) { |
|
|
|
|
|
|
|
|
|
|
|
if(bankDetailContainer.getVisibility()==View.GONE) |
|
|
|
expand(bankDetailContainer,()->{ |
|
|
|
bankDetailContainer.setVisibility(View.VISIBLE); |
|
|
|
if (bankListContainer.getVisibility() != View.VISIBLE) { |
|
|
|
bankListContainer.setVisibility(View.INVISIBLE); |
|
|
|
bankListContainer.setTranslationY(-bankListContainer.getHeight()); |
|
|
|
bankListContainer.setVisibility(View.VISIBLE); |
|
|
|
ViewCompat.animate(bankListContainer).translationY(0).setInterpolator(interpolator).setDuration(400); |
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
if (bankListContainer.getVisibility() == View.VISIBLE) { |
|
|
|
ViewCompat.animate(bankListContainer).translationY(-bankListContainer.getHeight()).setInterpolator(interpolator).setDuration(400).setListener(new ViewPropertyAnimatorListenerAdapter() { |
|
|
|
@Override |
|
|
@ -194,6 +288,10 @@ public class PayoutModeSendMoneyFragment extends BaseFragment implements SendMon |
|
|
|
bankListContainer.setVisibility(View.INVISIBLE); |
|
|
|
bankListContainer.setTranslationY(bankListContainer.getHeight()); |
|
|
|
ViewCompat.animate(bankListContainer).setListener(null); |
|
|
|
|
|
|
|
if(bankDetailContainer.getVisibility()==View.VISIBLE) |
|
|
|
collapse(bankDetailContainer,()->bankDetailContainer.setVisibility(View.GONE)); |
|
|
|
|
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
|
|