Browse Source

updated code

PankajBranch
Hemant Khadase 2 years ago
parent
commit
64e8aec2d0
18 changed files with 301 additions and 205 deletions
  1. +12
    -12
      app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt
  2. +32
    -1
      app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt
  3. +3
    -3
      app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt
  4. +3
    -3
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFiveBajajFDFragment.kt
  5. +3
    -3
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt
  6. +36
    -18
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepOneBajajFDFragment.kt
  7. +3
    -3
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt
  8. +7
    -8
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt
  9. +5
    -6
      app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/GetRatesModelProviderFactory.kt
  10. +1
    -1
      app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFiveBajajFDViewModel.kt
  11. +59
    -0
      app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFourBajajFDViewModel.kt
  12. +0
    -18
      app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFourViewModel.kt
  13. +6
    -6
      app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepOneBajajFDViewModel.kt
  14. +33
    -0
      app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepThreeBajajFDViewModel.kt
  15. +0
    -18
      app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepThreeViewModel.kt
  16. +39
    -0
      app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt
  17. +0
    -25
      app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoViewModel.kt
  18. +59
    -80
      app/src/main/res/layout/fragment_bajajfd_step_one.xml

+ 12
- 12
app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt View File

@ -1,6 +1,6 @@
package com.nivesh.production.bajajfd.interfaces
import GetRatesResponse
import com.google.gson.JsonObject
import com.nivesh.production.bajajfd.model.GetRatesRequest
import okhttp3.RequestBody
import retrofit2.Response
@ -10,36 +10,36 @@ import retrofit2.http.POST
interface ApiInterface {
@POST("GetRates")
suspend fun getRates(@Body getRatesRequest: GetRatesRequest): Response<GetRatesResponse>
suspend fun getRates(@Body getRatesRequest: GetRatesRequest): Response<JsonObject>
@POST("CheckFDCKYC")
suspend fun checkFDKYC(@Body requestBody: RequestBody) : Response<GetRatesResponse>
suspend fun checkFDKYC(@Body requestBody: RequestBody): Response<JsonObject>
@POST("CreateFDApplication")
suspend fun createFDApp(@Body requestBody: RequestBody): Response<GetRatesResponse>
suspend fun createFDApp(@Body requestBody: RequestBody): Response<JsonObject>
@POST("DocumentsUpload")
suspend fun documentsUpload(@Body requestBody: RequestBody): Response<GetRatesResponse>
suspend fun documentsUpload(@Body requestBody: RequestBody): Response<JsonObject>
@POST("SaveFDOtherData")
suspend fun saveFDOtherData(@Body requestBody: RequestBody): Response<GetRatesResponse>
suspend fun saveFDOtherData(@Body requestBody: RequestBody): Response<JsonObject>
@POST("GetFDDetails")
suspend fun getFDDetails(@Body requestBody: RequestBody): Response<GetRatesResponse>
suspend fun getFDDetails(@Body requestBody: RequestBody): Response<JsonObject>
@POST("UpdateFDPaymentStatus")
suspend fun updateFDPaymentStatus(@Body requestBody: RequestBody): Response<GetRatesResponse>
suspend fun updateFDPaymentStatus(@Body requestBody: RequestBody): Response<JsonObject>
@POST("FinaliseFD")
suspend fun finaliseFD(@Body requestBody: RequestBody): Response<GetRatesResponse>
suspend fun finaliseFD(@Body requestBody: RequestBody): Response<JsonObject>
@POST("FinaliseKYC")
suspend fun finaliseKYC(@Body requestBody: RequestBody): Response<GetRatesResponse>
suspend fun finaliseKYC(@Body requestBody: RequestBody): Response<JsonObject>
@POST("PaymentRequery")
suspend fun paymentReQuery(@Body requestBody: RequestBody): Response<GetRatesResponse>
suspend fun paymentReQuery(@Body requestBody: RequestBody): Response<JsonObject>
@POST("GetCodes")
suspend fun getCodes(@Body requestBody: RequestBody): Response<GetRatesResponse>
suspend fun getCodes(@Body requestBody: RequestBody): Response<JsonObject>
}

