Merge pull request #11 from HabitRPG/hafiz/sign-in-fixes

Login button UI fixes
This commit is contained in:
Phillip Thelen 2022-07-18 19:36:28 +02:00 committed by GitHub
commit c4638821b0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 28 additions and 5 deletions

View file

@ -8,6 +8,7 @@ import android.text.method.PasswordTransformationMethod
import androidx.activity.result.contract.ActivityResultContracts
import androidx.activity.viewModels
import androidx.core.view.isVisible
import androidx.core.widget.doOnTextChanged
import com.google.android.gms.auth.api.signin.GoogleSignIn
import com.habitrpg.android.habitica.R
import com.habitrpg.android.habitica.databinding.ActivityLoginBinding
@ -82,6 +83,12 @@ class LoginActivity: BaseActivity<ActivityLoginBinding, LoginViewModel>() {
binding.registerButton.setOnClickListener { openRegisterOnPhone() }
binding.passwordEditText.transformationMethod = PasswordTransformationMethod()
binding.usernameEditText.doOnTextChanged { text, start, before, count ->
setLoginButtonIsEnabled()
}
binding.passwordEditText.doOnTextChanged { text, start, before, count ->
setLoginButtonIsEnabled()
}
currentState = State.INITIAL
}
@ -121,6 +128,10 @@ class LoginActivity: BaseActivity<ActivityLoginBinding, LoginViewModel>() {
alert.show()
}
private fun setLoginButtonIsEnabled() {
binding.loginButton.isEnabled = binding.usernameEditText.text.isNotEmpty() && binding.passwordEditText.text.isNotEmpty()
}
private val pickAccountResult = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) {
val task = GoogleSignIn.getSignedInAccountFromIntent(it.data)
viewModel.handleGoogleLoginResult(this, task, recoverFromPlayServicesErrorResult)

View file

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="true" android:color="@color/watch_purple_100" />
<item android:state_enabled="false" android:color="@color/gray_5" />
</selector>

View file

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="true" android:color="@color/black" />
<item android:state_enabled="false" android:color="@color/gray_200" />
</selector>

View file

@ -78,7 +78,7 @@
android:id="@+id/username_edit_text"
android:layout_width="match_parent"
android:layout_height="52dp"
android:inputType="textEmailAddress|text"
android:inputType="textEmailAddress"
android:imeOptions="actionNext"
android:hint="@string/email_username"
android:paddingHorizontal="16dp"
@ -105,7 +105,9 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/sign_in"
style="@style/ChipButton.Purple"
android:textSize="16sp"/>
android:fontFamily="sans-serif-medium"
android:enabled="false"
android:textAlignment="center"
style="@style/ChipButton.Purple"/>
</LinearLayout>
</com.habitrpg.wearos.habitica.ui.views.HabiticaScrollView>

View file

@ -50,8 +50,8 @@
</style>
<style name="ChipButton.Purple" parent="ChipButton">
<item name="android:backgroundTint">@color/watch_purple_100</item>
<item name="android:textColor">@color/watch_black</item>
<item name="android:backgroundTint">@drawable/button_state_color</item>
<item name="android:textColor">@drawable/button_text_state_color</item>
</style>
<style name="ChipButton.Red" parent="ChipButton">