Skip to content

Instantly share code, notes, and snippets.

View vitorvigano's full-sized avatar

Vitor Viganó vitorvigano

View GitHub Profile
val email = MutableStateFlow("")
val password = MutableStateFlow("")
val isEmailAndPasswordValid = MutableStateFlow(false).apply {
viewModelScope.launch {
combine(email, password) { n1, n2 ->
validate(n1, n2)
}.collect { isValid ->
value = isValid
}
}
val email = MutableLiveData<String>()
val password = MutableLiveData<String>()
val isEmailAndPasswordValid = MediatorLiveData<Boolean>().apply {
addSource(email) { validate() }
addSource(password) { validate() }
}
private fun validate() {
isEmailAndPasswordValid.value =
email.value.orEmpty().isNotEmpty() && password.value.orEmpty().isNotEmpty()
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="20dp">
<com.rengwuxian.materialedittext.MaterialEditText
android:id="@+id/email"
android:layout_width="match_parent"
android:layout_height="wrap_content"