+ 32
- 1
app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt View File

@ -4,6 +4,37 @@ import com.nivesh.production.bajajfd.interfaces.ApiInterface
import com.nivesh.production.bajajfd.model.GetRatesRequest
class MainRepository constructor(private val apiInterface: ApiInterface) {
suspend fun getAllRatesResponse(getRatesRequest: GetRatesRequest) =
suspend fun getRatesResponse(getRatesRequest: GetRatesRequest) =
apiInterface.getRates(getRatesRequest)
suspend fun checkFDKYCResponse(getRatesRequest: GetRatesRequest) =
apiInterface.getRates(getRatesRequest)
suspend fun createFDAppResponse(getRatesRequest: GetRatesRequest) =
apiInterface.getRates(getRatesRequest)
suspend fun documentsUploadResponse(getRatesRequest: GetRatesRequest) =
apiInterface.getRates(getRatesRequest)
suspend fun saveFDOtherDataResponse(getRatesRequest: GetRatesRequest) =
apiInterface.getRates(getRatesRequest)
suspend fun getFDDetailsResponse(getRatesRequest: GetRatesRequest) =
apiInterface.getRates(getRatesRequest)
suspend fun updateFDPaymentStatusResponse(getRatesRequest: GetRatesRequest) =
apiInterface.getRates(getRatesRequest)
suspend fun finaliseFDResponse(getRatesRequest: GetRatesRequest) =
apiInterface.getRates(getRatesRequest)
suspend fun finaliseKYCResponse(getRatesRequest: GetRatesRequest) =
apiInterface.getRates(getRatesRequest)
suspend fun paymentReQueryResponse(getRatesRequest: GetRatesRequest) =
apiInterface.getRates(getRatesRequest)
suspend fun getCodesResponse(getRatesRequest: GetRatesRequest) =
apiInterface.getRates(getRatesRequest)
}

+ 3
- 3
app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt View File

