Added operation in progress layout

This commit is contained in:
Sylvain Berfini 2023-09-08 15:18:37 +02:00
parent 46dfd0bfa0
commit 594bcffd7c
5 changed files with 334 additions and 278 deletions

View file

@ -220,6 +220,7 @@ class AccountCreationViewModel @UiThread constructor() : ViewModel(), CountryPic
init {
internationalPrefix.value = "+1"
operationInProgress.value = false
coreContext.postOnCoreThread { core ->
accountCreator = core.createAccountCreator(core.accountCreatorUrl)
@ -292,6 +293,8 @@ class AccountCreationViewModel @UiThread constructor() : ViewModel(), CountryPic
@UiThread
fun requestToken() {
operationInProgress.value = true
coreContext.postOnCoreThread {
if (accountCreator.token == null) {
Log.i("$TAG We don't have a creation token, let's request one")
@ -316,6 +319,7 @@ class AccountCreationViewModel @UiThread constructor() : ViewModel(), CountryPic
@UiThread
fun validateCode() {
operationInProgress.value = true
val code = "${smsCodeFirstDigit.value}${smsCodeSecondDigit.value}${smsCodeThirdDigit.value}${smsCodeLastDigit.value}"
Log.i("$TAG Activating account using code [$code]")
accountCreator.activationCode = code
@ -332,11 +336,12 @@ class AccountCreationViewModel @UiThread constructor() : ViewModel(), CountryPic
@WorkerThread
private fun checkUsername() {
operationInProgress.postValue(true)
usernameError.postValue("")
accountCreator.username = username.value.orEmpty().trim()
accountCreator.domain = corePreferences.defaultDomain
operationInProgress.postValue(true)
val status = accountCreator.isAccountExist
Log.i("$TAG isAccountExist for username [${accountCreator.username}] returned $status")
if (status != AccountCreator.Status.RequestOk) {
@ -360,6 +365,7 @@ class AccountCreationViewModel @UiThread constructor() : ViewModel(), CountryPic
@WorkerThread
private fun createAccount() {
operationInProgress.postValue(true)
accountCreator.password = password.value.orEmpty().trim()
val status = accountCreator.createAccount()
@ -383,6 +389,8 @@ class AccountCreationViewModel @UiThread constructor() : ViewModel(), CountryPic
return
}
operationInProgress.postValue(true)
val pushConfig = coreContext.core.pushNotificationConfig
if (pushConfig != null) {
Log.i(

View file

@ -187,7 +187,7 @@ class DialogUtils {
val d: Drawable = ColorDrawable(
ContextCompat.getColor(dialog.context, R.color.dialog_background)
)
d.alpha = 166
// d.alpha = 166
dialog.window
?.setLayout(
WindowManager.LayoutParams.MATCH_PARENT,

View file

@ -26,305 +26,315 @@
type="org.linphone.ui.assistant.viewmodel.AccountCreationViewModel" />
</data>
<ScrollView
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white">
<androidx.constraintlayout.widget.ConstraintLayout
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content">
android:layout_height="match_parent">
<ImageView
android:onClick="@{backClickListener}"
android:id="@+id/back"
android:layout_width="@dimen/icon_size"
android:layout_height="@dimen/icon_size"
android:layout_marginTop="7dp"
android:layout_marginStart="15dp"
android:src="@drawable/caret_left"
app:tint="@color/gray_1"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"/>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:src="@drawable/header"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/back"
app:layout_constraintBottom_toBottomOf="@id/title"/>
<ImageView
android:onClick="@{backClickListener}"
android:id="@+id/back"
android:layout_width="@dimen/icon_size"
android:layout_height="@dimen/icon_size"
android:layout_marginTop="7dp"
android:layout_marginStart="15dp"
android:src="@drawable/caret_left"
app:tint="@color/gray_1"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style_800"
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="100dp"
android:paddingBottom="30dp"
android:text="Register"
android:textSize="20sp"
android:textColor="@color/white"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:src="@drawable/header"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/back"
app:layout_constraintBottom_toBottomOf="@id/title"/>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/username_label"
style="@style/default_text_style_700"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="48dp"
android:layout_marginEnd="16dp"
android:text="Username*"
android:textSize="13sp"
android:textColor="@color/gray_9"
app:layout_constraintTop_toBottomOf="@id/title"
app:layout_constraintStart_toStartOf="@id/username"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style_800"
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="100dp"
android:paddingBottom="30dp"
android:text="Register"
android:textSize="20sp"
android:textColor="@color/white"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<androidx.appcompat.widget.AppCompatEditText
style="@style/default_text_style"
android:id="@+id/username"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:paddingStart="20dp"
android:paddingEnd="20dp"
android:text="@={viewModel.username, default=`johndoe`}"
android:textSize="14sp"
android:textColor="@color/gray_9"
android:background="@{viewModel.usernameError.length() > 0 ? @drawable/shape_edit_text_error_background : @drawable/edit_text_background, default=@drawable/edit_text_background}"
android:inputType="text"
android:hint="Username"
app:layout_constraintWidth_max="@dimen/text_input_max_width"
app:layout_constraintTop_toBottomOf="@id/username_label"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/username_label"
style="@style/default_text_style_700"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="48dp"
android:layout_marginEnd="16dp"
android:text="Username*"
android:textSize="13sp"
android:textColor="@color/gray_9"
app:layout_constraintTop_toBottomOf="@id/title"
app:layout_constraintStart_toStartOf="@id/username"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style_600"
android:visibility="@{viewModel.usernameError.length() == 0 ? View.GONE : View.VISIBLE, default=gone}"
android:id="@+id/username_error"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@{viewModel.usernameError, default=`Error`}"
android:textSize="13sp"
android:textColor="@color/red_danger"
app:layout_constraintTop_toBottomOf="@id/username"
app:layout_constraintStart_toStartOf="@id/username"
app:layout_constraintEnd_toEndOf="@id/username"/>
<androidx.appcompat.widget.AppCompatEditText
style="@style/default_text_style"
android:id="@+id/username"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:paddingStart="20dp"
android:paddingEnd="20dp"
android:text="@={viewModel.username, default=`johndoe`}"
android:textSize="14sp"
android:textColor="@color/gray_9"
android:background="@{viewModel.usernameError.length() > 0 ? @drawable/shape_edit_text_error_background : @drawable/edit_text_background, default=@drawable/edit_text_background}"
android:inputType="text"
android:hint="Username"
app:layout_constraintWidth_max="@dimen/text_input_max_width"
app:layout_constraintTop_toBottomOf="@id/username_label"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/phone_number_label"
style="@style/default_text_style_700"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:layout_marginTop="16dp"
android:text="Phone Number*"
android:textSize="13sp"
android:textColor="@color/gray_9"
app:layout_constraintTop_toBottomOf="@id/username_error"
app:layout_constraintStart_toStartOf="@id/prefix"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style_600"
android:visibility="@{viewModel.usernameError.length() == 0 ? View.GONE : View.VISIBLE, default=gone}"
android:id="@+id/username_error"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@{viewModel.usernameError, default=`Error`}"
android:textSize="13sp"
android:textColor="@color/red_danger"
app:layout_constraintTop_toBottomOf="@id/username"
app:layout_constraintStart_toStartOf="@id/username"
app:layout_constraintEnd_toEndOf="@id/username"/>
<androidx.appcompat.widget.AppCompatEditText
style="@style/default_text_style"
android:id="@+id/phone_number"
android:layout_width="0dp"
android:layout_height="50dp"
android:paddingStart="95dp"
android:paddingEnd="20dp"
android:text="@={viewModel.phoneNumber, default=`6 01 02 03 04 05`}"
android:textSize="14sp"
android:textColor="@color/gray_9"
android:background="@{viewModel.phoneNumberError.length() > 0 ? @drawable/shape_edit_text_error_background : @drawable/edit_text_background, default=@drawable/edit_text_background}"
android:inputType="phone"
android:drawableStart="@drawable/separator"
android:drawablePadding="10dp"
android:hint="Phone number"
app:layout_constraintWidth_max="@dimen/text_input_max_width"
app:layout_constraintTop_toBottomOf="@id/phone_number_label"
app:layout_constraintStart_toStartOf="@id/username"
app:layout_constraintEnd_toEndOf="@id/username"/>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/phone_number_label"
style="@style/default_text_style_700"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:layout_marginTop="16dp"
android:text="Phone Number*"
android:textSize="13sp"
android:textColor="@color/gray_9"
app:layout_constraintTop_toBottomOf="@id/username_error"
app:layout_constraintStart_toStartOf="@id/prefix"/>
<androidx.appcompat.widget.AppCompatTextView
android:onClick="@{showCountryPickerClickListener}"
style="@style/default_text_style"
android:id="@+id/prefix"
android:layout_width="90dp"
android:layout_height="0dp"
android:paddingStart="20dp"
android:text="@{viewModel.internationalPrefix, default=`+33`}"
android:textSize="14sp"
android:textColor="@color/gray_9"
android:gravity="center_vertical"
android:drawableEnd="@drawable/caret_down"
android:drawablePadding="10dp"
app:layout_constraintTop_toTopOf="@id/phone_number"
app:layout_constraintBottom_toBottomOf="@id/phone_number"
app:layout_constraintStart_toStartOf="@id/username" />
<androidx.appcompat.widget.AppCompatEditText
style="@style/default_text_style"
android:id="@+id/phone_number"
android:layout_width="0dp"
android:layout_height="50dp"
android:paddingStart="95dp"
android:paddingEnd="20dp"
android:text="@={viewModel.phoneNumber, default=`6 01 02 03 04 05`}"
android:textSize="14sp"
android:textColor="@color/gray_9"
android:background="@{viewModel.phoneNumberError.length() > 0 ? @drawable/shape_edit_text_error_background : @drawable/edit_text_background, default=@drawable/edit_text_background}"
android:inputType="phone"
android:drawableStart="@drawable/separator"
android:drawablePadding="10dp"
android:hint="Phone number"
app:layout_constraintWidth_max="@dimen/text_input_max_width"
app:layout_constraintTop_toBottomOf="@id/phone_number_label"
app:layout_constraintStart_toStartOf="@id/username"
app:layout_constraintEnd_toEndOf="@id/username"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style_600"
android:visibility="@{viewModel.phoneNumberError.length() == 0 ? View.GONE : View.VISIBLE, default=gone}"
android:id="@+id/phone_number_error"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@{viewModel.phoneNumberError, default=`Error`}"
android:textSize="13sp"
android:textColor="@color/red_danger"
app:layout_constraintTop_toBottomOf="@id/prefix"
app:layout_constraintStart_toStartOf="@id/prefix"
app:layout_constraintEnd_toEndOf="@id/phone_number"/>
<androidx.appcompat.widget.AppCompatTextView
android:onClick="@{showCountryPickerClickListener}"
style="@style/default_text_style"
android:id="@+id/prefix"
android:layout_width="90dp"
android:layout_height="0dp"
android:paddingStart="20dp"
android:text="@{viewModel.internationalPrefix, default=`+33`}"
android:textSize="14sp"
android:textColor="@color/gray_9"
android:gravity="center_vertical"
android:drawableEnd="@drawable/caret_down"
android:drawablePadding="10dp"
app:layout_constraintTop_toTopOf="@id/phone_number"
app:layout_constraintBottom_toBottomOf="@id/phone_number"
app:layout_constraintStart_toStartOf="@id/username" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/password_label"
style="@style/default_text_style_700"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:layout_marginTop="16dp"
android:text="Password*"
android:textSize="13sp"
android:textColor="@color/gray_9"
app:layout_constraintTop_toBottomOf="@id/phone_number_error"
app:layout_constraintStart_toStartOf="@id/password"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style_600"
android:visibility="@{viewModel.phoneNumberError.length() == 0 ? View.GONE : View.VISIBLE, default=gone}"
android:id="@+id/phone_number_error"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@{viewModel.phoneNumberError, default=`Error`}"
android:textSize="13sp"
android:textColor="@color/red_danger"
app:layout_constraintTop_toBottomOf="@id/prefix"
app:layout_constraintStart_toStartOf="@id/prefix"
app:layout_constraintEnd_toEndOf="@id/phone_number"/>
<androidx.appcompat.widget.AppCompatEditText
style="@style/default_text_style"
android:id="@+id/password"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:paddingStart="20dp"
android:paddingEnd="20dp"
android:text="@={viewModel.password, default=`johndoe`}"
android:textSize="14sp"
android:textColor="@color/gray_9"
android:background="@drawable/edit_text_background"
android:hint="Password"
android:inputType="@{viewModel.showPassword ? InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD : InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD, default=textPassword}"
app:layout_constraintWidth_max="@dimen/text_input_max_width"
app:layout_constraintTop_toBottomOf="@id/password_label"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/password_label"
style="@style/default_text_style_700"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:layout_marginTop="16dp"
android:text="Password*"
android:textSize="13sp"
android:textColor="@color/gray_9"
app:layout_constraintTop_toBottomOf="@id/phone_number_error"
app:layout_constraintStart_toStartOf="@id/password"/>
<ImageView
android:onClick="@{() -> viewModel.toggleShowPassword()}"
android:id="@+id/eye"
android:layout_width="@dimen/icon_size"
android:layout_height="0dp"
android:padding="4dp"
android:layout_marginEnd="20dp"
android:src="@{viewModel.showPassword ? @drawable/eye_slash : @drawable/eye, default=@drawable/eye}"
app:tint="@color/gray_1"
app:layout_constraintEnd_toEndOf="@id/password"
app:layout_constraintTop_toTopOf="@id/password"
app:layout_constraintBottom_toBottomOf="@id/password" />
<androidx.appcompat.widget.AppCompatEditText
style="@style/default_text_style"
android:id="@+id/password"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:paddingStart="20dp"
android:paddingEnd="20dp"
android:text="@={viewModel.password, default=`johndoe`}"
android:textSize="14sp"
android:textColor="@color/gray_9"
android:background="@drawable/edit_text_background"
android:hint="Password"
android:inputType="@{viewModel.showPassword ? InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD : InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD, default=textPassword}"
app:layout_constraintWidth_max="@dimen/text_input_max_width"
app:layout_constraintTop_toBottomOf="@id/password_label"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<androidx.appcompat.widget.AppCompatTextView
android:onClick="@{() -> viewModel.confirmPhoneNumber()}"
android:enabled="@{viewModel.createEnabled &amp;&amp; !viewModel.operationInProgress, default=false}"
style="@style/default_text_style_600"
android:id="@+id/create"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="32dp"
android:paddingTop="@dimen/primary_secondary_buttons_label_padding"
android:paddingBottom="@dimen/primary_secondary_buttons_label_padding"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:text="Create"
android:textSize="18sp"
android:textColor="@color/primary_button_label_color"
android:gravity="center"
android:background="@drawable/primary_button_background"
app:layout_constraintWidth_max="@dimen/button_max_width"
app:layout_constraintTop_toBottomOf="@id/password"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
<ImageView
android:onClick="@{() -> viewModel.toggleShowPassword()}"
android:id="@+id/eye"
android:layout_width="@dimen/icon_size"
android:layout_height="0dp"
android:padding="4dp"
android:layout_marginEnd="20dp"
android:src="@{viewModel.showPassword ? @drawable/eye_slash : @drawable/eye, default=@drawable/eye}"
app:tint="@color/gray_1"
app:layout_constraintEnd_toEndOf="@id/password"
app:layout_constraintTop_toTopOf="@id/password"
app:layout_constraintBottom_toBottomOf="@id/password" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style"
android:id="@+id/create_email_account_label"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="34dp"
android:gravity="center"
android:text="Create an account with your email on:"
android:textSize="14sp"
android:textColor="@color/gray_8"
app:layout_constraintTop_toBottomOf="@id/create"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<androidx.appcompat.widget.AppCompatTextView
android:onClick="@{() -> viewModel.confirmPhoneNumber()}"
android:enabled="@{viewModel.createEnabled &amp;&amp; !viewModel.operationInProgress, default=false}"
style="@style/default_text_style_600"
android:id="@+id/create"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="32dp"
android:paddingTop="@dimen/primary_secondary_buttons_label_padding"
android:paddingBottom="@dimen/primary_secondary_buttons_label_padding"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:text="Create"
android:textSize="18sp"
android:textColor="@color/primary_button_label_color"
android:gravity="center"
android:background="@drawable/primary_button_background"
app:layout_constraintWidth_max="@dimen/button_max_width"
app:layout_constraintTop_toBottomOf="@id/password"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
<androidx.appcompat.widget.AppCompatTextView
android:onClick="@{openSubscribeWebPageClickListener}"
style="@style/default_text_style_600"
android:id="@+id/create_email_account"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:paddingTop="6dp"
android:paddingBottom="6dp"
android:paddingStart="12dp"
android:paddingEnd="12dp"
android:text="subscribe.linphone.org"
android:textSize="13sp"
android:textColor="@color/secondary_button_label_color"
android:gravity="center"
android:background="@drawable/secondary_button_background"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/create_email_account_label" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style"
android:id="@+id/create_email_account_label"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="34dp"
android:gravity="center"
android:text="Create an account with your email on:"
android:textSize="14sp"
android:textColor="@color/gray_8"
app:layout_constraintTop_toBottomOf="@id/create"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style"
android:id="@+id/already_an_account"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingStart="20dp"
android:paddingEnd="20dp"
android:text="Already an account?"
android:textSize="14sp"
android:textColor="@color/gray_8"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@id/login"
app:layout_constraintTop_toTopOf="@id/login"
app:layout_constraintBottom_toBottomOf="@id/login"/>
<androidx.appcompat.widget.AppCompatTextView
android:onClick="@{openSubscribeWebPageClickListener}"
style="@style/default_text_style_600"
android:id="@+id/create_email_account"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:paddingTop="6dp"
android:paddingBottom="6dp"
android:paddingStart="12dp"
android:paddingEnd="12dp"
android:text="subscribe.linphone.org"
android:textSize="13sp"
android:textColor="@color/secondary_button_label_color"
android:gravity="center"
android:background="@drawable/secondary_button_background"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/create_email_account_label" />
<androidx.appcompat.widget.AppCompatTextView
android:onClick="@{loginClickListener}"
style="@style/default_text_style_600"
android:id="@+id/login"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="34dp"
android:layout_marginStart="20dp"
android:layout_marginBottom="20dp"
android:paddingTop="@dimen/primary_secondary_buttons_label_padding"
android:paddingBottom="@dimen/primary_secondary_buttons_label_padding"
android:paddingStart="20dp"
android:paddingEnd="20dp"
android:text="Login"
android:textSize="18sp"
android:textColor="@color/secondary_button_label_color"
android:gravity="center"
android:background="@drawable/secondary_button_background"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/already_an_account"
app:layout_constraintTop_toBottomOf="@id/create_email_account"
app:layout_constraintBottom_toBottomOf="parent"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style"
android:id="@+id/already_an_account"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingStart="20dp"
android:paddingEnd="20dp"
android:text="Already an account?"
android:textSize="14sp"
android:textColor="@color/gray_8"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@id/login"
app:layout_constraintTop_toTopOf="@id/login"
app:layout_constraintBottom_toBottomOf="@id/login"/>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.appcompat.widget.AppCompatTextView
android:onClick="@{loginClickListener}"
style="@style/default_text_style_600"
android:id="@+id/login"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="34dp"
android:layout_marginStart="20dp"
android:layout_marginBottom="20dp"
android:paddingTop="@dimen/primary_secondary_buttons_label_padding"
android:paddingBottom="@dimen/primary_secondary_buttons_label_padding"
android:paddingStart="20dp"
android:paddingEnd="20dp"
android:text="Login"
android:textSize="18sp"
android:textColor="@color/secondary_button_label_color"
android:gravity="center"
android:background="@drawable/secondary_button_background"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/already_an_account"
app:layout_constraintTop_toBottomOf="@id/create_email_account"
app:layout_constraintBottom_toBottomOf="parent"/>
</ScrollView>
</androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView>
<include
layout="@layout/operation_in_progress"
bind:visibility="@{viewModel.operationInProgress}" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
</layout>

View file

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<import type="android.view.View"/>
<variable
name="visibility"
type="Boolean" />
</data>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="@{visibility ? View.VISIBLE : View.GONE}"
android:background="@color/dialog_background">
<com.google.android.material.progressindicator.CircularProgressIndicator
android:id="@+id/progress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
app:indicatorColor="@color/primary_color"
android:indeterminate="true" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style_800"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Operation in progress, please wait"
android:textColor="@color/primary_color"
android:textSize="18sp"
android:layout_below="@id/progress"
android:layout_centerHorizontal="true"/>
</RelativeLayout>
</layout>

View file

@ -18,7 +18,7 @@
<color name="gray_offline">#E1E1E1</color>
<color name="warning_orange_background">#FFEACB</color>
<color name="warning_orange_pressed_background">#FFB266</color>
<color name="dialog_background">#22334D</color>
<color name="dialog_background">#A622334D</color>
<color name="drawer_handle">#C0D1D9</color>
<color name="gradient_start">#EEF7F8</color>