Added circular progress indicator during google sign in

This commit is contained in:
Hafiz 2023-03-25 00:17:31 -04:00
parent 118581db52
commit f3d87a8df2
3 changed files with 36 additions and 8 deletions

View file

@ -193,14 +193,29 @@
android:layout_marginTop="@dimen/spacing_xlarge"
style="@style/LoginButton"/>
<Button
android:id="@+id/google_login_button"
android:layout_width="match_parent"
<RelativeLayout
android:layout_width="wrap_content"
android:layout_marginTop="@dimen/spacing_large"
android:layout_height="@dimen/diamond_button_height"
android:text="@string/login_btn_google"
android:drawableStart="@drawable/google_icon"
style="@style/LoginButton"/>
android:layout_height="wrap_content">
<Button
android:id="@+id/google_login_button"
android:layout_width="match_parent"
android:layout_height="@dimen/diamond_button_height"
android:text="@string/login_btn_google"
android:drawableStart="@drawable/google_icon"
style="@style/LoginButton"/>
<com.google.android.material.progressindicator.CircularProgressIndicator
android:id="@+id/google_login_progress"
style="@style/LoginButtonProgress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:indeterminate="true"
android:visibility="gone"
app:indicatorColor="@color/white" />
</RelativeLayout>
<Button
android:id="@+id/apple_login_button"

View file

@ -718,6 +718,14 @@
<item name="android:paddingEnd">32dp</item>
</style>
<style name="LoginButtonProgress" parent="@style/Widget.Material3.CircularProgressIndicator">
<item name="indicatorSize">22dp</item>
<item name="android:textColor">@color/white</item>
<item name="android:indeterminate">false</item>
<item name="android:layout_centerVertical">true</item>
<item name="android:layout_marginStart">@dimen/spacing_xlarge</item>
</style>
<style name="DiamondButton" parent="@style/Widget.AppCompat.Button.Borderless">
<item name="android:layout_height">36dp</item>
<item name="android:background">@drawable/diamond_button</item>

View file

@ -169,7 +169,9 @@ class LoginActivity : BaseActivity() {
binding.showLoginButton.setOnClickListener { showLoginButtonClicked() }
binding.backButton.setOnClickListener { backButtonClicked() }
binding.forgotPassword.setOnClickListener { onForgotPasswordClicked() }
binding.googleLoginButton.setOnClickListener { viewModel.handleGoogleLogin(this, pickAccountResult) }
binding.googleLoginButton.setOnClickListener {
binding.googleLoginProgress.visibility = View.VISIBLE
viewModel.handleGoogleLogin(this, pickAccountResult) }
}
override fun loadTheme(sharedPreferences: SharedPreferences, forced: Boolean) {
@ -304,6 +306,7 @@ class LoginActivity : BaseActivity() {
private fun hideProgress() {
runOnUiThread {
binding.googleLoginProgress.visibility = View.GONE
binding.PBAsyncTask.visibility = View.GONE
}
}
@ -327,6 +330,8 @@ class LoginActivity : BaseActivity() {
viewModel.handleGoogleLoginResult(this, recoverFromPlayServicesErrorResult) { isNew ->
handleAuthResponse(isNew)
}
} else {
binding.googleLoginProgress.visibility = View.GONE
}
}