From 753b96e8fa8ed346de78de61d1c9f4a2e8fa6787 Mon Sep 17 00:00:00 2001 From: hunnihundert <47563806+hunnihundert@users.noreply.github.com> Date: Fri, 29 May 2020 16:52:28 +0900 Subject: [PATCH 1/3] changed input type for zip code input field in transcript info --- app/src/main/res/layout/fragment_transcript_info.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/layout/fragment_transcript_info.xml b/app/src/main/res/layout/fragment_transcript_info.xml index e9fce1b..4084895 100644 --- a/app/src/main/res/layout/fragment_transcript_info.xml +++ b/app/src/main/res/layout/fragment_transcript_info.xml @@ -192,7 +192,7 @@ android:autofillHints="postal-code" android:background="@drawable/rounded_white" android:error="@{viewModel.zipCodeError}" - android:inputType="number" + android:inputType="textPostalAddress" android:nextFocusDown="@id/editText_city_value" android:padding="10dp" android:text="@={viewModel.zipCode}" From a64444334b836c808256b5975526a32a0b1cee5b Mon Sep 17 00:00:00 2001 From: hunnihundert <47563806+hunnihundert@users.noreply.github.com> Date: Tue, 2 Jun 2020 17:35:43 +0900 Subject: [PATCH 2/3] implemented CountryCodePickerProject for Country Code Picker added country picker in register detailed fragment --- app/build.gradle | 2 + .../register/RegisterDetailedViewModel.kt | 18 ++- .../res/layout/fragment_register_detailed.xml | 105 +++++++++++------- 3 files changed, 80 insertions(+), 45 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 4b52352..96e23db 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -120,6 +120,8 @@ dependencies { implementation 'com.google.android.exoplayer:exoplayer-core:2.11.4' implementation 'com.google.android.exoplayer:exoplayer-ui:2.11.4' + implementation 'com.hbb20:ccp:2.4.0' + // Koin for Android implementation "org.koin:koin-android:$koin_version" // Koin AndroidX Scope features diff --git a/app/src/main/java/app/nexd/android/ui/auth/register/RegisterDetailedViewModel.kt b/app/src/main/java/app/nexd/android/ui/auth/register/RegisterDetailedViewModel.kt index ce88b45..d443445 100644 --- a/app/src/main/java/app/nexd/android/ui/auth/register/RegisterDetailedViewModel.kt +++ b/app/src/main/java/app/nexd/android/ui/auth/register/RegisterDetailedViewModel.kt @@ -2,6 +2,7 @@ package app.nexd.android.ui.auth.register import android.util.Log import androidx.annotation.StringRes +import androidx.databinding.BindingAdapter import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import app.nexd.android.Api @@ -10,6 +11,7 @@ import app.nexd.android.R import app.nexd.android.api.model.BackendErrorEntry.ErrorCodeEnum.VALIDATION_PHONENUMBER_INVALID import app.nexd.android.api.model.UpdateUserDto import app.nexd.android.network.BackendError +import com.hbb20.CountryCodePicker import io.reactivex.android.schedulers.AndroidSchedulers class RegisterDetailedViewModel( @@ -24,6 +26,8 @@ class RegisterDetailedViewModel( object Finished : Progress() } + val countryCode = MutableLiveData("") + val phoneNumber = MutableLiveData("") val phoneNumberError = MutableLiveData(0) @@ -85,7 +89,7 @@ class RegisterDetailedViewModel( with(api) { userControllerUpdateMyself( UpdateUserDto() - .phoneNumber(phoneNumber.value) + .phoneNumber("" + countryCode.value + phoneNumber.value!!.substring(1)) .street(street.value) .number(houseNumber.value) .zipCode(zipCode.value) @@ -99,7 +103,8 @@ class RegisterDetailedViewModel( error.errorCodes.forEach { when (it) { VALIDATION_PHONENUMBER_INVALID -> { - phoneNumberError.value = R.string.error_message_input_validation_phone_number_invalid + phoneNumberError.value = + R.string.error_message_input_validation_phone_number_invalid } else -> { Log.e( @@ -125,4 +130,13 @@ class RegisterDetailedViewModel( } } + object CountryPickerBindings { + @JvmStatic + @BindingAdapter("selectedCountry") + fun selectedCountry(ccp: CountryCodePicker, result: MutableLiveData) { + with(ccp.selectedCountryCodeWithPlus) { + result.postValue(this) + } + } + } } \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_register_detailed.xml b/app/src/main/res/layout/fragment_register_detailed.xml index 40e90cd..b02dc99 100644 --- a/app/src/main/res/layout/fragment_register_detailed.xml +++ b/app/src/main/res/layout/fragment_register_detailed.xml @@ -1,7 +1,7 @@ + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools"> @@ -19,14 +19,14 @@ android:id="@+id/register_detailed_toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" - app:layout_constraintTop_toTopOf="parent" app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" app:navigationIcon="?attr/homeAsUpIndicator" /> + app:layout_constraintTop_toBottomOf="@id/register_detailed_toolbar"> + android:visibility="gone" /> + android:orientation="vertical" + android:paddingHorizontal="20dp"> - + android:orientation="horizontal"> + + + + + + android:text="@={viewModel.street}" /> + android:text="@={viewModel.houseNumber}" /> @@ -129,38 +150,36 @@ + android:text="@={viewModel.zipCode}" /> + android:text="@={viewModel.locality}" />