Browse Source

Merge branch 'PankajBranch' of https://git.nivesh.com:443/hemant.khadase/BajajFDLib into PankajBranch

# Conflicts:
#	app/src/main/AndroidManifest.xml
#	app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepOneBajajFDFragment.kt
PankajBranch
pankaj 2 years ago
parent
commit
182817e71d
29 changed files with 712 additions and 418 deletions
  1. +6
    -1
      app/src/main/java/com/nivesh/production/bajajfd/adapter/HorizontalRecyclerViewAdapter.kt
  2. +16
    -62
      app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt
  3. +14
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/PanCheckRequest.kt
  4. +5
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/PanCheckResponse.kt
  5. +7
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXX.kt
  6. +25
    -22
      app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt
  7. +16
    -14
      app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt
  8. +15
    -14
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt
  9. +29
    -15
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepOneBajajFDFragment.kt
  10. +297
    -86
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt
  11. +15
    -0
      app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/StepFiveModelProviderFactory.kt
  12. +15
    -0
      app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/StepFourModelProviderFactory.kt
  13. +1
    -2
      app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/StepOneModelProviderFactory.kt
  14. +17
    -0
      app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/StepThreeModelProviderFactory.kt
  15. +16
    -0
      app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/StepTwoModelProviderFactory.kt
  16. +1
    -1
      app/src/main/java/com/nivesh/production/bajajfd/util/Constants.kt
  17. +2
    -2
      app/src/main/java/com/nivesh/production/bajajfd/viewModel/BajajFDViewModel.kt
  18. +2
    -11
      app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFiveBajajFDViewModel.kt
  19. +12
    -12
      app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFourBajajFDViewModel.kt
  20. +4
    -5
      app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepOneBajajFDViewModel.kt
  21. +2
    -2
      app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepThreeBajajFDViewModel.kt
  22. +11
    -2
      app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt
  23. +126
    -131
      app/src/main/res/layout/fragment_bajajfd_step_five.xml
  24. +12
    -15
      app/src/main/res/layout/fragment_bajajfd_step_four.xml
  25. +17
    -15
      app/src/main/res/layout/fragment_bajajfd_step_one.xml
  26. +5
    -4
      app/src/main/res/layout/fragment_bajajfd_step_three.xml
  27. +14
    -2
      app/src/main/res/layout/fragment_bajajfd_step_two.xml
  28. +4
    -0
      app/src/main/res/values-hi-rIN/strings.xml
  29. +6
    -0
      app/src/main/res/values/strings.xml

+ 6
- 1
app/src/main/java/com/nivesh/production/bajajfd/adapter/HorizontalRecyclerViewAdapter.kt View File

@ -21,7 +21,7 @@ class HorizontalRecyclerViewAdapter(
dropdownList: MutableList<ROIDataList>, dropdownList: MutableList<ROIDataList>,
onClickListener: OnClickListener onClickListener: OnClickListener
) : RecyclerView.Adapter<HistoryAdapterViewHolder2>() { ) : RecyclerView.Adapter<HistoryAdapterViewHolder2>() {
private val dropdownList: List<ROIDataList>
private var dropdownList: MutableList<ROIDataList>
private var rowIndex = -1 private var rowIndex = -1
private var onClickListener: OnClickListener private var onClickListener: OnClickListener
@ -116,4 +116,9 @@ class HorizontalRecyclerViewAdapter(
override fun getItemViewType(position: Int): Int { override fun getItemViewType(position: Int): Int {
return position return position
} }
fun refresh() {
rowIndex = -1
notifyDataSetChanged()
}
} }

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

@ -4,96 +4,50 @@ import com.google.gson.JsonObject
import com.nivesh.production.bajajfd.model.GetCodeRequest import com.nivesh.production.bajajfd.model.GetCodeRequest
import com.nivesh.production.bajajfd.model.GetMaturityAmountRequest import com.nivesh.production.bajajfd.model.GetMaturityAmountRequest
import com.nivesh.production.bajajfd.model.GetRatesRequest import com.nivesh.production.bajajfd.model.GetRatesRequest
import com.nivesh.production.bajajfd.model.PanCheckRequest
import okhttp3.RequestBody import okhttp3.RequestBody
import retrofit2.Response import retrofit2.Response
import retrofit2.http.* import retrofit2.http.*
interface ApiInterface { interface ApiInterface {
// @FormUrlEncoded
@POST("GetRates") @POST("GetRates")
@Headers(
"token: 636F8F63-06C4-4D95-8562-392B34025FB0",
"Content-Type: application/json", "charset: UTF-8"
)
suspend fun getRates(@Body getRatesRequest: GetRatesRequest): Response<JsonObject>
suspend fun getRates(@Body getRatesRequest: GetRatesRequest, @Header("token") token: String): Response<JsonObject>
@POST("CheckFDCKYC") @POST("CheckFDCKYC")
@Headers(
"token: 636F8F63-06C4-4D95-8562-392B34025FB0",
"Content-Type: application/json", "charset: UTF-8"
)
suspend fun checkFDKYC(@Body requestBody: RequestBody): Response<JsonObject>
suspend fun checkFDKYC(@Body requestBody: RequestBody, @Header("token") token: String): Response<JsonObject>
@POST("CreateFDApplication") @POST("CreateFDApplication")
@Headers(
"token: 636F8F63-06C4-4D95-8562-392B34025FB0",
"Content-Type: application/json", "charset: UTF-8"
)
suspend fun createFDApp(@Body requestBody: RequestBody): Response<JsonObject>
suspend fun createFDApp(@Body requestBody: RequestBody, @Header("token") token: String): Response<JsonObject>
@POST("DocumentsUpload") @POST("DocumentsUpload")
@Headers(
"token: 636F8F63-06C4-4D95-8562-392B34025FB0",
"Content-Type: application/json", "charset: UTF-8"
)
suspend fun documentsUpload(@Body requestBody: RequestBody): Response<JsonObject>
suspend fun documentsUpload(@Body requestBody: RequestBody, @Header("token") token: String): Response<JsonObject>
@POST("SaveFDOtherData") @POST("SaveFDOtherData")
@Headers(
"token: 636F8F63-06C4-4D95-8562-392B34025FB0",
"Content-Type: application/json", "charset: UTF-8"
)
suspend fun saveFDOtherData(@Body requestBody: RequestBody): Response<JsonObject>
suspend fun saveFDOtherData(@Body requestBody: RequestBody, @Header("token") token: String): Response<JsonObject>
@POST("GetFDDetails") @POST("GetFDDetails")
@Headers(
"token: 636F8F63-06C4-4D95-8562-392B34025FB0",
"Content-Type: application/json", "charset: UTF-8"
)
suspend fun getFDDetails(@Body requestBody: RequestBody): Response<JsonObject>
suspend fun getFDDetails(@Body requestBody: RequestBody, @Header("token") token: String): Response<JsonObject>
@POST("UpdateFDPaymentStatus") @POST("UpdateFDPaymentStatus")
@Headers(
"token: 636F8F63-06C4-4D95-8562-392B34025FB0",
"Content-Type: application/json", "charset: UTF-8"
)
suspend fun updateFDPaymentStatus(@Body requestBody: RequestBody): Response<JsonObject>
suspend fun updateFDPaymentStatus(@Body requestBody: RequestBody, @Header("token") token: String): Response<JsonObject>
@POST("FinaliseFD") @POST("FinaliseFD")
@Headers(
"token: 636F8F63-06C4-4D95-8562-392B34025FB0",
"Content-Type: application/json", "charset: UTF-8"
)
suspend fun finaliseFD(@Body requestBody: RequestBody): Response<JsonObject>
suspend fun finaliseFD(@Body requestBody: RequestBody, @Header("token") token: String): Response<JsonObject>
@POST("FinaliseKYC") @POST("FinaliseKYC")
@Headers(
"token: 636F8F63-06C4-4D95-8562-392B34025FB0",
"Content-Type: application/json", "charset: UTF-8"
)
suspend fun finaliseKYC(@Body requestBody: RequestBody): Response<JsonObject>
suspend fun finaliseKYC(@Body requestBody: RequestBody, @Header("token") token: String): Response<JsonObject>
@POST("PaymentRequery") @POST("PaymentRequery")
@Headers(
"token: 636F8F63-06C4-4D95-8562-392B34025FB0",
"Content-Type: application/json", "charset: UTF-8"
)
suspend fun paymentReQuery(@Body requestBody: RequestBody): Response<JsonObject>
suspend fun paymentReQuery(@Body requestBody: RequestBody, @Header("token") token: String): Response<JsonObject>
// @FormUrlEncoded // @FormUrlEncoded
@POST("GetCodes") @POST("GetCodes")
@Headers(
"token: 636F8F63-06C4-4D95-8562-392B34025FB0",
"Content-Type: application/json", "charset: UTF-8"
)
suspend fun getCodes(@Body requestBody: GetCodeRequest): Response<JsonObject>
// "token: 636F8F63-06C4-4D95-8562-392B34025FB0";
suspend fun getCodes(@Body requestBody: GetCodeRequest, @Header("token") token: String): Response<JsonObject>
@POST("CalculateFDMaturityAmount") @POST("CalculateFDMaturityAmount")
@Headers(
"token: 636F8F63-06C4-4D95-8562-392B34025FB0",
"Content-Type: application/json", "charset: UTF-8"
)
suspend fun getCalculateFDMaturityAmount(@Body requestBody: GetMaturityAmountRequest): Response<JsonObject>
suspend fun getCalculateFDMaturityAmount(@Body requestBody: GetMaturityAmountRequest, @Header("token") token: String): Response<JsonObject>
@POST("api/PanCheck_S")
suspend fun panCheckApi(@Body panCheck: PanCheckRequest, @Header("token") token: String): Response<JsonObject>
} }

+ 14
- 0
app/src/main/java/com/nivesh/production/bajajfd/model/PanCheckRequest.kt View File

@ -0,0 +1,14 @@
package com.nivesh.production.bajajfd.model
import com.google.gson.annotations.SerializedName
data class PanCheckRequest(
@SerializedName("client_code")
var clientCode: String? = null,
@SerializedName("sub_broker_code")
var subBrokerCode: String? = null,
@SerializedName("pan_number")
var panNumber: String? = null,
@SerializedName("mobile_number")
var mobileNumber: String? = null
)

+ 5
- 0
app/src/main/java/com/nivesh/production/bajajfd/model/PanCheckResponse.kt View File

@ -0,0 +1,5 @@
package com.nivesh.production.bajajfd.model
data class PanCheckResponse(
val response: ResponseXXX
)

+ 7
- 0
app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXX.kt View File

@ -0,0 +1,7 @@
package com.nivesh.production.bajajfd.model
data class ResponseXXX(
val message: String,
val status: String,
val status_code: Int
)

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

