diff --git a/app/src/main/java/de/netalic/peacock/ui/emailVerification/EmailVerificationFragment.kt b/app/src/main/java/de/netalic/peacock/ui/emailVerification/EmailVerificationFragment.kt index c831a78..ecfdcc5 100644 --- a/app/src/main/java/de/netalic/peacock/ui/emailVerification/EmailVerificationFragment.kt +++ b/app/src/main/java/de/netalic/peacock/ui/emailVerification/EmailVerificationFragment.kt @@ -14,6 +14,7 @@ import de.netalic.peacock.data.model.Status import de.netalic.peacock.ui.base.BaseFragment import de.netalic.peacock.ui.main.MainHostActivity import de.netalic.peacock.util.CommonUtils +import de.netalic.peacock.util.ValidatorUtils import kotlinx.android.synthetic.main.fragment_emailverification.* import org.koin.android.viewmodel.ext.android.viewModel @@ -24,7 +25,6 @@ class EmailVerificationFragment : BaseFragment() { private val mEmailVerificationViewModel: EmailVerificationViewModel by viewModel() private val mEmailInputEditText by lazy { editText_emailVerification_emailAddress } private val mContinueButton by lazy { button_emailValidation_continue } - private val mEmailLength = 5 override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { mViewRoot = inflater.inflate(R.layout.fragment_emailverification, container, false) @@ -44,11 +44,14 @@ class EmailVerificationFragment : BaseFragment() { } else false } + + + mEmailInputEditText.addTextChangedListener(emailInputEditTextWatcher()) + } override fun initUiComponents() { initToolbar() - emailInputEditTextWatcher() initObserver() } @@ -78,8 +81,8 @@ class EmailVerificationFragment : BaseFragment() { } - private fun emailInputEditTextWatcher() { - mEmailInputEditText.addTextChangedListener(object : TextWatcher { + private fun emailInputEditTextWatcher():TextWatcher { + return object : TextWatcher { override fun afterTextChanged(p0: Editable?) { } @@ -87,13 +90,12 @@ class EmailVerificationFragment : BaseFragment() { } override fun onTextChanged(characters: CharSequence?, p1: Int, p2: Int, p3: Int) { - if (characters != null && characters.length > mEmailLength) + if (characters != null && ValidatorUtils.emailValidator(characters.toString())) enableContinueButton() else disableContinueButton() } - - }) + } } private fun enableContinueButton() { diff --git a/app/src/main/java/de/netalic/peacock/ui/emailVerification/EmailVerificationViewModel.kt b/app/src/main/java/de/netalic/peacock/ui/emailVerification/EmailVerificationViewModel.kt index f3cd02d..9dfa461 100644 --- a/app/src/main/java/de/netalic/peacock/ui/emailVerification/EmailVerificationViewModel.kt +++ b/app/src/main/java/de/netalic/peacock/ui/emailVerification/EmailVerificationViewModel.kt @@ -13,10 +13,10 @@ import io.reactivex.schedulers.Schedulers class EmailVerificationViewModel(private val repository: EmailRepository) : BaseViewModel() { - private val mSetEmailResponseLivadata = MutableLiveData>() + private val mSetEmailResponseLivaData = MutableLiveData>() fun getSetEmailLiveData(): LiveData> { - return mSetEmailResponseLivadata + return mSetEmailResponseLivaData } fun setEmail(token: String, email: String) { @@ -24,23 +24,23 @@ class EmailVerificationViewModel(private val repository: EmailRepository) : Base val disposable = repository.setEmail(token, email) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) - .doOnSubscribe { mSetEmailResponseLivadata.value = MyResponse.loading() } + .doOnSubscribe { mSetEmailResponseLivaData.value = MyResponse.loading() } .subscribe({ when (it.code()) { - 200 -> mSetEmailResponseLivadata.value = MyResponse.success(it.body()!!) - 400 -> mSetEmailResponseLivadata.value = MyResponse.failed(EmailMissingException()) - 401 -> mSetEmailResponseLivadata.value = MyResponse.failed(UnauthorizedException()) - 712 -> mSetEmailResponseLivadata.value = MyResponse.failed(InvalidEmailException()) - 717 -> mSetEmailResponseLivadata.value = MyResponse.failed(EmailAlreadyActivatedException()) - 718 -> mSetEmailResponseLivadata.value = MyResponse.failed(EmailAlreadyExistException()) + 200 -> mSetEmailResponseLivaData.value = MyResponse.success(it.body()!!) + 400 -> mSetEmailResponseLivaData.value = MyResponse.failed(EmailMissingException()) + 401 -> mSetEmailResponseLivaData.value = MyResponse.failed(UnauthorizedException()) + 712 -> mSetEmailResponseLivaData.value = MyResponse.failed(InvalidEmailException()) + 717 -> mSetEmailResponseLivaData.value = MyResponse.failed(EmailAlreadyActivatedException()) + 718 -> mSetEmailResponseLivaData.value = MyResponse.failed(EmailAlreadyExistException()) } }, { throwable -> - mSetEmailResponseLivadata.value = MyResponse.failed(throwable) + mSetEmailResponseLivaData.value = MyResponse.failed(throwable) }) mCompositeDisposable.add(disposable) } else //TODO-ehsan are exceptions name of local and remote same? - mSetEmailResponseLivadata.value = MyResponse.failed(InvalidEmailException()) + mSetEmailResponseLivaData.value = MyResponse.failed(InvalidEmailException()) } } \ No newline at end of file