Add login api service and move phone number validation to view model

This commit is contained in:
Shashidhara Gopal
2019-11-04 16:43:43 +05:30
parent 29812f0c7a
commit a028c554de
4 changed files with 28 additions and 4 deletions

View File

@@ -1,5 +1,3 @@
package com.navi.medici.android_customer_app.login
data class Login(var phoneNumber: String) {
fun isValidPhoneNumber(): Boolean = phoneNumber.length == 10
}
data class Login(var phoneNumber: String)

View File

@@ -1,2 +1,24 @@
package com.navi.medici.android_customer_app.login
import android.util.Log
import retrofit2.Retrofit
import retrofit2.converter.scalars.ScalarsConverterFactory
import retrofit2.http.POST
private const val BASE_URL = "https://jsonplaceholder.typicode.com"
private val retrofit = Retrofit.Builder()
.addConverterFactory(ScalarsConverterFactory.create())
.baseUrl(BASE_URL)
.build()
interface LoginApiService {
@POST("posts")
fun submitPhoneNumber(phoneNumber: String) {
Log.i("post body", phoneNumber)
}
}
object Retrofit {
val loginApi: LoginApiService by lazy { retrofit.create(LoginApiService::class.java) }
}

View File

@@ -1,2 +1,4 @@
package com.navi.medici.android_customer_app.login
class LoginRepository {
}

View File

@@ -7,7 +7,9 @@ class LoginViewModel : ViewModel() {
fun onChangePhoneNumber(phoneNumber: String) {
login.phoneNumber = phoneNumber
if (login.isValidPhoneNumber()) {
if (isValidPhoneNumber(phoneNumber)) {
}
}
private fun isValidPhoneNumber(phoneNumber: String): Boolean = phoneNumber.length == 10
}