@ -4,41 +4,44 @@ import com.nivesh.production.bajajfd.interfaces.ApiInterface
import com.nivesh.production.bajajfd.model.GetCodeRequest import com.nivesh.production.bajajfd.model.GetCodeRequest
import com.nivesh.production.bajajfd.model.GetMaturityAmountRequest import com.nivesh.production.bajajfd.model.GetMaturityAmountRequest
import com.nivesh.production.bajajfd.model.GetRatesRequest import com.nivesh.production.bajajfd.model.GetRatesRequest
import com.nivesh.production.bajajfd.model.PanCheckRequest
class MainRepository constructor(private val apiInterface: ApiInterface) { class MainRepository constructor(private val apiInterface: ApiInterface) {
suspend fun getRatesResponse(getRatesRequest: GetRatesRequest) =
apiInterface.getRates(getRatesRequest)
suspend fun getRatesResponse(getRatesRequest: GetRatesRequest, token: String) =
apiInterface.getRates(getRatesRequest, token)
suspend fun getCodesResponse(requestBody: GetCodeRequest) =
apiInterface.getCodes(requestBody)
suspend fun getCodesResponse(requestBody: GetCodeRequest , token: String) =
apiInterface.getCodes(requestBody, token)
suspend fun createCalculateFDMaturityAmount(requestBody: GetMaturityAmountRequest) =
apiInterface.getCalculateFDMaturityAmount(requestBody)
suspend fun createCalculateFDMaturityAmount(requestBody: GetMaturityAmountRequest, token: String) =
apiInterface.getCalculateFDMaturityAmount(requestBody, token)
suspend fun checkFDKYCResponse(getRatesRequest: GetRatesRequest) =
apiInterface.getRates(getRatesRequest)
suspend fun checkFDKYCResponse(getRatesRequest: GetRatesRequest, token: String) =
apiInterface.getRates(getRatesRequest, token)
suspend fun documentsUploadResponse(getRatesRequest: GetRatesRequest) =
apiInterface.getRates(getRatesRequest)
suspend fun documentsUploadResponse(getRatesRequest: GetRatesRequest, token: String) =
apiInterface.getRates(getRatesRequest, token)
suspend fun saveFDOtherDataResponse(getRatesRequest: GetRatesRequest) =
apiInterface.getRates(getRatesRequest)
suspend fun saveFDOtherDataResponse(getRatesRequest: GetRatesRequest, token: String) =
apiInterface.getRates(getRatesRequest, token)
suspend fun getFDDetailsResponse(getRatesRequest: GetRatesRequest) =
apiInterface.getRates(getRatesRequest)
suspend fun getFDDetailsResponse(getRatesRequest: GetRatesRequest, token: String) =
apiInterface.getRates(getRatesRequest, token)
suspend fun updateFDPaymentStatusResponse(getRatesRequest: GetRatesRequest) =
apiInterface.getRates(getRatesRequest)
suspend fun updateFDPaymentStatusResponse(getRatesRequest: GetRatesRequest, token: String) =
apiInterface.getRates(getRatesRequest, token)
suspend fun finaliseFDResponse(getRatesRequest: GetRatesRequest) =
apiInterface.getRates(getRatesRequest)
suspend fun finaliseFDResponse(getRatesRequest: GetRatesRequest, token: String) =
apiInterface.getRates(getRatesRequest, token)
suspend fun finaliseKYCResponse(getRatesRequest: GetRatesRequest) =
apiInterface.getRates(getRatesRequest)
suspend fun finaliseKYCResponse(getRatesRequest: GetRatesRequest, token: String) =
apiInterface.getRates(getRatesRequest, token)
suspend fun paymentReQueryResponse(getRatesRequest: GetRatesRequest) =
apiInterface.getRates(getRatesRequest)
suspend fun paymentReQueryResponse(getRatesRequest: GetRatesRequest, token: String) =
apiInterface.getRates(getRatesRequest, token)
suspend fun panCheck(panCheck: PanCheckRequest, token: String) =
apiInterface.panCheckApi(panCheck, token)
} }

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