@ -16,12 +16,12 @@ import com.nivesh.production.bajajfd.repositories.MainRepository
import com.nivesh.production.bajajfd.ui.fragment.*
import com.nivesh.production.bajajfd.ui.providerfactory.GetRatesModelProviderFactory
import com.nivesh.production.bajajfd.util.Colors
import com.nivesh.production.bajajfd.viewModel.StepOneViewModel
import com.nivesh.production.bajajfd.viewModel.StepOneBajajFDViewModel
class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
private lateinit var binding: ActivityBajajFdBinding
lateinit var viewModel: StepOneViewModel
lateinit var viewModel: StepOneBajajFDViewModel
override fun onCreate(savedInstanceState: Bundle?) {
@ -36,7 +36,7 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
//start Repository
val viewModelProviderFactory = GetRatesModelProviderFactory(MainRepository(ApiClient.getApiClient))
viewModel = ViewModelProvider(this, viewModelProviderFactory)[StepOneViewModel::class.java]
viewModel = ViewModelProvider(this, viewModelProviderFactory)[StepOneBajajFDViewModel::class.java]
binding.imgBack.setOnClickListener {
finish()


+ 3
- 3
app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFiveBajajFDFragment.kt View File

@ -8,11 +8,11 @@ import androidx.fragment.app.Fragment
import androidx.lifecycle.ViewModelProvider
import com.nivesh.production.bajajfd.interfaces.BajajFDInterface
import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepFiveBinding
import com.nivesh.production.bajajfd.viewModel.StepFiveViewModel
import com.nivesh.production.bajajfd.viewModel.StepFiveBajajFDViewModel
class StepFiveBajajFDFragment : Fragment() {
private lateinit var stepFourViewModel: StepFiveViewModel
private lateinit var stepFourViewModel: StepFiveBajajFDViewModel
private var _binding: FragmentBajajfdStepFiveBinding? = null
private val binding get() = _binding!!
@ -30,7 +30,7 @@ class StepFiveBajajFDFragment : Fragment() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
stepFourViewModel = ViewModelProvider(this)[StepFiveViewModel::class.java].apply {
stepFourViewModel = ViewModelProvider(this)[StepFiveBajajFDViewModel::class.java].apply {
}
}


+ 3
- 3
app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt View File

@ -8,11 +8,11 @@ import androidx.fragment.app.Fragment
import androidx.lifecycle.ViewModelProvider
import com.nivesh.production.bajajfd.interfaces.BajajFDInterface
import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepFourBinding
import com.nivesh.production.bajajfd.viewModel.StepFourViewModel
import com.nivesh.production.bajajfd.viewModel.StepFourBajajFDViewModel
class StepFourBajajFDFragment : Fragment() {
private lateinit var stepFourViewModel: StepFourViewModel
private lateinit var stepFourBajajFDViewModel: StepFourBajajFDViewModel
private var _binding: FragmentBajajfdStepFourBinding? = null
private val binding get() = _binding!!
@ -31,7 +31,7 @@ class StepFourBajajFDFragment : Fragment() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
stepFourViewModel = ViewModelProvider(this)[StepFourViewModel::class.java].apply {
stepFourBajajFDViewModel = ViewModelProvider(this)[StepFourBajajFDViewModel::class.java].apply {
}
}


+ 36
- 18
app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepOneBajajFDFragment.kt View File

@ -7,19 +7,20 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import com.google.gson.Gson
import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepOneBinding
import com.nivesh.production.bajajfd.interfaces.BajajFDInterface
import com.nivesh.production.bajajfd.model.GetRatesRequest
import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity
import com.nivesh.production.bajajfd.util.Resource
import com.nivesh.production.bajajfd.viewModel.StepOneViewModel
import com.nivesh.production.bajajfd.viewModel.StepOneBajajFDViewModel
class StepOneBajajFDFragment : Fragment() {
private lateinit var stepOneViewModel: StepOneViewModel
private var _binding: FragmentBajajfdStepOneBinding? = null
private val binding get() = _binding!!
private lateinit var bajajFDInterface: BajajFDInterface
private lateinit var stepOneBajajFDViewModel: StepOneBajajFDViewModel
companion object {
fun getInstance(fdInterface: BajajFDInterface): StepOneBajajFDFragment {
@ -34,24 +35,45 @@ class StepOneBajajFDFragment : Fragment() {
}
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?
): View {
_binding = FragmentBajajfdStepOneBinding.inflate(inflater, container, false)
val root = binding.root
stepOneBajajFDViewModel = (activity as BajajFdMainActivity).viewModel
// binding.tlDepositAmount
// binding.spInterestPayout
// binding.swSeniorCitizen
// binding.radioGroup
// binding.rbDeductTax
// binding.tvROI
// binding.tvFrequency
// binding.tvMaturityAmount
getRatesApi()
binding.btnNext.setOnClickListener {
if (validation()) {
bajajFDInterface.stepOneApi("stepOneResponse")
}
}
return root
}
private fun getRatesApi() {
val getRatesRequest = GetRatesRequest()
getRatesRequest.fdProvider = ""
getRatesRequest.frequency = ""
getRatesRequest.type = ""
stepOneViewModel.getAllRates(getRatesRequest)
stepOneViewModel = (activity as BajajFdMainActivity).viewModel
stepOneViewModel.getRatesMutableData.observe(viewLifecycleOwner) { response ->
stepOneBajajFDViewModel.getRates(getRatesRequest)
stepOneBajajFDViewModel.getRatesMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
response.data?.Response?.StatusCode?.let { code ->
val getRatesResponse: GetRatesResponse =
Gson().fromJson(response.toString(), GetRatesResponse::class.java)
getRatesResponse.Response.StatusCode.let { code ->
when (code) {
200 -> getRatesData(response.data)
200 -> getRatesData(getRatesResponse)
650 -> refreshToken()
else -> {}
}
@ -68,23 +90,19 @@ class StepOneBajajFDFragment : Fragment() {
}
}
}
}
// binding.txtInterestTenure.setOnClickListener {
//
// }
binding.btnNext.setOnClickListener {
bajajFDInterface.stepOneApi("stepOneResponse")
}
return root
private fun validation(): Boolean {
TODO("Not yet implemented")
}
private fun refreshToken() {
}
private fun getRatesData(getRatesResponse: GetRatesResponse) {


+ 3
- 3
app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt View File

@ -8,11 +8,11 @@ import androidx.fragment.app.Fragment
import androidx.lifecycle.ViewModelProvider
import com.nivesh.production.bajajfd.interfaces.BajajFDInterface
import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepThreeBinding
import com.nivesh.production.bajajfd.viewModel.StepThreeViewModel
import com.nivesh.production.bajajfd.viewModel.StepThreeBajajFDViewModel
class StepThreeBajajFDFragment : Fragment() {
private lateinit var stepThreeViewModel: StepThreeViewModel
private lateinit var stepThreeBajajFDViewModel: StepThreeBajajFDViewModel
private var _binding: FragmentBajajfdStepThreeBinding? = null
private val binding get() = _binding!!
@ -30,7 +30,7 @@ class StepThreeBajajFDFragment : Fragment() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
stepThreeViewModel = ViewModelProvider(this)[StepThreeViewModel::class.java].apply {
stepThreeBajajFDViewModel = ViewModelProvider(this)[StepThreeBajajFDViewModel::class.java].apply {
}
}


+ 7
- 8
app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt View File

@ -8,14 +8,15 @@ import androidx.fragment.app.Fragment
import androidx.lifecycle.ViewModelProvider
import com.nivesh.production.bajajfd.interfaces.BajajFDInterface
import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepTwoBinding
import com.nivesh.production.bajajfd.viewModel.StepTwoViewModel
import com.nivesh.production.bajajfd.viewModel.StepTwoBajajFDViewModel
class StepTwoBajajFDFragment : Fragment() {
private lateinit var stepTwoViewModel: StepTwoViewModel
private var _binding: FragmentBajajfdStepTwoBinding? = null
private val binding get() = _binding!!
private lateinit var bajajFDInterface: BajajFDInterface
private lateinit var stepTwoBajajFDViewModel: StepTwoBajajFDViewModel
companion object {
fun getInstance(fdInterface: BajajFDInterface): StepTwoBajajFDFragment {
@ -32,7 +33,7 @@ class StepTwoBajajFDFragment : Fragment() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
stepTwoViewModel = ViewModelProvider(this)[StepTwoViewModel::class.java].apply {
stepTwoBajajFDViewModel = ViewModelProvider(this)[StepTwoBajajFDViewModel::class.java].apply {
}
}
@ -45,19 +46,17 @@ class StepTwoBajajFDFragment : Fragment() {
_binding = FragmentBajajfdStepTwoBinding.inflate(inflater,container,false)
val root = binding.root
stepTwoViewModel.text.observe(viewLifecycleOwner) {
}
binding.tvPersonalDetails.setOnClickListener {
stepTwoViewModel.setUpVisibility(binding.llPersonalDetail)
}
binding.tvNomineeDetails.setOnClickListener {
stepTwoViewModel.setUpVisibility(binding.llNomineeDetail)
}
binding.tvBankDetails.setOnClickListener {
stepTwoViewModel.setUpVisibility(binding.llBankDetails)
}
return root


+ 5
- 6
app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/GetRatesModelProviderFactory.kt View File

@ -3,13 +3,12 @@ package com.nivesh.production.bajajfd.ui.providerfactory
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
import com.nivesh.production.bajajfd.repositories.MainRepository
import com.nivesh.production.bajajfd.viewModel.StepOneViewModel
import com.nivesh.production.bajajfd.viewModel.StepOneBajajFDViewModel
class GetRatesModelProviderFactory (private val mainRepository: MainRepository) : ViewModelProvider.Factory {
class GetRatesModelProviderFactory (val mainRepository: MainRepository) : ViewModelProvider.Factory {
// @Override fun <T : ViewModel?> create(modelClass: Class<T>): T {
// return StepOneViewModel(mainRepository) as T
// }
override fun <T : ViewModel> create(modelClass: Class<T>): T {
return StepOneViewModel(mainRepository) as T
return StepOneBajajFDViewModel(mainRepository) as T
}
}

app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFiveViewModel.kt → app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFiveBajajFDViewModel.kt View File

@ -5,7 +5,7 @@ import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.Transformations
import androidx.lifecycle.ViewModel
class StepFiveViewModel : ViewModel() {
class StepFiveBajajFDViewModel : ViewModel() {
private val _index = MutableLiveData<Int>()
val text: LiveData<String> = Transformations.map(_index) {

+ 59
- 0
app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFourBajajFDViewModel.kt View File

@ -0,0 +1,59 @@
package com.nivesh.production.bajajfd.viewModel
import androidx.lifecycle.*
import com.google.gson.JsonObject
import com.nivesh.production.bajajfd.model.GetRatesRequest
import com.nivesh.production.bajajfd.repositories.MainRepository
import com.nivesh.production.bajajfd.util.Resource
import kotlinx.coroutines.launch
class StepFourBajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() {
private val getRatesMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun saveFDOtherData(getRatesRequest: GetRatesRequest) = viewModelScope.launch {
getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.saveFDOtherDataResponse(getRatesRequest)
getRatesMutableData.postValue(handleRatesResponse(response))
}
private fun handleRatesResponse(response: retrofit2.Response<JsonObject>): Resource<JsonObject> {
if (response.isSuccessful) {
response.body()?.let { resultResponse ->
return Resource.Success(resultResponse)
}
}
return Resource.Error(response.message())
}
fun getFDDetails(getRatesRequest: GetRatesRequest) = viewModelScope.launch {
getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.getFDDetailsResponse(getRatesRequest)
getRatesMutableData.postValue(handleRatesResponse(response))
}
fun updateFDPaymentStatus(getRatesRequest: GetRatesRequest) = viewModelScope.launch {
getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.updateFDPaymentStatusResponse(getRatesRequest)
getRatesMutableData.postValue(handleRatesResponse(response))
}
fun finaliseFD(getRatesRequest: GetRatesRequest) = viewModelScope.launch {
getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.finaliseFDResponse(getRatesRequest)
getRatesMutableData.postValue(handleRatesResponse(response))
}
fun finaliseKYC(getRatesRequest: GetRatesRequest) = viewModelScope.launch {
getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.finaliseKYCResponse(getRatesRequest)
getRatesMutableData.postValue(handleRatesResponse(response))
}
fun paymentReQuery(getRatesRequest: GetRatesRequest) = viewModelScope.launch {
getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.paymentReQueryResponse(getRatesRequest)
getRatesMutableData.postValue(handleRatesResponse(response))
}
}

+ 0
- 18
app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFourViewModel.kt View File

@ -1,18 +0,0 @@
package com.nivesh.production.bajajfd.viewModel
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.Transformations
import androidx.lifecycle.ViewModel
class StepFourViewModel : ViewModel() {
private val _index = MutableLiveData<Int>()
val text: LiveData<String> = Transformations.map(_index) {
"Step : $it"
}
fun setIndex(index: Int) {
_index.value = index
}
}

app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepOneViewModel.kt → app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepOneBajajFDViewModel.kt View File

@ -1,25 +1,25 @@
package com.nivesh.production.bajajfd.viewModel
import GetRatesResponse
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.google.gson.JsonObject
import com.nivesh.production.bajajfd.model.GetRatesRequest
import com.nivesh.production.bajajfd.repositories.MainRepository
import com.nivesh.production.bajajfd.util.Resource
import kotlinx.coroutines.launch
class StepOneViewModel(private val mainRepository: MainRepository) : ViewModel() {
class StepOneBajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() {
// TODO: Implement the ViewModel
val getRatesMutableData: MutableLiveData<Resource<GetRatesResponse>> = MutableLiveData()
val getRatesMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun getAllRates(getRatesRequest: GetRatesRequest) = viewModelScope.launch {
fun getRates(getRatesRequest: GetRatesRequest) = viewModelScope.launch {
getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.getAllRatesResponse(getRatesRequest)
val response = mainRepository.getRatesResponse(getRatesRequest)
getRatesMutableData.postValue(handleRatesResponse(response))
}
private fun handleRatesResponse(response: retrofit2.Response<GetRatesResponse>): Resource<GetRatesResponse> {
private fun handleRatesResponse(response: retrofit2.Response<JsonObject>): Resource<JsonObject> {
if (response.isSuccessful) {
response.body()?.let { resultResponse ->
return Resource.Success(resultResponse)

+ 33
- 0
app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepThreeBajajFDViewModel.kt View File

@ -0,0 +1,33 @@
package com.nivesh.production.bajajfd.viewModel
import androidx.lifecycle.*
import com.google.gson.JsonObject
import com.nivesh.production.bajajfd.model.GetRatesRequest
import com.nivesh.production.bajajfd.repositories.MainRepository
import com.nivesh.production.bajajfd.util.Resource
import kotlinx.coroutines.launch
class StepThreeBajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() {
private val getRatesMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun documentsUpload(getRatesRequest: GetRatesRequest) = viewModelScope.launch {
getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.documentsUploadResponse(getRatesRequest)
getRatesMutableData.postValue(handleRatesResponse(response))
}
private fun handleRatesResponse(response: retrofit2.Response<JsonObject>): Resource<JsonObject> {
if (response.isSuccessful) {
response.body()?.let { resultResponse ->
return Resource.Success(resultResponse)
}
}
return Resource.Error(response.message())
}
}

+ 0
- 18
app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepThreeViewModel.kt View File

@ -1,18 +0,0 @@
package com.nivesh.production.bajajfd.viewModel
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.Transformations
import androidx.lifecycle.ViewModel
class StepThreeViewModel : ViewModel() {
private val _index = MutableLiveData<Int>()
val text: LiveData<String> = Transformations.map(_index) {
"Step : $it"
}
fun setIndex(index: Int) {
_index.value = index
}
}

+ 39
- 0
app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt View File

@ -0,0 +1,39 @@
package com.nivesh.production.bajajfd.viewModel
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.google.gson.JsonObject
import com.nivesh.production.bajajfd.model.GetRatesRequest
import com.nivesh.production.bajajfd.repositories.MainRepository
import com.nivesh.production.bajajfd.util.Resource
import kotlinx.coroutines.launch
class StepTwoBajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() {
// TODO: Implement the ViewModel
private val getRatesMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun checkFDKYC(getRatesRequest: GetRatesRequest) = viewModelScope.launch {
getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.checkFDKYCResponse(getRatesRequest)
getRatesMutableData.postValue(handleRatesResponse(response))
}
private fun handleRatesResponse(response: retrofit2.Response<JsonObject>): Resource<JsonObject> {
if (response.isSuccessful) {
response.body()?.let { resultResponse ->
return Resource.Success(resultResponse)
}
}
return Resource.Error(response.message())
}
fun createFDApp(getRatesRequest: GetRatesRequest) = viewModelScope.launch {
getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.createFDAppResponse(getRatesRequest)
getRatesMutableData.postValue(handleRatesResponse(response))
}
}

+ 0
- 25
app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoViewModel.kt View File

@ -1,25 +0,0 @@
package com.nivesh.production.bajajfd.viewModel
import android.view.View
import android.widget.LinearLayout
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.Transformations
import androidx.lifecycle.ViewModel
class StepTwoViewModel : ViewModel() {
private val _index = MutableLiveData<Int>()
val text: LiveData<String> = Transformations.map(_index) {
"Step : $it"
}
fun setIndex(index: Int) {
_index.value = index
}
fun setUpVisibility(ll: LinearLayout) {
if(ll.visibility== View.VISIBLE) ll.visibility = View.GONE
else ll.visibility = View.VISIBLE
}
}

+ 59
- 80
app/src/main/res/layout/fragment_bajajfd_step_one.xml View File

@ -12,12 +12,12 @@
android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/_5sdp"
android:layout_marginRight="@dimen/_5sdp"
android:fillViewport="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
android:layout_marginLeft="@dimen/_5sdp"
android:layout_marginRight="@dimen/_5sdp"
app:layout_constraintTop_toTopOf="parent">
<androidx.constraintlayout.widget.ConstraintLayout
@ -30,10 +30,10 @@
style="@style/CustomCardViewTopStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:cardPreventCornerOverlap="false"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:cardPreventCornerOverlap="false">
app:layout_constraintTop_toTopOf="parent">
<LinearLayout
android:layout_width="match_parent"
@ -50,15 +50,15 @@
android:id="@+id/logo"
android:layout_width="@dimen/margin_150"
android:layout_height="18dp"
android:src="@drawable/bajaj_logo"
android:layout_marginTop="@dimen/_2sdp"
android:contentDescription="@string/content_description"
android:src="@drawable/bajaj_logo"
app:layout_constraintBottom_toBottomOf="@+id/tvFdRating"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.02"
android:contentDescription="@string/content_description"/>
app:layout_constraintVertical_bias="0.02" />
<TextView
android:id="@+id/tvFdRating"
@ -74,11 +74,11 @@
app:layout_constraintVertical_bias="0.0" />
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/tilDepositAmount"
android:layout_marginTop="@dimen/_2sdp"
android:id="@+id/tlDepositAmount"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/_2sdp"
android:hint="Select Investment Amount"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@ -105,17 +105,18 @@
android:textSize="@dimen/text_size_12"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tilDepositAmount"
app:layout_constraintTop_toBottomOf="@+id/tlDepositAmount"
app:layout_constraintVertical_bias="0.02" />
<Spinner
android:id="@+id/spInterestPayout"
android:layout_width="match_parent"
android:layout_height="@dimen/margin_45"
android:layout_height="wrap_content"
android:minHeight="@dimen/margin_50"
android:background="@drawable/rounded_corner_with_line"
android:entries="@array/intrest_payout_list"
android:paddingStart="@dimen/margin_10"
android:paddingEnd="0dp"
android:entries="@array/intrest_payout_list"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tvDepositLabel"
@ -147,12 +148,12 @@
android:paddingEnd="@dimen/margin_15"
android:text=""
android:textColor="@color/text_default"
android:textColorHint="#757575"
android:textSize="@dimen/text_size_16"
app:drawableRightCompat="@drawable/ic_arrow_down"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tvInvestmentTenure"
app:layout_constraintVertical_bias="0.02"
app:drawableRightCompat="@drawable/ic_arrow_down"/>
app:layout_constraintTop_toBottomOf="@+id/tvInvestmentTenure" />
<TextView
android:id="@+id/tvSwitchLabel"
@ -172,9 +173,9 @@
android:id="@+id/swSeniorCitizen"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_3"
android:text="@string/upto_0.25_next"
android:textColor="@color/black"
android:layout_marginStart="@dimen/margin_3"
android:textSize="@dimen/text_size_12"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
@ -196,7 +197,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/grey_bg"
android:padding="@dimen/margin_10"
android:padding="@dimen/_2sdp"
android:text="@string/maturity_instructions"
android:textColor="@color/text_color_dark"
android:textSize="@dimen/text_size_12"
@ -206,53 +207,37 @@
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.02" />
<TextView
android:id="@+id/tvAutomatically"
style="@style/regularStyle"
<RadioGroup
android:id="@+id/radioGroup"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawablePadding="@dimen/margin_10"
android:padding="@dimen/margin_10"
android:text="@string/additional_detail_one"
android:textColor="@color/text_color_dark"
android:textSize="@dimen/text_size_12"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tvMaturityInstruction"
app:layout_constraintVertical_bias="0.02"
app:drawableLeftCompat="@drawable/svg_grey_bullet" />
<TextView
android:id="@+id/tvAdditional"
style="@style/regularStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawablePadding="@dimen/margin_10"
android:padding="@dimen/margin_10"
android:text="@string/additional_detail_two"
android:textColor="@color/text_color_dark"
android:textSize="@dimen/text_size_12"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tvAutomatically"
app:layout_constraintVertical_bias="0.02"
app:drawableLeftCompat="@drawable/svg_grey_bullet"/>
<TextView
android:id="@+id/tvInterestAmount"
style="@style/regularStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawablePadding="@dimen/margin_10"
android:padding="@dimen/margin_10"
android:text="@string/additional_detail_three"
android:textColor="@color/text_color_dark"
android:textSize="@dimen/text_size_12"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tvAdditional"
app:layout_constraintVertical_bias="0.02"
app:drawableLeftCompat="@drawable/svg_grey_bullet"/>
android:paddingStart="@dimen/_2sdp"
android:paddingEnd="@dimen/_2sdp"
app:layout_constraintTop_toBottomOf="@+id/tvMaturityInstruction">
<RadioButton
android:id="@+id/rbAutoCredit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/additional_detail_one"
android:textSize="@dimen/text_size_12" />
<RadioButton
android:id="@+id/rbAutoRenew"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/additional_detail_two"
android:textSize="@dimen/text_size_12" />
<RadioButton
android:id="@+id/rbAutoBoth"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/additional_detail_three"
android:textSize="@dimen/text_size_12" />
</RadioGroup>
<TextView
android:id="@+id/tvTaxDeducted"
@ -266,7 +251,7 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tvInterestAmount"
app:layout_constraintTop_toBottomOf="@+id/radioGroup"
app:layout_constraintVertical_bias="0.0" />
<TextView
@ -286,22 +271,16 @@ Company for the same"
app:layout_constraintTop_toBottomOf="@+id/tvTaxDeducted"
app:layout_constraintVertical_bias="0.0" />
<TextView
android:id="@+id/tvDeductTaxableLabel"
style="@style/regularStyle"
android:layout_width="match_parent"
<RadioButton
android:id="@+id/rbDeductTax"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawablePadding="@dimen/margin_10"
android:padding="@dimen/margin_10"
android:layout_marginStart="@dimen/_2sdp"
android:orientation="horizontal"
android:text="@string/deduct_tds"
android:textColor="@color/text_color_dark"
android:textSize="@dimen/text_size_12"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tvUploadFormLabel"
app:layout_constraintVertical_bias="0.0"
app:drawableLeftCompat="@drawable/svg_grey_bullet"/>
app:layout_constraintTop_toBottomOf="@+id/tvUploadFormLabel" />
<TextView
android:id="@+id/tvSubmitLabel"
@ -310,15 +289,15 @@ Company for the same"
android:layout_height="wrap_content"
android:paddingLeft="@dimen/margin_10"
android:paddingRight="@dimen/margin_10"
android:paddingBottom="@dimen/margin_20"
android:text="In case you are eligible for non deduction of TDS then please submit
15G/H form to Bajaj or Nivesh team"
android:textColor="@color/text_color_dark"
android:textSize="@dimen/text_size_12"
android:paddingBottom="@dimen/margin_20"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tvDeductTaxableLabel"
app:layout_constraintTop_toBottomOf="@+id/rbDeductTax"
app:layout_constraintVertical_bias="0.0" />
</androidx.constraintlayout.widget.ConstraintLayout>
@ -332,16 +311,16 @@ Company for the same"
style="@style/CustomCardViewBottomStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bajaj_logo"
android:foreground="?android:attr/selectableItemBackground"
android:padding="@dimen/margin_10"
app:cardBackgroundColor="@color/bg_color_info"
app:cardPreventCornerOverlap="true"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/cardViewOne"
android:background="@drawable/bajaj_logo"
app:layout_constraintVertical_bias="0.0"
app:cardPreventCornerOverlap="true">
app:layout_constraintVertical_bias="0.0">
<LinearLayout
android:layout_width="match_parent"


Loading…
Cancel
Save

Powered by TurnKey Linux.