Browse Source

working on 2nd step

PankajBranch
Hemant Khadase 2 years ago
parent
commit
8a01a8d962
19 changed files with 458 additions and 144 deletions
  1. +2
    -1
      app/src/main/AndroidManifest.xml
  2. +6
    -1
      app/src/main/java/com/nivesh/production/bajajfd/adapter/HorizontalRecyclerViewAdapter.kt
  3. +9
    -1
      app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt
  4. +14
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/PanCheckRequest.kt
  5. +5
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/PanCheckResponse.kt
  6. +7
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXX.kt
  7. +3
    -0
      app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt
  8. +11
    -10
      app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt
  9. +12
    -14
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt
  10. +24
    -12
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepOneBajajFDFragment.kt
  11. +299
    -86
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt
  12. +1
    -2
      app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/StepOneModelProviderFactory.kt
  13. +16
    -0
      app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/StepTwoModelProviderFactory.kt
  14. +9
    -0
      app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt
  15. +1
    -2
      app/src/main/res/layout/fragment_bajajfd_step_four.xml
  16. +17
    -15
      app/src/main/res/layout/fragment_bajajfd_step_one.xml
  17. +12
    -0
      app/src/main/res/layout/fragment_bajajfd_step_two.xml
  18. +4
    -0
      app/src/main/res/values-hi-rIN/strings.xml
  19. +6
    -0
      app/src/main/res/values/strings.xml

+ 2
- 1
app/src/main/AndroidManifest.xml View File

@ -18,7 +18,8 @@
<activity
android:name=".ui.activity.BajajFdMainActivity"
android:exported="true">
android:exported="true"
android:windowSoftInputMode="adjustPan">
<intent-filter>
<action android:name="android.intent.action.MAIN" />


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

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

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

@ -4,6 +4,7 @@ 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.GetRatesRequest
import com.nivesh.production.bajajfd.model.PanCheckRequest
import okhttp3.RequestBody
import retrofit2.Response
import retrofit2.http.*
@ -88,7 +89,6 @@ interface ApiInterface {
"Content-Type: application/json", "charset: UTF-8"
)
suspend fun getCodes(@Body requestBody: GetCodeRequest): Response<JsonObject>
// "token: 636F8F63-06C4-4D95-8562-392B34025FB0";
@POST("CalculateFDMaturityAmount")
@Headers(
@ -96,4 +96,12 @@ interface ApiInterface {
"Content-Type: application/json", "charset: UTF-8"
)
suspend fun getCalculateFDMaturityAmount(@Body requestBody: GetMaturityAmountRequest): Response<JsonObject>
@POST("PanCheck_S")
// @Headers(
// "token: 636F8F63-06C4-4D95-8562-392B34025FB0",
// "Content-Type: application/json", "charset: UTF-8"
// )
@Headers("token: 636F8F63-06C4-4D95-8562-392B34025FB0")
suspend fun panCheckApi(@Body panCheck: PanCheckRequest): 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
)

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

