Reyaz | code restructure

This commit is contained in:
Reyaz Ahmad
2019-11-11 12:26:44 +05:30
parent ae7c25d0a4
commit be3ddaa2df
52 changed files with 196 additions and 144 deletions

View File

@@ -1,4 +1,4 @@
package com.navi.medici.android_customer_app
package com.navi.medici.androidCustomerApp
import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.ext.junit.runners.AndroidJUnit4

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.navi.medici.android_customer_app">
package="com.navi.medici.androidCustomerApp">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
@@ -14,14 +14,14 @@
android:usesCleartextTraffic="true"
android:theme="@style/AppTheme">
<activity
android:name=".otp.OtpActivity"
android:name=".ui.activities.OtpActivity"
android:noHistory="true"></activity>
<activity android:name=".bottomNavigation.BottomNavigationActivity" />
<activity android:name=".ui.activities.BottomNavigationActivity" />
<activity
android:name=".login.LoginActivity"
android:name=".ui.activities.LoginActivity"
android:noHistory="true">
</activity>
<activity android:name=".splashScreen.SplashScreenActivity"
<activity android:name=".ui.activities.SplashScreenActivity"
android:noHistory="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

View File

@@ -1,8 +1,10 @@
package com.navi.medici.android_customer_app.bottomNavigation.loanApplication
package com.navi.medici.androidCustomerApp.adapters
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager
import androidx.fragment.app.FragmentPagerAdapter
import com.navi.medici.androidCustomerApp.ui.fragments.LoanDetailsFragment
import com.navi.medici.androidCustomerApp.ui.fragments.EmiScheduleFragment
class LoanDetailsTabAdapter(fm: FragmentManager) :
FragmentPagerAdapter(fm, FragmentPagerAdapter.BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT) {

View File

@@ -1,12 +1,12 @@
package com.navi.medici.android_customer_app.bottomNavigation.myLoans
package com.navi.medici.androidCustomerApp.adapters
import android.content.Context
import android.view.LayoutInflater
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import com.navi.medici.android_customer_app.R
import com.navi.medici.android_customer_app.databinding.LoanCardBinding
import java.util.*
import com.navi.medici.androidCustomerApp.R
import com.navi.medici.androidCustomerApp.models.MyLoansResponse
import com.navi.medici.androidCustomerApp.databinding.LoanCardBinding
class MyLoansAdapter(private val context: Context) :
RecyclerView.Adapter<MyLoansAdapter.MyLoansViewHolder>() {

View File

@@ -1,6 +1,8 @@
package com.navi.medici.android_customer_app.login
package com.navi.medici.androidCustomerApp.api
import com.navi.medici.android_customer_app.api.RetrofitService
import com.navi.medici.androidCustomerApp.common.RetrofitService
import com.navi.medici.androidCustomerApp.models.LaunchRequest
import com.navi.medici.androidCustomerApp.models.LaunchResponse
import retrofit2.Response
import retrofit2.http.Body
import retrofit2.http.PUT
@@ -13,7 +15,8 @@ interface LaunchApi {
companion object {
operator fun invoke(): LaunchApi {
return RetrofitService.build(BASE_URL).create(LaunchApi::class.java)
return RetrofitService.build(BASE_URL).create(
LaunchApi::class.java)
}
}
}

View File

@@ -1,9 +1,9 @@
package com.navi.medici.android_customer_app.bottomNavigation.loanApplication
package com.navi.medici.androidCustomerApp.api
import com.navi.medici.android_customer_app.api.RetrofitService
import com.navi.medici.android_customer_app.bottomNavigation.loanApplication.models.OfferResponse
import com.navi.medici.android_customer_app.loan_application.models.OfferSelected
import com.navi.medici.android_customer_app.loan_application.models.OfferAcceptResponse
import com.navi.medici.androidCustomerApp.common.RetrofitService
import com.navi.medici.androidCustomerApp.bottomNavigation.loanApplication.models.OfferResponse
import com.navi.medici.androidCustomerApp.loan_application.models.OfferSelected
import com.navi.medici.androidCustomerApp.loan_application.models.OfferAcceptResponse
import retrofit2.Response
import retrofit2.http.*
@@ -22,7 +22,8 @@ interface LoanApplicationApi {
companion object {
operator fun invoke(): LoanApplicationApi {
return RetrofitService.build(BASE_URL).create(LoanApplicationApi::class.java)
return RetrofitService.build(BASE_URL).create(
LoanApplicationApi::class.java)
}
}
}

View File

@@ -1,6 +1,8 @@
package com.navi.medici.android_customer_app.login
package com.navi.medici.androidCustomerApp.api
import com.navi.medici.android_customer_app.api.RetrofitService
import com.navi.medici.androidCustomerApp.common.RetrofitService
import com.navi.medici.androidCustomerApp.models.LoginRequest
import com.navi.medici.androidCustomerApp.models.LoginResponse
import retrofit2.Response
import retrofit2.http.Body
import retrofit2.http.POST
@@ -13,7 +15,8 @@ interface LoginApi {
companion object {
operator fun invoke(): LoginApi {
return RetrofitService.build(BASE_URL).create(LoginApi::class.java)
return RetrofitService.build(BASE_URL).create(
LoginApi::class.java)
}
}
}

View File

@@ -1,8 +1,8 @@
package com.navi.medici.android_customer_app.bottomNavigation.myLoans
package com.navi.medici.androidCustomerApp.api
import com.navi.medici.android_customer_app.api.RetrofitService
import com.navi.medici.androidCustomerApp.models.MyLoansResponse
import com.navi.medici.androidCustomerApp.common.RetrofitService
import retrofit2.Response
import retrofit2.http.Body
import retrofit2.http.GET
import retrofit2.http.Query
@@ -14,7 +14,8 @@ interface MyLoansApi {
companion object {
operator fun invoke(): MyLoansApi {
return RetrofitService.build(BASE_URL).create(MyLoansApi::class.java)
return RetrofitService.build(BASE_URL).create(
MyLoansApi::class.java)
}
}
}

View File

@@ -1,6 +1,8 @@
package com.navi.medici.android_customer_app.otp
package com.navi.medici.androidCustomerApp.api
import com.navi.medici.android_customer_app.api.RetrofitService
import com.navi.medici.androidCustomerApp.common.RetrofitService
import com.navi.medici.androidCustomerApp.models.OtpRequest
import com.navi.medici.androidCustomerApp.models.OtpResponse
import retrofit2.Response
import retrofit2.http.Body
import retrofit2.http.POST
@@ -13,7 +15,8 @@ interface OtpApi {
companion object {
operator fun invoke(): OtpApi {
return RetrofitService.build(BASE_URL).create(OtpApi::class.java)
return RetrofitService.build(BASE_URL).create(
OtpApi::class.java)
}
}
}

View File

@@ -1,4 +1,4 @@
package com.navi.medici.android_customer_app.api
package com.navi.medici.androidCustomerApp.common
import com.google.gson.FieldNamingPolicy
import com.google.gson.GsonBuilder

View File

@@ -1,4 +1,4 @@
package com.navi.medici.android_customer_app.login
package com.navi.medici.androidCustomerApp.models
data class LaunchRequest(
val imei: String?,

View File

@@ -1,4 +1,4 @@
package com.navi.medici.android_customer_app.login
package com.navi.medici.androidCustomerApp.models
data class LaunchResponse(
val success: Boolean?

View File

@@ -0,0 +1,9 @@
package com.navi.medici.androidCustomerApp.models
import com.navi.medici.androidCustomerApp.bottomNavigation.loanApplication.models.response.Money
class LoanAmount(
val min: Money?,
val max: Money?
) {
}

View File

@@ -1,4 +1,4 @@
package com.navi.medici.android_customer_app.login
package com.navi.medici.androidCustomerApp.models
data class LoginRequest(
val imei: String?,

View File

@@ -1,4 +1,4 @@
package com.navi.medici.android_customer_app.login
package com.navi.medici.androidCustomerApp.models
data class LoginResponse(
val otpToken: String?

View File

@@ -1,4 +1,4 @@
package com.navi.medici.android_customer_app.bottomNavigation.loanApplication.models.response
package com.navi.medici.androidCustomerApp.bottomNavigation.loanApplication.models.response
data class Money(
val currency: String?,

View File

@@ -0,0 +1,5 @@
package com.navi.medici.androidCustomerApp.models
data class MyLoansRequest(
val customerId: Long?
)

View File

@@ -1,4 +1,4 @@
package com.navi.medici.android_customer_app.bottomNavigation.myLoans
package com.navi.medici.androidCustomerApp.models
data class MyLoansResponse(
val customerId: String? = "",

View File

@@ -1,4 +1,4 @@
package com.navi.medici.android_customer_app.loan_application.models
package com.navi.medici.androidCustomerApp.loan_application.models
data class OfferAcceptResponse(
val customerId: String? = ""

View File

@@ -0,0 +1,13 @@
package com.navi.medici.androidCustomerApp.bottomNavigation.loanApplication.models
import com.navi.medici.androidCustomerApp.models.LoanAmount
import com.navi.medici.androidCustomerApp.models.OfferTenure
data class OfferResponse(
var schemeId: String? = "",
var personId: String? = "",
var loanAmount: LoanAmount?,
var tenure: OfferTenure?,
var rateOfInterest: Double
) {
}

View File

@@ -1,6 +1,6 @@
package com.navi.medici.android_customer_app.loan_application.models
package com.navi.medici.androidCustomerApp.loan_application.models
import com.navi.medici.android_customer_app.bottomNavigation.loanApplication.models.response.Money
import com.navi.medici.androidCustomerApp.bottomNavigation.loanApplication.models.response.Money
data class OfferSelected(
var personId: String? = "",

View File

@@ -0,0 +1,9 @@
package com.navi.medici.androidCustomerApp.models
import com.navi.medici.androidCustomerApp.loan_application.models.TenureDetails
class OfferTenure(
val min: TenureDetails?,
val max: TenureDetails?
) {
}

View File

@@ -1,3 +1,3 @@
package com.navi.medici.android_customer_app.otp
package com.navi.medici.androidCustomerApp.models
data class OtpRequest(val otp: String, val otpToken: String)

View File

@@ -0,0 +1,3 @@
package com.navi.medici.androidCustomerApp.models
data class OtpResponse(val personId: String?)

View File

@@ -1,4 +1,4 @@
package com.navi.medici.android_customer_app.loan_application.models
package com.navi.medici.androidCustomerApp.loan_application.models
data class TenureDetails(
val value: Int = 0,

View File

@@ -1,4 +1,4 @@
package com.navi.medici.android_customer_app.preferences
package com.navi.medici.androidCustomerApp.preferences
import android.content.Context
import android.content.SharedPreferences

View File

@@ -1,4 +1,4 @@
package com.navi.medici.android_customer_app.preferences
package com.navi.medici.androidCustomerApp.preferences
enum class PreferenceNames {
SESSION_TOKEN,

View File

@@ -1,7 +1,7 @@
package com.navi.medici.android_customer_app.loan_application
package com.navi.medici.androidCustomerApp.loan_application
import com.navi.medici.android_customer_app.bottomNavigation.loanApplication.LoanApplicationApi
import com.navi.medici.android_customer_app.loan_application.models.OfferSelected
import com.navi.medici.androidCustomerApp.api.LoanApplicationApi
import com.navi.medici.androidCustomerApp.loan_application.models.OfferSelected
class LoanApplicationRepository(private val loanApplicationApi: LoanApplicationApi) {
suspend fun offerAccept(offerAcceptInput: OfferSelected?) = suspend { loanApplicationApi.acceptOffer(offerAcceptInput) }.invoke()

View File

@@ -1,4 +1,9 @@
package com.navi.medici.android_customer_app.login
package com.navi.medici.androidCustomerApp.repositories
import com.navi.medici.androidCustomerApp.api.LaunchApi
import com.navi.medici.androidCustomerApp.api.LoginApi
import com.navi.medici.androidCustomerApp.models.LaunchRequest
import com.navi.medici.androidCustomerApp.models.LoginRequest
class LoginRepository(private val loginApi: LoginApi, private val launchApi: LaunchApi) {

View File

@@ -1,4 +1,6 @@
package com.navi.medici.android_customer_app.bottomNavigation.myLoans
package com.navi.medici.androidCustomerApp.repositories
import com.navi.medici.androidCustomerApp.api.MyLoansApi
class MyLoansRepository(private val myLoansApi: MyLoansApi) {
suspend fun fetchMyLoans(customerId: String?) =

View File

@@ -1,4 +1,7 @@
package com.navi.medici.android_customer_app.otp
package com.navi.medici.androidCustomerApp.repositories
import com.navi.medici.androidCustomerApp.api.OtpApi
import com.navi.medici.androidCustomerApp.models.OtpRequest
class OtpRepository(private val otpApi: OtpApi) {

View File

@@ -1,14 +1,13 @@
package com.navi.medici.android_customer_app.bottomNavigation
package com.navi.medici.androidCustomerApp.ui.activities
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.databinding.DataBindingUtil
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentActivity
import com.navi.medici.android_customer_app.R
import com.navi.medici.android_customer_app.bottomNavigation.loanApplication.OfferAcceptFragment
import com.navi.medici.android_customer_app.bottomNavigation.myLoans.MyLoansFragment
import com.navi.medici.android_customer_app.databinding.ActivityBottomNavigationBinding
import com.navi.medici.androidCustomerApp.R
import com.navi.medici.androidCustomerApp.ui.fragments.OfferAcceptFragment
import com.navi.medici.androidCustomerApp.ui.fragments.MyLoansFragment
import com.navi.medici.androidCustomerApp.databinding.ActivityBottomNavigationBinding
class BottomNavigationActivity : FragmentActivity() {

View File

@@ -1,4 +1,4 @@
package com.navi.medici.android_customer_app.login
package com.navi.medici.androidCustomerApp.ui.activities
import android.Manifest
import android.annotation.SuppressLint
@@ -15,9 +15,9 @@ import androidx.core.widget.addTextChangedListener
import androidx.databinding.DataBindingUtil
import androidx.lifecycle.Observer
import androidx.lifecycle.ViewModelProviders
import com.navi.medici.android_customer_app.R
import com.navi.medici.android_customer_app.databinding.ActivityLoginBinding
import com.navi.medici.android_customer_app.otp.OtpActivity
import com.navi.medici.androidCustomerApp.R
import com.navi.medici.androidCustomerApp.databinding.ActivityLoginBinding
import com.navi.medici.androidCustomerApp.viewModels.LoginViewModel
class LoginActivity : AppCompatActivity() {
private lateinit var loginViewModel: LoginViewModel

View File

@@ -1,20 +1,19 @@
package com.navi.medici.android_customer_app.otp
package com.navi.medici.androidCustomerApp.ui.activities
import android.app.Activity
import android.content.Intent
import android.os.Bundle
import android.util.Log
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import androidx.core.widget.addTextChangedListener
import androidx.databinding.DataBindingUtil
import androidx.lifecycle.Observer
import androidx.lifecycle.ViewModelProviders
import com.navi.medici.android_customer_app.R
import com.navi.medici.android_customer_app.bottomNavigation.BottomNavigationActivity
import com.navi.medici.android_customer_app.databinding.ActivityOtpBinding
import com.navi.medici.android_customer_app.preferences.PreferenceManager
import com.navi.medici.android_customer_app.preferences.PreferenceNames
import com.navi.medici.androidCustomerApp.R
import com.navi.medici.androidCustomerApp.databinding.ActivityOtpBinding
import com.navi.medici.androidCustomerApp.viewModels.OtpViewModel
import com.navi.medici.androidCustomerApp.preferences.PreferenceManager
import com.navi.medici.androidCustomerApp.preferences.PreferenceNames
class OtpActivity : AppCompatActivity() {

View File

@@ -1,13 +1,12 @@
package com.navi.medici.android_customer_app.splashScreen
package com.navi.medici.androidCustomerApp.ui.activities
import android.content.Intent
import android.os.Bundle
import android.os.Handler
import androidx.appcompat.app.AppCompatActivity
import androidx.databinding.DataBindingUtil
import com.navi.medici.android_customer_app.R
import com.navi.medici.android_customer_app.databinding.ActivitySplashScreenBinding
import com.navi.medici.android_customer_app.login.LoginActivity
import com.navi.medici.androidCustomerApp.R
import com.navi.medici.androidCustomerApp.databinding.ActivitySplashScreenBinding
class SplashScreenActivity : AppCompatActivity() {
private lateinit var binding: ActivitySplashScreenBinding

View File

@@ -1,4 +1,4 @@
package com.navi.medici.android_customer_app.bottomNavigation.loanApplication
package com.navi.medici.androidCustomerApp.ui.fragments
import androidx.fragment.app.Fragment

View File

@@ -1,4 +1,4 @@
package com.navi.medici.android_customer_app.bottomNavigation.loanApplication
package com.navi.medici.androidCustomerApp.ui.fragments
import android.os.Bundle
import android.view.LayoutInflater
@@ -9,8 +9,9 @@ import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentActivity
import androidx.lifecycle.Observer
import androidx.lifecycle.ViewModelProviders
import com.navi.medici.android_customer_app.R
import com.navi.medici.android_customer_app.databinding.LoanDetailsFragmentBinding
import com.navi.medici.androidCustomerApp.R
import com.navi.medici.androidCustomerApp.databinding.LoanDetailsFragmentBinding
import com.navi.medici.androidCustomerApp.viewModels.OfferAcceptViewModel
class LoanDetailsFragment : Fragment() {

View File

@@ -1,4 +1,4 @@
package com.navi.medici.android_customer_app.bottomNavigation.myLoans
package com.navi.medici.androidCustomerApp.ui.fragments
import android.content.Context
import android.os.Bundle
@@ -10,10 +10,13 @@ import androidx.fragment.app.Fragment
import androidx.lifecycle.Observer
import androidx.lifecycle.ViewModelProviders
import androidx.recyclerview.widget.LinearLayoutManager
import com.navi.medici.android_customer_app.R
import com.navi.medici.android_customer_app.databinding.MyLoansFragmentBinding
import com.navi.medici.android_customer_app.preferences.PreferenceManager
import com.navi.medici.android_customer_app.preferences.PreferenceNames
import com.navi.medici.androidCustomerApp.R
import com.navi.medici.androidCustomerApp.adapters.MyLoansAdapter
import com.navi.medici.androidCustomerApp.models.MyLoansResponse
import com.navi.medici.androidCustomerApp.viewModels.MyLoansViewModel
import com.navi.medici.androidCustomerApp.databinding.MyLoansFragmentBinding
import com.navi.medici.androidCustomerApp.preferences.PreferenceManager
import com.navi.medici.androidCustomerApp.preferences.PreferenceNames
class MyLoansFragment : Fragment() {
private lateinit var viewModel: MyLoansViewModel
@@ -31,15 +34,18 @@ class MyLoansFragment : Fragment() {
)
viewModel = ViewModelProviders.of(this).get(MyLoansViewModel::class.java)
context?.let {
val myLoanApplicationsAdapter = MyLoansAdapter(it)
val myLoanApplicationsAdapter =
MyLoansAdapter(it)
binding.loanApplicationsRecycler.layoutManager = LinearLayoutManager(it)
binding.loanApplicationsRecycler.adapter = myLoanApplicationsAdapter
val myActiveLoansAdapter = MyLoansAdapter(it)
val myActiveLoansAdapter =
MyLoansAdapter(it)
binding.activeLoansRecycler.layoutManager = LinearLayoutManager(it)
binding.activeLoansRecycler.adapter = myActiveLoansAdapter
val myCompletedLoansAdapter = MyLoansAdapter(it)
val myCompletedLoansAdapter =
MyLoansAdapter(it)
binding.completedLoansRecycler.layoutManager = LinearLayoutManager(it)
binding.completedLoansRecycler.adapter = myCompletedLoansAdapter

View File

@@ -1,9 +1,8 @@
package com.navi.medici.android_customer_app.bottomNavigation.loanApplication
package com.navi.medici.androidCustomerApp.ui.fragments
import android.app.Activity
import android.content.Intent
import android.os.Bundle
import android.view.Gravity
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
@@ -14,12 +13,13 @@ import androidx.fragment.app.FragmentActivity
import androidx.lifecycle.Observer
import androidx.lifecycle.ViewModelProviders
import com.google.android.material.tabs.TabLayout
import com.navi.medici.android_customer_app.R
import com.navi.medici.android_customer_app.bottomNavigation.BottomNavigationActivity
import com.navi.medici.android_customer_app.bottomNavigation.myLoans.MyLoansFragment
import com.navi.medici.android_customer_app.databinding.OfferAcceptFragmentBinding
import com.navi.medici.android_customer_app.preferences.PreferenceManager
import com.navi.medici.android_customer_app.preferences.PreferenceNames
import com.navi.medici.androidCustomerApp.R
import com.navi.medici.androidCustomerApp.adapters.LoanDetailsTabAdapter
import com.navi.medici.androidCustomerApp.viewModels.OfferAcceptViewModel
import com.navi.medici.androidCustomerApp.ui.activities.BottomNavigationActivity
import com.navi.medici.androidCustomerApp.databinding.OfferAcceptFragmentBinding
import com.navi.medici.androidCustomerApp.preferences.PreferenceManager
import com.navi.medici.androidCustomerApp.preferences.PreferenceNames
class OfferAcceptFragment : Fragment() {
private lateinit var viewModel: OfferAcceptViewModel
@@ -36,7 +36,10 @@ class OfferAcceptFragment : Fragment() {
false
)
val fragmentAdapter = LoanDetailsTabAdapter(requireFragmentManager())
val fragmentAdapter =
LoanDetailsTabAdapter(
requireFragmentManager()
)
binding.tabLayout.addTab(binding.tabLayout.newTab().setText(getString(R.string.loan_details)))
binding.tabLayout.addTab(binding.tabLayout.newTab().setText(getString(R.string.emi_schedule)))
binding.tabLayout!!.tabGravity = TabLayout.GRAVITY_FILL

View File

@@ -1,9 +1,14 @@
package com.navi.medici.android_customer_app.login
package com.navi.medici.androidCustomerApp.viewModels
import android.util.Log
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import com.navi.medici.androidCustomerApp.api.LaunchApi
import com.navi.medici.androidCustomerApp.api.LoginApi
import com.navi.medici.androidCustomerApp.models.LaunchRequest
import com.navi.medici.androidCustomerApp.models.LoginRequest
import com.navi.medici.androidCustomerApp.repositories.LoginRepository
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
@@ -16,7 +21,10 @@ class LoginViewModel : ViewModel() {
private val _isBlacklisted = MutableLiveData<Boolean>()
val isBlacklisted: LiveData<Boolean>
get() = _isBlacklisted
private val loginRepository = LoginRepository(LoginApi(), LaunchApi())
private val loginRepository = LoginRepository(
LoginApi(),
LaunchApi()
)
private val coroutineScope = CoroutineScope(Dispatchers.Main)
private var imei: String = ""
private val channelId: String = "android"
@@ -24,7 +32,8 @@ class LoginViewModel : ViewModel() {
fun checkDevice(imei: String) {
Log.i("IMEI ", imei)
this.imei = imei
val launchRequest = LaunchRequest(imei, channelId)
val launchRequest =
LaunchRequest(imei, channelId)
coroutineScope.launch {
val response = loginRepository.checkDevice(launchRequest)
Log.i("launch response", response.body().toString())
@@ -39,7 +48,8 @@ class LoginViewModel : ViewModel() {
}
private fun submitPhoneNumber(phoneNumber: String) {
val loginRequest = LoginRequest(imei, phoneNumber)
val loginRequest =
LoginRequest(imei, phoneNumber)
coroutineScope.launch {
val response = loginRepository.submitPhoneNumber(loginRequest)
Log.i("login response", response.body().toString())

View File

@@ -1,15 +1,19 @@
package com.navi.medici.android_customer_app.bottomNavigation.myLoans
package com.navi.medici.androidCustomerApp.viewModels
import android.util.Log
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import com.navi.medici.androidCustomerApp.api.MyLoansApi
import com.navi.medici.androidCustomerApp.repositories.MyLoansRepository
import com.navi.medici.androidCustomerApp.models.MyLoansResponse
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
class MyLoansViewModel : ViewModel() {
private val myLoansRepository = MyLoansRepository(MyLoansApi())
private val myLoansRepository =
MyLoansRepository(MyLoansApi())
private val coroutineScope = CoroutineScope(Dispatchers.Main)
private val _myLoans = MutableLiveData<List<MyLoansResponse>>()
val myLoans: LiveData<List<MyLoansResponse>>

View File

@@ -1,12 +1,13 @@
package com.navi.medici.android_customer_app.bottomNavigation.loanApplication
package com.navi.medici.androidCustomerApp.viewModels
import android.util.Log
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import com.navi.medici.android_customer_app.bottomNavigation.loanApplication.models.OfferResponse
import com.navi.medici.android_customer_app.loan_application.LoanApplicationRepository
import com.navi.medici.android_customer_app.loan_application.models.OfferSelected
import com.navi.medici.androidCustomerApp.api.LoanApplicationApi
import com.navi.medici.androidCustomerApp.bottomNavigation.loanApplication.models.OfferResponse
import com.navi.medici.androidCustomerApp.loan_application.LoanApplicationRepository
import com.navi.medici.androidCustomerApp.loan_application.models.OfferSelected
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch

View File

@@ -1,16 +1,20 @@
package com.navi.medici.android_customer_app.otp
package com.navi.medici.androidCustomerApp.viewModels
import android.util.Log
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import com.navi.medici.androidCustomerApp.api.OtpApi
import com.navi.medici.androidCustomerApp.models.OtpRequest
import com.navi.medici.androidCustomerApp.repositories.OtpRepository
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
class OtpViewModel : ViewModel() {
private val coroutineScope = CoroutineScope(Dispatchers.Main)
private val otpRepository = OtpRepository(OtpApi())
private val otpRepository =
OtpRepository(OtpApi())
var personId: String? = ""
private val _isVerified = MutableLiveData<Boolean>()

View File

@@ -1,9 +0,0 @@
package com.navi.medici.android_customer_app.bottomNavigation.loanApplication.models
import com.navi.medici.android_customer_app.bottomNavigation.loanApplication.models.response.Money
class LoanAmount(
val min: Money?,
val max: Money?
) {
}

View File

@@ -1,9 +0,0 @@
package com.navi.medici.android_customer_app.bottomNavigation.loanApplication.models
import com.navi.medici.android_customer_app.loan_application.models.TenureDetails
class OfferTenure(
val min: TenureDetails?,
val max: TenureDetails?
) {
}

View File

@@ -1,10 +0,0 @@
package com.navi.medici.android_customer_app.bottomNavigation.loanApplication.models
data class OfferResponse(
var schemeId: String? = "",
var personId: String? = "",
var loanAmount: LoanAmount?,
var tenure: OfferTenure?,
var rateOfInterest: Double
) {
}

View File

@@ -1,5 +0,0 @@
package com.navi.medici.android_customer_app.bottomNavigation.myLoans
data class MyLoansRequest(
val customerId: Long?
)

View File

@@ -1,3 +0,0 @@
package com.navi.medici.android_customer_app.otp
data class OtpResponse(val personId: String?)

View File

@@ -6,7 +6,7 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".bottomNavigation.BottomNavigationActivity">
tools:context=".ui.activities.BottomNavigationActivity">
<LinearLayout
android:id="@+id/content_view"

View File

@@ -7,7 +7,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="32dp"
tools:context=".otp.OtpActivity">
tools:context=".ui.activities.OtpActivity">
<ImageView
android:id="@+id/logo_image"

View File

@@ -7,7 +7,7 @@
android:layout_height="match_parent"
android:layout_margin="10sp"
android:gravity="center"
tools:context="com.navi.medici.android_customer_app.loan_application.OfferAcceptActivity">
tools:context="com.navi.medici.androidCustomerApp.loan_application.OfferAcceptActivity">
<ImageView

View File

@@ -1,4 +1,4 @@
package com.navi.medici.android_customer_app
package com.navi.medici.androidCustomerApp
import org.junit.Test