@ -15,20 +15,24 @@ import com.nivesh.production.bajajfd.interfaces.BajajFDInterface
import com.nivesh.production.bajajfd.model.* import com.nivesh.production.bajajfd.model.*
import com.nivesh.production.bajajfd.repositories.MainRepository import com.nivesh.production.bajajfd.repositories.MainRepository
import com.nivesh.production.bajajfd.ui.fragment.* import com.nivesh.production.bajajfd.ui.fragment.*
import com.nivesh.production.bajajfd.ui.providerfactory.FDModelProviderFactory
import com.nivesh.production.bajajfd.ui.providerfactory.GetRatesModelProviderFactory
import com.nivesh.production.bajajfd.ui.providerfactory.*
import com.nivesh.production.bajajfd.util.Common import com.nivesh.production.bajajfd.util.Common
import com.nivesh.production.bajajfd.util.Common.Companion.defaultShape import com.nivesh.production.bajajfd.util.Common.Companion.defaultShape
import com.nivesh.production.bajajfd.util.Common.Companion.selectedShape import com.nivesh.production.bajajfd.util.Common.Companion.selectedShape
import com.nivesh.production.bajajfd.util.Constants.Companion.token
import com.nivesh.production.bajajfd.util.Resource import com.nivesh.production.bajajfd.util.Resource
import com.nivesh.production.bajajfd.viewModel.BajajFDViewModel
import com.nivesh.production.bajajfd.viewModel.StepOneBajajFDViewModel
import com.nivesh.production.bajajfd.viewModel.*
class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface { class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
lateinit var binding: ActivityBajajFdBinding lateinit var binding: ActivityBajajFdBinding
private lateinit var viewModel: BajajFDViewModel private lateinit var viewModel: BajajFDViewModel
lateinit var stepOneBajajFDViewModel: StepOneBajajFDViewModel lateinit var stepOneBajajFDViewModel: StepOneBajajFDViewModel
lateinit var stepTwoBajajFDViewModel: StepTwoBajajFDViewModel
lateinit var stepThreeBajajFDViewModel: StepThreeBajajFDViewModel
lateinit var stepFourBajajFDViewModel: StepFourBajajFDViewModel
lateinit var stepFiveBajajFDViewModel: StepFiveBajajFDViewModel
lateinit var listOfFrequency: List<GetCodes> lateinit var listOfFrequency: List<GetCodes>
lateinit var createFDRequest: CreateFDRequest lateinit var createFDRequest: CreateFDRequest
lateinit var createFDApplicantRequest: CreateFDApplicationRequest lateinit var createFDApplicantRequest: CreateFDApplicationRequest
@ -60,15 +64,13 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
nomineeGuardianDetails = NomineeGuardianDetails() nomineeGuardianDetails = NomineeGuardianDetails()
//start Repository //start Repository
val viewModelProviderFactory =
GetRatesModelProviderFactory(MainRepository(ApiClient.getApiClient))
stepOneBajajFDViewModel =
ViewModelProvider(this, viewModelProviderFactory)[StepOneBajajFDViewModel::class.java]
val fdViewModelProviderFactory =
FDModelProviderFactory(MainRepository(ApiClient.getApiClient))
viewModel =
ViewModelProvider(this, fdViewModelProviderFactory)[BajajFDViewModel::class.java]
viewModel = ViewModelProvider(this, FDModelProviderFactory(MainRepository(ApiClient.getApiClient)))[BajajFDViewModel::class.java]
stepOneBajajFDViewModel = ViewModelProvider(this, StepOneModelProviderFactory(MainRepository(ApiClient.getApiClient)))[StepOneBajajFDViewModel::class.java]
stepTwoBajajFDViewModel = ViewModelProvider(this, StepTwoModelProviderFactory(MainRepository(ApiClient.getApiClient)))[StepTwoBajajFDViewModel::class.java]
stepThreeBajajFDViewModel = ViewModelProvider(this, StepThreeModelProviderFactory(MainRepository(ApiClient.getApiClient)))[StepThreeBajajFDViewModel::class.java]
stepFourBajajFDViewModel = ViewModelProvider(this, StepFourModelProviderFactory(MainRepository(ApiClient.getApiClient)))[StepFourBajajFDViewModel::class.java]
stepFiveBajajFDViewModel = ViewModelProvider(this, StepFiveModelProviderFactory(MainRepository(ApiClient.getApiClient)))[StepFiveBajajFDViewModel::class.java]
listOfFrequency = ArrayList() listOfFrequency = ArrayList()
if (Common.isNetworkAvailable(this)) { if (Common.isNetworkAvailable(this)) {
getCodeApi() getCodeApi()
@ -85,7 +87,7 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
getCodeRequest.Category = getString(R.string.category) getCodeRequest.Category = getString(R.string.category)
getCodeRequest.Language = getString(R.string.language) getCodeRequest.Language = getString(R.string.language)
getCodeRequest.InputValue = "" getCodeRequest.InputValue = ""
viewModel.getCode(getCodeRequest)
viewModel.getCode(getCodeRequest, token)
viewModel.getRatesMutableData.observe(this) { response -> viewModel.getRatesMutableData.observe(this) { response ->
when (response) { when (response) {
is Resource.Success -> { is Resource.Success -> {


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

@ -5,9 +5,9 @@ import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.fragment.app.Fragment 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.databinding.FragmentBajajfdStepFourBinding
import com.nivesh.production.bajajfd.interfaces.BajajFDInterface
import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity
import com.nivesh.production.bajajfd.viewModel.StepFourBajajFDViewModel import com.nivesh.production.bajajfd.viewModel.StepFourBajajFDViewModel
class StepFourBajajFDFragment : Fragment() { class StepFourBajajFDFragment : Fragment() {
@ -17,6 +17,7 @@ class StepFourBajajFDFragment : Fragment() {
private val binding get() = _binding!! private val binding get() = _binding!!
private lateinit var bajajFDInterface: BajajFDInterface private lateinit var bajajFDInterface: BajajFDInterface
companion object { companion object {
fun getInstance(fdInterface: BajajFDInterface): StepFourBajajFDFragment { fun getInstance(fdInterface: BajajFDInterface): StepFourBajajFDFragment {
val stepThreeFragment = StepFourBajajFDFragment() val stepThreeFragment = StepFourBajajFDFragment()
@ -24,16 +25,12 @@ class StepFourBajajFDFragment : Fragment() {
return stepThreeFragment return stepThreeFragment
} }
} }
private fun setApi(bajajFDInterfaces: BajajFDInterface) { private fun setApi(bajajFDInterfaces: BajajFDInterface) {
bajajFDInterface = bajajFDInterfaces bajajFDInterface = bajajFDInterfaces
} }
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
}
override fun onCreateView( override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?, inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle? savedInstanceState: Bundle?
@ -42,17 +39,21 @@ class StepFourBajajFDFragment : Fragment() {
_binding = FragmentBajajfdStepFourBinding.inflate(inflater, container, false) _binding = FragmentBajajfdStepFourBinding.inflate(inflater, container, false)
val root = binding.root val root = binding.root
// val textView: TextView = binding.sectionLabel
// stepThreeViewModel.text.observe(viewLifecycleOwner) {
// textView.text = it
// }
stepFourBajajFDViewModel = (activity as BajajFdMainActivity).stepFourBajajFDViewModel
// binding.btnClick.setOnClickListener {
// bajajFDInterface.stepThreeApi("stepThreeResponse")
// }
binding.btnNext.setOnClickListener {
if (validate()) {
bajajFDInterface.stepThreeApi("stepThreeResponse")
}
}
return root return root
} }
private fun validate(): Boolean {
return false
}
override fun onDestroyView() { override fun onDestroyView() {
super.onDestroyView() super.onDestroyView()
_binding = null _binding = null


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

@ -4,6 +4,7 @@ import GetRatesResponse
import ROIDataList import ROIDataList
import android.os.Bundle import android.os.Bundle
import android.text.Editable import android.text.Editable
import android.text.InputFilter
import android.text.TextWatcher import android.text.TextWatcher
import android.util.Log import android.util.Log
import android.view.LayoutInflater import android.view.LayoutInflater
@ -27,6 +28,7 @@ import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity
import com.nivesh.production.bajajfd.util.Common import com.nivesh.production.bajajfd.util.Common
import com.nivesh.production.bajajfd.util.Common.Companion.commonErrorMethod import com.nivesh.production.bajajfd.util.Common.Companion.commonErrorMethod
import com.nivesh.production.bajajfd.util.Common.Companion.removeError import com.nivesh.production.bajajfd.util.Common.Companion.removeError
import com.nivesh.production.bajajfd.util.Constants.Companion.token
import com.nivesh.production.bajajfd.util.Resource import com.nivesh.production.bajajfd.util.Resource
import com.nivesh.production.bajajfd.viewModel.StepOneBajajFDViewModel import com.nivesh.production.bajajfd.viewModel.StepOneBajajFDViewModel
@ -64,13 +66,18 @@ class StepOneBajajFDFragment : Fragment() {
stepOneBajajFDViewModel = (activity as BajajFdMainActivity).stepOneBajajFDViewModel stepOneBajajFDViewModel = (activity as BajajFdMainActivity).stepOneBajajFDViewModel
listOfTenure = ArrayList() listOfTenure = ArrayList()
binding.edtAmount.filters = arrayOf<InputFilter>(InputFilter.LengthFilter(8)) // upto 1 Cr
// Amount // Amount
binding.edtAmount.addTextChangedListener(object : TextWatcher { binding.edtAmount.addTextChangedListener(object : TextWatcher {
override fun afterTextChanged(s: Editable?) {} override fun afterTextChanged(s: Editable?) {}
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {} override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {}
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) { override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
removeError(binding.tlDepositAmount) removeError(binding.tlDepositAmount)
maturityAmountApi(tenure, interest)
if (s.toString().trim().length >= 4 ) {
getRatesApi()
maturityAmountApi(tenure, interest)
}
} }
}) })
@ -86,15 +93,14 @@ class StepOneBajajFDFragment : Fragment() {
removeError(binding.tlInterestPayout) removeError(binding.tlInterestPayout)
binding.tvFrequency.text = binding.tvFrequency.text =
(activity as BajajFdMainActivity).listOfFrequency[position].Value (activity as BajajFdMainActivity).listOfFrequency[position].Value
if (!binding.tvFrequency.text.equals("Cumulative")) {
if (!binding.tvFrequency.text.equals(getString(R.string.cumulativeText))) {
binding.txtCumulativeNon.text = getString(R.string.nonCumulativeROI) binding.txtCumulativeNon.text = getString(R.string.nonCumulativeROI)
} else { } else {
binding.txtCumulativeNon.text = getString(R.string.cumulativeROI) binding.txtCumulativeNon.text = getString(R.string.cumulativeROI)
} }
maturityAmountApi(tenure, interest)
if (binding.edtAmount.text.toString().trim().isNotEmpty()) { if (binding.edtAmount.text.toString().trim().isNotEmpty()) {
maturityAmountApi(tenure, interest)
getRatesApi() getRatesApi()
} else { } else {
// please enter Amount first // please enter Amount first
@ -115,6 +121,8 @@ class StepOneBajajFDFragment : Fragment() {
interest = listOfTenure[position].ROI interest = listOfTenure[position].ROI
binding.tvROI.text = interest.toString().plus(" %") binding.tvROI.text = interest.toString().plus(" %")
maturityAmountApi(tenure, interest) maturityAmountApi(tenure, interest)
recyclerViewDropDownAdapter.refresh()
} }
} }
@ -191,10 +199,7 @@ class StepOneBajajFDFragment : Fragment() {
private fun maturityAmountApi(tenure: Int, interest: Double) { private fun maturityAmountApi(tenure: Int, interest: Double) {
if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) { if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
if (
binding.edtAmount.text.toString().isNotEmpty() && interest != 0.0 && tenure != 0
) {
if (binding.edtAmount.text.toString().length >= 4 && interest != 0.0 && tenure != 0) {
val maturityAmountRequest = GetMaturityAmountRequest() val maturityAmountRequest = GetMaturityAmountRequest()
maturityAmountRequest.FDProvider = getString(R.string.bajaj) maturityAmountRequest.FDProvider = getString(R.string.bajaj)
maturityAmountRequest.FDAmount = binding.edtAmount.text.toString().toInt() maturityAmountRequest.FDAmount = binding.edtAmount.text.toString().toInt()
@ -218,7 +223,9 @@ class StepOneBajajFDFragment : Fragment() {
) )
} }
// 650 -> refreshToken() // 650 -> refreshToken()
else -> {}
else -> {
}
} }
} }
} }
@ -245,13 +252,20 @@ class StepOneBajajFDFragment : Fragment() {
binding.tlDepositAmount, binding.tlDepositAmount,
getString(R.string.emptyAmount) getString(R.string.emptyAmount)
) )
} else if (binding.spInterestPayout.text.toString().toDouble() <= 5000) {
Common.commonSpinnerErrorMethod(
binding.spInterestPayout,
binding.tlInterestPayout,
} else if (binding.edtAmount.text.toString().toDouble() < 5000) {
commonErrorMethod(
binding.edtAmount,
binding.tlDepositAmount,
getString(R.string.validMinAmount) getString(R.string.validMinAmount)
) )
} else if (binding.spInterestPayout.text.isEmpty()) {
} else if (binding.edtAmount.text.toString().toDouble() > 50000000) {
commonErrorMethod(
binding.edtAmount,
binding.tlDepositAmount,
getString(R.string.validMaxAmount)
)
}
else if (binding.spInterestPayout.text.isEmpty()) {
Common.commonSpinnerErrorMethod( Common.commonSpinnerErrorMethod(
binding.spInterestPayout, binding.spInterestPayout,
binding.tlInterestPayout, binding.tlInterestPayout,
@ -278,7 +292,7 @@ class StepOneBajajFDFragment : Fragment() {
} else { } else {
getRatesRequest.type = getString(R.string.nonSeniorCitizen) getRatesRequest.type = getString(R.string.nonSeniorCitizen)
} }
stepOneBajajFDViewModel.getRates(getRatesRequest)
stepOneBajajFDViewModel.getRates(getRatesRequest, token)
stepOneBajajFDViewModel.getRatesMutableData.observe(viewLifecycleOwner) { response -> stepOneBajajFDViewModel.getRatesMutableData.observe(viewLifecycleOwner) { response ->
when (response) { when (response) {
is Resource.Success -> { is Resource.Success -> {


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

@ -11,11 +11,16 @@ import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.ArrayAdapter import android.widget.ArrayAdapter
import android.widget.RadioButton import android.widget.RadioButton
import androidx.core.content.ContextCompat
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import com.google.gson.Gson
import com.nivesh.production.bajajfd.R import com.nivesh.production.bajajfd.R
import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepTwoBinding import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepTwoBinding
import com.nivesh.production.bajajfd.interfaces.BajajFDInterface import com.nivesh.production.bajajfd.interfaces.BajajFDInterface
import com.nivesh.production.bajajfd.model.PanCheckRequest
import com.nivesh.production.bajajfd.model.PanCheckResponse
import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity
import com.nivesh.production.bajajfd.util.Common
import com.nivesh.production.bajajfd.util.Common.Companion.commonErrorMethod import com.nivesh.production.bajajfd.util.Common.Companion.commonErrorMethod
import com.nivesh.production.bajajfd.util.Common.Companion.commonSpinnerErrorMethod import com.nivesh.production.bajajfd.util.Common.Companion.commonSpinnerErrorMethod
import com.nivesh.production.bajajfd.util.Common.Companion.isIndianMobileNo import com.nivesh.production.bajajfd.util.Common.Companion.isIndianMobileNo
@ -23,6 +28,9 @@ import com.nivesh.production.bajajfd.util.Common.Companion.isValidEmail
import com.nivesh.production.bajajfd.util.Common.Companion.isValidName import com.nivesh.production.bajajfd.util.Common.Companion.isValidName
import com.nivesh.production.bajajfd.util.Common.Companion.isValidPan import com.nivesh.production.bajajfd.util.Common.Companion.isValidPan
import com.nivesh.production.bajajfd.util.Common.Companion.removeError import com.nivesh.production.bajajfd.util.Common.Companion.removeError
import com.nivesh.production.bajajfd.util.Constants.Companion.token
import com.nivesh.production.bajajfd.util.Resource
import com.nivesh.production.bajajfd.viewModel.StepTwoBajajFDViewModel
class StepTwoBajajFDFragment : Fragment() { class StepTwoBajajFDFragment : Fragment() {
@ -34,6 +42,7 @@ class StepTwoBajajFDFragment : Fragment() {
private lateinit var rbBank: RadioButton private lateinit var rbBank: RadioButton
private lateinit var rbPaymentMode: RadioButton private lateinit var rbPaymentMode: RadioButton
private lateinit var stepTwoBajajFDViewModel: StepTwoBajajFDViewModel
companion object { companion object {
fun getInstance(fdInterface: BajajFDInterface): StepTwoBajajFDFragment { fun getInstance(fdInterface: BajajFDInterface): StepTwoBajajFDFragment {
@ -54,6 +63,8 @@ class StepTwoBajajFDFragment : Fragment() {
_binding = FragmentBajajfdStepTwoBinding.inflate(inflater, container, false) _binding = FragmentBajajfdStepTwoBinding.inflate(inflater, container, false)
val root = binding.root val root = binding.root
stepTwoBajajFDViewModel = (activity as BajajFdMainActivity).stepTwoBajajFDViewModel
// Personal Details // Personal Details
binding.edtMobileNumber.filters = arrayOf<InputFilter>(LengthFilter(10)) binding.edtMobileNumber.filters = arrayOf<InputFilter>(LengthFilter(10))
@ -86,6 +97,9 @@ class StepTwoBajajFDFragment : Fragment() {
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) { override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
removeError(binding.tlPanNumber) removeError(binding.tlPanNumber)
if (s.toString().trim().length == 10) {
panCheckApi()
}
} }
}) })
@ -402,7 +416,6 @@ class StepTwoBajajFDFragment : Fragment() {
} }
// Bank Details // Bank Details
binding.edtIFSC.addTextChangedListener(object : TextWatcher { binding.edtIFSC.addTextChangedListener(object : TextWatcher {
@ -460,25 +473,25 @@ class StepTwoBajajFDFragment : Fragment() {
binding.tvPersonalDetails.setOnClickListener { binding.tvPersonalDetails.setOnClickListener {
if (binding.llPersonalDetail.visibility == View.VISIBLE){
binding.llPersonalDetail.visibility = View.GONE
}else{
binding.llPersonalDetail.visibility = View.VISIBLE
}
if (binding.llPersonalDetail.visibility == View.VISIBLE) {
binding.llPersonalDetail.visibility = View.GONE
} else {
binding.llPersonalDetail.visibility = View.VISIBLE
}
} }
binding.tvNomineeDetails.setOnClickListener { binding.tvNomineeDetails.setOnClickListener {
if (binding.llNomineeDetail.visibility == View.VISIBLE){
if (binding.llNomineeDetail.visibility == View.VISIBLE) {
binding.llNomineeDetail.visibility = View.GONE binding.llNomineeDetail.visibility = View.GONE
}else{
} else {
binding.llNomineeDetail.visibility = View.VISIBLE binding.llNomineeDetail.visibility = View.VISIBLE
} }
} }
binding.tvBankDetails.setOnClickListener { binding.tvBankDetails.setOnClickListener {
if (binding.llBankDetails.visibility == View.VISIBLE){
if (binding.llBankDetails.visibility == View.VISIBLE) {
binding.llBankDetails.visibility = View.GONE binding.llBankDetails.visibility = View.GONE
}else{
} else {
binding.llBankDetails.visibility = View.VISIBLE binding.llBankDetails.visibility = View.VISIBLE
} }
} }
@ -486,147 +499,345 @@ class StepTwoBajajFDFragment : Fragment() {
binding.btnNext.setOnClickListener { binding.btnNext.setOnClickListener {
if (validation()) { if (validation()) {
// Applicant Details // Applicant Details
(activity as BajajFdMainActivity).applicantDetails.ApplicantSalutation = binding.spTitle.text.toString()
(activity as BajajFdMainActivity).applicantDetails.ApplicantGender = binding.spGender.text.toString()
(activity as BajajFdMainActivity).applicantDetails.ApplicantFirstName = binding.edtFirstName.text.toString()
(activity as BajajFdMainActivity).applicantDetails.ApplicantMiddleName = binding.edtMiddleName.text.toString()
(activity as BajajFdMainActivity).applicantDetails.ApplicantLastName= binding.edtLastName.text.toString()
(activity as BajajFdMainActivity).applicantDetails.ApplicantDOB= binding.edtDOB.text.toString()
(activity as BajajFdMainActivity).applicantDetails.ApplicantPAN= binding.edtPANNumber.text.toString()
(activity as BajajFdMainActivity).applicantDetails.ApplicantMobile= binding.edtMobileNumber.text.toString()
(activity as BajajFdMainActivity).applicantDetails.ApplicantOccupation= binding.edtOccupation.text.toString()
(activity as BajajFdMainActivity).applicantDetails.ApplicantQualification= binding.edtQualification.text.toString()
(activity as BajajFdMainActivity).applicantDetails.ApplicantMaritalStatus= binding.spMarital.text.toString()
(activity as BajajFdMainActivity).applicantDetails.ApplicantEmail= binding.edtEmail.text.toString()
(activity as BajajFdMainActivity).applicantDetails.ApplicantAddress1= binding.edtAddressLine1.text.toString()
(activity as BajajFdMainActivity).applicantDetails.ApplicantAddress2= binding.edtAddressLine2.text.toString()
(activity as BajajFdMainActivity).applicantDetails.ApplicantAddress3= ""
(activity as BajajFdMainActivity).applicantDetails.ApplicantCity= binding.edtCity.text.toString()
(activity as BajajFdMainActivity).applicantDetails.ApplicantState= binding.edtState.text.toString()
(activity as BajajFdMainActivity).applicantDetails.ApplicantCountry= "India"
(activity as BajajFdMainActivity).applicantDetails.ApplicantPincode= binding.edtPinCode.text.toString().toInt()
(activity as BajajFdMainActivity).applicantDetails.AnnualIncome= ""
(activity as BajajFdMainActivity).applicantDetails.ApplicantSalutation =
binding.spTitle.text.toString()
(activity as BajajFdMainActivity).applicantDetails.ApplicantGender =
binding.spGender.text.toString()
(activity as BajajFdMainActivity).applicantDetails.ApplicantFirstName =
binding.edtFirstName.text.toString()
(activity as BajajFdMainActivity).applicantDetails.ApplicantMiddleName =
binding.edtMiddleName.text.toString()
(activity as BajajFdMainActivity).applicantDetails.ApplicantLastName =
binding.edtLastName.text.toString()
(activity as BajajFdMainActivity).applicantDetails.ApplicantDOB =
binding.edtDOB.text.toString()
(activity as BajajFdMainActivity).applicantDetails.ApplicantPAN =
binding.edtPANNumber.text.toString()
(activity as BajajFdMainActivity).applicantDetails.ApplicantMobile =
binding.edtMobileNumber.text.toString()
(activity as BajajFdMainActivity).applicantDetails.ApplicantOccupation =
binding.edtOccupation.text.toString()
(activity as BajajFdMainActivity).applicantDetails.ApplicantQualification =
binding.edtQualification.text.toString()
(activity as BajajFdMainActivity).applicantDetails.ApplicantMaritalStatus =
binding.spMarital.text.toString()
(activity as BajajFdMainActivity).applicantDetails.ApplicantEmail =
binding.edtEmail.text.toString()
(activity as BajajFdMainActivity).applicantDetails.ApplicantAddress1 =
binding.edtAddressLine1.text.toString()
(activity as BajajFdMainActivity).applicantDetails.ApplicantAddress2 =
binding.edtAddressLine2.text.toString()
(activity as BajajFdMainActivity).applicantDetails.ApplicantAddress3 = ""
(activity as BajajFdMainActivity).applicantDetails.ApplicantCity =
binding.edtCity.text.toString()
(activity as BajajFdMainActivity).applicantDetails.ApplicantState =
binding.edtState.text.toString()
(activity as BajajFdMainActivity).applicantDetails.ApplicantCountry = "India"
(activity as BajajFdMainActivity).applicantDetails.ApplicantPincode =
binding.edtPinCode.text.toString().toInt()
(activity as BajajFdMainActivity).applicantDetails.AnnualIncome = ""
// Applicant Relation Details // Applicant Relation Details
(activity as BajajFdMainActivity).applicantRelationDetails.ApplicantRelation= ""
(activity as BajajFdMainActivity).applicantRelationDetails.ApplicantRelationSalutation= ""
(activity as BajajFdMainActivity).applicantRelationDetails.ApplicantRelationFirstName= ""
(activity as BajajFdMainActivity).applicantRelationDetails.ApplicantRelationLastName= ""
(activity as BajajFdMainActivity).applicantRelationDetails.ApplicantMotherFirstName= ""
(activity as BajajFdMainActivity).applicantRelationDetails.ApplicantMotherLastName= ""
(activity as BajajFdMainActivity).applicantRelationDetails.ApplicantRelation = ""
(activity as BajajFdMainActivity).applicantRelationDetails.ApplicantRelationSalutation =
""
(activity as BajajFdMainActivity).applicantRelationDetails.ApplicantRelationFirstName =
""
(activity as BajajFdMainActivity).applicantRelationDetails.ApplicantRelationLastName =
""
(activity as BajajFdMainActivity).applicantRelationDetails.ApplicantMotherFirstName =
""
(activity as BajajFdMainActivity).applicantRelationDetails.ApplicantMotherLastName =
""
// Applicant Nominee Details // Applicant Nominee Details
(activity as BajajFdMainActivity).nomineeDetails.NomineeSalutation= binding.spNomineeTitle.text.toString()
(activity as BajajFdMainActivity).nomineeDetails.NomineeGender= binding.spGender.text.toString()
(activity as BajajFdMainActivity).nomineeDetails.NomineeFirstName= binding.edtNomineeFirstName.text.toString()
(activity as BajajFdMainActivity).nomineeDetails.NomineeMiddleName= binding.edtNomineeMiddleName.text.toString()
(activity as BajajFdMainActivity).nomineeDetails.NomineeLastName= binding.edtNomineeLastName.text.toString()
(activity as BajajFdMainActivity).nomineeDetails.NomineeDOB= binding.edtNomineeDOB.text.toString()
(activity as BajajFdMainActivity).nomineeDetails.NomineeRelation= binding.spNomineeRelation.text.toString()
(activity as BajajFdMainActivity).nomineeDetails.NomineeAddress1= ""
(activity as BajajFdMainActivity).nomineeDetails.NomineeAddress2= ""
(activity as BajajFdMainActivity).nomineeDetails.NomineeAddress3= ""
(activity as BajajFdMainActivity).nomineeDetails.NomineeCity= ""
(activity as BajajFdMainActivity).nomineeDetails.NomineeSalutation =
binding.spNomineeTitle.text.toString()
(activity as BajajFdMainActivity).nomineeDetails.NomineeGender =
binding.spGender.text.toString()
(activity as BajajFdMainActivity).nomineeDetails.NomineeFirstName =
binding.edtNomineeFirstName.text.toString()
(activity as BajajFdMainActivity).nomineeDetails.NomineeMiddleName =
binding.edtNomineeMiddleName.text.toString()
(activity as BajajFdMainActivity).nomineeDetails.NomineeLastName =
binding.edtNomineeLastName.text.toString()
(activity as BajajFdMainActivity).nomineeDetails.NomineeDOB =
binding.edtNomineeDOB.text.toString()
(activity as BajajFdMainActivity).nomineeDetails.NomineeRelation =
binding.spNomineeRelation.text.toString()
(activity as BajajFdMainActivity).nomineeDetails.NomineeAddress1 = ""
(activity as BajajFdMainActivity).nomineeDetails.NomineeAddress2 = ""
(activity as BajajFdMainActivity).nomineeDetails.NomineeAddress3 = ""
(activity as BajajFdMainActivity).nomineeDetails.NomineeCity = ""
(activity as BajajFdMainActivity).nomineeDetails.NomineeState = "" (activity as BajajFdMainActivity).nomineeDetails.NomineeState = ""
(activity as BajajFdMainActivity).nomineeDetails.NomineeCountry = "India" (activity as BajajFdMainActivity).nomineeDetails.NomineeCountry = "India"
(activity as BajajFdMainActivity).nomineeDetails.NomineePincode = 0 (activity as BajajFdMainActivity).nomineeDetails.NomineePincode = 0
// Applicant Nominee Guardian Details // Applicant Nominee Guardian Details
(activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianSalutation = "" (activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianSalutation = ""
(activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianName = binding.edtGuardianName.text.toString()
(activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianAge = binding.edtGuardianAge.text.toString().toInt()
(activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianName =
binding.edtGuardianName.text.toString()
(activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianAge =
binding.edtGuardianAge.text.toString().toInt()
(activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianCountry = "India" (activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianCountry = "India"
(activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianCity = "" (activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianCity = ""
(activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianState = "" (activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianState = ""
(activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianPincode = binding.edtGuardianPinCode.text.toString().toInt()
(activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianAddress1 = binding.edtGuardianAddress.text.toString()
(activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianPincode =
binding.edtGuardianPinCode.text.toString().toInt()
(activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianAddress1 =
binding.edtGuardianAddress.text.toString()
(activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianAddress2 = "" (activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianAddress2 = ""
(activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianAddress3 = binding.spGuardianRelation.text.toString()
(activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianAddress3 =
binding.spGuardianRelation.text.toString()
// Applicant Bank Details // Applicant Bank Details
(activity as BajajFdMainActivity).fdBankDetails.AccountType = rbBank.text.toString() (activity as BajajFdMainActivity).fdBankDetails.AccountType = rbBank.text.toString()
(activity as BajajFdMainActivity).fdBankDetails.BankBranch = binding.edtBankBranch.text.toString()
(activity as BajajFdMainActivity).fdBankDetails.IFSCCode = binding.edtIFSC.text.toString()
(activity as BajajFdMainActivity).fdBankDetails.AccountNumber = binding.edtAccountNumber.text.toString()
(activity as BajajFdMainActivity).fdBankDetails.BankName = binding.edtBankName.text.toString()
(activity as BajajFdMainActivity).fdBankDetails.PaymentMode =rbPaymentMode.text.toString()
(activity as BajajFdMainActivity).fdBankDetails.BankBranch =
binding.edtBankBranch.text.toString()
(activity as BajajFdMainActivity).fdBankDetails.IFSCCode =
binding.edtIFSC.text.toString()
(activity as BajajFdMainActivity).fdBankDetails.AccountNumber =
binding.edtAccountNumber.text.toString()
(activity as BajajFdMainActivity).fdBankDetails.BankName =
binding.edtBankName.text.toString()
(activity as BajajFdMainActivity).fdBankDetails.PaymentMode =
rbPaymentMode.text.toString()
bajajFDInterface.stepTwoApi("stepTwoResponse") bajajFDInterface.stepTwoApi("stepTwoResponse")
} }
} }
binding.btnBack.setOnClickListener{
binding.btnBack.setOnClickListener {
(activity as BajajFdMainActivity).binding.viewPager.currentItem = 0 (activity as BajajFdMainActivity).binding.viewPager.currentItem = 0
} }
return root return root
} }
private fun panCheckApi() {
if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
val panCheck = PanCheckRequest()
panCheck.clientCode = "0"
panCheck.subBrokerCode = "0"
panCheck.panNumber = binding.edtPANNumber.text.toString()
panCheck.mobileNumber = ""
stepTwoBajajFDViewModel.panCheck(panCheck, token)
stepTwoBajajFDViewModel.getPanCheckMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
val panCheckResponse =
Gson().fromJson(
response.data?.toString(),
PanCheckResponse::class.java
)
panCheckResponse.response.status_code.let { code ->
if (binding.tvPANVerify.visibility == View.GONE) {
binding.tvPANVerify.visibility = View.VISIBLE
}
when (code) {
200 -> {
binding.tvPANVerify.text = getString(R.string.verifiedText)
binding.tvPANVerify.setTextColor(
ContextCompat.getColor(
activity as BajajFdMainActivity,
R.color.green
)
)
}
// 650 -> refreshToken()
else -> {
binding.tvPANVerify.text = getString(R.string.notVerifiedText)
binding.tvPANVerify.setTextColor(
ContextCompat.getColor(
activity as BajajFdMainActivity,
R.color.red
)
)
}
}
}
}
is Resource.Error -> {
response.message?.let { message ->
Log.e(" ", "An error occurred:$message")
}
}
is Resource.Loading -> {
}
}
}
}
}
// validations // validations
private fun validation(): Boolean { private fun validation(): Boolean {
return if (binding.edtMobileNumber.text.toString().isEmpty()) { // EditText return if (binding.edtMobileNumber.text.toString().isEmpty()) { // EditText
commonErrorMethod(binding.edtMobileNumber, binding.tlMobileNumber, getString(R.string.emptyMobileNumber))
commonErrorMethod(
binding.edtMobileNumber,
binding.tlMobileNumber,
getString(R.string.emptyMobileNumber)
)
} else if (binding.edtMobileNumber.text?.length != 10) { // EditText } else if (binding.edtMobileNumber.text?.length != 10) { // EditText
commonErrorMethod(binding.edtMobileNumber, binding.tlMobileNumber, getString(R.string.inValidMobileNumber))
commonErrorMethod(
binding.edtMobileNumber,
binding.tlMobileNumber,
getString(R.string.inValidMobileNumber)
)
} else if (!isIndianMobileNo(binding.edtMobileNumber.text.toString())) { // EditText } else if (!isIndianMobileNo(binding.edtMobileNumber.text.toString())) { // EditText
commonErrorMethod(binding.edtMobileNumber, binding.tlMobileNumber, getString(R.string.inValidIndianMobileNumber))
commonErrorMethod(
binding.edtMobileNumber,
binding.tlMobileNumber,
getString(R.string.inValidIndianMobileNumber)
)
} else if (binding.edtDOB.text.toString().isEmpty()) { // EditText } else if (binding.edtDOB.text.toString().isEmpty()) { // EditText
commonErrorMethod(binding.edtDOB, binding.tlDOB, getString(R.string.emptyDOB)) commonErrorMethod(binding.edtDOB, binding.tlDOB, getString(R.string.emptyDOB))
} else if (binding.edtPANNumber.text.toString().isEmpty()) { // EditText } else if (binding.edtPANNumber.text.toString().isEmpty()) { // EditText
commonErrorMethod(binding.edtPANNumber, binding.tlPanNumber, getString(R.string.emptyPAN))
commonErrorMethod(
binding.edtPANNumber,
binding.tlPanNumber,
getString(R.string.emptyPAN)
)
} else if (isValidPan(binding.edtPANNumber.text.toString())) { // EditText } else if (isValidPan(binding.edtPANNumber.text.toString())) { // EditText
commonErrorMethod(binding.edtPANNumber, binding.tlPanNumber, getString(R.string.invalidPAN))
commonErrorMethod(
binding.edtPANNumber,
binding.tlPanNumber,
getString(R.string.invalidPAN)
)
} else if (binding.spTitle.text.isEmpty()) { // Spinner } else if (binding.spTitle.text.isEmpty()) { // Spinner
commonSpinnerErrorMethod(binding.spTitle, binding.tlTitle, getString(R.string.emptyTitle))
commonSpinnerErrorMethod(
binding.spTitle,
binding.tlTitle,
getString(R.string.emptyTitle)
)
} else if (binding.edtFirstName.text.toString().isEmpty()) { // EditText } else if (binding.edtFirstName.text.toString().isEmpty()) { // EditText
commonErrorMethod(binding.edtFirstName, binding.tlFirstName, getString(R.string.emptyFirstName))
commonErrorMethod(
binding.edtFirstName,
binding.tlFirstName,
getString(R.string.emptyFirstName)
)
} else if (isValidName(binding.edtFirstName.text.toString())) { // EditText } else if (isValidName(binding.edtFirstName.text.toString())) { // EditText
commonErrorMethod(binding.edtFirstName, binding.tlFirstName, getString(R.string.validFirstName))
commonErrorMethod(
binding.edtFirstName,
binding.tlFirstName,
getString(R.string.validFirstName)
)
} else if (binding.edtMiddleName.text.toString().isEmpty()) { // EditText } else if (binding.edtMiddleName.text.toString().isEmpty()) { // EditText
commonErrorMethod(binding.edtMiddleName, binding.tlMiddleName, getString(R.string.emptyMiddleName))
commonErrorMethod(
binding.edtMiddleName,
binding.tlMiddleName,
getString(R.string.emptyMiddleName)
)
} else if (isValidName(binding.edtMiddleName.text.toString())) { // EditText } else if (isValidName(binding.edtMiddleName.text.toString())) { // EditText
commonErrorMethod(binding.edtMiddleName, binding.tlMiddleName, getString(R.string.validMiddleName))
commonErrorMethod(
binding.edtMiddleName,
binding.tlMiddleName,
getString(R.string.validMiddleName)
)
} else if (binding.edtLastName.text.toString().isEmpty()) { // EditText } else if (binding.edtLastName.text.toString().isEmpty()) { // EditText
commonErrorMethod(binding.edtLastName, binding.tlLastName, getString(R.string.emptyLastName))
commonErrorMethod(
binding.edtLastName,
binding.tlLastName,
getString(R.string.emptyLastName)
)
} else if (isValidName(binding.edtLastName.text.toString())) { // EditText } else if (isValidName(binding.edtLastName.text.toString())) { // EditText
commonErrorMethod(binding.edtLastName, binding.tlLastName, getString(R.string.validLastName))
commonErrorMethod(
binding.edtLastName,
binding.tlLastName,
getString(R.string.validLastName)
)
} else if (binding.spGender.text.toString().isEmpty()) { // Spinner } else if (binding.spGender.text.toString().isEmpty()) { // Spinner
commonSpinnerErrorMethod(binding.spGender, binding.tlGender, getString(R.string.emptyGender))
commonSpinnerErrorMethod(
binding.spGender,
binding.tlGender,
getString(R.string.emptyGender)
)
} else if (binding.edtEmail.text.toString().isEmpty()) { // EditText } else if (binding.edtEmail.text.toString().isEmpty()) { // EditText
commonErrorMethod(binding.edtEmail, binding.tlEmail, getString(R.string.emptyEmail)) commonErrorMethod(binding.edtEmail, binding.tlEmail, getString(R.string.emptyEmail))
} else if (isValidEmail(binding.edtEmail.text.toString())) { // EditText } else if (isValidEmail(binding.edtEmail.text.toString())) { // EditText
commonErrorMethod(binding.edtEmail, binding.tlEmail, getString(R.string.validEmail)) commonErrorMethod(binding.edtEmail, binding.tlEmail, getString(R.string.validEmail))
} else if (binding.edtOccupation.text.toString().isEmpty()) { // EditText } else if (binding.edtOccupation.text.toString().isEmpty()) { // EditText
commonErrorMethod(binding.edtOccupation, binding.tlOccupation, getString(R.string.emptyOccupation))
commonErrorMethod(
binding.edtOccupation,
binding.tlOccupation,
getString(R.string.emptyOccupation)
)
} else if (binding.edtQualification.text.toString().isEmpty()) { // EditText } else if (binding.edtQualification.text.toString().isEmpty()) { // EditText
commonErrorMethod(binding.edtQualification, binding.tlQualification, getString(R.string.emptyQualification))
commonErrorMethod(
binding.edtQualification,
binding.tlQualification,
getString(R.string.emptyQualification)
)
} else if (binding.spMarital.text.toString().isEmpty()) { // Spinner } else if (binding.spMarital.text.toString().isEmpty()) { // Spinner
commonSpinnerErrorMethod(binding.spMarital, binding.tlMarital, getString(R.string.emptyMaritalStatus))
commonSpinnerErrorMethod(
binding.spMarital,
binding.tlMarital,
getString(R.string.emptyMaritalStatus)
)
} else if (binding.spRelation.text.toString().isEmpty()) { // Spinner } else if (binding.spRelation.text.toString().isEmpty()) { // Spinner
commonSpinnerErrorMethod(binding.spRelation, binding.tlRelation, getString(R.string.emptyRelation))
commonSpinnerErrorMethod(
binding.spRelation,
binding.tlRelation,
getString(R.string.emptyRelation)
)
} else if (binding.edtRelationName.text.toString().isEmpty()) { // EditText } else if (binding.edtRelationName.text.toString().isEmpty()) { // EditText
commonErrorMethod(binding.edtRelationName, binding.tlRelationName, getString(R.string.emptyRelationName))
commonErrorMethod(
binding.edtRelationName,
binding.tlRelationName,
getString(R.string.emptyRelationName)
)
} else if (binding.edtAddressLine1.text.toString().isEmpty()) { // EditText } else if (binding.edtAddressLine1.text.toString().isEmpty()) { // EditText
commonErrorMethod(binding.edtAddressLine1, binding.tlAddressLine1, getString(R.string.emptyAddressLine1))
commonErrorMethod(
binding.edtAddressLine1,
binding.tlAddressLine1,
getString(R.string.emptyAddressLine1)
)
} else if (binding.edtAddressLine2.text.toString().isEmpty()) { // EditText } else if (binding.edtAddressLine2.text.toString().isEmpty()) { // EditText
commonErrorMethod(binding.edtAddressLine2, binding.tlAddressLine2, getString(R.string.emptyAddressLine2))
commonErrorMethod(
binding.edtAddressLine2,
binding.tlAddressLine2,
getString(R.string.emptyAddressLine2)
)
} else if (binding.edtState.text.toString().isEmpty()) { // EditText } else if (binding.edtState.text.toString().isEmpty()) { // EditText
commonErrorMethod(binding.edtState, binding.tlState, getString(R.string.emptyState)) commonErrorMethod(binding.edtState, binding.tlState, getString(R.string.emptyState))
} else if (binding.edtCity.text.toString().isEmpty()) { // EditText } else if (binding.edtCity.text.toString().isEmpty()) { // EditText
commonErrorMethod(binding.edtCity, binding.tlCity, getString(R.string.emptyCity)) commonErrorMethod(binding.edtCity, binding.tlCity, getString(R.string.emptyCity))
} else if (binding.edtPinCode.text.toString().isEmpty()) { // EditText } else if (binding.edtPinCode.text.toString().isEmpty()) { // EditText
commonErrorMethod(binding.edtPinCode, binding.tlPinCode, getString(R.string.emptyPinCode))
} else if (binding.edtPinCode.text.toString().length !=6) { // EditText
commonErrorMethod(binding.edtPinCode, binding.tlPinCode, getString(R.string.validPinCode))
commonErrorMethod(
binding.edtPinCode,
binding.tlPinCode,
getString(R.string.emptyPinCode)
)
} else if (binding.edtPinCode.text.toString().length != 6) { // EditText
commonErrorMethod(
binding.edtPinCode,
binding.tlPinCode,
getString(R.string.validPinCode)
)
} else if (binding.edtIFSC.text.toString().isEmpty()) { // EditText } else if (binding.edtIFSC.text.toString().isEmpty()) { // EditText
commonErrorMethod(binding.edtIFSC, binding.tlIFSC, getString(R.string.emptyIFSCCode)) commonErrorMethod(binding.edtIFSC, binding.tlIFSC, getString(R.string.emptyIFSCCode))
}else if (binding.edtIFSC.text.toString().length != 11) { // EditText
} else if (binding.edtIFSC.text.toString().length != 11) { // EditText
commonErrorMethod(binding.edtIFSC, binding.tlIFSC, getString(R.string.validIFSCCode)) commonErrorMethod(binding.edtIFSC, binding.tlIFSC, getString(R.string.validIFSCCode))
} else if (binding.edtAccountNumber.text.toString().isEmpty()) { // EditText } else if (binding.edtAccountNumber.text.toString().isEmpty()) { // EditText
commonErrorMethod(binding.edtAccountNumber, binding.tlAccountNumber, getString(R.string.emptyAccNo))
} else if (binding.edtBankName.text.toString().isEmpty()) { // EditText
commonErrorMethod(binding.edtBankName, binding.tlBankName, getString(R.string.emptyBankName))
commonErrorMethod(
binding.edtAccountNumber,
binding.tlAccountNumber,
getString(R.string.emptyAccNo)
)
} else if (binding.edtBankName.text.toString().isEmpty()) { // EditText
commonErrorMethod(
binding.edtBankName,
binding.tlBankName,
getString(R.string.emptyBankName)
)
} else if (binding.edtBankBranch.text.toString().isEmpty()) { // EditText } else if (binding.edtBankBranch.text.toString().isEmpty()) { // EditText
commonErrorMethod(binding.edtBankBranch, binding.tlBankBranchName, getString(R.string.emptyBranchName))
commonErrorMethod(
binding.edtBankBranch,
binding.tlBankBranchName,
getString(R.string.emptyBranchName)
)
} else { } else {
return true return true
} }


+ 15
- 0
app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/StepFiveModelProviderFactory.kt View File

@ -0,0 +1,15 @@
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.StepFiveBajajFDViewModel
class StepFiveModelProviderFactory(private val mainRepository: MainRepository) :
ViewModelProvider.Factory {
override fun <T : ViewModel> create(modelClass: Class<T>): T {
return StepFiveBajajFDViewModel(mainRepository) as T
}
}

+ 15
- 0
app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/StepFourModelProviderFactory.kt View File

@ -0,0 +1,15 @@
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.StepFourBajajFDViewModel
class StepFourModelProviderFactory(private val mainRepository: MainRepository) :
ViewModelProvider.Factory {
override fun <T : ViewModel> create(modelClass: Class<T>): T {
return StepFourBajajFDViewModel(mainRepository) as T
}
}

app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/GetRatesModelProviderFactory.kt → app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/StepOneModelProviderFactory.kt View File

@ -3,10 +3,9 @@ package com.nivesh.production.bajajfd.ui.providerfactory
import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelProvider
import com.nivesh.production.bajajfd.repositories.MainRepository import com.nivesh.production.bajajfd.repositories.MainRepository
import com.nivesh.production.bajajfd.viewModel.BajajFDViewModel
import com.nivesh.production.bajajfd.viewModel.StepOneBajajFDViewModel import com.nivesh.production.bajajfd.viewModel.StepOneBajajFDViewModel
class GetRatesModelProviderFactory (private val mainRepository: MainRepository) : ViewModelProvider.Factory {
class StepOneModelProviderFactory (private val mainRepository: MainRepository) : ViewModelProvider.Factory {
override fun <T : ViewModel> create(modelClass: Class<T>): T { override fun <T : ViewModel> create(modelClass: Class<T>): T {
return StepOneBajajFDViewModel(mainRepository) as T return StepOneBajajFDViewModel(mainRepository) as T

+ 17
- 0
app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/StepThreeModelProviderFactory.kt View File

@ -0,0 +1,17 @@
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.BajajFDViewModel
import com.nivesh.production.bajajfd.viewModel.StepOneBajajFDViewModel
import com.nivesh.production.bajajfd.viewModel.StepThreeBajajFDViewModel
import com.nivesh.production.bajajfd.viewModel.StepTwoBajajFDViewModel
class StepThreeModelProviderFactory (private val mainRepository: MainRepository) : ViewModelProvider.Factory {
override fun <T : ViewModel> create(modelClass: Class<T>): T {
return StepThreeBajajFDViewModel(mainRepository) as T
}
}

+ 16
- 0
app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/StepTwoModelProviderFactory.kt View File

@ -0,0 +1,16 @@
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.BajajFDViewModel
import com.nivesh.production.bajajfd.viewModel.StepOneBajajFDViewModel
import com.nivesh.production.bajajfd.viewModel.StepTwoBajajFDViewModel
class StepTwoModelProviderFactory (private val mainRepository: MainRepository) : ViewModelProvider.Factory {
override fun <T : ViewModel> create(modelClass: Class<T>): T {
return StepTwoBajajFDViewModel(mainRepository) as T
}
}

+ 1
- 1
app/src/main/java/com/nivesh/production/bajajfd/util/Constants.kt View File

@ -4,6 +4,6 @@ class Constants() {
companion object { companion object {
const val BASE_URL = "https://providential.in/WebApi_Bajaj/" const val BASE_URL = "https://providential.in/WebApi_Bajaj/"
const val token = "636F8F63-06C4-4D95-8562-392B34025FB0"
} }
} }

+ 2
- 2
app/src/main/java/com/nivesh/production/bajajfd/viewModel/BajajFDViewModel.kt View File

@ -14,9 +14,9 @@ class BajajFDViewModel(private val mainRepository: MainRepository) : ViewModel()
// TODO: Implement the ViewModel // TODO: Implement the ViewModel
val getRatesMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData() val getRatesMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun getCode(requestBody: GetCodeRequest) = viewModelScope.launch {
fun getCode(requestBody: GetCodeRequest, token : String) = viewModelScope.launch {
getRatesMutableData.postValue(Resource.Loading()) getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.getCodesResponse(requestBody)
val response = mainRepository.getCodesResponse(requestBody, token)
getRatesMutableData.postValue(handleRatesResponse(response)) getRatesMutableData.postValue(handleRatesResponse(response))
} }


+ 2
- 11
app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFiveBajajFDViewModel.kt View File

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

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

@ -13,9 +13,9 @@ class StepFourBajajFDViewModel(private val mainRepository: MainRepository) : Vie
private val getRatesMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData() private val getRatesMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun saveFDOtherData(getRatesRequest: GetRatesRequest) = viewModelScope.launch {
fun saveFDOtherData(getRatesRequest: GetRatesRequest, token : String) = viewModelScope.launch {
getRatesMutableData.postValue(Resource.Loading()) getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.saveFDOtherDataResponse(getRatesRequest)
val response = mainRepository.saveFDOtherDataResponse(getRatesRequest, token)
getRatesMutableData.postValue(handleRatesResponse(response)) getRatesMutableData.postValue(handleRatesResponse(response))
} }
@ -29,33 +29,33 @@ class StepFourBajajFDViewModel(private val mainRepository: MainRepository) : Vie
} }
fun getFDDetails(getRatesRequest: GetRatesRequest) = viewModelScope.launch {
fun getFDDetails(getRatesRequest: GetRatesRequest, token : String) = viewModelScope.launch {
getRatesMutableData.postValue(Resource.Loading()) getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.getFDDetailsResponse(getRatesRequest)
val response = mainRepository.getFDDetailsResponse(getRatesRequest, token)
getRatesMutableData.postValue(handleRatesResponse(response)) getRatesMutableData.postValue(handleRatesResponse(response))
} }
fun updateFDPaymentStatus(getRatesRequest: GetRatesRequest) = viewModelScope.launch {
fun updateFDPaymentStatus(getRatesRequest: GetRatesRequest, token : String) = viewModelScope.launch {
getRatesMutableData.postValue(Resource.Loading()) getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.updateFDPaymentStatusResponse(getRatesRequest)
val response = mainRepository.updateFDPaymentStatusResponse(getRatesRequest, token)
getRatesMutableData.postValue(handleRatesResponse(response)) getRatesMutableData.postValue(handleRatesResponse(response))
} }
fun finaliseFD(getRatesRequest: GetRatesRequest) = viewModelScope.launch {
fun finaliseFD(getRatesRequest: GetRatesRequest, token : String) = viewModelScope.launch {
getRatesMutableData.postValue(Resource.Loading()) getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.finaliseFDResponse(getRatesRequest)
val response = mainRepository.finaliseFDResponse(getRatesRequest, token)
getRatesMutableData.postValue(handleRatesResponse(response)) getRatesMutableData.postValue(handleRatesResponse(response))
} }
fun finaliseKYC(getRatesRequest: GetRatesRequest) = viewModelScope.launch {
fun finaliseKYC(getRatesRequest: GetRatesRequest, token : String) = viewModelScope.launch {
getRatesMutableData.postValue(Resource.Loading()) getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.finaliseKYCResponse(getRatesRequest)
val response = mainRepository.finaliseKYCResponse(getRatesRequest, token)
getRatesMutableData.postValue(handleRatesResponse(response)) getRatesMutableData.postValue(handleRatesResponse(response))
} }
fun paymentReQuery(getRatesRequest: GetRatesRequest) = viewModelScope.launch {
fun paymentReQuery(getRatesRequest: GetRatesRequest, token: String) = viewModelScope.launch {
getRatesMutableData.postValue(Resource.Loading()) getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.paymentReQueryResponse(getRatesRequest)
val response = mainRepository.paymentReQueryResponse(getRatesRequest, token)
getRatesMutableData.postValue(handleRatesResponse(response)) getRatesMutableData.postValue(handleRatesResponse(response))
} }
} }

+ 4
- 5
app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepOneBajajFDViewModel.kt View File

@ -4,28 +4,27 @@ import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope import androidx.lifecycle.viewModelScope
import com.google.gson.JsonObject import com.google.gson.JsonObject
import com.nivesh.production.bajajfd.model.GetCodeRequest
import com.nivesh.production.bajajfd.model.GetMaturityAmountRequest import com.nivesh.production.bajajfd.model.GetMaturityAmountRequest
import com.nivesh.production.bajajfd.model.GetRatesRequest import com.nivesh.production.bajajfd.model.GetRatesRequest
import com.nivesh.production.bajajfd.repositories.MainRepository import com.nivesh.production.bajajfd.repositories.MainRepository
import com.nivesh.production.bajajfd.util.Constants.Companion.token
import com.nivesh.production.bajajfd.util.Resource import com.nivesh.production.bajajfd.util.Resource
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import okhttp3.RequestBody
class StepOneBajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() { class StepOneBajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() {
// TODO: Implement the ViewModel // TODO: Implement the ViewModel
val getRatesMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData() val getRatesMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
val getMaturityAmountMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData() val getMaturityAmountMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun getRates(getRatesRequest: GetRatesRequest) = viewModelScope.launch {
fun getRates(getRatesRequest: GetRatesRequest, token: String) = viewModelScope.launch {
getRatesMutableData.postValue(Resource.Loading()) getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.getRatesResponse(getRatesRequest)
val response = mainRepository.getRatesResponse(getRatesRequest, token)
getRatesMutableData.postValue(handleRatesResponse(response)) getRatesMutableData.postValue(handleRatesResponse(response))
} }
fun getMaturityAmount(requestBody: GetMaturityAmountRequest) = viewModelScope.launch { fun getMaturityAmount(requestBody: GetMaturityAmountRequest) = viewModelScope.launch {
getMaturityAmountMutableData.postValue(Resource.Loading()) getMaturityAmountMutableData.postValue(Resource.Loading())
val response = mainRepository.createCalculateFDMaturityAmount(requestBody)
val response = mainRepository.createCalculateFDMaturityAmount(requestBody, token)
getMaturityAmountMutableData.postValue(handleRatesResponse(response)) getMaturityAmountMutableData.postValue(handleRatesResponse(response))
} }


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

@ -11,9 +11,9 @@ class StepThreeBajajFDViewModel(private val mainRepository: MainRepository) : Vi
private val getRatesMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData() private val getRatesMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun documentsUpload(getRatesRequest: GetRatesRequest) = viewModelScope.launch {
fun documentsUpload(getRatesRequest: GetRatesRequest, token: String) = viewModelScope.launch {
getRatesMutableData.postValue(Resource.Loading()) getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.documentsUploadResponse(getRatesRequest)
val response = mainRepository.documentsUploadResponse(getRatesRequest, token)
getRatesMutableData.postValue(handleRatesResponse(response)) getRatesMutableData.postValue(handleRatesResponse(response))
} }


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

@ -5,6 +5,7 @@ import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope import androidx.lifecycle.viewModelScope
import com.google.gson.JsonObject import com.google.gson.JsonObject
import com.nivesh.production.bajajfd.model.GetRatesRequest import com.nivesh.production.bajajfd.model.GetRatesRequest
import com.nivesh.production.bajajfd.model.PanCheckRequest
import com.nivesh.production.bajajfd.repositories.MainRepository import com.nivesh.production.bajajfd.repositories.MainRepository
import com.nivesh.production.bajajfd.util.Resource import com.nivesh.production.bajajfd.util.Resource
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
@ -13,10 +14,12 @@ class StepTwoBajajFDViewModel(private val mainRepository: MainRepository) : View
// TODO: Implement the ViewModel // TODO: Implement the ViewModel
private val getRatesMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData() private val getRatesMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
val getPanCheckMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun checkFDKYC(getRatesRequest: GetRatesRequest) = viewModelScope.launch {
fun checkFDKYC(getRatesRequest: GetRatesRequest, token : String) = viewModelScope.launch {
getRatesMutableData.postValue(Resource.Loading()) getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.checkFDKYCResponse(getRatesRequest)
val response = mainRepository.checkFDKYCResponse(getRatesRequest, token)
getRatesMutableData.postValue(handleRatesResponse(response)) getRatesMutableData.postValue(handleRatesResponse(response))
} }
@ -36,4 +39,10 @@ class StepTwoBajajFDViewModel(private val mainRepository: MainRepository) : View
// getRatesMutableData.postValue(handleRatesResponse(response)) // getRatesMutableData.postValue(handleRatesResponse(response))
// } // }
fun panCheck(panCheck: PanCheckRequest, token: String) = viewModelScope.launch {
getPanCheckMutableData.postValue(Resource.Loading())
val response = mainRepository.panCheck(panCheck, token)
getPanCheckMutableData.postValue(handleRatesResponse(response))
}
} }

+ 126
- 131
app/src/main/res/layout/fragment_bajajfd_step_five.xml View File

@ -5,179 +5,174 @@
android:id="@+id/constraintLayout" android:id="@+id/constraintLayout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_margin="@dimen/margin_10"
android:background="@color/greyColor4"
android:background="@color/NiveshColorAppBg"
tools:context="com.nivesh.production.bajajfd.ui.fragment.StepFiveBajajFDFragment"> tools:context="com.nivesh.production.bajajfd.ui.fragment.StepFiveBajajFDFragment">
<LinearLayout
<androidx.core.widget.NestedScrollView
android:id="@+id/linearLayoutTwo" android:id="@+id/linearLayoutTwo"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_height="match_parent"
android:layout_marginBottom="@dimen/margin_70"
android:background="@color/NiveshColorAppBg"
android:fillViewport="true"
android:orientation="vertical" android:orientation="vertical"
app:layout_constraintBottom_toTopOf="@+id/btnNext"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"> app:layout_constraintTop_toTopOf="parent">
<com.google.android.material.card.MaterialCardView <com.google.android.material.card.MaterialCardView
android:id="@+id/cardViewOne"
style="@style/CustomCardViewTopStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/margin_5"
android:layout_marginRight="@dimen/margin_5"
android:padding="@dimen/margin_10">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="70dp"
android:layout_marginBottom="12dp"
android:background="@color/white"
android:layout_marginStart="@dimen/margin_5"
android:padding="@dimen/margin_5"
app:layout_constraintBottom_toTopOf="@+id/tvCongrats"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="1.0">
<ImageView
android:id="@+id/logo"
android:layout_width="@dimen/margin_150"
android:layout_height="18dp"
android:contentDescription="@string/contentDescription"
android:src="@drawable/bajaj_logo"
app:layout_constraintBottom_toTopOf="@+id/tvFdRating"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tvFdRating"
style="@style/regularStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/schemeRating"
android:textColor="@color/greyColor2"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/logo"
app:layout_constraintVertical_bias="0.0" />
</androidx.constraintlayout.widget.ConstraintLayout>
</com.google.android.material.card.MaterialCardView>
<com.google.android.material.card.MaterialCardView
android:id="@+id/cardViewTwo"
style="@style/CustomCardViewBottomStyle"
style="@style/CustomCardViewStyle"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/margin_5"
android:layout_marginRight="@dimen/margin_5"
android:layout_marginBottom="@dimen/margin_5"
android:foreground="?android:attr/selectableItemBackground"
android:padding="@dimen/margin_10" android:padding="@dimen/margin_10"
app:cardBackgroundColor="@color/greyColor4"
app:layout_constraintBottom_toBottomOf="parent"
app:cardElevation="@dimen/margin_1"
app:cardUseCompatPadding="true"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/cardViewOne"
app:layout_constraintVertical_bias="0.0">
app:layout_constraintTop_toTopOf="parent">
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="@dimen/margin_10"
app:layout_constraintBottom_toBottomOf="parent">
<TextView
android:id="@+id/tvCongrats"
style="@style/semiBoldStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:text="@string/congratulations"
android:textColor="@color/black"
android:textSize="@dimen/text_size_17"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.437"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tvSuccessMessage"
style="@style/regularStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="@string/transactionIsSuccessful"
android:textColor="@color/black"
android:textSize="@dimen/text_size_16"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.419"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tvCongrats" />
<TextView
android:id="@+id/tvSuccessMsgDetail"
style="@style/regularStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:gravity="center"
android:text="@string/certificateOnEmail"
android:textColor="@color/black"
android:textSize="@dimen/text_size_14"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.393"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tvSuccessMessage" />
android:layout_height="match_parent"
android:paddingBottom="@dimen/margin_10">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/topLayout"
android:layout_width="match_parent"
android:layout_height="@dimen/margin_70"
android:layout_marginStart="@dimen/margin_5"
android:layout_marginBottom="@dimen/margin_12"
android:background="@color/white"
android:padding="@dimen/margin_5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:id="@+id/logo"
android:layout_width="@dimen/margin_150"
android:layout_height="18dp"
android:contentDescription="@string/contentDescription"
android:src="@drawable/bajaj_logo"
app:layout_constraintBottom_toTopOf="@+id/tvFdRating"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tvFdRating"
style="@style/regularStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/schemeRating"
android:textColor="@color/greyColor2"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/logo"
app:layout_constraintVertical_bias="0.0" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/margin_15"
android:background="@color/greyColor4"
android:paddingBottom="@dimen/margin_10"
app:layout_constraintTop_toBottomOf="@+id/topLayout">
<TextView
android:id="@+id/tvCongrats"
style="@style/semiBoldStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:text="@string/congratulations"
android:textColor="@color/black"
android:textSize="@dimen/text_size_17"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.437"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tvSuccessMessage"
style="@style/regularStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="@string/transactionIsSuccessful"
android:textColor="@color/black"
android:textSize="@dimen/text_size_16"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.419"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tvCongrats" />
<TextView
android:id="@+id/tvSuccessMsgDetail"
style="@style/regularStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:gravity="center"
android:text="@string/certificateOnEmail"
android:textColor="@color/black"
android:textSize="@dimen/text_size_14"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.393"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tvSuccessMessage" />
</androidx.constraintlayout.widget.ConstraintLayout>
<!-- </com.google.android.material.card.MaterialCardView>-->
<include
android:id="@+id/fragmentStepFail"
layout="@layout/fragment_step_fail"
android:visibility="gone" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
</com.google.android.material.card.MaterialCardView> </com.google.android.material.card.MaterialCardView>
<include
android:id="@+id/fragmentStepFail"
layout="@layout/fragment_step_fail"
android:visibility="gone" />
</androidx.core.widget.NestedScrollView>
</LinearLayout>
<TextView <TextView
android:id="@+id/tvDownloadInvoice" android:id="@+id/tvDownloadInvoice"
style="@style/semiBoldStyle" style="@style/semiBoldStyle"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginTop="@dimen/margin_20"
android:backgroundTint="@color/blue"
android:text="@string/downloadInvoice" android:text="@string/downloadInvoice"
android:textColor="@color/blue" android:textColor="@color/blue"
android:textSize="@dimen/text_size_16" android:textSize="@dimen/text_size_16"
app:layout_constraintBottom_toBottomOf="@+id/btnNext"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.152"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/btnNext" />
app:layout_constraintTop_toBottomOf="@+id/linearLayoutTwo"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/btnNext"
app:layout_constraintStart_toStartOf="parent" />
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/btnNext" android:id="@+id/btnNext"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:layout_marginStart="16dp"
android:layout_marginTop="@dimen/margin_10"
android:layout_marginBottom="@dimen/margin_15"
android:backgroundTint="@color/colorPrimary" android:backgroundTint="@color/colorPrimary"
android:text="@string/viewOrder" android:text="@string/viewOrder"
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="@dimen/text_size_14"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.545"
app:layout_constraintStart_toEndOf="@+id/tvDownloadInvoice"
app:layout_constraintTop_toBottomOf="@+id/linearLayoutTwo"
app:layout_constraintVertical_bias="0.951" />
app:layout_constraintStart_toEndOf="@+id/tvDownloadInvoice" />
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/tvRetry" android:id="@+id/tvRetry"


+ 12
- 15
app/src/main/res/layout/fragment_bajajfd_step_four.xml View File

@ -12,14 +12,13 @@
android:id="@+id/scrollView" android:id="@+id/scrollView"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_marginBottom="80dp"
android:background="@color/transparent"
android:layout_marginBottom="70dp"
android:background="@color/NiveshColorAppBg"
android:fillViewport="true" android:fillViewport="true"
android:visibility="visible"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintBottom_toTopOf="@+id/btnNext"
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/btnNext">
app:layout_constraintTop_toTopOf="parent">
<com.google.android.material.card.MaterialCardView <com.google.android.material.card.MaterialCardView
style="@style/CustomCardViewStyle" style="@style/CustomCardViewStyle"
@ -315,32 +314,30 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:layout_marginTop="@dimen/margin_15"
android:layout_marginBottom="@dimen/margin_15"
android:backgroundTint="@color/blue" android:backgroundTint="@color/blue"
android:text="@string/back" android:text="@string/back"
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="@dimen/text_size_14"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/btnNext" app:layout_constraintEnd_toStartOf="@+id/btnNext"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintVertical_bias="0.812" />
app:layout_constraintStart_toStartOf="parent"/>
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/btnNext" android:id="@+id/btnNext"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:layout_marginStart="16dp"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:layout_marginBottom="@dimen/margin_15"
android:layout_marginTop="@dimen/margin_10"
android:backgroundTint="@color/colorPrimary" android:backgroundTint="@color/colorPrimary"
android:text="@string/viewOrder" android:text="@string/viewOrder"
android:textSize="@dimen/text_size_14"
android:textColor="@color/white" android:textColor="@color/white"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/btnBack"
app:layout_constraintTop_toBottomOf="@+id/scrollView"
app:layout_constraintVertical_bias="0.812" />
app:layout_constraintStart_toEndOf="@+id/btnBack" />
<TextView <TextView
android:id="@+id/tvOnceClick" android:id="@+id/tvOnceClick"


+ 17
- 15
app/src/main/res/layout/fragment_bajajfd_step_one.xml View File

@ -12,9 +12,10 @@
android:id="@+id/scrollView" android:id="@+id/scrollView"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_marginBottom="@dimen/margin_70"
android:fillViewport="true" android:fillViewport="true"
android:padding="@dimen/margin_10" android:padding="@dimen/margin_10"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintBottom_toTopOf="@+id/btnNext"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"> app:layout_constraintTop_toTopOf="parent">
@ -450,23 +451,24 @@
</com.google.android.material.card.MaterialCardView> </com.google.android.material.card.MaterialCardView>
<Button
android:id="@+id/btnNext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/margin_10"
android:layout_marginBottom="@dimen/margin_10"
android:backgroundTint="@color/colorPrimary"
android:text="@string/next"
android:textColor="#FFFFFF"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/cardViewTwo"
tool:ignore="TextContrastCheck" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView> </ScrollView>
<Button
android:id="@+id/btnNext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginTop="@dimen/margin_10"
android:backgroundTint="@color/colorPrimary"
android:text="@string/next"
android:textColor="#FFFFFF"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/scrollView"
tool:ignore="TextContrastCheck" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>

+ 5
- 4
app/src/main/res/layout/fragment_bajajfd_step_three.xml View File

@ -12,7 +12,7 @@
android:id="@+id/scrollView" android:id="@+id/scrollView"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_marginBottom="@dimen/margin_80"
android:layout_marginBottom="@dimen/margin_70"
android:background="@color/NiveshColorAppBg" android:background="@color/NiveshColorAppBg"
android:fillViewport="true" android:fillViewport="true"
android:visibility="visible" android:visibility="visible"
@ -251,11 +251,12 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:layout_marginTop="@dimen/margin_20"
android:layout_marginTop="@dimen/margin_15"
android:layout_marginBottom="@dimen/margin_15" android:layout_marginBottom="@dimen/margin_15"
android:backgroundTint="@color/blue" android:backgroundTint="@color/blue"
android:text="@string/back" android:text="@string/back"
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="@dimen/text_size_14"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/btnNext" app:layout_constraintEnd_toStartOf="@+id/btnNext"
app:layout_constraintStart_toStartOf="parent"/> app:layout_constraintStart_toStartOf="parent"/>
@ -265,11 +266,11 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:layout_marginStart="@dimen/margin_16"
android:layout_marginTop="@dimen/margin_20"
android:layout_marginBottom="@dimen/margin_15" android:layout_marginBottom="@dimen/margin_15"
android:layout_marginTop="@dimen/margin_10"
android:backgroundTint="@color/colorPrimary" android:backgroundTint="@color/colorPrimary"
android:text="@string/next" android:text="@string/next"
android:textSize="@dimen/text_size_14"
android:textColor="@color/white" android:textColor="@color/white"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"


+ 14
- 2
app/src/main/res/layout/fragment_bajajfd_step_two.xml View File

@ -13,7 +13,7 @@
android:id="@+id/scrollView" android:id="@+id/scrollView"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_marginBottom="@dimen/margin_80"
android:layout_marginBottom="@dimen/margin_70"
android:background="@color/NiveshColorAppBg" android:background="@color/NiveshColorAppBg"
android:fillViewport="true" android:fillViewport="true"
android:visibility="visible" android:visibility="visible"
@ -150,6 +150,18 @@
</com.google.android.material.textfield.TextInputLayout> </com.google.android.material.textfield.TextInputLayout>
<TextView
android:id="@+id/tvPANVerify"
android:visibility="gone"
style="@style/regularStyle"
android:layout_gravity="end"
android:layout_marginEnd="@dimen/margin_15"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="@dimen/text_size_10"
android:textColor="@color/greyColor2" />
<com.google.android.material.textfield.TextInputLayout <com.google.android.material.textfield.TextInputLayout
android:id="@+id/tlTitle" android:id="@+id/tlTitle"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu" style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
@ -956,7 +968,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:layout_marginTop="@dimen/margin_20"
android:layout_marginTop="@dimen/margin_15"
android:layout_marginBottom="@dimen/margin_15" android:layout_marginBottom="@dimen/margin_15"
android:backgroundTint="@color/blue" android:backgroundTint="@color/blue"
android:text="@string/back" android:text="@string/back"


+ 4
- 0
app/src/main/res/values-hi-rIN/strings.xml View File

@ -50,6 +50,8 @@
<string name="emptyAmountFirst">Please enter amount first</string> <string name="emptyAmountFirst">Please enter amount first</string>
<string name="validMinAmount">Entered amount should be greater than minimum amount</string> <string name="validMinAmount">Entered amount should be greater than minimum amount</string>
<string name="validMaxAmount">Entered amount should be less than 5 Cr.</string>
<string name="emptyInterestPayout">Please select Interest Payout</string> <string name="emptyInterestPayout">Please select Interest Payout</string>
<string name="emptyInterestTenure">Please select Investment Tenure</string> <string name="emptyInterestTenure">Please select Investment Tenure</string>
@ -75,6 +77,8 @@
<string name="state">State</string> <string name="state">State</string>
<string name="city">City</string> <string name="city">City</string>
<string name="pinCode">PinCode</string> <string name="pinCode">PinCode</string>
<string name="verifiedText">Verified</string>
<string name="notVerifiedText">Not Verified</string>
<!-- Nominee Details --> <!-- Nominee Details -->
<string name="nomineeDetailsOptional">Nominee Details (Optional)</string> <string name="nomineeDetailsOptional">Nominee Details (Optional)</string>


+ 6
- 0
app/src/main/res/values/strings.xml View File

@ -49,6 +49,8 @@
<string name="emptyAmountFirst">Please enter amount first</string> <string name="emptyAmountFirst">Please enter amount first</string>
<string name="validMinAmount">Entered amount should be greater than minimum amount</string> <string name="validMinAmount">Entered amount should be greater than minimum amount</string>
<string name="validMaxAmount">Entered amount should be less than 5 Cr.</string>
<string name="emptyInterestPayout">Please select Interest Payout</string> <string name="emptyInterestPayout">Please select Interest Payout</string>
<string name="emptyInterestTenure">Please select Investment Tenure</string> <string name="emptyInterestTenure">Please select Investment Tenure</string>
@ -75,6 +77,8 @@
<string name="state">State</string> <string name="state">State</string>
<string name="city">City</string> <string name="city">City</string>
<string name="pinCode">PinCode</string> <string name="pinCode">PinCode</string>
<string name="verifiedText">Verified</string>
<string name="notVerifiedText">Not Verified</string>
<!-- Nominee Details --> <!-- Nominee Details -->
<string name="nomineeDetailsOptional">Nominee Details (Optional)</string> <string name="nomineeDetailsOptional">Nominee Details (Optional)</string>
@ -113,9 +117,11 @@
<string name="inValidMobileNumber">Mobile number should have at least 10 digits</string> <string name="inValidMobileNumber">Mobile number should have at least 10 digits</string>
<string name="inValidIndianMobileNumber">Mobile number should start with 6,7,8 and 9</string> <string name="inValidIndianMobileNumber">Mobile number should start with 6,7,8 and 9</string>
<string name="emptyDOB">Please select date of birth</string> <string name="emptyDOB">Please select date of birth</string>
<string name="emptyPAN">Please enter PAN number</string> <string name="emptyPAN">Please enter PAN number</string>
<string name="invalidPAN">Invalid PAN</string> <string name="invalidPAN">Invalid PAN</string>
<string name="emptyTitle">Please select title</string> <string name="emptyTitle">Please select title</string>
<string name="emptyGender">Please select gender</string> <string name="emptyGender">Please select gender</string>


Loading…
Cancel
Save

Powered by TurnKey Linux.