@ -4,6 +4,7 @@ import com.nivesh.production.bajajfd.interfaces.ApiInterface
import com.nivesh.production.bajajfd.model.GetCodeRequest
import com.nivesh.production.bajajfd.model.GetMaturityAmountRequest
import com.nivesh.production.bajajfd.model.GetRatesRequest
import com.nivesh.production.bajajfd.model.PanCheckRequest
class MainRepository constructor(private val apiInterface: ApiInterface) {
suspend fun getRatesResponse(getRatesRequest: GetRatesRequest) =
@ -40,5 +41,7 @@ class MainRepository constructor(private val apiInterface: ApiInterface) {
suspend fun paymentReQueryResponse(getRatesRequest: GetRatesRequest) =
apiInterface.getRates(getRatesRequest)
suspend fun panCheck(panCheck: PanCheckRequest) =
apiInterface.panCheckApi(panCheck)
}

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

@ -16,19 +16,23 @@ import com.nivesh.production.bajajfd.model.*
import com.nivesh.production.bajajfd.repositories.MainRepository
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.StepOneModelProviderFactory
import com.nivesh.production.bajajfd.ui.providerfactory.StepTwoModelProviderFactory
import com.nivesh.production.bajajfd.util.Common
import com.nivesh.production.bajajfd.util.Common.Companion.defaultShape
import com.nivesh.production.bajajfd.util.Common.Companion.selectedShape
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.StepTwoBajajFDViewModel
class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
lateinit var binding: ActivityBajajFdBinding
private lateinit var viewModel: BajajFDViewModel
lateinit var stepOneBajajFDViewModel: StepOneBajajFDViewModel
lateinit var stepTwoBajajFDViewModel: StepTwoBajajFDViewModel
lateinit var listOfFrequency: List<GetCodes>
lateinit var createFDRequest: CreateFDRequest
lateinit var createFDApplicantRequest: CreateFDApplicationRequest
@ -38,6 +42,7 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
lateinit var fdBankDetails: FdBankDetails
lateinit var nomineeDetails: NomineeDetails
lateinit var nomineeGuardianDetails: NomineeGuardianDetails
// lateinit var viewModelProviderFactory
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@ -60,15 +65,11 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
nomineeGuardianDetails = NomineeGuardianDetails()
//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]
listOfFrequency = ArrayList()
if (Common.isNetworkAvailable(this)) {
getCodeApi()


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

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


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

@ -4,6 +4,7 @@ import GetRatesResponse
import ROIDataList
import android.os.Bundle
import android.text.Editable
import android.text.InputFilter
import android.text.TextWatcher
import android.util.Log
import android.view.LayoutInflater
@ -64,13 +65,18 @@ class StepOneBajajFDFragment : Fragment() {
stepOneBajajFDViewModel = (activity as BajajFdMainActivity).stepOneBajajFDViewModel
listOfTenure = ArrayList()
binding.edtAmount.filters = arrayOf<InputFilter>(InputFilter.LengthFilter(8)) // upto 1 Cr
// Amount
binding.edtAmount.addTextChangedListener(object : TextWatcher {
override fun afterTextChanged(s: Editable?) {}
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {}
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
removeError(binding.tlDepositAmount)
maturityAmountApi(tenure, interest)
if (s.toString().trim().length >= 4 ) {
getRatesApi()
maturityAmountApi(tenure, interest)
}
}
})
@ -86,15 +92,14 @@ class StepOneBajajFDFragment : Fragment() {
removeError(binding.tlInterestPayout)
binding.tvFrequency.text =
(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)
} else {
binding.txtCumulativeNon.text = getString(R.string.cumulativeROI)
}
maturityAmountApi(tenure, interest)
if (binding.edtAmount.text.toString().trim().isNotEmpty()) {
maturityAmountApi(tenure, interest)
getRatesApi()
} else {
// please enter Amount first
@ -115,6 +120,8 @@ class StepOneBajajFDFragment : Fragment() {
interest = listOfTenure[position].ROI
binding.tvROI.text = interest.toString().plus(" %")
maturityAmountApi(tenure, interest)
recyclerViewDropDownAdapter.refresh()
}
}
@ -191,9 +198,7 @@ class StepOneBajajFDFragment : Fragment() {
private fun maturityAmountApi(tenure: Int, interest: Double) {
if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
if (binding.edtAmount.text.toString().isNotEmpty() && interest.toString()
.isNotEmpty() && tenure.toString().isNotEmpty()
) {
if (binding.edtAmount.text.toString().length >= 4 && interest != 0.0 && tenure != 0) {
val maturityAmountRequest = GetMaturityAmountRequest()
maturityAmountRequest.FDProvider = getString(R.string.bajaj)
maturityAmountRequest.FDAmount = binding.edtAmount.text.toString().toInt()
@ -244,13 +249,20 @@ class StepOneBajajFDFragment : Fragment() {
binding.tlDepositAmount,
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)
)
} 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(
binding.spInterestPayout,
binding.tlInterestPayout,


+ 299
- 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.widget.ArrayAdapter
import android.widget.RadioButton
import androidx.core.content.ContextCompat
import androidx.fragment.app.Fragment
import com.google.gson.Gson
import com.nivesh.production.bajajfd.R
import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepTwoBinding
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.util.Common
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.isIndianMobileNo
@ -23,6 +28,8 @@ 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.isValidPan
import com.nivesh.production.bajajfd.util.Common.Companion.removeError
import com.nivesh.production.bajajfd.util.Resource
import com.nivesh.production.bajajfd.viewModel.StepTwoBajajFDViewModel
class StepTwoBajajFDFragment : Fragment() {
@ -34,6 +41,7 @@ class StepTwoBajajFDFragment : Fragment() {
private lateinit var rbBank: RadioButton
private lateinit var rbPaymentMode: RadioButton
private lateinit var stepTwoBajajFDViewModel: StepTwoBajajFDViewModel
companion object {
fun getInstance(fdInterface: BajajFDInterface): StepTwoBajajFDFragment {
@ -54,6 +62,8 @@ class StepTwoBajajFDFragment : Fragment() {
_binding = FragmentBajajfdStepTwoBinding.inflate(inflater, container, false)
val root = binding.root
stepTwoBajajFDViewModel = (activity as BajajFdMainActivity).stepTwoBajajFDViewModel
// Personal Details
binding.edtMobileNumber.filters = arrayOf<InputFilter>(LengthFilter(10))
@ -86,6 +96,9 @@ class StepTwoBajajFDFragment : Fragment() {
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
removeError(binding.tlPanNumber)
if (s.toString().trim().length == 10) {
panCheckApi()
}
}
})
@ -402,7 +415,6 @@ class StepTwoBajajFDFragment : Fragment() {
}
// Bank Details
binding.edtIFSC.addTextChangedListener(object : TextWatcher {
@ -460,25 +472,25 @@ class StepTwoBajajFDFragment : Fragment() {
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 {
if (binding.llNomineeDetail.visibility == View.VISIBLE){
if (binding.llNomineeDetail.visibility == View.VISIBLE) {
binding.llNomineeDetail.visibility = View.GONE
}else{
} else {
binding.llNomineeDetail.visibility = View.VISIBLE
}
}
binding.tvBankDetails.setOnClickListener {
if (binding.llBankDetails.visibility == View.VISIBLE){
if (binding.llBankDetails.visibility == View.VISIBLE) {
binding.llBankDetails.visibility = View.GONE
}else{
} else {
binding.llBankDetails.visibility = View.VISIBLE
}
}
@ -486,147 +498,348 @@ class StepTwoBajajFDFragment : Fragment() {
binding.btnNext.setOnClickListener {
if (validation()) {
// 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
(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
(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.NomineeCountry = "India"
(activity as BajajFdMainActivity).nomineeDetails.NomineePincode = 0
// Applicant Nominee Guardian Details
(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.GuardianCity = ""
(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.GuardianAddress3 = binding.spGuardianRelation.text.toString()
(activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianAddress3 =
binding.spGuardianRelation.text.toString()
// Applicant Bank Details
(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")
}
}
binding.btnBack.setOnClickListener{
binding.btnBack.setOnClickListener {
(activity as BajajFdMainActivity).binding.viewPager.currentItem = 0
}
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 = ""
// val string :String = Gson().toJson(panCheck)
// val requestBody = string.toRequestBody("application/json".toMediaTypeOrNull())
// stepTwoBajajFDViewModel.panCheck(requestBody)
stepTwoBajajFDViewModel.panCheck(panCheck)
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
private fun validation(): Boolean {
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
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
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
commonErrorMethod(binding.edtDOB, binding.tlDOB, getString(R.string.emptyDOB))
} 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
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
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
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
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
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
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
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
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
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
commonErrorMethod(binding.edtEmail, binding.tlEmail, getString(R.string.emptyEmail))
} else if (isValidEmail(binding.edtEmail.text.toString())) { // EditText
commonErrorMethod(binding.edtEmail, binding.tlEmail, getString(R.string.validEmail))
} 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
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
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
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
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
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
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
commonErrorMethod(binding.edtState, binding.tlState, getString(R.string.emptyState))
} else if (binding.edtCity.text.toString().isEmpty()) { // EditText
commonErrorMethod(binding.edtCity, binding.tlCity, getString(R.string.emptyCity))
} 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
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))
} 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
commonErrorMethod(binding.edtBankBranch, binding.tlBankBranchName, getString(R.string.emptyBranchName))
commonErrorMethod(
binding.edtBankBranch,
binding.tlBankBranchName,
getString(R.string.emptyBranchName)
)
} else {
return true
}


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.ViewModelProvider
import com.nivesh.production.bajajfd.repositories.MainRepository
import com.nivesh.production.bajajfd.viewModel.BajajFDViewModel
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 {
return StepOneBajajFDViewModel(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
}
}

+ 9
- 0
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 com.google.gson.JsonObject
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.util.Resource
import kotlinx.coroutines.launch
@ -13,6 +14,8 @@ class StepTwoBajajFDViewModel(private val mainRepository: MainRepository) : View
// TODO: Implement the ViewModel
private val getRatesMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
val getPanCheckMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun checkFDKYC(getRatesRequest: GetRatesRequest) = viewModelScope.launch {
getRatesMutableData.postValue(Resource.Loading())
@ -36,4 +39,10 @@ class StepTwoBajajFDViewModel(private val mainRepository: MainRepository) : View
// getRatesMutableData.postValue(handleRatesResponse(response))
// }
fun panCheck(panCheck: PanCheckRequest) = viewModelScope.launch {
getPanCheckMutableData.postValue(Resource.Loading())
val response = mainRepository.panCheck(panCheck)
getPanCheckMutableData.postValue(handleRatesResponse(response))
}
}

+ 1
- 2
app/src/main/res/layout/fragment_bajajfd_step_four.xml View File

@ -12,10 +12,9 @@
android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="80dp"
android:layout_marginBottom="70dp"
android:background="@color/transparent"
android:fillViewport="true"
android:visibility="visible"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"


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

@ -12,9 +12,10 @@
android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="@dimen/margin_70"
android:fillViewport="true"
android:padding="@dimen/margin_10"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintBottom_toTopOf="@+id/btnNext"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
@ -450,23 +451,24 @@
</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>
</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>

+ 12
- 0
app/src/main/res/layout/fragment_bajajfd_step_two.xml View File

@ -150,6 +150,18 @@
</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
android:id="@+id/tlTitle"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"


+ 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="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="emptyInterestTenure">Please select Investment Tenure</string>
@ -75,6 +77,8 @@
<string name="state">State</string>
<string name="city">City</string>
<string name="pinCode">PinCode</string>
<string name="verifiedText">Verified</string>
<string name="notVerifiedText">Not Verified</string>
<!-- Nominee Details -->
<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="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="emptyInterestTenure">Please select Investment Tenure</string>
@ -75,6 +77,8 @@
<string name="state">State</string>
<string name="city">City</string>
<string name="pinCode">PinCode</string>
<string name="verifiedText">Verified</string>
<string name="notVerifiedText">Not Verified</string>
<!-- Nominee Details -->
<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="inValidIndianMobileNumber">Mobile number should start with 6,7,8 and 9</string>
<string name="emptyDOB">Please select date of birth</string>
<string name="emptyPAN">Please enter PAN number</string>
<string name="invalidPAN">Invalid PAN</string>
<string name="emptyTitle">Please select title</string>
<string name="emptyGender">Please select gender</string>


Loading…
Cancel
Save

Powered by TurnKey Linux.