Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.vienna.mypregnancy.ui.login.registration;
- import android.annotation.SuppressLint;
- import android.content.Context;
- import android.content.Intent;
- import android.os.Bundle;
- import android.support.annotation.StringRes;
- import android.text.Editable;
- import android.text.TextWatcher;
- import android.view.KeyEvent;
- import android.widget.Toast;
- import com.arellomobile.mvp.presenter.InjectPresenter;
- import com.rengwuxian.materialedittext.MaterialEditText;
- import com.terrakok.phonematter.PhoneFormat;
- import com.vienna.mypregnancy.R;
- import com.vienna.mypregnancy.mvp.login.registration.RegistrationPresenter;
- import com.vienna.mypregnancy.mvp.login.registration.RegistrationView;
- import com.vienna.mypregnancy.ui.base.BaseActivity;
- import java.util.Objects;
- import butterknife.BindView;
- import butterknife.OnClick;
- import static com.vienna.mypregnancy.config.DebugConfig.DEV_BUILD;
- import static com.vienna.mypregnancy.utils.Constants.TEST_PHONE_NUMBER;
- import static com.vienna.mypregnancy.utils.ContextUtils.clearFocusFromAllViews;
- import static com.vienna.mypregnancy.utils.ContextUtils.hideSoftKeyboard;
- public class RegistrationActivity extends BaseActivity implements RegistrationView, TextWatcher {
- @InjectPresenter
- RegistrationPresenter mvpPresenter;
- @BindView(R.id.et_phone_number)
- MaterialEditText etPhoneNumber;
- private PhoneFormat phoneFormat;
- private int keyDel;
- public static Intent getIntent(Context context) {
- return new Intent(context, RegistrationActivity.class);
- }
- @Override
- protected int getLayoutResourceId() {
- return R.layout.activity_registration;
- }
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- mvpPresenter.init(dataLayer, this);
- etPhoneNumber.addTextChangedListener(this);
- phoneFormat = new PhoneFormat("kk", this);
- if (DEV_BUILD) {
- etPhoneNumber.setText(TEST_PHONE_NUMBER);
- }
- }
- @Override
- protected void onDestroy() {
- super.onDestroy();
- mvpPresenter.onDestroy();
- }
- private void showInputFieldError(MaterialEditText inputField, @StringRes int errorRes) {
- inputField.setError(getString(errorRes));
- }
- @Override
- public void showPhoneError(int errorRes) {
- showInputFieldError(etPhoneNumber, errorRes);
- }
- @Override
- public void onSendPhoneNumberClick() {
- mvpPresenter.sendPhoneNumberClick();
- }
- @Override
- public void showSecondRegistrationScreen() {
- startActivity(RegistrationVerificationActivity.getIntent(this));
- }
- @OnClick(R.id.btn_send_phone_number)
- void sendPhoneNumberClick() {
- clearFocusFromAllViews(fl_container);
- hideSoftKeyboard(fl_container);
- mvpPresenter.setPhone(Objects.requireNonNull(etPhoneNumber.getText()).toString());
- mvpPresenter.generalValidate();
- }
- @Override
- public void beforeTextChanged(CharSequence s, int start, int count, int after) {
- }
- @Override
- public void onTextChanged(CharSequence s, int start, int before, int count) {
- }
- @SuppressLint("SetTextI18n")
- @Override
- public void afterTextChanged(Editable s) {
- etPhoneNumber.setOnKeyListener((v, keyCode, event) -> {
- // if (keyCode == KeyEvent.KEYCODE_DEL || keyCode == KeyEvent.KEYCODE_BACK) keyDel = 1;
- // Toast.makeText(this, "DEL", Toast.LENGTH_SHORT).show();
- // return false;
- if (event.getAction() == KeyEvent.ACTION_DOWN
- && event.getKeyCode() == KeyEvent.KEYCODE_DEL)
- keyDel = 1;
- return false;
- });
- if (keyDel == 0) {
- int len = Objects.requireNonNull(etPhoneNumber.getText()).length();
- if (len == 2) {
- etPhoneNumber.setText(etPhoneNumber.getText() + " (");
- etPhoneNumber.setSelection(etPhoneNumber.getText().length());
- keyDel = 1;
- } else if (len == 7) {
- etPhoneNumber.setText(etPhoneNumber.getText() + ") - ");
- etPhoneNumber.setSelection(etPhoneNumber.getText().length());
- keyDel = 1;
- } else if (len == 14) {
- etPhoneNumber.setText(etPhoneNumber.getText() + " - ");
- etPhoneNumber.setSelection(etPhoneNumber.getText().length());
- keyDel = 1;
- } else if (len == 19) {
- etPhoneNumber.setText(etPhoneNumber.getText() + " - ");
- etPhoneNumber.setSelection(etPhoneNumber.getText().length());
- keyDel = 1;
- }
- } else {
- keyDel = 1;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement