Skip to content
Snippets Groups Projects
Commit f90233df authored by Taras's avatar Taras
Browse files

Handle choose subscription button enabled

parent ba6e5624
No related branches found
No related tags found
No related merge requests found
...@@ -21,7 +21,12 @@ class SelectSignUpTypeDataSource( ...@@ -21,7 +21,12 @@ class SelectSignUpTypeDataSource(
signUpDataSource.clearSubtitle() signUpDataSource.clearSubtitle()
} }
suspend fun startNewRegistration(name: String, password: String, domain: String) = suspend fun startNewRegistration(
name: String,
password: String,
domain: String,
isSubscription: Boolean
) =
createResult { createResult {
val homeServerUrl = HomeServerUtils.getHomeServerUrlFromDomain(domain) val homeServerUrl = HomeServerUtils.getHomeServerUrlFromDomain(domain)
authService.cancelPendingLoginOrRegistration() authService.cancelPendingLoginOrRegistration()
......
...@@ -26,15 +26,13 @@ class SelectSignUpTypeFragment : Fragment(R.layout.select_sign_up_type_fragment) ...@@ -26,15 +26,13 @@ class SelectSignUpTypeFragment : Fragment(R.layout.select_sign_up_type_fragment)
viewModel.clearSubtitle() viewModel.clearSubtitle()
setupViews() setupViews()
setupObservers() setupObservers()
} }
private fun setupViews() { private fun setupViews() {
setAlwaysDisabledViews(listOf(binding.btnSubscription))
with(binding) { with(binding) {
groupSubscription.setIsVisible(BuildConfig.IS_SUBSCRIPTIONS_ENABLED) groupSubscription.setIsVisible(BuildConfig.IS_SUBSCRIPTIONS_ENABLED)
tilUserName.editText?.doAfterTextChanged { setTokenButtonEnabled() } tilUserName.editText?.doAfterTextChanged { setSignupButtonsEnabled() }
tilPassword.editText?.doAfterTextChanged { setTokenButtonEnabled() } tilPassword.editText?.doAfterTextChanged { setSignupButtonsEnabled() }
btnToken.setOnClickListener { btnToken.setOnClickListener {
startLoading(btnToken) startLoading(btnToken)
viewModel.startSignUp( viewModel.startSignUp(
...@@ -43,6 +41,15 @@ class SelectSignUpTypeFragment : Fragment(R.layout.select_sign_up_type_fragment) ...@@ -43,6 +41,15 @@ class SelectSignUpTypeFragment : Fragment(R.layout.select_sign_up_type_fragment)
tvServerDomain.text.toString() tvServerDomain.text.toString()
) )
} }
btnSubscription.setOnClickListener {
startLoading(btnSubscription)
viewModel.startSignUp(
tilUserName.getText(),
tilPassword.getText(),
tvServerDomain.text.toString(),
true
)
}
serverLocationGroup.setOnCheckedChangeListener { _, checkedId -> serverLocationGroup.setOnCheckedChangeListener { _, checkedId ->
tvServerDomain.text = when (checkedId) { tvServerDomain.text = when (checkedId) {
btnUS.id -> BuildConfig.US_SERVER_DOMAIN btnUS.id -> BuildConfig.US_SERVER_DOMAIN
...@@ -58,8 +65,10 @@ class SelectSignUpTypeFragment : Fragment(R.layout.select_sign_up_type_fragment) ...@@ -58,8 +65,10 @@ class SelectSignUpTypeFragment : Fragment(R.layout.select_sign_up_type_fragment)
viewModel.startSignUpEventLiveData.observeResponse(this) viewModel.startSignUpEventLiveData.observeResponse(this)
} }
private fun setTokenButtonEnabled() { private fun setSignupButtonsEnabled() {
binding.btnToken.isEnabled = binding.tilUserName.editText?.text?.isNotEmpty() == true && val isEnabled = binding.tilUserName.editText?.text?.isNotEmpty() == true &&
binding.tilPassword.editText?.text?.isNotEmpty() == true binding.tilPassword.editText?.text?.isNotEmpty() == true
binding.btnToken.isEnabled = isEnabled
binding.btnSubscription.isEnabled = isEnabled
} }
} }
\ No newline at end of file
...@@ -11,10 +11,15 @@ class SelectSignUpTypeViewModel( ...@@ -11,10 +11,15 @@ class SelectSignUpTypeViewModel(
val startSignUpEventLiveData = SingleEventLiveData<Response<Unit?>>() val startSignUpEventLiveData = SingleEventLiveData<Response<Unit?>>()
fun startSignUp(name: String, password: String, serverDomain: String) { fun startSignUp(
name: String,
password: String,
serverDomain: String,
isSubscription: Boolean = false
) {
launchBg { launchBg {
startSignUpEventLiveData.postValue( startSignUpEventLiveData.postValue(
dataSource.startNewRegistration(name, password, serverDomain) dataSource.startNewRegistration(name, password, serverDomain, isSubscription)
) )
} }
} }
......
...@@ -129,7 +129,7 @@ ...@@ -129,7 +129,7 @@
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center" android:gravity="center"
android:text="@string/already_have_a_circles_token" android:text="@string/already_have_a_token"
app:layout_constraintBottom_toTopOf="@id/btnToken" app:layout_constraintBottom_toTopOf="@id/btnToken"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
...@@ -170,44 +170,27 @@ ...@@ -170,44 +170,27 @@
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center" android:gravity="center"
android:text="@string/create_a_circles_subscription" android:text="@string/create_a_subscription"
app:layout_constraintBottom_toTopOf="@id/btnSubscription" app:layout_constraintBottom_toTopOf="@id/btnSubscription"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvOr" /> app:layout_constraintTop_toBottomOf="@id/tvOr" />
<com.google.android.material.button.MaterialButton <org.futo.circles.view.LoadingButton
android:id="@+id/btnSubscription" android:id="@+id/btnSubscription"
style="@style/AccentButtonStyle"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="8dp" android:layout_marginTop="8dp"
android:enabled="false" android:enabled="false"
android:text="@string/new_circles_subscription" android:text="@string/choose_a_subscription"
app:layout_constraintBottom_toTopOf="@id/tvSubscriptionUnavailable"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvSubscriptionTitle" />
<TextView
android:id="@+id/tvSubscriptionUnavailable"
style="@style/footNote"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:gravity="center"
android:text="@string/new_paid_circles_subscriptions_are_currently_unavailable"
app:drawableStartCompat="@drawable/ic_error"
app:drawableTint="@color/inactive_menu_icon_color"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/btnSubscription" /> app:layout_constraintTop_toBottomOf="@id/tvSubscriptionTitle" />
<androidx.constraintlayout.widget.Group <androidx.constraintlayout.widget.Group
android:id="@+id/groupSubscription" android:id="@+id/groupSubscription"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="0dp" android:layout_height="0dp"
app:constraint_referenced_ids="tvOr,tvSubscriptionTitle,btnSubscription,tvSubscriptionUnavailable" /> app:constraint_referenced_ids="tvOr,tvSubscriptionTitle,btnSubscription" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment